ArtiPub
ArtiPub (Article Publisher的簡稱,意爲"文章發佈者")是一款開源的一文多發平臺,可以幫助文章作者將編寫好的文章自動發佈到掘金、SegmentFault、CSDN、知乎、開源中國等技術媒體平臺,傳播優質知識,獲取最大的曝光度。ArtiPub安裝簡單,提供了多種安裝方式,可以一鍵安裝使用,安裝一般只要5分鐘。
ArtiPub目前支持文章編輯、文章發佈、數據統計的功能,後期我們會加入存量文章導入、數據分析的功能,讓您更好的管理、優化您的技術文章。此外,我們還會接入更多媒體渠道,真正做到讓文章隨處可閱。
預覽截圖
平臺管理
文章管理
文章編輯
文章發佈
Chrome插件
安裝要求
Docker安裝
- Docker: 18.03
- Docker Compose: 1.24.1
NPM或源碼安裝
- MongoDB: 3.6+
- NodeJS: 8.12+
安裝方式
ArtiPub提供3種安裝方式如下。
通過Docker安裝
通過Docker,可以免去安裝MongoDB的步驟,也是我們最推薦的安裝方式。使用Docker安裝ArtiPub前,請確保您安裝了Docker以及Docker Compose。
在您的項目目錄下創建docker-compose.yaml
文件,輸入如下內容。
version: '3.3'
services:
app:
image: "tikazyq/artipub:latest"
environment:
MONGO_HOST: "mongo"
ARTIPUB_API_ADDRESS: "localhost:3000" # 後端API地址,如果安裝地址不在本機,請修改爲服務器IP地址+端口號(默認爲3000)
ports:
- "8000:8000" # frontend
- "3000:3000" # backend
depends_on:
- mongo
mongo:
image: mongo:latest
restart: always
ports:
- "27017:27017"
然後在命令行中輸入如下命令。
docker-compose up
然後在瀏覽器中輸入http://localhost:8000
可以看到界面。
注意⚠️,如果您的Docker宿主機不是本機,例如您用了Docker Machine或者Docker服務在其他機器上,您需要將環境變量ARTIPUB_API_ADDRESS
改爲宿主機IP+端口號(默認3000)。然後,在瀏覽器輸入http://<宿主機IP>:8000
即可看到界面。
通過npm包安裝
如果您對npm熟悉,且已經有MongoDB的環境,這是最爲快捷的方式。
安裝npm包
npm install -g artipub
安裝npm包時,爲了加速下載速度,可以加入--registry
參數來設置鏡像源(後面源碼安裝時也可以這樣操作)
npm install -g artipub --registry=https://registry.npm.taobao.org
運行ArtiPub
artipub start
該命令默認會使用localhost:27017/artipub
爲MongoDB數據庫鏈接。輸入如下命令可以看更多配置,例如配置數據庫等。
artipub -h
成功運行後,在瀏覽器中輸入http://localhost:8000
可以看到界面。
通過源碼安裝
克隆Github Repo
git clone https://github.com/crawlab-team/artipub
安裝npm包
cd artipub
npm install
啓動前端
npm run start:frontend
啓動後端
npm run start:backend
配置數據庫
數據庫的配置在./config.js
中,可以按情況配置。
配置後端API地址
如果您部署的服務不在本機,需要在./src/config/config.ts
中將apiEndpoint
改成對應的IP地址+端口。
爲什麼創建ArtiPub
程序員和技術人員常常會寫技術文章和博客,用作技術分享、產品分享或提供諮詢等等。技術博主通常需要在多個媒體渠道發佈文章,例如掘金、SegmentFault、CSDN、知乎、簡書、微信公衆號等等,以求最大的關注度。但是,發佈文章到這麼多平臺費時費神,需要不斷地複製粘貼;同時,作者想查看閱讀數時還需要來回切換各個網站來進行統計。這非常不方便。ArtiPub主要就是爲了來解決上述這些問題的。
市面上已經存在一文多發平臺了,例如OpenWrite,爲何還要創建ArtiPub呢?或許其他一文多發平臺也是一個替代方案,但它們要求用戶將自己的賬戶信息例如Cookie或賬號密碼上傳到對方服務器,這很不安全,一旦平臺發生問題,自己的賬戶信息會遭到泄漏。雖然我相信一般平臺不會惡意操作用戶的賬戶,但如果出現誤操作,您的賬戶隱私將遭到泄漏,平臺上的財產也可能遭到損壞,有這樣的風險需要考慮。ArtiPub不要求用戶上傳賬戶信息,所有賬戶信息全部保存在用戶自己的數據庫裏,因此規避了這個安全風險。
另外,由於ArtiPub是開源的,JS源碼也比較易於理解,可擴展性很強,用戶如果有其他平臺的接入需求,完全可以更改源碼來實現自己的需求,不用等待平臺更新。開發組也將持續開發ArtiPub,將其打造得更實用和易用。
支持平臺
- [x] 掘金
- [x] SegmentFault
- [x] CSDN
- [x] 簡書
- [x] 知乎
- [x] 開源中國
- [x] 今日頭條
- [x] 博客園
- [ ] 微博
- [ ] 百度百家號
- [ ] 51CTO
- [ ] 開發者頭條
- [ ] 微信公衆號
貢獻代碼
非常歡迎優秀的開發者來貢獻ArtiPub。在提Pull Request之前,請首先閱讀源碼,瞭解原理和架構。如果不懂的可以加作者微信 tikazyq1 註明 ArtiPub。
社區
如果您覺得 ArtiPub 對您有幫助,請掃描下方羣二維碼,如果羣滿,請加作者微信 tikazyq1 並註明"ArtiPub",作者會將你拉入羣。
<p align="center"> <img src="https://raw.githubusercontent.com/tikazyq/my-static-files/master/artipub/wechat-group.jpg" height="360"> <img src="https://raw.githubusercontent.com/tikazyq/my-static-files/master/artipub/wechat-profile.jpg" height="360"> </p>
本篇文章由一文多發平臺ArtiPub自動發佈