码云 Gitee IDE 全新上线——支持 Git 管理的轻量在线编码环境
Watch Star Fork

进击的皇虫 / DocHubGo

2018-09-12 07:56
1593004_truthhun 进击的皇虫

介绍

DocHub 文库系统是使用Go语言的Beego框架开发实现的类百度文库解决方案,使用对商业友好的 Apache2.0 开源协议进行开源,支持office、PDF、TXT、EPUB、MOBI等多种文档格式的在线阅读浏览。

本次发布 v2.1 版本,主要是使用响应式布局实现了移动端的支持,用户在手机移动端上也能轻松实现文档预览。

升级日志

  • 文档搜索,使用 MySQL like 查询,文档在排序的时候查询不到数据的问题(SQL语句字段错误造成的Bug)
  • 文档图标相关前后端优化
  • PC端个人中心页面调整,更适合视觉审美
  • 程序后端代码持续优化(再也不用看到自己乱七八糟的代码而犯尴尬症了)
  • 使用govender管理依赖包,方便想要对DocHub做二次开发的朋友
  • epub、mobi等文档转PDF参数优化
  • 实现移动端支持:
    • 首页
    • 列表页
    • 阅读页
    • 搜索页
    • 登录页
    • 注册页
    • 找回密码
    • 个人中心
      • 文档管理
      • 收藏管理
      • 文档编辑功能(移动端隐藏)
      • 积分日志
    • 文档上传(移动端隐藏)

默认启用移动端,可后台系统设置进行开关控制。

说明

  1. DocHub 不会考虑文档本地化存储的支持,因为现在的云存储和CDN都已经是白菜价了.
  2. 目前云存储暂时只支持阿里云OSS;上一版本说好的这一版本扩展云存储,实在是这段时间比较忙,要学的东西有点多,暂时没时间阅读相关云存储的文档,会尽快抽出业余时间实现腾讯云、百度云、七牛云、华为云、又拍云等云存储。

详细安装和部署教程 https://www.bookstack.cn/read/dochub/install-v2.1

QQ群 群号:457803862 (加群请备注来自DocHub)

本次对 DocHub v2.1 版本进行赞助开发的企业

最后提交信息为: app.conf.example
2018-08-16 06:12
1593004_truthhun 进击的皇虫
  • 修复:被禁用户还能正常登录的Bug
  • 修复:解决v1.1版本文档阅读页面优化造成的Bug——剩余未阅读页数不准确、无法正确翻页等问题。
  • 修复:使用 MySQL like 查询进行文档搜索时,文档记录统计不正确的问题
  • 优化:管理后台,暂时隐藏未开发的广告管理采集管理功能
  • 优化:文档上传,显示上传进度
  • 优化:程序代码结构和代码规范
  • 优化:管理后台表单样式优化和调整
  • 优化:完善管理后台的文档管理功能
  • 优化:文档上传大小、举报原因等,在系统配置项中可配置
  • 新增:SEO优化增强,增加 sitemap 功能 在管理后台的SEO管理里面,可以手动更新sitemap
  • 新增:增加 svgo 压缩svg文件,减小存储体积和提升加载速度
  • 新增:程序安装功能,简化程序安装部署难度
  • 新增:后台邮件配置、管理和测试邮件发送
  • 新增:后台 OSS 配置、管理和测试OSS连通
  • 新增:后台配置和管理日志
  • 新增:后台配置和管理程序依赖
  • 新增:ElasticSearch 全文搜索 在 管理后台 -> 系统设置 -> 全文搜索配置 进行配置。 新增、删除和恢复文档,程序自动更新索引。 暂时没开发定时更新全量索引,如需更新全量索引,请在全文搜索配置里面点击重建全量索引按钮进行更新。 开发的时候使用的 ElasticSearch 版本为 6.2.4,其他版本暂时没测试。需要安装 IK 分词。 开发测试时使用的 Docker 镜像地址:
[sudo] docker pull truthhun/elasticsearch:6.2.4.ik

DocHub 不支持文件本地存储;腾讯云、百度云、七牛云、华为云、又拍云等云存储,下一版本再扩展。

2018-07-09 06:42
1593004_truthhun 进击的皇虫

DocHub是使用Go语言的Beego框架实现的文库方案,使用对商业友好的Apache2.0开源协议进行开源,支持office文档、PDF文档、txt、epub、mobi等多种格式文档的在线阅读和浏览。

升级日志

1. OSS存储代码封装优化。

review了一下之前自己封装的OSS代码,感觉太乱了...

2. 重新设计登录页面。

之前的登录页面确实丑(不过现在的登录页面好像也好不到哪儿去...)

3. 用户头像和文档封面等默认图片优化

