【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)


DocFX 入门
===============

  1. DocFX 是什么?

DocFX 是一个基于.NET的API文档生成器,当前支持 C# 和 VB。
它可以通过你的代码中的三斜杠注释生成 API 参考文档。同样也支持你使用 Markdown 文件创建一些其他的主题文档(例如:教程以及使用手册)。以及自定义生成的参考文档。

DocFX 会使用你的代码以及 Markdown 文件生成一个静态的 HTML 网站。你可以将它轻松的部署到任何web 服务器(例如: github.io)。同样的 DocFX 也提供扩展性,允许你通过模版自定义网站的布局和样式.

如果你有兴趣使用你自己的样式创建你的网站,你可以参考 如何创建自定义模版 来创建你的自己的模版。

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

  • 和你的代码紧密集成。你可以在文档中点击 "View Source" 链接导航到github上对应的源代码(你的代码必须发布到 GitHub )。
  • 跨平台的支持。拥有Windows平台以及.NET Core 的跨平台 exe程序。
  • 和Visual Studio集成. 你可以在Visual Studio 中无缝使用 DocFX
  • Markdown 扩展。我们推荐DocFX Flavored Markdown(DFM) 格式来编写文档。 DFM 100% 兼容 GitHub Flavored Markdown(GFM) 并且添加了一些有用的扩展,例如 file inclusion文件包含), code snippet代码片段), cross reference交叉引用), 以及 yaml header
    更多关于 DFM 的信息, 请参考 DFM
  1. 使用 DocFX 命令行工具

第1步. DocFX 被打包成 chocolatey 包.
可以通过 Chocolatey 调用命令 cinst docfx -y 来安装。

另外, 你也可以从https://github.com/dotnet/docfx/releases 下载docfx.zip文件, 并解压到本地目录, 把程序路径添加到 PATH 环境变量这样你可以在任何环境调用它。

第2步. 创建实例项目

docfx init -q

命令行会生成一个名为 docfx_project 的默认项目。

第3步. 编译网站

docfx docfx_project\docfx.json --serve

现在可以通过访问 http://localhost:8080 浏览生成网站了.

  1. 在 Visual Studio 中集成DocFX

Step2. 编译项目, 项目里面会生成一个 _site 文件夹。

[!注意]
可能会出现的警告:

  • Cache is corrupted:如果项目目标是多framework, 你不得不为文档指定一个主framework, 通过设置 docfx.json 文件的 TargetFramework 属性
 "metadata": [
   {
     "src": "...",
     "dest": "...",
     "properties": {
       "TargetFramework": <one_of_your_framework>
     }
   },
 ]
  1. 使用DocFX 生成服务

DocFX 可以在持续集成环境中使用。

大部分编译系统不会检查分支是否被生成,但是如果使用 detached head 来指定提交,DoxFX 需要分支名赖在api 文档中实现 View Source 链接。

设置 DOCFX_SOURCE_BRANCH_NAME 环境变量告知 DocFX 使用哪个分支。

需要编译系统支持分支名环境变量. DocFX 使用以下变量:

[!注意]
AppVeyor 已知问题: 当前 appveyor.yml 中的配置 platform: Any CPU 会导致 docfx metadata 失败。 https://github.com/dotnet/docfx/issues/1078

  1. 从源代码生成

作为前置条件, 你必须具备:

第1步. git clone https://github.com/dotnet/docfx.git 获取最新代码。

第2步. 运行根目录下的 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 种子项目要

这里有一个种子项目 https://github.com/docascode/docfx-seed. 包含

  1. src 目录中有个基本的 C# 项目。
  2. articles 目录中有一些说明文档。
  3. 一个可覆盖的文件,在“specs”下添加额外的内容到API
  4. 根目录下的 toc.yml 文件。生成网站的导航栏。
  5. 根目录下的 docfx.json 文件。 docfx 的配置文件。

[!提示]
将不同类型的文件放入不同的目录是一个好习惯。

  1. Q&A

  1. Q: 如何在api中快速引用其他 API 或者 c?
    A: Use @uid syntax.
  2. Q: uid 是什么,我怎么去找 uid?
    A: 参考 DFM 交叉引用 章节。
  3. Q: 如何在网站中快速找到 uid ?
    A: 在生成网站中, 点击 F12 查看源代码,查看API标题. 你会在data-uid标签中找到 uid
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,880评论 25 707
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,341评论 7 249
  • 因为现在不仅仅是国内对直播这块流涎,国外,例如:脸书,它的CEO还明确将直播作为重点。可见直播是多么的热门呢? 我...
    光明程辉阅读 1,768评论 1 6
  • 这是在整理中偶然看见的一份心理辅导课的作业。时隔一年看看还是有所感触,所以决定传上来。 在我21年的人生中,如果说...
    苦朴阅读 330评论 0 0
  • 开学第一天,“嘿,雪涵,那个全校最胖的胖子分到我们班了耶,以后班里的重活就有人干了!嘻嘻!”同桌小甜兴致勃勃地说着...
    c629b06157d2阅读 292评论 0 1