Skip to content

Lt0/bookshelf

Repository files navigation

Bookshelf

Bookshelf 是一个面向个人的 C/S 端书架应用,可以将书籍保存在服务端,然后通过浏览器查阅这些书籍。

后端采用 Go 语言 + beego 框架实现,前端使用 jquery/jquery ui/bootstrap 等框架实现。

演示

https://athena-bookshelf.com

http://athena-bookshelf.com

支持的特性:

  1. 格式支持:gitbook/pdf/epub/markdown/txt/html/网页链接
  2. 上传:后台上传,批量上传,失败重传,停止上传,拖拽上传(拖到当前目录上传,拖到当前子目录上传)
  3. 下载:支持下载 pdf/epub/markdown/txt/html 格式文件到本地
  4. 远程下载:支持通过 url 远程下载 gitbook,pdf,txt,epub 书籍到服务端
  5. 管理:支持 复制/剪切/粘贴/删除/重命名 等操作(包括快捷键)
  6. 用户管理:支持单用户,只有登陆后的用户才允许管理书籍
  7. 浏览模式:支持两种浏览模式:图标模式/详情模式
  8. 分享:支持通过二维码分享,或直接通过二维码打开/下载书籍
  9. 搜索:支持搜索功能,允许搜索所有直接支持的书籍格式

格式支持说明

上面提到的支持的格式,都是支持直接使用内置的阅读器在浏览器打开阅读,各个格式的阅读器如下:

  1. txt: txt-web,项目地址: https://github.com/Lt0/txt-web
  2. pdf: pdf.js,项目地址:https://github.com/mozilla/pdf.js/
  3. epub: epub.js,项目地址:https://github.com/futurepress/epub.js/
  4. markdown: editor.md,项目地址:https://pandao.github.io/editor.md/
  5. gitbook: 使用 gitbook 自带的阅读器
  6. html: 直接在浏览器打开

运行

bookshelf 默认提供 docker 镜像,可以直接运行:

docker run -p 80:80 -it lightimehpq/bookshelf

以服务的形式运行

docker run -d --restart=always --name=bookshelf -p <host_port>:80 --env password=<admin_password> -v <host_books_dir>:/opt/bookshelf/books -it lightimehpq/bookshelf

说明:

  1. <host_port> 表示实际的访问端口
  2. <admin_password> 表示书架的登陆密码,如果不设置,则默认为 admin
  3. <host_books_dir> 表示要挂载到物理机的目录,所有的书籍都保存在这个目录

示例

docker run -d --restart=always --name=bookshelf -p 8080:80 --env password=admin -v /books:/opt/bookshelf/books -it lightimehpq/bookshelf

查看帮助信息

docker run --rm lightimehpq/bookshelf -h

arm64 架构

如果要在树莓派等 arm64 架构的开发板上运行, 可以使用 lightimehpq/bookshelf-arm64 镜像, 只需要在镜像名后添加 -arm64 后缀即可, 其它使用方式完全相同:

docker run -p 80:80 -it lightimehpq/bookshelf-arm64
docker run -d --restart=always --name=bookshelf -p <host_port>:80 --env password=<admin_password> -v <host_books_dir>:/opt/bookshelf/books -it lightimehpq/bookshelf-arm64
docker run --rm lightimehpq/bookshelf-arm64 -h

预览

主界面 主界面

 

统计信息 统计信息



拖拽上传

拖拽上传



上传编辑界面

上传编辑界面



上传任务列表

上传任务列表



二维码分享/打开

二维码分享/打开



txt 阅读器-章节列表

txt 阅读器-章节列表



txt 阅读器-主题定制

txt 阅读器-主题定制



txt 阅读器-书签

txt 阅读器-书签



epub 阅读器

epub 阅读器



gitbook 阅读器

gitbook 阅读器



markdown 阅读器

markdown 阅读器



pdf 阅读器

pdf 阅读器