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】
建站初期,站点内容的填充,是一个大难点。
然而,GitBook、ReadTheDoc等站点上,就有一大堆的开源技术文档,提供mobi、pdf、epub离线文档下载。
初略统计了一下,GitBook有10多万文档,按可用文档为5万估算,每份文档,提供3种格式的下载,光从gitbook采集文档,做成文库,就有15万多的文档了。
然后,你再借助下搜索引擎,搜索filetype:文档格式 + 搜索关键字,如filetype:pdf 入门教程,你就会发现惊喜!不信,你试着赋值下面两个链接地址在浏览器打开:
积分功能
用户签到、上传分享文档,获得积分奖励;用户下载文档,需要消耗积分
阅读文档水印功能
在提供阅读的svg文件上添加水印
如下图:
©软件著作权归作者所有。本站所有软件均来源于网络,仅供学习使用,请支持正版!
转载请注明出处: 我的网站 » DocHub 类似于百度文库管理系统
发表评论 取消回复