關于博客遷移說明

背景


經歷過幾次 莫名其妙 的被 封號 / 鎖文章 之后突然意識到,如果有一天 簡書 這個平臺倒了,那么這些積累的文章可能就化為烏有了,所以就有了遷文章的想法。

傳送門:https://github.com/anyesu/blog/issues

當然,也可以訪問這個域名:https://anyesu.github.io

新平臺選擇


本來,寫文章只是記錄和分享一些經驗,以作為技術博客的,所以也沒打算換其他花里胡哨的平臺。但是,如果自己搭建一個個人博客還要選框架、選主題、買服務器、買域名,還要自己維護,麻煩的不行。無意間發現還有在GitHub issue 上寫博客的操作,試了下真的不錯,是個天然的博客系統:

  • [x] 一個 issue 就是一篇文章
  • [x] 天然的評論系統,方便做技術上的探討,而且能評論的人或多或少懂一些基礎知識
  • [x] 支持 Markdown 語法,支持預覽效果
  • [x] 可重復編輯,可查看版本變更記錄
  • [x] 可以添加標簽對文章分類,可以置頂
  • [x] 可以訂閱,可以接收到郵件通知
  • [x] 文章中涉及到的代碼可以直接放到對應的倉庫下
  • [x] 可以點贊,發 emoji 圖標
  • [x] 可以使用 GitHub 提供的 API ( v3 / v4 ) 抓取數據,就不用自己再去造數據存儲的輪子了
  • [x] 簡潔

當然,不足之處也有:

  • [ ] 沒有獨立域名,不能自定義樣式
  • [ ] 不能限制其他人隨意發 issue
  • [ ] 雖然可以訂閱,但是使用不當也會產生很多噪音
  • [ ] 不利于推廣和分享,不是圈內人估計是看不到了,隨緣吧

對于我來說,作為技術博客,更應該關注內容的輸出而不是其他花里胡哨的東西,所以權衡之后這個方案還是利大于弊的。

遷移過程


新建一個倉庫,在里面添加 issue 就可以開始創作了,這里就不講這些細節了。

由于 簡書Markdown 方言不是很標準,之前為了展示效果做了些特殊處理,直接拷貝內容到 GitHub 上就會發現各種樣式錯亂,所以需要先重新整理下。這里,我推薦一個編輯器 - typora,把文章內容拷到編輯器上編輯后再發布到 GitHub 上看效果,順便把 簡書 也更新下。

文章同步好,之后就是閱讀了,這里推薦一個 Chrome 插件 - 簡悅,具體效果自行體會吧。

自定義 UI 界面


上面提到一個樣式的問題,這里我就拿別人現成的模版 - Blogsue 先用著,步驟如下:

# 下載項目
git clone --depth=1 https://github.com/coderming/blogsue.git blog

# 進入項目
cd blog

# 自行編輯配置文件 index.js 修改其中的配置
cp src/config/index-example.js src/config/index.js

# 安裝依賴
npm install

# 構建
npm run build

# 運行
docker run --name=blog -d -p 8080:8080 -v `pwd`:/app node:alpine sh -c "node /app/scripts/prod-server.js"

這個項目自身提供的 Docker 部署方式是在鏡像中 構建 項目的,如果修改了配置又要重頭開始 構建 了,考慮到 npm 的速度,還是推薦在容器外 構建,然后用純粹的 node 鏡像來啟動:

docker run --name=blog -d -p 8080:8080 -v `pwd`:/app node:alpine sh -c "node /app/scripts/prod-server.js"

如果不想安裝 node 可以使用 Dockernode 鏡像來代替,比如:

docker run -it --rm -v `pwd`:/app node:alpine sh -c 'cd /app && npm config set registry "https://registry.npm.taobao.org/" && npm install'

注意:一些低配服務器可能會出現 IO 卡死的現象

這個項目風格比較簡潔,配置起來也比較簡單,還接入了 Gitalk 評論系統,算是比較完整了,不過還是有一些問題需要改進,等后面有空了再自己寫一個吧。

