ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 主要技术栈 ### [](https://gitee.com/truthhun/DocHub#%E5%90%8E%E7%AB%AF)后端 Go语言框架[Beego](https://beego.me/) ### [](https://gitee.com/truthhun/DocHub#%E5%89%8D%E7%AB%AF)前端 基于Bootstrap的前端框架[Flat-UI](https://github.com/designmodo/Flat-UI) ### [](https://gitee.com/truthhun/DocHub#%E6%95%B0%E6%8D%AE%E5%BA%93)数据库 MySQL,数据存储 ### [](https://gitee.com/truthhun/DocHub#%E4%BE%9D%E8%B5%96%E7%8E%AF%E5%A2%83)依赖环境 #### [](https://gitee.com/truthhun/DocHub#libreoffice%E6%88%96openoffice)Libreoffice(或Openoffice) 用于将office文档转PDF 使用命令: ~~~ soffice --headless --invisible --convert-to pdf path/to/officefile --outdir path/to/outdir ~~~ #### [](https://gitee.com/truthhun/DocHub#pdf2svg)pdf2svg > 注意,这个要用最新版的`pdf2svg` pdf2svg,用于将PDF转成svg矢量图片,以供阅读。 使用命令: ~~~ pdf2svg <in file.pdf> <out file.svg> [<page no>] ~~~ #### [](https://gitee.com/truthhun/DocHub#calibre)calibre 用于将`mobi`、`chm`、`epub`等文档转成PDF,然后再将`pdf`转成`svg` > 注意:目前`mobi`、`epub`等文档的在线阅读功能还没有实现 #### [](https://gitee.com/truthhun/DocHub#%E9%98%BF%E9%87%8C%E4%BA%91oss)阿里云OSS 存储office文档、PDF文档以及svg等文件 > 注意:目前只支持阿里云的OSS云存储,暂时不支持其他云存储(后期我再抽时间开发和扩展其他云存储),不支持本地化存储(现在云存储和CDN价钱比以前便宜多了) ## [](https://gitee.com/truthhun/DocHub#%E5%8A%9F%E8%83%BD%E7%89%B9%E7%82%B9)功能特点 ### [](https://gitee.com/truthhun/DocHub#%E6%96%87%E6%A1%A3%E5%9C%A8%E7%BA%BF%E9%98%85%E8%AF%BB)文档在线阅读 `DocHub`文库通过`svg`矢量图来实现文档阅读体验的,我知道的文库站点中,[新浪爱问](http://ishare.iask.sina.com.cn/)是通过`png`等图片提供文档阅读体验的。 `SVG`相比`png`、`jpeg`等图片格式有很大的优势,至少放大不会失真,而且与JPEG 和 GIF 图像比起来,svg尺寸更小,可压缩性更强,`DocHub`通过gzip,将svg文件压缩,一般情况下,能减少70%的文件大小,比如200kb的svg,gzip压缩后,只有60kb左右的大小。 使用svg,大大提升了加载速度,优化了内容的阅读体验。 #### [](https://gitee.com/truthhun/DocHub#office%E6%96%87%E6%A1%A3%E5%9C%A8%E7%BA%BF%E9%98%85%E8%AF%BB)office文档在线阅读 这个需要经过两层转化: ~~~ office --> pdf --> svg ~~~ #### PDF文档在线阅读 将PDF文档通过`pdf2svg`转化,提供在线阅读 > 没有使用mozila的`pdf.js`作为PDF文档阅读的实现方案,主要是我没有解决`pdf.js`分片分页加载的问题,每次都需要将整个PDF文档下载下来才能提供阅读。如果文档大的话,用户需要等待好长时间,而且也比较耗费服务器带宽资源。 #### [](https://gitee.com/truthhun/DocHub#mobiepubchm%E6%96%87%E6%A1%A3%E5%9C%A8%E7%BA%BF%E9%98%85%E8%AF%BB)mobi、epub、chm文档在线阅读 使用`calibre`将文档转成PDF,然后pdf再转svg。 > 目前该功能还没实现,epub、mobi等文档,现在还是暂时不能在线阅读 ### [](https://gitee.com/truthhun/DocHub#%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2)全文搜索 全文搜索功能,之前是使用`coreseek`开发实现了这个功能的,但是现在`coreseek`的官网都已经挂了...打算用`elasticsearch`重新实现这个功能。 ### [](https://gitee.com/truthhun/DocHub#%E6%96%87%E6%A1%A3%E9%87%87%E9%9B%86%E5%8A%9F%E8%83%BDtodo)文档采集功能【TODO】 建站初期,站点内容的填充,是一个大难点。 然而,`GitBook`、`ReadTheDoc`等站点上,就有一大堆的开源技术文档,提供`mobi`、`pdf`、`epub`离线文档下载。 初略统计了一下,`GitBook`有10多万文档,按可用文档为5万估算,每份文档,提供3种格式的下载,光从gitbook采集文档,做成文库,就有15万多的文档了。 然后,你再借助下搜索引擎,搜索`filetype:文档格式 + 搜索关键字`,如`filetype:pdf 入门教程`,你就会发现惊喜!不信,你试着赋值下面两个链接地址在浏览器打开: ~~~ https://cn.bing.com/search?q=filetype%3apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B&first=11 ~~~ ~~~ https://www.sogou.com/web?query=filetype%3Apdf+%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B ~~~ 如果再爬其他文档,一年之内,单枪匹马搞个上百万文档的文库站点,应该不是个事儿。 不过,现在综合类的文库站点,如百度文库等已经做起来了,如果你打算做综合类的文库站点,还是不现实,因为空间太小了. 但是,你可以做专注于某一个方向的文库站点,比如课后习题答案文库站点、IT行业文库站点、教育类文库站点等,专注于一个行业领域方向,还是有很大成长空间的。就好比图片站点,现在很多搜索引擎都能搜索图片,但是`Pinterest`、`花瓣网`等还不是做起来了吗? > 给你提供了程序,还给你提供了思路,给个`star`鼓励一下? ### [](https://gitee.com/truthhun/DocHub#%E7%A7%AF%E5%88%86%E5%8A%9F%E8%83%BD)积分功能 用户签到、上传分享文档,获得积分奖励;用户下载文档,需要消耗积分 ### [](https://gitee.com/truthhun/DocHub#%E9%98%85%E8%AF%BB%E6%96%87%E6%A1%A3%E6%B0%B4%E5%8D%B0%E5%8A%9F%E8%83%BD)阅读文档水印功能 在提供阅读的svg文件上添加水印