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,继续浏览页面发现已经完成了汉化。
天天一点点都是进步html
若是文章哪里存在问题,欢迎你们指出来,我会在第一时间修改。node