最近看到一個類似百度文庫的開源文庫系統??梢杂脕泶罱ㄟ\營自己的文庫網站。
雖說現在綜合類的文庫站點,如百度文庫等已經做起來了,如果你打算做綜合類的文庫站點,還是不現實,因為空間太小了.
但是,如果你專注于某一個方向的文庫站點,比如課后習題答案文庫站點、IT行業(yè)文庫站點、教育類文庫站點等,專注于一個行業(yè)領域方向,還是有很大成長空間的。就好比圖片站點,現在很多搜索引擎都能搜索圖片,但是Pinterest、花瓣網等還不是做起來了嗎?
后端 :Go語言框架Beego
前端: 基于Bootstrap的前端框架Flat-UI
數據庫:MySQL,數據存儲
依賴環(huán)境:Libreoffice(或Openoffice),用于將office文檔轉PDF
pdf2svg,用于將PDF轉成svg矢量圖片,以供閱讀。
calibre,用于將mobi、chm、epub等文檔轉成PDF,然后再將pdf轉成svg
阿里云OSS,存儲office文檔、PDF文檔以及svg等文件
DocHub文庫通過svg矢量圖來實現文檔閱讀體驗的,我知道的文庫站點中,新浪愛問是通過png等圖片提供文檔閱讀體驗的。
SVG相比png、jpeg等圖片格式有很大的優(yōu)勢,至少放大不會失真,而且與JPEG 和 GIF 圖像比起來,svg尺寸更小,可壓縮性更強,DocHub通過gzip,將svg文件壓縮,一般情況下,能減少70%的文件大小,比如200kb的svg,gzip壓縮后,只有60kb左右的大小。
使用svg,大大提升了加載速度,優(yōu)化了內容的閱讀體驗。
這個需要經過兩層轉化:
office --> pdf --> svg
將PDF文檔通過pdf2svg轉化,提供在線閱讀
使用calibre將文檔轉成PDF,然后pdf再轉svg。
全文搜索功能,之前是使用coreseek開發(fā)實現了這個功能的,但是現在coreseek的官網都已經掛了...打算用elasticsearch重新實現這個功能。
建站初期,站點內容的填充,是一個大難點。
然而,GitBook、ReadTheDoc等站點上,就有一大堆的開源技術文檔,提供mobi、pdf、epub離線文檔下載。
初略統計了一下,GitBook有10多萬文檔,按可用文檔為5萬估算,每份文檔,提供3種格式的下載,光從gitbook采集文檔,做成文庫,就有15萬多的文檔了。
然后,你再借助下搜索引擎,搜索filetype:文檔格式 + 搜索關鍵字,如filetype:pdf 入門教程,你就會發(fā)現驚喜!
如果再爬其他文檔,一年之內,單槍匹馬搞個上百萬文檔的文庫站點,應該不是個事兒。
用戶簽到、上傳分享文檔,獲得積分獎勵;用戶下載文檔,需要消耗積分
在提供閱讀的svg文件上添加水印
PC端模板
GitHub: https://github.com/truthhun/DocHubTemplate4PC
Gitee: https://gitee.com/truthhun/DocHubTemplate4PC
移動端模板
GitHub: https://github.com/truthhun/DocHubTemplate4Mobile
Gitee: https://gitee.com/truthhun/DocHubTemplate4Mobile
本人在該開源文庫系統上進行了二次開發(fā),具體功能如下:
一、主要功能點:
1、支付功能:包括微信支付、支付寶支付、個人支付(無需第三方支付平臺);
2、標簽管理:標簽自動獲取,批量更新、增加/修改/刪除,標簽Tag的Url優(yōu)化;
3、URL優(yōu)化:對SEO友好,利于收錄,包括前端的view、欄目地址、Tags;
4、欄目URL:支持自定義欄目地址(字母、數字組合),一鍵更新欄目URL;
5、百度推送:上傳文檔主動推送,批量自動推送功能;
6、模板替換:支持模板更換(需要懂一些HTML、CSS、CCDoc基本框架知識)
7、訂單查詢:通過訂單號查詢支付訂單,獲取下載文檔鏈接
8、采集+批量定時上傳:支持文檔采集,批量定時上傳文檔功能(可在服務器端一鍵自動控制)
9、會員充值系統:支持會員充值功能,可按照充值,包月,包年等不同級別會員,以及分銷功能
10、快捷登錄功能:支持QQ、微信一鍵快捷登錄功能,需要申請相關開發(fā)應用
11、文檔上傳權限設置:可設置用戶等級和上傳文檔權限
12、TODO。。。
購買鏈接:基于DocHub開源文庫二開的文庫系統源碼自適應手機端附安裝教程