【DocFX文檔翻譯】DocFX 入門 (Getting Started with DocFX)


DocFX 入門
===============

  1. DocFX 是什么檬果?

DocFX 是一個(gè)基于.NET的API文檔生成器,當(dāng)前支持 C# 和 VB。
它可以通過(guò)你的代碼中的三斜杠注釋生成 API 參考文檔。同樣也支持你使用 Markdown 文件創(chuàng)建一些其他的主題文檔(例如:教程以及使用手冊(cè))甫恩。以及自定義生成的參考文檔。

DocFX 會(huì)使用你的代碼以及 Markdown 文件生成一個(gè)靜態(tài)的 HTML 網(wǎng)站酌予。你可以將它輕松的部署到任何web 服務(wù)器(例如: github.io)磺箕。同樣的 DocFX 也提供擴(kuò)展性,允許你通過(guò)模版自定義網(wǎng)站的布局和樣式.

如果你有興趣使用你自己的樣式創(chuàng)建你的網(wǎng)站抛虫,你可以參考 如何創(chuàng)建自定義模版 來(lái)創(chuàng)建你的自己的模版松靡。

DocFX 還包含以下很酷的功能:

  • 和你的代碼緊密集成。你可以在文檔中點(diǎn)擊 "View Source" 鏈接導(dǎo)航到github上對(duì)應(yīng)的源代碼(你的代碼必須發(fā)布到 GitHub )建椰。
  • 跨平臺(tái)的支持雕欺。擁有Windows平臺(tái)以及.NET Core 的跨平臺(tái) exe程序。
  • 和Visual Studio集成. 你可以在Visual Studio 中無(wú)縫使用 DocFX
  • Markdown 擴(kuò)展阅茶。我們推薦DocFX Flavored Markdown(DFM) 格式來(lái)編寫文檔蛛枚。 DFM 100% 兼容 GitHub Flavored Markdown(GFM) 并且添加了一些有用的擴(kuò)展,例如 file inclusion文件包含), code snippet代碼片段), cross reference交叉引用), 以及 yaml header谅海。
    更多關(guān)于 DFM 的信息, 請(qǐng)參考 DFM脸哀。
  1. 使用 DocFX 命令行工具

第1步. DocFX 被打包成 chocolatey 包.
可以通過(guò) Chocolatey 調(diào)用命令 cinst docfx -y 來(lái)安裝。

另外, 你也可以從https://github.com/dotnet/docfx/releases 下載docfx.zip文件, 并解壓到本地目錄, 把程序路徑添加到 PATH 環(huán)境變量這樣你可以在任何環(huán)境調(diào)用它扭吁。

第2步. 創(chuàng)建實(shí)例項(xiàng)目

docfx init -q

命令行會(huì)生成一個(gè)名為 docfx_project 的默認(rèn)項(xiàng)目撞蜂。

第3步. 編譯網(wǎng)站

docfx docfx_project\docfx.json --serve

現(xiàn)在可以通過(guò)訪問(wèn) http://localhost:8080 瀏覽生成網(wǎng)站了.

  1. 在 Visual Studio 中集成DocFX

Step2. 編譯項(xiàng)目, 項(xiàng)目里面會(huì)生成一個(gè) _site 文件夾侥袜。

[!注意]
可能會(huì)出現(xiàn)的警告:

  • Cache is corrupted:如果項(xiàng)目目標(biāo)是多framework, 你不得不為文檔指定一個(gè)主framework, 通過(guò)設(shè)置 docfx.json 文件的 TargetFramework 屬性
 "metadata": [
   {
     "src": "...",
     "dest": "...",
     "properties": {
       "TargetFramework": <one_of_your_framework>
     }
   },
 ]
  1. 使用DocFX 生成服務(wù)

DocFX 可以在持續(xù)集成環(huán)境中使用蝌诡。

大部分編譯系統(tǒng)不會(huì)檢查分支是否被生成,但是如果使用 detached head 來(lái)指定提交枫吧,DoxFX 需要分支名賴在api 文檔中實(shí)現(xiàn) View Source 鏈接浦旱。

設(shè)置 DOCFX_SOURCE_BRANCH_NAME 環(huán)境變量告知 DocFX 使用哪個(gè)分支。

需要編譯系統(tǒng)支持分支名環(huán)境變量. DocFX 使用以下變量:

