# Wiki 格式設定 (Markdown)

## 連結

### Redmine 連結

在任何可以使用 Wiki 格式設定的地方， Redmine 都允許在資源 （議題、變更集、 Wiki 頁面...） 間建立超連結。

- 連結至一個議題： #124 (若該議題已經結束，則使用刪除線顯示連結： #124)
- Link to an issue including tracker name and subject: ##124 (displays Bug #124: bulk edit doesn't change the category or fixed version properties)
- 連結至一個議題的筆記： #124-6, 或 #124#note-6
- Link to an issue note within the same issue: #note-6

Wiki 連結:

- [[Guide]] 顯示一個頁面名稱為 'Guide' 的連結： Guide
- [[Guide#further-reading]] 會顯示連結至一個 "further-reading" 的 HTML 錨定 (anchor) 。每個標題文字都會被自動指定一個 HTML 錨定，以便您可以用來連結它們： Guide
- [[#further-reading]] link to the anchor "further-reading" of the current page: #further-reading
- [[Guide|User manual]] 使用不同的文字來顯示一個頁面名稱為 'Guide' 的連結： User manual

您也可以連結至其他專案的 Wiki 頁面：

- [[sandbox:some page]] 顯示一個 Sanbox wiki 中頁面名稱為 'Some page' 的連結
- [[sandbox:]] 顯示 Sandbox wiki 首頁頁面的連結

當頁面不存在的時候， Wiki 連結會以紅色的方式顯示，例如: Nonexistent page.

連結至其他資源：

- 文件：
  - document#17 (連結到編號為 17 的文件)
  - document:Greetings (連結至文件標題為 "Greetings" 的文件)
  - document:"Some document" (文件標題包含空白字元時可以使用雙引號來標示)
  - sandbox:document:"Some document" (連結至另外一個 "sandbox" 專案中，文件標題為 "Some document" 的文件)

- 版本：
  - version#3 (連結至編號為 3 的版本)
  - version:1.0.0 連結至名稱為 "1.0.0" 的版本
  - version:"1.0 beta 2" (版本名稱包含空白字元時可以使用雙引號來標示)
  - sandbox:version:1.0.0 (連結至 "sandbox" 專案中，名稱為 "1.0.0" 的版本)

- 附加檔案：
  - attachment:file.zip (連結至目前物件中，名稱為 file.zip 的附加檔案)
  - 目前僅提供參考到目前物件中的附加檔案 (若您正位於一個議題中，僅可參考位於此議題中之附加檔案)

- 變更集：
  - r758 (連結至一個變更集)
  - commit:c6f4d0fd (使用雜湊碼連結至一個變更集)
  - svn1|r758 (連結至指定儲存機制中之變更集，用於專案使用多個儲存機制時之情況)
  - commit:hg|c6f4d0fd (使用某特定儲存機制中的雜湊碼連結至一個變更集)
  - sandbox:r758 (連結至其他專案的變更集)
  - sandbox:commit:c6f4d0fd (使用其他專案的雜湊碼連結至一個變更集)

- 儲存機制中之檔案：
  - source:some/file (連結至專案儲存機制中，位於 /some/file 的檔案)
  - source:some/file@52 (連結至該檔案的 52 版次)
  - source:some/file#L120 (連結至該檔案的第 120 行)
  - source:some/file@52#L120 (連結至該檔案的 52 版次中之第 120 行)
  - source:"some file@52#L120" (當 URL 中包含空白字元時，使用雙引號來標示)
  - export:some/file (強制下載該檔案)
  - source:svn1|some/file (連結至指定儲存機制中的該檔案，用於專案使用多個儲存機制時之情況)
  - sandbox:source:some/file (連結至 "sandbox" 專案的儲存機制中，位於 /some/file 的檔案)
  - sandbox:export:some/file (強制下載該檔案)

- 論壇：
  - forum#1 (連結至編號為 1 的論壇)
  - forum:Support (連結至名稱為 Support 的論壇)
  - forum:"Technical Support" (當論壇名稱中包含空白字元時，使用雙引號來標示)

- 論壇訊息：
  - message#1218 (連結至編號為 1218 的訊息)

- 專案：
  - project#3 (連結至編號為 3 的專案)
  - project:some-project (連結至名稱為 "someproject" 的專案)
  - project:"Some Project" (當專案名稱中包含空白字元時，使用雙引號來標示)

- 新聞：
  - news#2 (連結至編號為 2 的新聞項目)
  - news:Greetings (連結至名稱為 "Greetings" 的新聞項目)
  - news:"First Release" (當新聞項目名稱中包含空白字元時，使用雙引號來標示)

- Users:
  - user#2 (link to user with id 2)
  - user:jsmith (Link to user with login jsmith)
  - @jsmith (Link to user with login jsmith)

逸出字元：

- 您可以在文字的前面加上驚嘆號 (!) 來避免該文字被剖析成 Redmine 連結

### 外部連結

URLs (starting with: www, http, https, ftp, ftps, sftp and sftps) and email addresses are automatically turned into clickable links:

    http://www.redmine.org, someone@foo.bar

會顯示成： http://www.redmine.org, someone@foo.bar

若您想要顯示指定的文字而非該 URL ，您可以使用下列標準的 markdown 語法:

    [Redmine web site](http://www.redmine.org)

會顯示成： Redmine web site

## 文字格式設定

對於諸如標題、粗體、表格、清單等項目， Redmine 支援使用 Markdown 語法。 可參考 http://daringfireball.net/projects/markdown/syntax 中關於使用這些格式化功能的說明資訊。 下面包含了一些使用範例，但格式化引擎的處理能力遠多於這些簡單的使用範例。

### 字型樣式

    * **粗體**
    * *斜體*
    * ***粗斜體***
    * ~~刪除線~~

會顯示成：

- 粗體
- 斜體
- 粗斜體
- 刪除線

### 內嵌圖像

- ![](image_url) 顯示一個位於 image_url 位址的圖像 (markdown 語法)
- 若您附加了一個圖像到 Wiki 頁面中，可以使用他的檔案名稱來顯示成內嵌圖像： ![](attached_image)
- Images in your computer's clipboard can be pasted directly using Ctrl-v or Command-v (note that Internet Explorer is not supported).
- Image files can be dragged onto the text area in order to be uploaded and embedded.

### 標題

    # 標題
    ## 次標題
    ### 次次標題

Redmine 為每一種標題指定一個 HTML 錨定 (anchor) ，因此您可使用 "#標題" 、 "#次標題" 等方式連結至這些標題。

### 區塊引述

使用 > 啟動一個區塊引述的段落。

    > Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
    To go live, all you need to add is a database and a web server.

Display:

> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
> To go live, all you need to add is a database and a web server.

### 目錄

    {{toc}} => 靠左對齊目錄
    {{>toc}} => 靠右對齊目錄

### 水平線

    ---

## 巨集

Redmine 內建下列巨集：

`hello_world`

  範例巨集

`macro_list`

  顯示所有可用巨集的清單，若巨集有提供說明也會一併顯示。

`child_pages`

  顯示子頁面的清單。 若未指定參數，它將會顯示目前 Wiki 頁面的子頁面清單。 範例：

      {{child_pages}} -- 僅可於某 Wiki 頁面中被使用
      {{child_pages(depth=2)}} -- 僅顯示兩層巢狀層次

`include`

  引入一個 wiki 頁面。範例：

      {{include(Foo)}}

  或用以引入某特定專案的 Wiki 頁面：

      {{include(projectname:Foo)}}

`collapse`

  插入一個摺疊的文字區塊。範例：

      {{collapse(View details...)
      This is a block of text that is collapsed by default.
      It can be expanded by clicking a link.
      }}

`thumbnail`

  顯示可被點擊的附加圖像之縮圖。範例：

      {{thumbnail(image.png)}}
      {{thumbnail(image.png, size=300, title=Thumbnail)}}

`issue`

  Inserts a link to an issue with flexible text. Examples:

      {{issue(123)}}                              -- Issue #123: Enhance macro capabilities
      {{issue(123, project=true)}}                -- Andromeda - Issue #123:Enhance macro capabilities
      {{issue(123, tracker=false)}}               -- #123: Enhance macro capabilities
      {{issue(123, subject=false, project=true)}} -- Andromeda - Issue #123

## 程式碼醒目提示

Default code highlighting relies on Rouge, a pure Ruby code highlighter. Rouge supports many commonly used languages such as c, cpp (c++), csharp (c#, cs), css, diff (patch, udiff), go (golang), groovy, html, java, javascript (js), kotlin, objective_c (objc), perl (pl), php, python (py), r, ruby (rb), sass, scala, shell (bash, zsh, ksh, sh), sql, swift, xml and yaml (yml) languages - the names inside parentheses are aliases. Please refer to the list of languages supported by Redmine code highlighter.

您可載任何支援 Wiki 格式設定的地方，使用這個語法來醒目提示程式碼 (注意語言與其別名的名稱不須區分大小寫)：

    ``` ruby
      將程式碼放在這裡。
    ```

範例：

    # The Greeter class
    class Greeter
      def initialize(name)
        @name = name.capitalize
      end

      def salute
        puts "Hello #{@name}!"
      end
    end