# 為 Fingerstyle Taiwan 進行貢獻
## 翻譯進行中... 70%
:+1::tada: 首先, 感謝您抽出寶貴時間做出貢獻! :tada::+1:
以下是為 Fingerstyle Taiwan 做出貢獻的指南說明, 專案託管在 GitHub 上的 [Fingerstyle Taiwan](https://github.com/Fingerstyle-Taiwan) 組織中. 這些主要是指導方針,而不是硬性規則。使用您的最佳判斷,並隨時在PR(Pull Request)中提出對本文檔的更改。
#### 目錄
[開發行為守則](#code-of-conduct)
[我不想看完全部,我只想問一個問題!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question)
[在開始之前我應該知道什麼?](#what-should-i-know-before-i-get-started)
* [為什麼會有 Fingerstyle Taiwan?](#為什麼會有FingerstyleTaiwan?)
* [專案列表](#專案列表)
* [設計決策](#設計決策)
[我該如何貢獻?](#how-can-i-contribute)
* [回報錯誤/問題](#回報錯誤/問題)
* [提供建議改進](#suggesting-enhancements)
* [您的第一個程式碼貢獻](#your-first-code-contribution)
* [Pull Requests](#pull-requests)
[風格指南](#styleguides)
* [Git Commit 訊息](#git-commit-messages)
* [JavaScript 風格指南](#javascript-styleguide)
* [CoffeeScript 風格指南](#coffeescript-styleguide)
* [Specs 風格指南](#specs-styleguide)
* [開發文檔風格指南](#documentation-styleguide)
[補充說明](#additional-notes)
* [Issue and Pull Request 標籤](#issue-and-pull-request-labels)
## 開發行為守則
該項目和參與其中的每個人都受 [Fingerstyle Taiwan 開發行為準則](CODE_OF_CONDUCT.md) 約束. 參與過程中,您應遵守此準則. 請將不適當的行為報告給 [fingerstyletaiwan@gmail.com](mailto:fingerstyletaiwan@gmail.com).
## 我不想看完全部,我只想問一個問題!!!
> **Note:** 請不要透過開啟一個issue來問問題,請使用以下連結,您將獲得更快的回覆。
我們有一個帶有詳細常見問題解答的官方留言板,如果您有任何疑問,社區會在其中提供有用的建議。
* [Github Discussions, the official message board](https://github.com/Fingerstyle-Taiwan)
## 在開始之前我應該知道什麼?
### 為什麼會有FingerstyleTaiwan?
待編輯..
這裡是目前現有的社群組織:
* [Facebook粉絲專頁](https://www.facebook.com/fingerstyle.tw)
* [Facebook指彈社團](https://www.facebook.com/groups/fingerstyle.taiwan)
* [Instagram帳號](https://www.instagram.com/fingerstyletaiwan/)
* [Youtube頻道](https://www.youtube.com/channel/UCsWj1Xg6vtfKcorSBDUS4Kw)
### 專案列表
### 設計決策
當我們就如何維護項目以及我們可以支持或不支持什麼做出重大決定時, 將被記錄在 [Fingerstyle-Taiwan/design-decisions](https://github.com/Fingerstyle-Taiwan/design-decisions). 如果您對我們如何做事有疑問,請檢查是否記錄在issue之中. 如果沒有的話,請到 [Github Discussions, the official Atom message board](https://github.com/Fingerstyle-Taiwan) 詢問您的問題.
## 我該如何貢獻?
### 回報錯誤/問題
本節將指導您提交 Fingerstyle Taiwan 的錯誤回報. 遵循這些準則有助於維護人員和社區了解您的回報
在建立錯誤回報之前, 請檢查 [這裡](#before-submitting-a-bug-report) 你可能會發現你不需要回報. 當您建立錯誤回報時, 請[盡可能包括詳盡的細節](#how-do-i-submit-a-good-bug-report). 填寫 [回報表格](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md), 填表訊息可以幫助我們更快地解決問題.
> **Note:** 如果您發現一個已關閉的問題看起來與您遇到的相同,請打開一個新問題並在新問題的文中包含指向原始問題的連結。
#### 提交錯誤報告之前
* **查看[FAQ]() 和 [Discussions](https://github.com/atom/atom/discussions)** 有關常見問題和問題的列表.
* **確認 [該在哪個專案中報告問題](#專案列表)**.
* **先進行[粗略搜索]()以查看問題是否已被回報。如果有並且問題仍然存在**,請在現有問題中留下評論,而不是打開新問題
#### 我如何提交好的錯誤報告?
在您確定您的錯誤與哪個[專案](#專案列表)相關後,在該專案上建立一個問題並通過填寫[模板]()提供以下訊息
解釋問題並包含其他詳細內容以幫助維護人員重現問題:
* **使用清晰和描述性的標題** 來識別問題.
* **詳細描述重現問題的確切步驟**. 例如, 首先解釋是如何發生的, 像是點擊了什麼或是在什麼情況. 列出步驟時,**不要只說你做了什麼,而是解釋你是如何發生的**. 例如,如果您將頁面移動到底部時發生錯誤,請說明您使用的是滑鼠、鍵盤快捷鍵還是特殊命令,是哪一個?
* **提供具體範例來演示步驟**. 包括您在這些範例中使用的文件或連節,或複製/貼上部分訊息。如果您在問題中提供部分訊息, 請使用 [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
* **描述您在執行這些步驟後觀察到的行為** 並指出該行為的問題究竟是什麼.
* **包括螢幕截圖和動畫 GIF**,它們向您展示了所描述的步驟並清楚地展示了問題. 如果您在執行這些步驟時使用鍵盤,請使用顯示的 [Keybinding Resolver](https://github.com/atom/keybinding-resolver) **錄製 GIF**。您可以使用此工具在 macOS 和 Windows 上錄製 GIF,在 Linux 上使用[這個工具](https://www.cockos.com/licecap/).
* **如果您要回報當機的狀況**, 請連同你的作業系統所提供的當機報告一起回報。 在 macOS 當中,當機報告可以在 `系統監視程式.app` 裡的 "Diagnostic and usage information" > "Diagnostic and usage information" 找到。在 [code block](https://help.github.com/articles/markdown-basics/#multiple-lines)、[file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/)、或 [gist](https://gist.github.com/) 中並附上連結以提供你的當機報告。
* **如果回報的問題跟電腦效能或記憶體有關**,請將[電腦的CPU規格檔](https://flight-manual.atom.io/hacking-atom/sections/debugging/#diagnose-runtime-performance)一併附上回報。
* **如果問題無法被特定行為觸發**,請描述您在問題出現之前的行為並依照下面的指示和我們分享更多資訊。
請利用這些問題提供給我們更多的資訊:
* **這個問題是最近發生的嗎?**(例如:在最新版本更新之後)或是這個問題一直以來都存在?
* 如果這是最近才發生的問題,**您能在舊的版本將問題再次重現嗎**?哪一個較新的版本沒有這一個問題?
* **可以確保這個問題重現的可靠性嗎?** 如果無法確認重現的可靠性,請提供我們問題在什麼樣的情況出現以及它多常出現的細節。
* 如果是檔案使用相關的問題(例如打開及編輯檔案),**是所有的檔案還是只有一些檔案會發生這樣的問題?** 這個問題只會在使用本機檔案或是遠端檔案(例如網路磁碟機)出現嗎?或是使用特別的檔案格式(例如只有JacaScript或Python檔)、大型檔案或是有非常多行的檔案、或是有特別編碼的檔案才會出現?您使用的檔案有甚麼特別之處嗎?
請包含您的配置和環境的細節
* **您是使用哪一個版本的Atom?** 您可以在終端機用`atom -v`來取得您的版本,或在開啟Atom的時候在[命令面板](https://github.com/atom/command-palette)跑`Application: About`的指令。
* **您用的操作系統和版本是什麼?**
* **您是用模擬機來運作Atom嗎?** 如果是的話,您是用哪個模擬器的軟體?您模擬器的host和guest的作業系統和版本各是什麼?
* **您下載了那些套件?** 您可以下這個 `apm list --installed`指令來取得你的套件清單。
* **您有使用[本機配置檔案](https://flight-manual.atom.io/using-atom/sections/basic-customization/)**`config.cson`, `keymap.cson`, `snippets.cson`, `styles.less` 和 `init.coffee` 來客製Atom嗎?如果您有使用,請提供文件的內容,並最好可以用碼塊或是[gist](https://gist.github.com/)連結的方式提供。
* **您有使用多個顯示器嗎?** 如果有,你可以僅用一個顯示器重現問題嗎?
* **您是使用哪個樣式的鍵盤?** 您是使用US鍵盤或是其他樣式的鍵盤?
### 建議更好的功能
這一部份會指導您如何建議更好的功能,這裡也包含全新的功能或是現有功能的小改進。依循這份指南能幫助維護人員和社群更好理解您的建議 :pencil: 並找到相關的建議 :mag_right:。
在創立一個功能建議之前,請先檢查[這個列表](#before-submitting-an-enhancement-suggestion),也許您會發現已有類似的建議,也不需要再創立新的一個。在您創立功能建議時,[請盡量包含細節](#how-do-i-submit-a-good-enhancement-suggestion),並假想您建議的功能已經存在,透過這個假想及您想像中會需要的步驟來填寫這份[模板](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/feature_request.md)。
#### 再送出功能建議之前
* **檢查 [Debugging 指南](https://flight-manual.atom.io/hacking-atom/sections/debugging/)中的提示**,您可能會發現您想建議的功能已存在。更重要的是,請檢察您是否已使用[最新版本的 Atom](https://flight-manual.atom.io/hacking-atom/sections/debugging/#update-to-the-latest-version),並檢查切換[Atom 或是套件的配置設定](https://flight-manual.atom.io/hacking-atom/sections/debugging/#check-atom-and-package-settings)後是否已能達到您想要的結果。
* **檢查是否已有 [套件](https://atom.io/packages) 提供該功能。**
* **檢查應要在[哪個 repository 建議該功能](#atom-and-packages)。**
* **先進行[粗略搜索](https://github.com/search?q=+is%3Aissue+user%3Aatom)** 以查看功能是否已被提出建議。**如果有並建議仍然存在**,請不要提出建議,而是在現有建議中留下評論。
#### 我可以如何發送一個(好的)功能建議?
功能建議是以 [GitHub issues](https://guides.github.com/features/issues/) 的方式建立與追蹤,在您決定您的功能建議與[哪個 repository](#atom-and-packages) 相關之後,請在那個 repository 建立一個 issue 並提供下列資訊:
* **請以清楚的描述作為 issue 的標題**來清楚標明及辨認該建議。
* 提供盡可能詳細的**建議功能的步驟**。
* **提供特定的例子來示範您的步驟**,請以能夠複製貼上的[Markdown 區碼](https://help.github.com/articles/markdown-basics/#multiple-lines)的方式包含您在範例中提到例子
* **形容您現在看到的做法**,並**解釋您期待以怎麼樣的做法替換**以及為什麼。
* **請附上截圖及 GIFs 動圖**來標明您的建議是關於 Atom 的哪一部分,或用來幫助你示範您的步驟。您可以在 Windows 和 macOS 上使用 [這個工具](https://www.cockos.com/licecap/)來錄製 GIFs, 而在 Linux 上可使用[這個工具](https://github.com/colinkeenan/silentcast)或是[這個工具](https://github.com/GNOME/byzanz)。
* **請解釋為什麼您建議的功能對大多數 Atom 的使用者有幫助**,而不是應該在[社群套件(community package)](#atom-and-packages)裡應用?
* **請列舉有哪些其他的應用程式或文字編輯器有您建議的功能**。
* **請清楚說明您用的 Atom 版本**,您可以在終端機跑`atom -v`,或是在開啟Atom後在[命令選擇區(Command Palette)](https://github.com/atom/command-palette)下指令來得知您的版本。
* **請清楚說明您作業系統的名字與版本**。
### 你的第一個程式貢獻
不知道從哪裡開始為Atom貢獻?你可以先從這些`beginner` 和 `help-wanted`的回報問題開始
* [新手 isssues][beginner] - 只需要幾行的 code 或是一兩個 test 的 issue。
* [需要幫助的 issues][help-wanted] - 比新手(`beginner`) issues 需要再多花些心力的 issue。
這兩個 issue 列表是用留言(comments)總數分類的,雖然這份列表不完美,但會是一個能給您機會影響社群的合理的代理分類方式。
如果你想要了解如何使用 Atom 或在 Atom 開發套件,可以參考線上免費的 [Atom Flight Manual](https://flight-manual.atom.io),你也可以在 [atom/flight-manual.atom.io](https://github.com/atom/flight-manual.atom.io) 裡找到手冊相關的資源。
#### 本機開發
Atom Core 和所有的套件都可以在本機開發,如何開發的操作說明可以在 [Atom Flight Manual](https://flight-manual.atom.io) 的以下幾段找到:
* [Hacking on Atom Core][hacking-on-atom-core]
* [Contributing to Official Atom Packages][contributing-to-official-atom-packages]
### Pull Requests
現在我們這裡將要描述的會有這幾個目的:
- 維持 Atom 的品質
- 修護對用戶來說重要的問題
- 經營社群來達到 Atom 最高的可能性
- 使 Atom 的維護人員能有可持續發展的系統來審查貢獻
為了讓您的貢獻能讓維護人員納入考量,請您這以下步驟來進行:
1. 遵守[模板裡](PULL_REQUEST_TEMPLATE.md)的所有指示
2. 遵守 [風格指南](#styleguides)
3. 在您送出您的 Pull Request 之後,請檢查您的[狀態檢查(status checks)](https://help.github.com/articles/about-status-checks/)是否通過。
<details><summary>如果您的狀態檢查 (status checks) 失敗了?</summary>
如果狀態檢查失敗了,您也認為它和您做的改變無關,請在 Pull Request 裡留言 (comment) 並解釋為什麼您認為狀態檢查失敗和您無關。如果我們最後的結論是狀態檢查的結果實際上應是通過的(假陽性),我們便會開一個 issue 來追蹤該狀態檢查套件的問題。</details>
<br/>
在以上的先決條件都滿足之後,您的 Pull Request 才會被審查,審查人員也可能會再要求您完成額外的設計、tests 或是其他的改變,才會最終核准您的 Pull Request。
## 風格建議
### Git Commit 訊息
* 用現在式 ("Add feature" 而不是 "Added feature")。
* 用祈使語氣 (Imperative mood) "Move cursor to..." 而不是 "Moves cursor to..."。
* 將第一行限制在72個單元以內。
* 在第一行之後放參考的issue和pull requests。
* 如果您只改了文件,在commit的標題加上`[ci skip]` 。
* 您可以考慮在commit訊息開頭加上適合的emoji:
* :art: `:art:` 當您改進 code 的格式和結構時
* :racehorse: `:racehorse:` 當您改進效能時
* :non-potable_water: `:non-potable_water:` 當您改進記憶體流失時。
* :memo: `:memo:` 當您撰寫 docs 時。
* :penguin: `:penguin:` 當修改Linux的相關問題時。
* :apple: `:apple:` 當修改 macOS 的相關問題時。
* :checkered_flag: `:checkered_flag:` 當修改 Windows 相關問題時
* :bug: `:bug:` 當修改 bug 時
* :fire: `:fire:` 當刪除 code 或檔案時。
* :green_heart: `:green_heart:` 當修改 CI build 時。
* :white_check_mark: `:white_check_mark:` 當加入 tests 時。
* :lock: `:lock:` 當處理安全性問題時。
* :arrow_up: `:arrow_up:` 當依賴 (dependencies) 升級時。
* :arrow_down: `:arrow_down:` 當依賴 (dependencies) 降級時。
* :shirt: `:shirt:` 當移除 linter 的警告時。
### JavaScript 風格指南
全部 JavaScript code 都是以 [Prettier](https://prettier.io/) 作為程式碼格式化工具。
* 我們偏好使用 object spread operator (`{...anotherObj}`) 而不是 `Object.assign()`
* 盡可能和運算式 (expressions) 一起使用行內 `export`
```js
// 應該要這樣寫:
export default class ClassName {
}
// 而不是這樣:
class ClassName {
}
export default ClassName
```
* 請將您的需求(requires)以下列順序排列
* 內建 Node 套件(Built in Node Modules) (像是 `path`)
* 內建 Atom Electron 套件(Built in Atom Electron Modules) (像是 `atom`, `remote`)
* 本機套件 (Loacl Modules) (使用相對路徑(Relative Path))
* 請將類別屬性 (Class Properties)以下列順序排列:
* 類別屬性和方法 (Class methods and properties)(以 `static` 開頭的方法)
* 實體方法和屬性(Instance methods and properties)
* [避免平台依賴性的程式 (platform-dependent code)](https://flight-manual.atom.io/hacking-atom/sections/cross-platform-compatibility/)
### CoffeeScript 風格指南
* 設定預設參數時,不要在等號兩側下空格
* 請設 `clear = (count=1) ->`, 而不是 `clear = (count = 1) ->`
* 請在運算子兩側下空格
* 請下`count + 1` ,而不是 `count+1`
* 請在逗號之後下空格(除非是以新的一行隔開)
* 如果能增進程式的清晰性,請適當使用括號
* 我們偏好使用英文關鍵字,而不是符號
* 像是 `a is b` ,而不是 `a == b`
* 請避免在有文字散列 (hash literals) 的大括弧兩側下空格:
* 請下`{a: 1, b: 2}` ,而不是 `{ a: 1, b: 2 }`
* 在兩個方法 (method)間請空單行.
* 除了第一個詞應是小寫,請將首字以及名詞縮寫 (acronyms)以大寫方式呈現:
* 請設`getURI` ,而不是 `getUri`
* 請設`uriToOpen`, 而不是 `URIToOpen`
* 請用 `slice()` 複製陣列
* 如果您的函式以 `for`/`while` 迴圈結尾,也不想要他回傳一個集合陣列 (collected array),請加上一個明確的`return`
* 請用 `this` 而不是單獨的一個 `@`
* `return this` ,而不是 `return @`
* 請將您的需求 (requires) 以下列順序排列
* 內建 Node 套件(Built in Node Modules) (像是 `path`)
* 內建 Atom Electron 套件(Built in Atom Electron Modules) (像是 `atom`, `remote`)
* 本機套件 (Loacl Modules) (使用相對路徑(Relative Path))
* 請將類別屬性 (Class Properties)以下列順序排列:
* 類別屬性和方法 (Class methods and properties)(以 `@` 開頭的方法)
* 實體方法和屬性(Instance methods and properties)
* [避免平台依賴性的程式 (platform-dependent code)](https://flight-manual.atom.io/hacking-atom/sections/cross-platform-compatibility/)
### Specs 風格指南
- 將結構良好且thoughtfuly-worded的 [Jasmine](https://jasmine.github.io/) 規格 (specs) 一同放進 `./spec` 資料夾
- 把 `describe` 以名詞或作 situation 處理.
- Treat `it` as a statement about state or how an operation changes state.
#### Example
```coffee
describe 'a dog', ->
it 'barks', ->
# 把 spec 放這裡
describe 'when the dog is happy', ->
it 'wags its tail', ->
# 把 spec 放這裡
```
### 開發文件風格指南
* 使用 [AtomDoc](https://github.com/atom/atomdoc).
* 使用 [Markdown](https://daringfireball.net/projects/markdown).
* 將 markdown 裡參考的方法(methods)和類別(classes)用`{}`符號包起來:
* 參考的類別 `{ClassName}`
* 參考的方法 `{ClassName::methodName}`
* 參考的類別方法 `{ClassName.methodName}`
#### 舉例
```coffee
# Public: Disable the package with the given name.
#
# * `name` The {String} name of the package to disable.
# * `options` (optional) The {Object} with disable options (default: {}):
# * `trackTime` A {Boolean}, `true` to track the amount of time taken.
# * `ignoreErrors` A {Boolean}, `true` to catch and ignore errors thrown.
# * `callback` The {Function} to call after the package has been disabled.
#
# Returns `undefined`.
disablePackage: (name, options, callback) ->
```
## 附加說明
### Issue 和 Pull Request 的標籤
這一段我們會列出一些幫助我們追蹤及管理 Issue 和 Pull Request 的標籤,這些標籤都大部分都有在所有 Atom 的 repositories 裡使用,但是還是有一些只會在 `atom/atom` 裡使用。
[GitHub search](https://help.github.com/articles/searching-issues/) 在標籤得使用下可以讓尋找 Issue 或 pull requests 群組時更簡單。舉例來說,你可能對[開放的 issue 和所有被標籤為 Atom 所擁有](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Abug+label%3Aneeds-reproduction)
makes it easy to use labels for finding groups of issues or pull requests you're interested in. For example, you might be interested in [open issues across `atom/atom` and all Atom-owned packages which are labeled as bugs, but still need to be reliably reproduced](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Abug+label%3Aneeds-reproduction) or perhaps [open pull requests in `atom/atom` which haven't been reviewed yet](https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+comments%3A0). To help you find issues and pull requests, each label is listed with search links for finding open items with that label in `atom/atom` only and also across all Atom repositories. We encourage you to read about [other search filters](https://help.github.com/articles/searching-issues/) which will help you write more focused queries.
The labels are loosely grouped by their purpose, but it's not required that every issue has a label from every group or that an issue can't have more than one label from the same group.
Please open an issue on `atom/atom` if you have suggestions for new labels, and if you notice some labels are missing on some repositories, then please open an issue on that repository.
#### Type of Issue and Issue State
| Label name | `atom/atom` :mag_right: | `atom`‑org :mag_right: | Description |
| --- | --- | --- | --- |
| `enhancement` | [search][search-atom-repo-label-enhancement] | [search][search-atom-org-label-enhancement] | 功能建議 |
| `bug` | [search][search-atom-repo-label-bug] | [search][search-atom-org-label-bug] | 確認是 bug 或有相當高的機率會是 bug 的回報|
| `question` | [search][search-atom-repo-label-question] | [search][search-atom-org-label-question] | Questions more than bug reports or feature requests (e.g. how do I do X). |
| `feedback` | [search][search-atom-repo-label-feedback] | [search][search-atom-org-label-feedback] | General feedback more than bug reports or feature requests. |
| `help-wanted` | [search][search-atom-repo-label-help-wanted] | [search][search-atom-org-label-help-wanted] | The Atom core team would appreciate help from the community in resolving these issues. |
| `beginner` | [search][search-atom-repo-label-beginner] | [search][search-atom-org-label-beginner] | Less complex issues which would be good first issues to work on for users who want to contribute to Atom. |
| `more-information-needed` | [search][search-atom-repo-label-more-information-needed] | [search][search-atom-org-label-more-information-needed] | More information needs to be collected about these problems or feature requests (e.g. steps to reproduce). |
| `needs-reproduction` | [search][search-atom-repo-label-needs-reproduction] | [search][search-atom-org-label-needs-reproduction] | Likely bugs, but haven't been reliably reproduced. |
| `blocked` | [search][search-atom-repo-label-blocked] | [search][search-atom-org-label-blocked] | Issues blocked on other issues. |
| `duplicate` | [search][search-atom-repo-label-duplicate] | [search][search-atom-org-label-duplicate] | Issues which are duplicates of other issues, i.e. they have been reported before. |
| `wontfix` | [search][search-atom-repo-label-wontfix] | [search][search-atom-org-label-wontfix] | The Atom core team has decided not to fix these issues for now, either because they're working as intended or for some other reason. |
| `invalid` | [search][search-atom-repo-label-invalid] | [search][search-atom-org-label-invalid] | Issues which aren't valid (e.g. user errors). |
| `package-idea` | [search][search-atom-repo-label-package-idea] | [search][search-atom-org-label-package-idea] | Feature request which might be good candidates for new packages, instead of extending Atom or core Atom packages. |
| `wrong-repo` | [search][search-atom-repo-label-wrong-repo] | [search][search-atom-org-label-wrong-repo] | Issues reported on the wrong repository (e.g. a bug related to the [Settings View package](https://github.com/atom/settings-view) was reported on [Atom core](https://github.com/atom/atom)). |
#### 主題分類
| Label name | `atom/atom` :mag_right: | `atom`‑org :mag_right: | Description |
| --- | --- | --- | --- |
| `windows` | [search][search-atom-repo-label-windows] | [search][search-atom-org-label-windows] | 與在 Windows 運作 Atom 相關 |
| `linux` | [search][search-atom-repo-label-linux] | [search][search-atom-org-label-linux] | 與在 Linux 運作 Atom 相關 |
| `mac` | [search][search-atom-repo-label-mac] | [search][search-atom-org-label-mac] | 與在 macOS 運作 Atom 相關 |
| `documentation` | [search][search-atom-repo-label-documentation] | [search][search-atom-org-label-documentation] | 跟任何開發文件有關(例如 [API 文件](https://atom.io/docs/api/latest/) 和 [flight manual](https://flight-manual.atom.io/)). |
| `performance` | [search][search-atom-repo-label-performance] | [search][search-atom-org-label-performance] | 跟效能相關 |
| `security` | [search][search-atom-repo-label-security] | [search][search-atom-org-label-security] | 跟安全性相關 |
| `ui` | [search][search-atom-repo-label-ui] | [search][search-atom-org-label-ui] | 跟視覺設計相關 |
| `api` | [search][search-atom-repo-label-api] | [search][search-atom-org-label-api] | 跟 Atom 的 public APIs 相關 |
| `uncaught-exception` | [search][search-atom-repo-label-uncaught-exception] | [search][search-atom-org-label-uncaught-exception] | Issues about uncaught exceptions, normally created from the [Notifications package](https://github.com/atom/notifications). |
| `crash` | [search][search-atom-repo-label-crash] | [search][search-atom-org-label-crash] | Reports of Atom completely crashing. |
| `auto-indent` | [search][search-atom-repo-label-auto-indent] | [search][search-atom-org-label-auto-indent] | Related to auto-indenting text. |
| `encoding` | [search][search-atom-repo-label-encoding] | [search][search-atom-org-label-encoding] | Related to character encoding. |
| `network` | [search][search-atom-repo-label-network] | [search][search-atom-org-label-network] | Related to network problems or working with remote files (e.g. on network drives). |
| `git` | [search][search-atom-repo-label-git] | [search][search-atom-org-label-git] | Related to Git functionality (e.g. problems with gitignore files or with showing the correct file status). |
#### `atom/atom` 的主題分類
| Label name | `atom/atom` :mag_right: | `atom`‑org :mag_right: | Description |
| --- | --- | --- | --- |
| `editor-rendering` | [search][search-atom-repo-label-editor-rendering] | [search][search-atom-org-label-editor-rendering] | Related to language-independent aspects of rendering text (e.g. scrolling, soft wrap, and font rendering). |
| `build-error` | [search][search-atom-repo-label-build-error] | [search][search-atom-org-label-build-error] | Related to problems with building Atom from source. |
| `error-from-pathwatcher` | [search][search-atom-repo-label-error-from-pathwatcher] | [search][search-atom-org-label-error-from-pathwatcher] | Related to errors thrown by the [pathwatcher library](https://github.com/atom/node-pathwatcher). |
| `error-from-save` | [search][search-atom-repo-label-error-from-save] | [search][search-atom-org-label-error-from-save] | Related to errors thrown when saving files. |
| `error-from-open` | [search][search-atom-repo-label-error-from-open] | [search][search-atom-org-label-error-from-open] | Related to errors thrown when opening files. |
| `installer` | [search][search-atom-repo-label-installer] | [search][search-atom-org-label-installer] | Related to the Atom installers for different OSes. |
| `auto-updater` | [search][search-atom-repo-label-auto-updater] | [search][search-atom-org-label-auto-updater] | Related to the auto-updater for different OSes. |
| `deprecation-help` | [search][search-atom-repo-label-deprecation-help] | [search][search-atom-org-label-deprecation-help] | Issues for helping package authors remove usage of deprecated APIs in packages. |
| `electron` | [search][search-atom-repo-label-electron] | [search][search-atom-org-label-electron] | Issues that require changes to [Electron](https://electron.atom.io) to fix or implement. |
#### Pull Request 標籤
| Label name | `atom/atom` :mag_right: | `atom`‑org :mag_right: | Description
| --- | --- | --- | --- |
| `work-in-progress` | [search][search-atom-repo-label-work-in-progress] | [search][search-atom-org-label-work-in-progress] | 正在進行、將會有更多改變的 Pull Request |
| `needs-review` | [search][search-atom-repo-label-needs-review] | [search][search-atom-org-label-needs-review] | 需要代碼審查 (code review) 及維護人員和 Atom 核心團隊認可的 Pull Request |
| `under-review` | [search][search-atom-repo-label-under-review] | [search][search-atom-org-label-under-review] | 正在被維護人員或 Atom 核心團隊審核的 Pull Request |
| `requires-changes` | [search][search-atom-repo-label-requires-changes] | [search][search-atom-org-label-requires-changes] | 需要依註解 (comment) 更新並再次審核的 Pull Request |
| `needs-testing` | [search][search-atom-repo-label-needs-testing] | [search][search-atom-org-label-needs-testing] | 需要手動測試 (manual testing) 的 Pull Request|
[search-atom-repo-label-enhancement]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aenhancement
[search-atom-org-label-enhancement]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aenhancement
[search-atom-repo-label-bug]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Abug
[search-atom-org-label-bug]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Abug
[search-atom-repo-label-question]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aquestion
[search-atom-org-label-question]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aquestion
[search-atom-repo-label-feedback]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Afeedback
[search-atom-org-label-feedback]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Afeedback
[search-atom-repo-label-help-wanted]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Ahelp-wanted
[search-atom-org-label-help-wanted]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Ahelp-wanted
[search-atom-repo-label-beginner]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Abeginner
[search-atom-org-label-beginner]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Abeginner
[search-atom-repo-label-more-information-needed]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Amore-information-needed
[search-atom-org-label-more-information-needed]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Amore-information-needed
[search-atom-repo-label-needs-reproduction]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aneeds-reproduction
[search-atom-org-label-needs-reproduction]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aneeds-reproduction
[search-atom-repo-label-triage-help-needed]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Atriage-help-needed
[search-atom-org-label-triage-help-needed]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Atriage-help-needed
[search-atom-repo-label-windows]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Awindows
[search-atom-org-label-windows]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Awindows
[search-atom-repo-label-linux]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Alinux
[search-atom-org-label-linux]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Alinux
[search-atom-repo-label-mac]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Amac
[search-atom-org-label-mac]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Amac
[search-atom-repo-label-documentation]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Adocumentation
[search-atom-org-label-documentation]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Adocumentation
[search-atom-repo-label-performance]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aperformance
[search-atom-org-label-performance]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aperformance
[search-atom-repo-label-security]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Asecurity
[search-atom-org-label-security]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Asecurity
[search-atom-repo-label-ui]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aui
[search-atom-org-label-ui]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aui
[search-atom-repo-label-api]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aapi
[search-atom-org-label-api]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aapi
[search-atom-repo-label-crash]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Acrash
[search-atom-org-label-crash]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Acrash
[search-atom-repo-label-auto-indent]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aauto-indent
[search-atom-org-label-auto-indent]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aauto-indent
[search-atom-repo-label-encoding]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aencoding
[search-atom-org-label-encoding]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aencoding
[search-atom-repo-label-network]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Anetwork
[search-atom-org-label-network]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Anetwork
[search-atom-repo-label-uncaught-exception]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Auncaught-exception
[search-atom-org-label-uncaught-exception]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Auncaught-exception
[search-atom-repo-label-git]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Agit
[search-atom-org-label-git]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Agit
[search-atom-repo-label-blocked]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Ablocked
[search-atom-org-label-blocked]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Ablocked
[search-atom-repo-label-duplicate]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aduplicate
[search-atom-org-label-duplicate]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aduplicate
[search-atom-repo-label-wontfix]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Awontfix
[search-atom-org-label-wontfix]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Awontfix
[search-atom-repo-label-invalid]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Ainvalid
[search-atom-org-label-invalid]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Ainvalid
[search-atom-repo-label-package-idea]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Apackage-idea
[search-atom-org-label-package-idea]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Apackage-idea
[search-atom-repo-label-wrong-repo]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Awrong-repo
[search-atom-org-label-wrong-repo]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Awrong-repo
[search-atom-repo-label-editor-rendering]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aeditor-rendering
[search-atom-org-label-editor-rendering]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aeditor-rendering
[search-atom-repo-label-build-error]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Abuild-error
[search-atom-org-label-build-error]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Abuild-error
[search-atom-repo-label-error-from-pathwatcher]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aerror-from-pathwatcher
[search-atom-org-label-error-from-pathwatcher]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aerror-from-pathwatcher
[search-atom-repo-label-error-from-save]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aerror-from-save
[search-atom-org-label-error-from-save]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aerror-from-save
[search-atom-repo-label-error-from-open]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aerror-from-open
[search-atom-org-label-error-from-open]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aerror-from-open
[search-atom-repo-label-installer]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Ainstaller
[search-atom-org-label-installer]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Ainstaller
[search-atom-repo-label-auto-updater]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Aauto-updater
[search-atom-org-label-auto-updater]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aauto-updater
[search-atom-repo-label-deprecation-help]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3Aatom%2Fatom+label%3Adeprecation-help
[search-atom-org-label-deprecation-help]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Adeprecation-help
[search-atom-repo-label-electron]: https://github.com/search?q=is%3Aissue+repo%3Aatom%2Fatom+is%3Aopen+label%3Aelectron
[search-atom-org-label-electron]: https://github.com/search?q=is%3Aopen+is%3Aissue+user%3Aatom+label%3Aelectron
[search-atom-repo-label-work-in-progress]: https://github.com/search?q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+label%3Awork-in-progress
[search-atom-org-label-work-in-progress]: https://github.com/search?q=is%3Aopen+is%3Apr+user%3Aatom+label%3Awork-in-progress
[search-atom-repo-label-needs-review]: https://github.com/search?q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+label%3Aneeds-review
[search-atom-org-label-needs-review]: https://github.com/search?q=is%3Aopen+is%3Apr+user%3Aatom+label%3Aneeds-review
[search-atom-repo-label-under-review]: https://github.com/search?q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+label%3Aunder-review
[search-atom-org-label-under-review]: https://github.com/search?q=is%3Aopen+is%3Apr+user%3Aatom+label%3Aunder-review
[search-atom-repo-label-requires-changes]: https://github.com/search?q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+label%3Arequires-changes
[search-atom-org-label-requires-changes]: https://github.com/search?q=is%3Aopen+is%3Apr+user%3Aatom+label%3Arequires-changes
[search-atom-repo-label-needs-testing]: https://github.com/search?q=is%3Aopen+is%3Apr+repo%3Aatom%2Fatom+label%3Aneeds-testing
[search-atom-org-label-needs-testing]: https://github.com/search?q=is%3Aopen+is%3Apr+user%3Aatom+label%3Aneeds-testing
[beginner]:https://github.com/search?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Abeginner+label%3Ahelp-wanted+user%3Aatom+sort%3Acomments-desc
[help-wanted]:https://github.com/search?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted+user%3Aatom+sort%3Acomments-desc+-label%3Abeginner
[contributing-to-official-atom-packages]:https://flight-manual.atom.io/hacking-atom/sections/contributing-to-official-atom-packages/
[hacking-on-atom-core]: https://flight-manual.atom.io/hacking-atom/sections/hacking-on-atom-core/