1.Raneto Docs简单说明
a Raneto是一个基于Markdown的开源的node.js知识库平台,它使用Markdown文件来存储知识库,Raneto我们也可以将其称之为"静态网站生成器",因为它不需要数据库存储数据,所有的内容都是存储在Markdown(.md)文件中,他拥有以下几个特性(官方介绍)
a.1 简单 我们可以使用自己喜欢的文本编辑器来创建和管理一个完整的知识平台。
a.2 Flat Raneto是一个"flat file" CMS,意味着系统没有数据库,没有Mysql查询,没有任何东西。
a.3 Fast Raneto轻量级,不使用数据库,使其访问速度也非常的快速。
e 那么综上所述,Raneto的用途到底是什么呢?个人觉得它的用途就是给公司或者团队建立一个知识库平台,将(知识,规范(编码规范、操作规范)、技术等等)分享到上面,可以有效的减少沟通时间,当然它也可以用来开发个人网站门户网站等,完全没有开发量,但是优缺点太明显,故而使用否在你的决定范围之内。
f 我们团队大量的用到了这个东西,因为部署简单,团队内部的一些事情也不方便去公司的Wiki上去写(各位懂得),故而我们有大量的使用,故而将它分享给大家,希望大家能够喜欢。
2.准备工作
a 通过上面简单的介绍之后我们已经了解了Raneto到底是干什么的,那么接下来我们就需要在Linux下搭建它并且配置使用它。
b 从上面我们知道Raneto是基于nodejs的,故而在Linux系统下面为了运行Raneto,我们首先需要安装nodejs,接下来在安装Raneto。
e 操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,nodejs包,raneto包。
3.Nodejs安装
a 通过上面简单的准备工作之后,现在我们已经拥有了可以安装的包以及发布的环境,如果没有,请参考上面的文章,自行下载准备。
b 因为Raneto是基于nodejs的,所以我们首先需要给linux安装nodejs,那么如何安装呢?请继续向下看
c 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建nodejs文件夹,命令如下:
c.1 (1):cd usr/local/ (2):mkdir kencery (3):cd kencery/ (4):mkdir nodejs (5):cd nodejs/
d 然后使用Xftp将在上面下载的nodejs包复制到nodejs文件夹里面。
e 将上传的node-v6.2.0-linux-x64.tar.gz包解压,解压之后命名为:node,如图所示:
e.1 tar -zxvf node-v6.2.0-linux-x64.tar.gz
e.2 mv node-v6.2.0-linux-x64.tar.gz node
f 编辑文件添加环境变量
f.1 vim /etc/profile
f.2 在文件末添加如下命令并且保存,确认添加无误:
#(/usr/local/kencery/nodejs/node此路径是nodejs的解压的路径)
export NODE_HOME=/usr/local/kencery/nodejs/node
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
f.3 输入如下命令使刚才修改的文件生效 source /etc/profile
g 所有上面的操作完成之后,我们输入如下命令查看nodejs的版本,如果出现版本则说明安装成功,否则则是安装失败,请检查流程
g.1 node -v
4.Raneto安装
a 通过上面简答的准备工作之后,我们已经拥有了可以安装的包和发布的环境并且也安装成功了nodejs,如果上面没有准备充分,请自行准备。
b 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建raneto文件夹,命令如下:
b.1 (1):cd usr/local/ (2):mkdir kencery (3):cd kencery/ (4):mkdir raneto(5):cd raneto/
c 然后使用Xftp将在上面下载的raneto包(Raneto-0.9.0.tar.gz)复制到raneto文件夹里面,并且将包解压,解压之后命名为raneto,如图所示:
c.1 tar -zxvf Raneto-0.9.0.tar.gz
c.2 mv Raneto-0.9.0 raneto
d 解压之后跳转到raneto下执行安装命令,命令如下:
d.1 (1):cd raneto/ (2):npm install(时间不是一般的哦长) (3):npm start
e 如果以上命令执行没有意外,这时候说明你的raneto已经启动了,这时候在安装的本机上已经可以使用http://localhost:3000来访问了,但是如果想在自己的机器上访问,则需要给linux下开放3000端口,并且重启防火墙。
f 安装完成之后使用我本地电脑访问(
http://192.168.37.133:3000/),但是当加载完成的时候我们页面是乱的,监控看了一下,发现里面有一个lib文件夹没有,为什么没有呢?(只能说我真的不知道,不过我怀疑是被墙了,所以在执行命令的时候没有下载下来,但是有想源码中下载下来就应该含有呀,但是确实没有),不过不重要,找到这个lib文件夹(themes/default/public/)并且放入到安装的路径下即可。页面乱如图所示:
g 最后重启Raneto(Ctrl+C关闭),使用命令npm start(如果你希望在后台运行:nohup npm start
,然后你就可以关掉命令行了。当你再次需要关闭Raneto时,需要ps -fe | node
得到PID之后 kill PID
))重新启动,访问发现页面变得很整齐,很规整。
5.Raneto配置完成之后的文件结构说明
a 当Raneto安装完成之后,在学习使用它之前,先简单看一下它的文件结构让我们对其有个简单的了解,截图如下:
a.1 如图所示,大部分文件夹以及文件我们不需要了解,也不需要配置,我们主要了解example和package.json这两个配置文件即可,example为默认系统中的页面内容,package.json为配置启动哪一个文件夹作为系统使用的内容。
a.2 至于其他文件我们做简单了解,app应用程序的配置文件,bin安装文件,node_modules为raneto依赖的包内容(比如搜索引擎),themes为网站的主题信息。
a.3 配置文件简单说道这里吧,这种东西主要还是要应用在实践中,故而我们开始配置自己的内容。
6.Raneto配置自己的网站数据
b 首先跳转到raneto的解压路径下,然后创建文件夹kencery,在kencery文件夹内新建content目录(顾名思义就是放内容文件),然后我们在将example目下的server.js、package.json、config.default.js复制到kencery目录下,最终部署完成之后如图所示:
c 当上面的配置完成之后我们回到raneto的解压路径下,看到含有一个package.json(不是kencery下的,而是主目录下的),打开它,我们找到节点scripts,如下如所示,修改我画起来的红框里面的内容和为我们创建的文件夹的名称之后保存即可。
d 最后重启raneto,继续访问发现已经是访问我们配置的新的内容了,在这里我们配置就已经完成了,但是我们发现内部没有页面,这时候我们按照example下的content的结构添加几个页面去测试,你就会明白该怎么设置了。
7.Raneto在线编辑/排序/其它
a 当上面给我们自己配置成功自己的网站信息之后,输入路径访问,发现内容很少,这时候我们就需要写入大量的网站信息到系统中,但是发现在我们访问的页面上默认是不能进行在线编辑的,那么这时候如果我们还去服务器上面去写数据的话,会导致操作比较慢,所以Raneto默认含有配置在线编辑的选项,只是默认是不启用的,我们将其启用。
a.1 首先我们打开为我们自己创建的文件夹(kencery),修改文件config.default.js 中的allow_editing的值为true,然后保存。
a.2 重新启动raneto,打开页面,进入页面详细页面之后,发现多了一些小+号和Actions,单击这些内容自行测试。
b 如下图所示,我们看到了三个模块(首页、权限管理、添加),这时候我们如果想要将权限管理排序在第一位该如何做呢?
b.1 打开kencery下的config.default.js文件中,我们发现有这样一个属性:page_sort_meta: 'sort'。
b.2 继而跳转到content下的权限管理文件夹下,创建sort文件,在内部写入0,保存
b.3 重新启动raneto,打开首页页面,发现排序已经完成。
b.4 备注:如果大家看到首页这个内容还在,那是因为首页是系统默认的,如果不想其排序在第一个,可以删除之后创建首页文件,而不是放到content文件夹下,结构如图所示:
备注:可以详细看一下kencery下的config.default.js文件中的所有的属性,均有备注,很容易知道,请大家自行测试,查看页面变化。
8.Raneto限制用户只能登陆才能访问信息
a 按照上面的步骤我们已经创建了很多页面,但是这是属于公司内部的东西的,不希望所有人都能浏览我们的知识库,只想我们一个团队的人看到,所以我们需要给网站配置登录信息(当然最好部署在局域网内,不允许局域网外的人访问最好)。
b raneto暂时不支持配置多个用户名密码,也就是说只能配置一个用户名密码。
c 首先我们找到kencery下的config.default.js配置文件中的authentication和credentials属性,启用权限,并且填写你自己的用户名密码,如图所示:
d. 然后回到安装的路径下,条主电脑themes/default/templates目录下的layout.html,打开layout.html,
d.1 在body标签开始之下添加
{{#config.authentication}}
{{#loggedIn}}
d.2 在body标签结束之前添加如图所示(跳转路径自己定义)
c. 保存上面的文件之后重新启动raneto,继续打开网站浏览,发现已经提示我们需要跳转到登录页面了,输入刚才设置的用户名密码,单击登录,跳转到主页。
9.对其进行汉化
a 综上完成之后,我们打开网站,输入用户名密码进入系统之后,全部页面已经完全展示,但是我们发现页面中除了我们自己录入的中文数据之外,其它的全部都是英文,这时候我们的需求就是如何将提示以及页面静态信息汉化呢?下面我们就来说明一下
a.1 首先我们打开kencery下的config.default.js文件,找到属性 locale: 'en',将其值修改为'zh',保存关闭。
a.2 然后找到安装包路径下的app/translations,在下面看到含有一个文件en.json,拷贝一份命名为zh.json,打开之后,按照模块去修改内部的内容,如图所示(下面图片上我只是简单修改了一点点,其他内容大家自己去测试吧)
a.3 修改完成之后保存,重新启动raneto,继续浏览页面发现已经完成了汉化。
每天一点点都是进步
如果文章哪里存在问题,欢迎大家指出来,我会在第一时间修改。
- 来选择一款适合你网站的CMS建站程序吧
1:首页我们要搞清楚什么叫cms? ContentManagementSystem就是cms的全名,意思就是内容管理系统.cms整站系统是以文章系统为核心,增加用户需要的模块,如文章.图片.下载等,提 ...
- Portal:十大免费建站程序推荐
TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...
- 国内外免费PHP开源建站程序一览(最全)
论坛社区:Discuz.PHPWind.ThinkSAAS.phpBB CMS内容管理:DedeCMS.PHPCMS.帝国CMS.齐博CMS.Drupal 企业建站:CmsEasy.KingCMS.P ...
- 详细的图文介绍如何利用XAMPP本地建站的环境配置教程
原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...
- 云上建站快速入门:博客、论坛、CMS、电子商务网站统统搞定
现在制作一个网站已经越来越容易了,只要知道清晰的流程之后都是可以很快的建好一个企业或者个人网站的!免费的建站程序很多,下面听哥给你亮出来,建站一般来说分主要有这四步:申请域名.申请虚拟主机.制作网页, ...
- 《Dotnet9》系列之建站-中文站最好WordPress主题,自媒体,博客,企业,商城主题一网打尽
大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员.本文介绍WordPress主题JustNews,本站Dotnet9既是使用WordPress + JustNews主题搭建而成的 ...
- WordPress 3.8 中文正式版下载 - 建站与学习首选!全球最流行的开源PHP博客网站程序
转载自:http://www.iplaysoft.com/wordpress.html 话说虽然我一直都在网站底部写着本站基于 WordPress 构建,但时常还是有人问我网站是用什么程序建的,还真有 ...
- 转型?还是延伸?开源建站系统近乎推整套SNS社区解决方案
转型?还是延伸?开源建站系统近乎推整套SNS社区解决方案 近乎(英文:Spacebuilder),作为.net领域的SNS社区建站系统代表之一,一直在技术开发领域算是兢兢业业,在Discuz!和Php ...
- Java开源建站工具
http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者: 阮一峰 日期: 2011年8 ...
随机推荐
- ESP8266刷AT固件与nodemcu固件
这回是使用的这一款 因为这款默认的是支持AT指令的固件,,所以我们就刷nodemcu的 先看接线 GPIO0 默认是工作模式(不接线).如果接了低电平就是下载模式(给模块刷固件!!)所以接低电平.CH ...
- C#设计模式系列:简单工厂模式(Simple Factory)
1. 简单工厂模式简介 1.1 定义 简单工厂模式定义一个Factory类,可以根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类. 简单工厂模式只需要一个Factory类. 简单工厂模式又 ...
- 鼠标mouse事件冒泡处理
简单的鼠标移动事件: 进入 mouseenter:不冒泡 mouseover: 冒泡 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件 只有在鼠标指针穿过被选元素时,才会触发 m ...
- windows下实现Git在局域网使用
1.首先在主机A上创建一个文件夹用于存放你要公开的版本库.然后进入这个文件夹,右键->Git create repository here,弹出的窗口中勾选Make it Bare!之后将这个文 ...
- ASP.NET MVC之从控制器传递数据到视图四种方式(一)
前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...
- C# 保护Excel文档
C# 保护Excel文档 说到保护excel文档,我们首先想到的是密码保护的方式,但excel与word有点不一样,一般情况下,每个excel工作薄都或多或少地含有一定数量的工作表,因此保护excel ...
- Oracle Recovery 01 - 常规恢复之完全恢复
背景:这里提到的常规恢复指的是数据库有完备可用的RMAN物理备份. 实验环境:RHEL6.4 + Oracle 11.2.0.4 DG primary. 一.常规恢复之完全恢复:不丢失数据 1.1 单 ...
- struts2学习笔记--使用Validator校验数据
我们在进行一些操作是需要对用户的输入数据进行验证,比如网站的注册,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测,邮箱的检测,字符串长度的检测等等. 常用的Vali ...
- Cesium原理篇:4Web Workers剖析(2)
What's the WebWorkers? 2008 年 W3C 制定出第一个 HTML5 草案中提出了工作线程(Web Worker)的概念,并且规范出 Web Worker 的三大主要特征:能够 ...
- 微信小程序开发初体验
微信小程序上线几天了,趁着周末补了一下JS,然后今天参照文档和教程写了个小demo 文档地址 教程地址 看文档就看了一点时间,因为以前没接触过JS框架,但是接触过PHP框架= = ,所以理 ...