[!注意]
AppVeyor 已知問(wèn)題: 當(dāng)前 appveyor.yml 中的配置 platform: Any CPU 會(huì)導(dǎo)致 docfx metadata 失敗九杂。 https://github.com/dotnet/docfx/issues/1078

  1. 從源代碼生成

作為前置條件, 你必須具備:

第1步. git clone https://github.com/dotnet/docfx.git 獲取最新代碼颁湖。

第2步. 運(yùn)行根目錄下的 build.cmd

第3步. 在IDE的 nuget 源中增加 artifacts 目錄:

Tools > NuGet Package Manager > Package Manager Settings > Package Sources

Step4. 按照之前的 #2, #3, #4 步驟在命令行例隆,IDE 或者.NET Core中使用 DocFX 甥捺。

  1. DocFX 種子項(xiàng)目要

這里有一個(gè)種子項(xiàng)目 https://github.com/docascode/docfx-seed. 包含

  1. src 目錄中有個(gè)基本的 C# 項(xiàng)目。
  2. articles 目錄中有一些說(shuō)明文檔镀层。
  3. 一個(gè)可覆蓋的文件镰禾,在“specs”下添加額外的內(nèi)容到API
  4. 根目錄下的 toc.yml 文件。生成網(wǎng)站的導(dǎo)航欄唱逢。
  5. 根目錄下的 docfx.json 文件吴侦。 docfx 的配置文件。

[!提示]
將不同類型的文件放入不同的目錄是一個(gè)好習(xí)慣坞古。

  1. Q&A

  1. Q: 如何在api中快速引用其他 API 或者 c?
    A: Use @uid syntax.
  2. Q: uid 是什么备韧,我怎么去找 uid?
    A: 參考 DFM 交叉引用 章節(jié)。
  3. Q: 如何在網(wǎng)站中快速找到 uid ?
    A: 在生成網(wǎng)站中, 點(diǎn)擊 F12 查看源代碼,查看API標(biāo)題. 你會(huì)在data-uid標(biāo)簽中找到 uid绸贡。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盯蝴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子听怕,更是在濱河造成了極大的恐慌捧挺,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尿瞭,死亡現(xiàn)場(chǎng)離奇詭異闽烙,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門黑竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)捕发,“玉大人,你說(shuō)我怎么就攤上這事很魂≡幔” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵遏匆,是天一觀的道長(zhǎng)法挨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)幅聘,這世上最難降的妖魔是什么凡纳? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮帝蒿,結(jié)果婚禮上荐糜,老公的妹妹穿的比我還像新娘。我一直安慰自己葛超,他們只是感情好暴氏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巩掺,像睡著了一般偏序。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胖替,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天研儒,我揣著相機(jī)與錄音,去河邊找鬼独令。 笑死端朵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的燃箭。 我是一名探鬼主播冲呢,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼础芍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抱环!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起啊研,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤裙戏,失蹤者是張志新(化名)和其女友劉穎乘凸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體累榜,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡营勤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葛作。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寿羞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赂蠢,到底是詐尸還是另有隱情绪穆,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布客年,位于F島的核電站霞幅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏量瓜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一途乃、第九天 我趴在偏房一處隱蔽的房頂上張望绍傲。 院中可真熱鬧,春花似錦耍共、人聲如沸烫饼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杠纵。三九已至,卻和暖如春钩骇,著一層夾襖步出監(jiān)牢的瞬間比藻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工倘屹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留银亲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓纽匙,卻偏偏與公主長(zhǎng)得像务蝠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烛缔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,374評(píng)論 7 249
  • 因?yàn)楝F(xiàn)在不僅僅是國(guó)內(nèi)對(duì)直播這塊流涎,國(guó)外当窗,例如:臉書够坐,它的CEO還明確將直播作為重點(diǎn)。可見直播是多么的熱門呢元咙? 我...
    光明程輝閱讀 1,770評(píng)論 1 6
  • 這是在整理中偶然看見的一份心理輔導(dǎo)課的作業(yè)梯影。時(shí)隔一年看看還是有所感觸,所以決定傳上來(lái)庶香。 在我21年的人生中甲棍,如果說(shuō)...
    苦樸閱讀 334評(píng)論 0 0
  • 開學(xué)第一天,“嘿赶掖,雪涵感猛,那個(gè)全校最胖的胖子分到我們班了耶,以后班里的重活就有人干了奢赂!嘻嘻陪白!”同桌小甜興致勃勃地說(shuō)著...
    c629b06157d2閱讀 297評(píng)論 0 1