{"id":13672737,"url":"https://github.com/carbon-bond/carbonbond","last_synced_at":"2025-04-27T22:32:48.177Z","repository":{"id":37001917,"uuid":"197971948","full_name":"carbon-bond/carbonbond","owner":"carbon-bond","description":"碳鍵。提高你的鍵能，把那些笨蛋嘴成渣吧！","archived":false,"fork":false,"pushed_at":"2023-04-05T14:19:45.000Z","size":5980,"stargazers_count":18,"open_issues_count":15,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-11T10:42:42.482Z","etag":null,"topics":["chatroom","forum","modern","react","rust","typescript"],"latest_commit_sha":null,"homepage":"https://carbonbond.cc","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carbon-bond.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-07-20T19:15:59.000Z","updated_at":"2024-05-17T12:37:32.000Z","dependencies_parsed_at":"2024-04-10T00:39:32.557Z","dependency_job_id":"d3744dd6-7488-4f0c-a676-d3c3bc6dcb9c","html_url":"https://github.com/carbon-bond/carbonbond","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbon-bond%2Fcarbonbond","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbon-bond%2Fcarbonbond/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbon-bond%2Fcarbonbond/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carbon-bond%2Fcarbonbond/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carbon-bond","download_url":"https://codeload.github.com/carbon-bond/carbonbond/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251219600,"owners_count":21554444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatroom","forum","modern","react","rust","typescript"],"created_at":"2024-08-02T09:01:45.895Z","updated_at":"2025-04-27T22:32:43.163Z","avatar_url":"https://github.com/carbon-bond.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# 碳鍵\n碳鍵是一個次世代的論壇。它在文章之間的交互作用、筆戰過程中劍拔弩張的感受、板塊統治集團的鬥爭功能上進行了史無前例的大幅強化。\n\n諸君，準備好了嗎？\n\n\u003e 提高你的鍵能，把那些笨蛋嘴成渣吧！\n\n## 特點\n- 文章有「結構」\n    - 可設定一個分類的文章必須由哪些資訊構成\n    - 例如「新聞」必須包含來源、記者、內文、日期四個欄位\n    - 發文者必須按照結構填寫表單，格式正確才能發文成功\n    - 欄位可以限制型別，如數字、日期、字數在一百字以上的文本......等等\n- 文章之間有多樣的鍵結關係\n    - 作者可以畫出鍵結來表示文章是在批鬥／支持／懷疑另一篇文章\n    - 一篇文章可同時跟多篇文章產生鍵結\n    - 精美的圖形介面可顯示文章之間的關係\n- 外掛系統\n    - 根據看板中的文章結構、鍵結，進一步客製化看板的介面\n    - 外掛作者可製作外掛上傳至碳鍵的外掛商店\n- 政黨系統\n    - 看板由執政黨管理，握有定義板內文章結構、鍵結的權限，並可制定以人來做後續仲裁的板規\n    - 一個看板板可能有多個在野黨，在野黨可以在具備民意基礎的狀況下挑戰執政黨\n    - 一個政黨由多個黨員組成\n    - 黨員可指派成不同角色，擁有各自的權限\n- 即時通訊\n  - 個人\n  - 羣組\n    - 頻道\n- 現代介面\n    - 支援瀏覽器跟App\n- 支援 Markdown 標記語言\n    - 也考慮設計碳鍵自己的標記語言\n\n更多細節詳見[碳鍵文件](https://docs.carbonbond.cc)。\n\n## 建置\n- 後端：使用 Rust 語言開發。\n    + 使用 `cargo run` 可啟動伺服器\n    + 使用 `cargo run -- --config-file FILE` 指定設定檔\n    + 使用 `cargo run --bin dbtool` 可管理資料庫\n    + 使用 `cargo run --bin prepare --features prepare` 準備所有程式碼生成的檔案，包含：\n        1. 幾丁前後端\n        2. sqlx 離線文件\n    + 設定檔\n        - 預設使用 `api-service/config/carbonbond.[MODE].toml`，其中 `MODE` 為環境變數，可能的選項為 `release`、`dev` 及 `test`\n        - 若前述檔案不存在，則使用 `api-service/config/carbonbond.toml`\n        - 私密訊息，如 API KEY 等等，請放置於 `api-service/config/secret` 資料夾，並於設定檔中指定欲使用哪一個私密檔案 \n        - 更詳盡的說明請參閱 `api-service/config/carbonbond.toml`\n- 前端：使用 typescript + React 開發。\n    + `yarn` 安裝套件\n    + `yarn dev` 啓動前端伺服器，支援熱重載\n    + `yarn lint` 檢查風格\n\n更詳細的步驟請見 [快速開始](https://docs.carbonbond.cc/快速開始.html)。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarbon-bond%2Fcarbonbond","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarbon-bond%2Fcarbonbond","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarbon-bond%2Fcarbonbond/lists"}