關于域名


買域名的話還要買服務器,國內的域名還要備案,也沒空去折騰,先用著 GitHub 送的免費域名 GitHub Pages。原理的話,可以理解為 GitHub 提供一個 web 服務器 ( 比如 Nginx ),然后將給你的 三級域名 解析到對應的目錄下,也就是你的代碼倉庫。

接著上面 構建 的步驟:

# 進入項目的構建目錄,就是把里面的靜態文件上傳到 GitHub 倉庫中
cd build

# 初始化本地 Git 倉庫
git init

# 設置用戶名 ( 在 git log 中顯示)
git config user.name xxx

# 設置郵箱 ( 在 git log 中顯示)
git config user.email xxx@email

# 設置換行符轉換方式,以 LF 格式保存到倉庫中
git config core.autocrlf true

# 將當前目錄下所有文件加入到版本控制
git add --all

# 提交文件到本地倉庫并備注為 init
git commit -m "init"

# 添加遠程倉庫 ( 需要在 GitHub 上先新建一個倉庫:xxx.github.io )
git remote add origin https://github.com/xxx/xxx.github.io.git

# 將本地倉庫推送到遠程倉庫
git push -u origin master

執行完上面的步驟,瀏覽器訪問 https://xxx.github.io 看下效果。

需要注意的地方:

  • 倉庫里放靜態文件 ( html / js / css / 圖片 ),因為不提供額外的服務器去執行代碼,所以動態腳本就免了

  • 如果你的用戶名為 xxx ,你的倉庫名為 blog,那么對應的 urlhttps://xxx.github.io/blog,如果想要對應到根路徑 / 下,需要新建一個名為 xxx.github.io 的倉庫

  • 由于使用靜態頁面,每個文件對應一個 url ,但是由于文章內容不屬于倉庫文件的一部分,所以每篇文章不能擁有獨立的 url ,需要實現 hash 模式 的前端路由,像上面用到的 Blogsue 使用 history 模式 的前端路由,頁面跳轉是沒有問題的,刷新頁面就會 404

TODO


  • [ ] 寫個工具來做自動同步,在 簡書 上新增編輯文章,然后定期同步到 GitHub
  • [ ] 自己寫一個 UI 界面
  • [ ] 獨立的域名和服務器
  • [ ] GitHubAPI 會限流,需要做優化

最后


簡書 幾年了,最初的時候真的是博客界的一股清流,但是現在體驗卻越來越差了。界面一成不變,反饋沒動靜,投稿幾個月不審核,凈弄些花里胡哨的東西,現在還會亂封號,也不說明原因,另外,各種 雞湯標題黨 泛濫。作為內容平臺,我對這種運營模式不做評判,但是作為技術博客,顯然已經有些脫軌了,也差不多是時候說再見了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,695評論 2 370

推薦閱讀更多精彩內容

  • 不知道為什么部分圖片上傳失敗,一直上傳不成功,如果有需要大家可以去我的小站觀看 背景 作為一個開發者不能沒有博客,...
    茉莉兒閱讀 2,013評論 3 10
  • 記得《老友記》里莫妮卡向錢德勒單膝下跪 問了他Will you marry me,當時只覺得浪漫以及適合莫妮卡的人...
    妤和閱讀 423評論 1 2
  • 今天偶然看到一篇關于工作的文章,細細數來,這是我工作的第七個年頭了。 2010年6月研究生畢業后,在一個做研究的公...
    喵小喵的成長閱讀 228評論 0 0
  • 思維分類 Grace在講課的過程中列舉了一系列的優點和缺點,如優點:1.讓自已的條理更清晰。2.當你很忙、工作很多...
    AllfeHuang閱讀 116評論 0 0
  • 生活之靜 修養生息 回歸內在 和平喜悅 恬靜安詳 生活之動 心驚肉跳 山崩地裂 喜怒哀樂 穿越生死 靜動之間 成其...
    悠悠思悅閱讀 355評論 3 3