# GoBooks **Repository Path**: leebing/GoBooks ## Basic Information - **Project Name**: GoBooks - **Description**: BooksDoc,分享知识,共享智慧!知识,因分享,传承久远! - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2018-12-06 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 目录: - [BooksDoc简介](#intro) - [开源](#open) - [QQ交流群](#qqgroup) - [站点](#site) - [演示站点](#demo) - [正式站点](#normal) - [更新、维护和升级](#upgrade) - [功能与亮点](#func) - [书籍分类](#cate) - [用户主页](#homepage) - [一键导入markdown项目](#import) - [一键拉取markdown项目](#pull) - [生成和导出PDF、epub、mobi等离线文档](#generate) - [文档排序和批量创建文档](#sort) - [文档间的跳转](#redirect) - [采集功能](#crawl) - [SEO](#seo) - [赞助二维码](#qrcode) - [更美观、简洁的页面布局和更为完善的移动端兼容](#beauty) - [TODO](#todo) - [安装与使用](#install) - [在开发的开源项目](#opening) - [待开发的开源项目](#to-open) - [关于本人](#aboutme) - [赞助我](#support) - [支付宝打赏赞助](#alipy) - [微信打赏赞助](#wxpay) - [捐赠列表](#supportlist) # BooksDoc 简介 BooksDoc,分享知识,共享智慧!知识,因分享,传承久远! BooksDoc是基于[booksdoc]https://gitee.com/truthhun/DocHub.git)开发的,为运营而生。 在开发的过程中,增加和移除了一些东西,目前已经不兼容booksdoc了(毕竟数据表结构、字段、索引都有了一些不同),同时只支持markdown编辑器。 ## 开源 ## QQ交流群 为方便相互学习和交流,建了个QQ群,加群请备注`来自BooksDoc` > QQ交流群:866514629(BooksDoc) ### 正式站点 [http://www.booksdoc.cn](http://www.booksdoc.cn) 因为演示站点上的内容,大家在测试的时候,肯定是各种乱七八糟的什么内容都有,所以放出正式站点,给大家看下真正的效果。 还望大家不要在这个站点发一些乱七八糟的内容,毕竟这是正式站点,谢谢。 ## 更新、维护和升级 - 更新和升级日志,以后都写在这里==>[更新和升级日志](change.md) - 本人会坚持平均每天抽出一小时用于开源程序的开发,您的支持、认可与鼓励比什么都重要 ## 功能与亮点 ### 书籍分类(V1.2 +) 用户就像你的老板,他不知道自己需要什么,但是他知道自己不需要什么... ### 用户主页(V1.2 +) 在用户主页,展示用户分享的书籍、粉丝、关注和手册,增加用户间的互动 ### 一键导入markdown项目 这个功能,相信是很多人的最爱了。目前这个功能仅对管理员开放。 > 经实测,目前已完美支持各种姿势写作的markdown项目的文档导入,能很好地处理文档间的链接以及文档中的图片链接 ![一键导入项目](static/openstatic/import.png) ### 一键拉取markdown项目 看到GitHub、Gitee等有很多开源文档的项目,但是一个一个去拷贝粘贴里面的markdown内容不现实。于是,做了这个一键拉取的功能。 目前只有管理员才有权限拉取,并没有对普通用户开放。要体验这个功能,请用管理员账号登录演示站点体验。 用法很简单,比如我们拉取beego的文档项目,在创建项目后,直接点击"拉取项目",粘贴如" https://github.com/beego/beedoc/archive/master.zip ",然后就会自动帮你拉取上面的所有markdown文档并录入数据库,同时图片也会自动帮你更新到OSS。 ![拉取项目](static/openstatic/pull.png) > 经实测,目前已完美支持各种姿势写作的markdown项目的拉取,能很好地处理文档间的链接以及文档中的图片链接 > 目前已支持Git Clone导入项目 ### 生成和导出PDF、epub、mobi等离线文档 这个需要安装和配置calibre。 我将calibre的使用专门封装成了一个工具,并编译成了二进制,源码、程序和使用说地址:[https://github.com/TruthHun/converter](https://github.com/TruthHun/converter) 在booksdoc中,已经引入这个包了。使用的时候,点击"生成下载文档"即可 ### 文档排序和批量创建文档 很多时候,我们在写作文档项目的时候,会习惯地先把文档项目的章节目录结构创建出来,然后再慢慢写内容。 但是,文档项目中的文档少的时候,一个个去创建倒没什么,但是文档数量多了之后,简直就是虐待自己,排序的时候还要一个一个去拖拽进行排序,很麻烦。现在,这个问题已经解决了。如下: - 在文档项目中,创建一个文档标识为`summary.md`的文档(大小写不敏感) - 在文档中,填充无序列表的markdown内容,如: ```markdown * [第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",同时目录结构还按照你的这个来调整和排序。 注意: > 必须要有``,这样是为了告诉程序,我这个`summary.md`的文档,是用来创建文档和对文档进行排序的。当然,排序完成之后,当前页面会刷新一遍,并且把``移除了。有时候,第一次排序并没有排序成功,再添加一次这个标签,程序会自动帮你再排序一次。 > 我自己也常用这种方式批量创建文档以及批量修改文档的标题 ### 文档间的跳转 你在一个文档项目中会有很多文档,其中一个文档的文档标识叫`readme.md`,另外一个文档的文档标识叫`quickstart.md`,两个文档间如何跳转呢? 如果你知道站点的路由规则,倒是可以轻松链过去,但是,每次都要这样写,真的很麻烦。自己也经常写文档,简直受够了,然后想到了一个办法。如下: 我从`readme.md`跳转到`quickstart.md`,在`readme.md`中的内容这样写: ``` [快速开始]($quickstart.md) ``` 如果跳转到`quickstart.md`的某个锚点呢?那就像下面这样写: ``` [快速开始-步骤三]($quickstart.md#step3) ``` 好了,在发布文档的时候,文档就会根据路由规则以及你的文档标识去生成链接了(由于是后端去处理,所以在编辑文档的时候,前端展示的预览内容,暂时是无法跳转的)。 那么,问题就来了,我文档项目里面的文档越来越多,我怎么知道我要链接的那个文档的文档标识呢?不用担心,在markdown编辑器的左侧,括号里面的红色文字显示的就是你的文档标识。 ![文档标识](static/openstatic/identify.png) ### 采集功能 看到一篇很好的文章,但是文章里面有代码段、有图片,手工复制过来,格式全乱了,所以,相信采集功能,会是你需要的。采集功能,在markdown编辑器的功能栏上面,对,就是那个瓢虫图标,就是那个Bug,因为我找不到蜘蛛的图标... 功能见下图,具体体验,请到演示站点体验。 ![采集](static/openstatic/crawl.png) ### SEO 后台管理,个性化定制你的SEO关键字;并且在SEO管理这里,可以更新站点sitemap(暂时没做程序定时自动更新sitemap) ### 赞助二维码 用户闲的蛋疼才会来你这里进行文档写作并给你生产内容...所以,要给用户画个饼——你来我这里进行文档写作,不但可以展示你的才华,还可以收到别人的打赏,而且,别人给你的打赏全都是直达你那里,没有`中奸商`赚差价。。。 。 目前加上该功能,是因为这个功能呼声很高,所以加回来了。但是版本控制的内容不再存储到数据库中,而是以文件的形式存储到本地或者是云存储上。 功能在`管理后台`->`配置管理`中进行开启