projecthub redux
metadata
- 列表 - https://github.com/g0v/awesome-g0v
- 整理舊的列表進入 awesome
- primary key: ":owner/:repo"
- rules:
- H1: 四大類
- H2: 人工分類
- H3: nested project, 取締一個 li 當 primary, 其他的 part of primary
- https://github.com/g0v/awesome-g0v/blob/master/awesome-g0v.json
- 列表 + g0v.json or civic.json -> api endpoint (先用一堆 json 檔)
- additional metadata
- 從 awesome g0v 的結構加註新的 metadata
- gh-pages 下的 CNAME
- github.com/g0v/foo (g0v.json) -> (filesystem) g0v/foo.json
- 自動定期更新
- repo-hook -> 有 commit 更新
- name - a string specifying the project’s name.
- name_zh -
- status - a string indicating the status of the project. The value MUST be one of:
- "Ideation" - brainstorming phase.
- "Alpha" - initial prototyping phase and internal testing.
- "Beta" - a product is being tested in public.
- "Production" - finished Product, with development and maintenance ongoing.
- "Archival" - finished Product, but no longer actively maintained.
- tags - an array of tag strings to help people search for your project, which SHOULD have at least one item.
- license
pilot:
- env.g0v.tw
- budget.g0v.tw
- 公司關係圖 ( no g0v.json )
- 立委投票指南
- 急診 ( no g0v.json )
- http://g0v.tw/en-US/projects.html
metadata editor
one client side single page editor, which takes:
- url params for pre-filled content
- desired target repo (optional)
- resulting repo and g0v.json location
shows:
- prefilled form for metadata (like http://open.dc.gov/civic.json/builder.html
- diff from existing g0v.json
produces:
- with github account linked, produces:
- PR for existing g0v.json or civic.json at the target repo)
- Create a commit and a branch
- Create a pull request where base is master head is the branch just created
- create repo if not exists
WIP: https://poga.github.io/metadata-editor/
given hackpad / google sheet search prompt + prefill in editor
find hackpad (via kcwu backup) with keywords:
專案簡介、要解決的問題
- open issue in awesome-g0v if not exists (use hackpad key)
- link at a master awesome-g0v issue
- also tag the primary hackpad editor if possible
- provide a link to the editor with pre-fill (TBD)
- the PR created by editor will link back to this issue
- editor should have a callback to add comment to the issue with the resulting repo of this issue, add this to the awesome markdown
WIP: https://github.com/g0v/hackpad-parser
Result: https://gist.github.com/jessy1092/0025f7638792f2bc34e382bc969e43fe
g0vhelper
See: g0vhelper
issues aggregator
Archeology
original hackpad: g0v tasks queue
new hackpad: g0v issue tracker
g0v issue label 定義
repo: https://github.com/youchenlee/g0v-issue-tracker
Wish List
for people to find tasks, filtered by:
- repo language
- required skill (from issue label)
repo issue label sync:
- https://github.com/repo-utils/org-labels
- Decide new list of labels g0v/dev#15
- show aggregated issues from repo listed in awesome-g0v
- allow filtering by:
- triage unlabelled
Design
hack.g0v.tw 加一頁 issue list, 提供 label 列表,按下後在 iframe 中開出 github issue search
Leverage github.com advanced search
利用 github.com 的 advanced search 找出符合條件的 issues。
Advanced search form 使用 GET method,form parameters 有:
name |
id |
data-search-prefix |
type |
default |
example / placeholder |
|
utf8 |
|
|
hidden |
✓ |
|
|
q |
|
|
hidden |
|
state:open label:OCR |
|
type |
|
|
hidden |
|
Repositories |
|
ref |
|
|
hidden |
advsearch |
|
|
|
search_from |
user: |
text |
|
|
|
|
search_repos |
repo: |
text |
|
twbs/bootstrap, rails/rails |
|
|
search_date |
created: |
text |
|
YYYY-MM-DD, YYYY-MM-DD |
|
l |
search_language |
language: |
select |
|
|
|
|
search_stars |
stars: |
text |
|
0..100, 200, >1000 |
|
|
search_forks |
forks: |
text |
|
50..100, 200, <5 |
|
|
search_size |
size: |
text |
|
Repository size in KB |
|
|
search_push |
pushed: |
text |
|
<YYYY-MM-DD |
|
|
|
fork: |
select |
|
options: not, and (true), only (only) |
Return repositories [*] including forks. |
|
search_extension |
extension: |
text |
|
rb, py, jpg |
|
|
search_file_size |
size: |
text |
|
100..8000, >10000 |
duplicate with search_size? |
|
search_path |
path: |
text |
|
/foo/bar/baz/qux |
|
|
|
fork: |
checkbox |
|
Return code from forked repositories |
duplicate with search_fork |
|
search_state |
state: |
select |
|
options: open/closed, open (open), closed (closed) |
|
|
search_comments |
comments: |
text |
|
0..100, >442 |
|
範例:找出 github.com/g0v 下所有 projects 裡,有標 OCR 的 open issues:
- From these owners: g0v
- In the state: open
- With the labels: OCR
會得到這個 link: https://github.com/search?utf8=%E2%9C%93&q=state%3Aopen+label%3AOCR&type=Repositories&ref=advsearch&l=&l=
再點 Issues 得到這個 link: https://github.com/search?l=&q=state%3Aopen+label%3AOCR&ref=advsearch&type=Issues&utf8=%E2%9C%93
最新進度
根據前面討論使用 github adv search 的話,會遇到兩個問題
- repo 帶在 url params 裡面會遇到 url too long 的 error
- 會有 cors 的問題,所以還是會需要一台 server 作為 proxy
所以目前採用自架 server 的方式
- 固定一段時間去 call github api 去的 repo, issues 的 json
- 把 json 寫進 database
- 提供 api 介面可 query by labels / language
github repo: https://github.com/JmeHsieh/issue_aggregator
demo: http://g0vissues.jmehsieh.com/
project browser
existing:
- https://www.codeforamerica.org/brigade/projects
- (待捕)
Default, allow search for everything
for participants: show everything and allow filtering ?
- allow showing sub-project
- 一鍵加入列表或更新內容 Link to editor
Featured projects
for public: (show only ones with thumbnails, or projects in beta or production)
show subprojects (derived from g0v.json: with partOf: field)
瀏覽器外掛
- 爬蟲類圖鑑 (metadata contains: parserFor:zxxx.gov.tw, serviceFor:ooo.gov.tw)
- eg: 求職小幫手: 瀏覽勞動部時顯示:講個秘訣
- eg: 教育部辭典: 顯示:講個秘訣,萌典很好用
g0vzilla
status / dashboard
tools for migrating g0v.json to civic.json
- review current spec: g0v.json spec
- 之前的 g0v label issue g0v/dev#15
spec by et: (待捕)