Skip to content

社團熱門貼文的資料整理

Rplus edited this page Jul 2, 2016 · 7 revisions

操作步驟 & 流程

0 前置作業

- 0.1

請先於 teminal 內先執行 npm install 安裝好開發環境

各主流程皆已調整為自動化的 npm-run-scripts
可執行 npm run 來確認可執行的動作

- 0.2 加入張貼 issue 用的 bookmarklet 瀏覽器書籤

請將 .weekly-feed/getData/bookmarklet-auto-issue.js 內容
加至瀏覽器書籤,以便張貼時使用

- 0.3 小提醒

主流程指令會自動抓取對應日期
若日期不符,可另外限定起始日調整

1. 取得週間資料

- 1.1 存下 top20 資料

npm run pullFeeds

執行後會自動將該週的 FB 社團文章抓回來,加權排序後取前 20 筆,
以 json 格式存入 .weekly-feed/ 目錄

同時會存下一份 issue-xxxx-xx-xx.json 供張貼 GitHub issue 使用
(這份暫存檔案不會納入 git 版本控制)

可另外限定起始日期:

npm run pullFeeds -- --date=2016-04-30

- 1.2 公佈 top20 資料於 issue 上,等待投票


注意,這步驟會自動張貼 GitHub issue 留言,
若要測試請在自己 fork 回去的 repo 裡測試…

  1. 至該週 GitHub issue 頁面,
  2. 點選步驟 0.2 存下的 bookmarklet-auto-issue.js 書籤
  3. 看到 dialog 出現後,點擊其中的上傳檔案按鈕
  4. 選擇 1.1 的 issue-xxxx.json 上傳
  5. 程式會自動一個個填入,大約將耗時 40 秒,可直接縮小視窗
  6. 張貼完畢,請檢查是否有缺漏
  7. Gitter room 通知大家來投票~

2. 取得投票資料

npm run queryVote -- --issue=44

請替換上述指令中的數字 44 為該週 issue 號碼

※ 註: 數字是必填項目

執行後會將 Github issue 上投票結果以 json 格式存至 .weekly-feed/ 目錄

3. 計算前十

這時在 ./.weekly-feed/
應該已經要有 2016-03-13.json & 2016-03-13-vote.json 兩個檔案

npm run calcTop10

# 可自行指定起始日期,當週負責人員
npm run calcTop10 -- --date=2016-04-30 --volunteer=Rplus

執行後會自動輸出前十的資料為 .yml_data/ 目錄
並自動生成當週文章 .md 模版至 _posts/ 目錄

4. 編輯

- 4.1 編寫簡述

啟動 jekyll 開始編寫描述

npm run dev
  • 編寫各則的 intro 欄位
  • 修正非常規圖片網址、文字

YAML 檔案內各欄位的說明可參考 WIKI: YAML 檔案內容

- 4.2 調整頁面資訊

調整 _posts/ 下當週的 .md 檔內容
(確認日期、人名,可簡寫些心得)

- 4.3 發 PR

檢視本機的 jekyll 沒問題 commit 完後發 PR
並將該週的 issue 關了 or assign 給 admin 關

5. Deploy

merge 後,自己跑一次 npm run dev 沒問題後,
於 terminal 執行 npm run deploy 上線確認。 end。

※ ps:
目前只有 admin 有 deploy 權限。