DocHub 类似于百度文库管理系统

官网地址:https://www.wenkuzhijia.cn/参考百度文库,使用Beego(Golang)开发的开源文库系统。DocHub项目是我学完Go语言之后的第二个独立开发的Go语言项目,项目是在2016年12月份开始开发的。当时对Go语言和Beego框架都还不怎么熟。DocHub项目开源出来之后,看到star飙升的有点快(相对个人之前的开源项目),非常感谢大家的认可和厚爱,然后自己诚惶诚

应用介绍

官网地址:
https://www.wenkuzhijia.cn/


参考百度文库,使用Beego(Golang)开发的开源文库系统。

DocHub项目是我学完Go语言之后的第二个独立开发的Go语言项目,项目是在2016年12月份开始开发的。当时对Go语言和Beego框架都还不怎么熟。DocHub项目开源出来之后,看到star飙升的有点快(相对个人之前的开源项目),非常感谢大家的认可和厚爱,然后自己诚惶诚恐地认真review了一遍代码... 路由在模板页面写死了... 数据表一些数据字段也出现了冗余... 有些函数和方法封装,难以使用的一塌糊涂... 请大家给我点时间,我会把整套程序都优化好,当然,现在的版本是可用的,以后的升级版本也会是兼容升级。

还在读大学的时候,当时就想着要搭建一个类似百度文库的文库站点,实现文档在线浏览。

然而,时间一晃,好几年过去了,自己终于亲自动手开发实现了一套开源文库程序。

尽管离百度文库还有着巨大的差距,尽管可(一)能(定)会存在Bug,但是,整套程序从前端到后端到数据库再到丑陋的LOGO设计,都是自己独立完成的,满满的成就感...

功能特点

文档在线阅读

DocHub文库通过svg矢量图来实现文档阅读体验的,我知道的文库站点中,新浪爱问是通过png等图片提供文档阅读体验的。

SVG相比png、jpeg等图片格式有很大的优势,至少放大不会失真,而且与JPEG 和 GIF 图像比起来,svg尺寸更小,可压缩性更强,DocHub通过gzip,将svg文件压缩,一般情况下,能减少70%的文件大小,比如200kb的svg,gzip压缩后,只有60kb左右的大小。

使用svg,大大提升了加载速度,优化了内容的阅读体验。

office文档在线阅读

PDF文档在线阅读

将PDF文档通过pdf2svg转化,提供在线阅读

没有使用mozila的pdf.js作为PDF文档阅读的实现方案,主要是我没有解决pdf.js分片分页加载的问题,每次都需要将整个PDF文档下载下来才能提供阅读。如果文档大的话,用户需要等待好长时间,而且也比较耗费服务器带宽资源。

mobi、epub、chm文档在线阅读

使用calibre将文档转成PDF,然后pdf再转svg。

目前该功能还没实现,epub、mobi等文档,现在还是暂时不能在线阅读

全文搜索

全文搜索功能,之前是使用coreseek开发实现了这个功能的,但是现在coreseek的官网都已经挂了...打算用elasticsearch重新实现这个功能。

文档采集功能【TODO】

建站初期,站点内容的填充,是一个大难点。

然而,GitBookReadTheDoc等站点上,就有一大堆的开源技术文档,提供mobipdfepub离线文档下载。

初略统计了一下,GitBook有10多万文档,按可用文档为5万估算,每份文档,提供3种格式的下载,光从gitbook采集文档,做成文库,就有15万多的文档了。

然后,你再借助下搜索引擎,搜索filetype:文档格式 + 搜索关键字,如filetype:pdf 入门教程,你就会发现惊喜!不信,你试着赋值下面两个链接地址在浏览器打开:

积分功能

用户签到、上传分享文档,获得积分奖励;用户下载文档,需要消耗积分

阅读文档水印功能

在提供阅读的svg文件上添加水印

如下图:

点赞(0)

立即下载

温馨提示! 升级 VIP 1 免费下载,你当前 未登录

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部