在加载图片的时候直接在前端使用onerror,不再在后端查询OSS中图片是否存在以及不存在时返回默认图片,以便节省OSS请求资源。

所以,现在不需要再把默认图片上传到OSS,然后再在配置文件里面配置默认图片的地址了

4. 配置文件优化

所有相关配置项,为了配置的方便,都统一放到app.conf文件中。

配置文件中的每一项,都加上了详尽的配置说明。

app.conf文件,放在conf目录下,app.conf.example的文件就是了,把.example扩展名去掉就好

5. mobi、epub、chm、txt等格式文档在线浏览的实现支持。

目前DocHub文库经实测支持在线阅读的文档格式如下:

Word文档:doc,docx,rtf,wps,odt

Excel文档:ppt,pptx,pps,ppsx,dps,odp,pot

PPT文档:xls,xlsx,et,ods

PDF文档:pdf

其他文档:txt,epub,mobi,chm

umd格式文档暂不支持在线阅读,chm格式文档在线阅读实现效果并不是很好,文档内容顺序会错乱。

相信DocHub文库系统对文档格式的支持比网上的一些收费文库系统对文档格式的支持还要多了吧。

有收到网友建议,建议使用onlyofficeCollaboraflash paperpdf.js等实现文档在线阅读的方案。

集思广益,非常感谢大家积极提意见和建议。

然后我也认真的去体验和测试了。就拿onlyoffice来说,我在docker下玩了下(我的docker hub : https://hub.docker.com/r/truthhun/onlyoffice/ ),每次都进行文档转换,太耗费服务器资源了,而且,用户可以直接拿到下载文档,相信这是很多站长不愿看到的。 而且用户需要把整个文档加载下来才能阅读,也比较耗费带宽资源。新浪爱问共享资料都用图片作为文档在线阅读实现方案,相信他们也是有这一层面的考虑的,所以,我们跟着大佬走。

6. 解决邮件无法发送的问题

统一使用SMTP发送邮件,并实现对TLS/SSL邮件的发送支持。使用了https://github.com/go-gomail/gomail库。

有网友在群里反馈说邮件发不出去...由于没人帮我测试,我现在是自己开发自己测试,基本都是自己测试通过了没问题了就默认这个功能没问题了,很多场景可能考虑不到,所以有些问题我自己还是难以发现,并没有把大家当小白鼠...

7. 文档阅读页面性能优化

之前的文档阅读页面,当文档翻的页数越多,页面会越来越卡,直到卡死在那里(巨大的Bug)...

这是前端js对文档的svg重复计算造成的,比如我翻到第100页,每次滚动一下鼠标,差不多就要触发3000多次对svg图片位置的计算,以便确定用户当前阅读到了哪一页,以及触发哪一页的懒加载...

8. 文档预览页数限制

可在管理后台->系统设置->文档最大预览页数做限制。

这样的好处就是,如果一个300页的文档,只提供100页给用户阅读,就可以减少服务器后端PDF后200页文档转svg的资源开销。

不提供大文档的全文档给用户阅读,既可以节省服务器资源,也可以促进用户使用积分下载文档...新浪爱问共享资料就是这么干的...

安装部署教程

目前只写了docker的安装部署教程,部署教程地址:https://www.bookstack.cn/read/dochub/docker

DocHub文库系统,目前并不是很完美,移动端WAP站点和微信小程序还没开发,但是,我在努力!

演示站点

地址:http://dochub.bookstack.cn

管理后台:http://dochub.bookstack.cn

管理员账号密码均为admin

登录验证码是:芝麻开门

源码托管

最后提交信息为: 初始化数据
2018-06-12 09:49
1593004_truthhun 进击的皇虫

DocHub文库系统,使用Go语言的beego框架开发的类百度文库系统,实现office、PDF等文档在线浏览。

当前发布1.0版本,属于尝鲜版,mobi、epub和txt等格式文档,暂时还没有实现在线浏览的支持,但是已有解决方案,目前还在开发和测试中。

发布日志

  1. Office、PDF等文档在线浏览的支持

  2. 由于coreseek的问题,文档搜索功能,暂时改由MySQL的like查询,后期改用elasticsearch实现。

  3. 积分机制:用户签到和上传文档,奖励积分;下载文档,扣除积分。

  4. 文档秒传:当用户上传的文档已在文库中存在,则根据前端MD5校验,实现秒传。

  5. 邮箱注册。

  6. 页面样式优化和调整。

部署教程和二进制可执行文件会在这两天完成,docker镜像也会在本周内完成。

演示站点:http://dochub.bookstack.cn

最后提交信息为: 修改readme文件
2018-05-14 22:24
1593004_truthhun 进击的皇虫

v1.0 beta

最后提交信息为: README.md

搜索帮助