【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)
DocFX 入门
- 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。
2. 使用 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 浏览生成网站了.
- 在 Visual Studio 中集成DocFX。
Step2. 编译项目, 项目里面会生成一个 _site 文件夹。
[!注意]
可能会出现的警告:
- Cache is corrupted:如果项目目标是多framework, 你不得不为文档指定一个主framework, 通过设置
docfx.json文件的TargetFramework属性:
[!NOTE]
> *Possible warning*:
> - *Cache is corrupted*: if your project targets multiple frameworks, you have to indicate one to be the main for the documentation, through the [`TargetFramework` property](https://github.com/dotnet/docfx/issues/1254#issuecomment-294080535) in `docfx.json`: -->
"metadata": [
{
"src": "...",
"dest": "...",
"properties": {
"TargetFramework": <one_of_your_framework>
}
},
]
- 使用DocFX 生成服务
DocFX 可以在持续集成环境中使用。
大部分编译系统不会检查分支是否被生成,但是如果使用 detached head 来指定提交,DoxFX 需要分支名赖在api 文档中实现 View Source 链接。
设置 DOCFX_SOURCE_BRANCH_NAME 环境变量告知 DocFX 使用哪个分支。
需要编译系统支持分支名环境变量. DocFX 使用以下变量:
APPVEYOR_REPO_BRANCH- AppVeyorBUILD_SOURCEBRANCHNAME- Visual Studio Team ServicesCI_BUILD_REF_NAME- GitLab CIGit_Branch- TeamCityGIT_BRANCH- JenkinsGIT_LOCAL_BRANCH- Jenkins
[!注意]
AppVeyor 已知问题: 当前 appveyor.yml 中的配置platform: Any CPU会导致docfx metadata失败。 https://github.com/dotnet/docfx/issues/1078
[!NOTE]
> *Known issue in AppVeyor*: Currently `platform: Any CPU` in *appveyor.yml* causes `docfx metadata` failure. https://github.com/dotnet/docfx/issues/1078 -->
- 从源代码生成
作为前置条件, 你必须具备:
- Visual Studio 2017 安装 .NET Core cross-platform development 工具集
- Node.js
第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
Tools > NuGet Package Manager > Package Manager Settings > Package Sources -->
Step4. 按照之前的 #2, #3, #4 步骤在命令行,IDE 或者.NET Core中使用 DocFX 。
- DocFX 种子项目要
这里有一个种子项目 https://github.com/docascode/docfx-seed. 包含
src目录中有个基本的 C# 项目。articles目录中有一些说明文档。- 一个可覆盖的文件,在“specs”下添加额外的内容到API
- 根目录下的
toc.yml文件。生成网站的导航栏。 - 根目录下的
docfx.json文件。docfx的配置文件。
<!-- 6. A seed project to play with DocFX
Here is a seed project https://github.com/docascode/docfx-seed. It contains
- A basic C# project under
src. - Several conceptual files under
articles. - An overwrite file to add extra content to API under
specs. toc.ymlunder root folder. It renders as the navbar of the website.docfx.jsonunder root folder. It is the configuration file thatdocfxdepends upon. -->
[!提示]
将不同类型的文件放入不同的目录是一个好习惯。
[!Tip]
> It is a good practice to separate files with different type into different folders. -->
- Q&A
- Q: 如何在api中快速引用其他 API 或者 c?
A: Use@uidsyntax. - Q:
uid是什么,我怎么去找uid?
A: 参考 DFM 交叉引用 章节。 - Q: 如何在网站中快速找到
uid?
A: 在生成网站中, 点击 F12 查看源代码,查看API标题. 你会在data-uid标签中找到uid。
<!-- 7. Q&A
- Q: How do I quickly reference APIs from other APIs or c?
A: Use@uidsyntax. - Q: What is
uidand where do I finduid?
A: Refer to Cross Reference section in DFM. - Q: How do I quickly find
uidin the website?
A: In the generated website, hit F12 to view source, and look at the title of an API. You can finduidindata-uidattribute. -->
【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)的更多相关文章
- Kinect帮助文档翻译之一 入门
最近在玩Kinect,使用的是Unity,发现网上好像没有什么教程.自己就只有抱着英文版帮助文档啃,真是苦逼 本人英语也不好,大家将就着看吧 Kinect入门帮助 如何运行示例 1 下载并 ...
- Docker官方文档翻译之入门
转自:http://www.cnblogs.com/vikings-blog/p/3958091.html Docker学习总结之docker入门 Understanding Docker 以下均翻译 ...
- TensorFlow文档翻译-01-TensorFlow入门
版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/junyang/p/7429771.html TensorFlow入门 英文原文地址:https://w ...
- React文档翻译 (快速入门)
翻译自react的大部分文档,方便自己查阅. 目录 生命周期 实例化 存在期 销毁期 state Do Not Modify State Directly State Updates May Be A ...
- 使用DocFX生成文档
使用DocFX命令行生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/docfx/releases 2.使用 创建初始项目 docfx init -q 此命 ...
- docfx (一)
什么是docFX? DocFX 是一个基于.NET的API文档生成器,当前支持 C# 和 VB.它可以通过你的代码中的三斜杠注释生成 API 参考文档.同样也支持你使用 Markdown 文件创建一些 ...
- DocFX生成PDF文档
使用DocFX生成PDF文档,将在线文档转换为PDF离线文档. 关于DocFX的简单介绍使用DocFX生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/do ...
- docfx chocolatey安装方法
这两天在git下载的docfx.zip .在安装过程中总是闪退,而加入环境变量后,执行提示:config file docfx.json does not exist.所以我选择chocolatey ...
- 使用 DocFX 生成 .Net/Unity项目文档
孙广东 2017.5.27 http://blog.csdn.NET/u010019717 微软开源全新的文档生成工具DocFX 类似JSDoc或Sphinx 如何使用看 : http: ...
随机推荐
- 双硬盘,win10安装到固态盘
1.PE下格式化固态盘的系统盘 2.打开DG分区工具,查看固态盘的系统盘是否为激活状态,红色为激活,如果不是,激活一下 3.用windows安装器,或者hdd安装win10到固态盘 4.bios中启动 ...
- dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
效果图:这4个分别是按钮按下后4种状态的效果 第88行是显示默认的按钮文字,没有id,SetWindowText改的就是它了 第87行是左边的图片,id是ico,可以通过程序控制 第89行是蓝色的文字 ...
- MongoDB及Mongoose的记录
MongoDB是一种NoSQL的文档型数据库,其存储的文档类型都是JSON对象. 在node.js中由于代码都是异步执行,且nosql也没有“事物”这一定义,所以日常使用中很难保证数据库操作的原子性. ...
- python基础 ---time,datetime,collections)--时间模块&collections 模块
python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...
- 使用QML绘制界面
1 使用QML设计登录界面 https://www.cnblogs.com/bhlsheji/p/5324871.html 2 使用QML实现下拉列表框 https://blog.csdn.net/ ...
- 洛谷P1576||最小花费||dijkstra||双向建边!!
题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元. 数据范 ...
- c#简单的数据库查询与绑定DataGridView。
1配置文件 (两种写法) <connectionStrings> <add name="connStr" connectionString="se ...
- VS 在创建C#类时添加文件描述
在新建一个C#类时,为了描述该类的功能.以及文件建立的相关信息,并保护自己的版权要在文件的开头添加一些信息.如下: /***************************************** ...
- Context 解析
· ContextWrapper比较有意思,其在SDK中的说明为“Proxying implementation ofContext that simply delegates all of its ...
- 大前端学习笔记【七】关于CSS再次整理
如果你在日常工作中使用 CSS,你的主要目标可能会重点围绕着使事情“看起来正确”.如何实现这一点经常是远不如最终结果那么重要.这意味着比起正确的语法和视觉结果来说,我们更少关心 CSS 的工作原理. ...