1 Star 0 Fork 1.1K

ycj0808 / BookStack

forked from 进击的皇虫 / BookStack 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

BookStack 简介

BookStack,分享知识,共享智慧!知识,因分享,传承久远!

BookStack是基于Mindoc开发的,为运营而生。

在开发的过程中,我增加和移除了一些东西,目前已经不兼容MinDoc了(毕竟数据表结构、字段、索引都有了一些不同),同时只支持markdown编辑器。

如果您要部署使用BookStack,需要有阿里云的ECS服务器和OSS(因为文件存储,我只开发了OSS的,毕竟我自己用的是阿里云的ECS,通过内网,能将文件快速同步到OSS)。

其它云服务器商,我手头上没有服务器资源,所以开发的时候没有考虑(毕竟总不能让我做一个开源项目,都跑到各大服务器商那里买台服务器吧)。

开源

两年前还在做PHP开发的时候,无意间遇到了Gitbook,以及看云,还有readthedoc。

当时想着自己也开发一套,但是后来没时间,当时也没那个技术积累。

后来学了Go语言,又在无意间遇到了Mindoc,然后我们公司(掘金量化)也恰巧让我开发公司官网和文档系统,然后我就对Mindoc做了二次开发。

本来是不想开源的,因为自己写代码的时候,写着写着,代码改来改去,然后代码就乱七八糟了,怕开源出来丢人现眼。但是踏入IT行业三年多时间以来,自身也受益于各种开源项目和开源组件,所以最终还是决定将BookStack开源出来。

其中肯定还是有不足的地方,大家在使用的过程中,遇到问题,欢迎反馈。

站点

演示站点

http://demo.bookstack.cn

有些功能,只有拥有管理员权限的用户才能使用,所以放出演示站点,欢迎大家随便玩。 管理员账号和密码如下(请大家不要更改密码,以方便大家体验,谢谢):

账号:bookstack
密码:bookstack.cn

Tips:

  • 如果管理员账号密码被修改,请在演示站点上注册一个账号,并把账号通过邮件发送给我,让我把你的账号设置成管理员。我的联系邮箱:TruthHun@QQ.COM
  • 演示站点的第三方登录并未配置,注册账号时,请直接邮箱注册即可。

正式站点

http://www.bookstack.cn

因为演示站点上的内容,大家在测试的时候,肯定是各种乱七八糟的什么内容都有,所以放出正式站点,给大家看下真正的效果。 还望大家不要在这个站点发一些乱七八糟的内容,毕竟这是正式站点,谢谢。

更新、维护和升级

  • 更新和升级日志,以后都写在这里==>更新和升级日志
  • 本人会坚持平均每天抽出一小时用于开源程序的开发,您的支持、认可与鼓励比什么都重要

功能与亮点

一键导入markdown项目

这个功能,相信是很多人的最爱了。目前这个功能仅对管理员开放。 这个功能可以使用了,但是有时候因为每个人的markdown写作习惯不一样,导入的时候,可能还是会有一些小问题,比如图片路径不正确的问题。 大家在使用的时候,遇到问题,请随时到论坛反馈。我会接受大家的各种意见和建议,并把这个功能做完善和完美! 一键导入项目

一键拉取markdown项目

看到GitHub、Gitee等有很多开源文档的项目,但是一个一个去拷贝粘贴里面的markdown内容不现实。于是,做了这个一键拉取的功能。 目前只有管理员才有权限拉取,并没有对普通用户开发。要体验这个功能,请用管理员账号登录演示站点体验。 用法很简单,比如我们拉取beego的文档项目,在创建项目后,直接点击"拉取项目",粘贴如" https://github.com/beego/beedoc/archive/master.zip ",然后就会自动帮你拉取上面的所有markdown文档并录入数据库,同时图片也会自动帮你更新到OSS。 拉取项目 Tips:

  • 导入项目的时候,有时候markdown里面的图片路径替换不正确,需要手动更正过来。在oss上的存储规则,为projects/你的项目的identify/你导入的项目的图片路径

生成和导出PDF、epub、mobi等离线文档

这个需要安装和配置calibre。 我将calibre的使用专门封装成了一个工具,并编译成了二进制,源码、程序和使用说地址:https://github.com/TruthHun/converter 在BookStack中,已经引入这个包了。使用的时候,点击"生成下载文档"即可

文档排序和批量创建文档

很多时候,我们在写作文档项目的时候,会习惯地先把文档项目的章节目录结构创建出来,然后再慢慢写内容。 但是,文档项目中的文档少的时候,一个个去创建倒没什么,但是文档数量多了之后,简直就是虐待自己,排序的时候还要一个一个去拖拽进行排序,很麻烦。现在,这个问题已经解决了。如下:

  • 在文档项目中,创建一个文档标识为summary.md的文档(大小写不敏感)
  • 在文档总,填充无序列表的markdown内容,如:
