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轻量级,不使用数据库,使其访问速度也非常的快速。
  b Raneto官网:http://raneto.com/
  c 学习文档:http://docs.raneto.com/
  e 那么综上所述,Raneto的用途到底是什么呢?个人觉得它的用途就是给公司或者团队建立一个知识库平台,将(知识,规范(编码规范、操作规范)、技术等等)分享到上面,可以有效的减少沟通时间,当然它也可以用来开发个人网站门户网站等,完全没有开发量,但是优缺点太明显,故而使用否在你的决定范围之内。
  f 我们团队大量的用到了这个东西,因为部署简单,团队内部的一些事情也不方便去公司的Wiki上去写(各位懂得),故而我们有大量的使用,故而将它分享给大家,希望大家能够喜欢。

2.准备工作

  a 通过上面简单的介绍之后我们已经了解了Raneto到底是干什么的,那么接下来我们就需要在Linux下搭建它并且配置使用它。
  b 从上面我们知道Raneto是基于nodejs的,故而在Linux系统下面为了运行Raneto,我们首先需要安装nodejs,接下来在安装Raneto。
  c nodejs下载包地址:http://nodejs.cn/download/
  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/)并且放入到安装的路径下即可。页面乱如图所示:
    f.1 lib文件下载地址:http://pan.baidu.com/s/1pK81Gan  
    
  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配置自己的网站数据

  a 输入路径((http://192.168.37.133:3000/),打开页面,发现系统已经默认自带了讲解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,继续浏览页面发现已经完成了汉化。
 

    每天一点点都是进步

       如果文章哪里存在问题,欢迎大家指出来,我会在第一时间修改。

Raneto Docs(开源的知识库建站程序)的更多相关文章

  1. 来选择一款适合你网站的CMS建站程序吧

    1:首页我们要搞清楚什么叫cms? ContentManagementSystem就是cms的全名,意思就是内容管理系统.cms整站系统是以文章系统为核心,增加用户需要的模块,如文章.图片.下载等,提 ...

  2. Portal:十大免费建站程序推荐

    TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...

  3. 国内外免费PHP开源建站程序一览(最全)

    论坛社区:Discuz.PHPWind.ThinkSAAS.phpBB CMS内容管理:DedeCMS.PHPCMS.帝国CMS.齐博CMS.Drupal 企业建站:CmsEasy.KingCMS.P ...

  4. 详细的图文介绍如何利用XAMPP本地建站的环境配置教程

    原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...

  5. 云上建站快速入门:博客、论坛、CMS、电子商务网站统统搞定

    现在制作一个网站已经越来越容易了,只要知道清晰的流程之后都是可以很快的建好一个企业或者个人网站的!免费的建站程序很多,下面听哥给你亮出来,建站一般来说分主要有这四步:申请域名.申请虚拟主机.制作网页, ...

  6. 《Dotnet9》系列之建站-中文站最好WordPress主题,自媒体,博客,企业,商城主题一网打尽

    大家好,我是Dotnet9小编,一个从事dotnet开发8年+的程序员.本文介绍WordPress主题JustNews,本站Dotnet9既是使用WordPress + JustNews主题搭建而成的 ...

  7. WordPress 3.8 中文正式版下载 - 建站与学习首选!全球最流行的开源PHP博客网站程序

    转载自:http://www.iplaysoft.com/wordpress.html 话说虽然我一直都在网站底部写着本站基于 WordPress 构建,但时常还是有人问我网站是用什么程序建的,还真有 ...

  8. 转型?还是延伸?开源建站系统近乎推整套SNS社区解决方案

    转型?还是延伸?开源建站系统近乎推整套SNS社区解决方案 近乎(英文:Spacebuilder),作为.net领域的SNS社区建站系统代表之一,一直在技术开发领域算是兢兢业业,在Discuz!和Php ...

  9. Java开源建站工具

    http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者: 阮一峰 日期: 2011年8 ...

随机推荐

  1. KnockoutJS 3.X API 第六章 组件(3) 组件绑定

    组件绑定将指定的组件注入到元素中,并且可选地将参数传递给它. 本节目录 一个例子 API 组件生命周期 备注1:仅限模板组件 备注2:使用没有容器元素的组件 备注3:将标记传递给组件 处置和内存管理 ...

  2. JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

    1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上. package Test03; ...

  3. 设计与开发一款简单易用的Web报表工具(支持常用关系数据及hadoop、hbase等)

    EasyReport是一个简单易用的Web报表工具(支持Hadoop,HBase及各种关系型数据库),它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(Ro ...

  4. 重温 w3cshool css3

    border-radius: 2em 1em 4em / 0.5em 3em;  兼容性IE9+.Firefox 4+.Chrome.Safari 5+ 以及 Opera 支持 border-radi ...

  5. LINQ系列:LINQ to SQL Group by/Having分组

    1. 简单形式 var expr = from p in context.Products group p by p.CategoryID into g select g; foreach (var ...

  6. xUnit安装及注意事项

    前言 对于单元测试,想必大家都已再熟悉不过了,同时单元测试的重要性也越发突出,在招聘中也特别强调单元测试,但是对于微软内置的单元测试还是太过于繁琐,于是都在寻找一种简洁并且更加轻量的测试工具.用的最多 ...

  7. MySQL索引下推技术

    索引下推整个思路如下: To see how this optimization works, consider first how an index scan proceeds when Index ...

  8. C++指针和动态内存分配

    指针和动态内存分配 数组与指针 数组 数组名是一个指针常量. 数组名传递数据时,传递的是地址. 数组作为函数参数时不指定第一维大小. 对象数组 A a[2] = {A(1,2)}; 执行时先调用有参数 ...

  9. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  10. BOM详解

    1.WINDOW对象 BOM的核心对象是WINDOW,它表示一个浏览器的实例.在浏览器中,window对象有双重角色,它既是通过 JavaScript访问浏览器的一个接口,又是ECMAScript规定 ...