<bookstack-summary></bookstack-summary>
* [第0章. 前言]($ch0.md)
* [第1章. 修订记录]($ch1.md)
* [第2章. 如何贡献]($ch2.md)
* [第3章. Docker 简介]($ch3.md)
    * [什么是 Docker]($ch3.1.md)
    * [为什么要用 Docker]($ch3.2.md)
* [第4章. 基本概念]($ch4.md)
    * [镜像]($ch4.1.md)
    * [容器]($ch4.2.md)
    * [仓库]($ch4.3.md)
  • 然后保存。保存成功之后,程序会帮你创建如"第0章. 前言",并把文档标识设置为"ch0.md",同时目录结构还按照你的这个来调整和排序。

注意:

必须要有<bookstack-summary></bookstack-summary>,这样是为了告诉程序,我这个summary.md的文档,是用来创建文档和对文档进行排序的。当然,排序完成之后,当前页面会刷新一遍,并且把<bookstack-summary></bookstack-summary>移除了。有时候,第一次排序并没有排序成功,再添加一次这个标签,程序会自动帮你再排序一次。 我自己也常用这种方式批量创建文档以及批量修改文档的标题

文档间的跳转

你在一个文档项目中会有很多文档,其中一个文档的文档标识叫readme.md,另外一个文档的文档标识叫quickstart.md,两个文档间如何跳转呢? 如果你知道站点的路由规则,倒是可以轻松链过去,但是,每次都要这样写,真的很麻烦。自己也经常写文档,简直受够了,然后想到了一个办法。如下: 我从readme.md跳转到quickstart.md,在readme.md中的内容这样写:

[快速开始]($quickstart.md)

如果跳转到quickstart.md的某个锚点呢?那就像下面这样写:

[快速开始-步骤三]($quickstart.md#step3)

好了,在发布文档的时候,文档就会根据路由规则以及你的文档标识去生成链接了(由于是后端去处理,所以在编辑文档的时候,前端展示的预览内容,暂时是无法跳转的)。 那么,问题就来了,我文档项目里面的文档越来越多,我怎么知道我要链接的那个文档的文档标识呢?不用担心,在markdown编辑器的左侧,括号里面的红色文字显示的就是你的文档标识。 文档标识

采集功能

看到一篇很好的文章,但是文章里面有代码段、有图片,手工复制过来,格式全乱了,所以,相信采集功能,会是你需要的。采集功能,在markdown编辑器的功能栏上面,对,就是那个瓢虫图标,就是那个Bug,因为我找不到蜘蛛的图标...

功能见下图,具体体验,请到演示站点体验。

采集

SEO

后台管理,个性化定制你的SEO关键字;并且在SEO管理这里,可以更新站点sitemap(暂时没做程序定时自动更新sitemap)

赞助二维码

用户闲的蛋疼才会来你这里进行文档写作并给你生产内容...所以,要给用户画个饼——你来我这里进行文档写作,不但可以展示你的才华,还可以收到别人的打赏,而且,别人给你的打赏全都是直达你那里,没有中奸商赚差价。。。

更美观、简洁的页面布局和更为完善的移动端兼容

这是个看脸的时代...

首页

首页

介绍页

介绍页

内容阅读页

内容阅读页

个人项目页

个人项目页

手机端首页

个人项目页

TODO

  • 文档阅读书签
  • 删除文档项目,需要输入项目名和登录密码才能删除(避免误删,因为删除了不能恢复。如果不想让别人看到这个项目,可将项目转为私有)
  • 用户公共主页;增加粉丝、订阅和关注等
  • 移动端显示搜索入口
  • 增加文档分类
  • 微信第三方登录
  • 微博第三方登录
  • 后台友链管理功能
  • 收费下载和收费阅读(放在最后开发)
  • 签到功能
  • 积分功能

更多功能,期待您的想象力,然后向我提出来,请到HC-CMS发帖提交:http://www.hc-cms.com

安装与使用

为了方便,安装和使用教程,请移步到这里:http://www.bookstack.cn/read/help/Ubuntu.md

目前只写了Ubuntu下的安装教程,Windows下的安装和使用教程,暂时没时间

在开发的开源项目

待开发的开源项目

  • NetDisk.ME 网盘项目,"抄袭"百度网盘和腾讯微云
  • OneHourADay.CN 每天一小时(微信小程序)

关于本人

2014年7月本科"毕业"踏入IT行业;Web全栈工程师;什么都懂一点,什么都不精通。

赞助我

如果我的努力值得你的肯定,请赞助我,让我在开源的路上,做更好,走更远。 赞助我的方式包括:支付宝打赏微信打赏给BookStack一个star向我反馈意见和建议

支付宝打赏赞助

支付宝打赏赞助

微信打赏赞助

微信打赏赞助

空文件

简介

BookStack,基于MinDoc,使用Beego开发的在线文档管理系统,功能类似Gitbook和看云。 展开 收起
Go
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/yangchj/BookStack.git
git@gitee.com:yangchj/BookStack.git
yangchj
BookStack
BookStack
master

搜索帮助