当前位置: 首页 > 编程日记 > 正文

【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。

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 浏览生成网站了.

  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_REPO_BRANCH - AppVeyor
  • BUILD_SOURCEBRANCHNAME - Visual Studio Team Services
  • CI_BUILD_REF_NAME - GitLab CI
  • Git_Branch - TeamCity
  • GIT_BRANCH - Jenkins
  • GIT_LOCAL_BRANCH - Jenkins

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

  1. 从源代码生成

    ----------------
    作为前置条件, 你必须具备:
  • 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

Step4. 按照之前的 #2, #3, #4 步骤在命令行,IDE 或者.NET Core中使用 DocFX

6. DocFX 种子项目要

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

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

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

7. 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

相关文章:

在Ubuntu上安装Snort入侵检测系统。

转载于:https://www.cnblogs.com/onlyzq/archive/2010/09/10/1823079.html

一份来自山东院校的考研调剂系统已开放名单!

距离 19 考研初试成绩的公布已经有一段时间了&#xff0c;成绩不错的同学就安心准备复试吧&#xff0c;全力备考&#xff0c;一定要拿到属于你的录取通知书&#xff01;成绩不满意&#xff0c;擦线或者排名靠后的同学&#xff0c;复试、调剂两手准备&#xff0c;注定咱们要花更…

适合初学者学java技术的书籍推荐!

想要学会java技术&#xff0c;光靠听课是不够的&#xff0c;看书也是非常重要的一步&#xff0c;以下小编为大家推荐的是适合初学者学java技术的书籍&#xff0c;希望能够给初学者们带来帮助。 适合初学者学java技术的书籍推荐! 1. Java编程思想(第4版) 本书赢得了全球程序员的…

ref和out的区别

ref和out的区别在C# 中&#xff0c;既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值&#xff0c;并保持该更改。若要通过引用传递参数&#xff0c; 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效&#xff0c;其作用也很像C中…

如何利用 C# 爬取「当当 - 计算机与互联网图书销量榜」!

前段时间我们介绍了如何利用 C# 语言来爬取“京东 - 计算机与互联网图书销量榜” 网页的方法&#xff0c;通过该方法&#xff0c;我们能够获得“京东”的图书销售排行榜数据。 可是&#xff0c;读书相当于给我们的大脑喂料&#xff0c;只有输入的是精华&#xff0c;才会有更好…

【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题

foreach语句使用总结增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. part3当然还是循环体. foreach语句是java5的新特征之一&#xff0c;在遍历数组、集合方面&…

参加软件测试培训需要学什么技术

软件测试这项技术在几年可谓是风头正盛&#xff0c;很多人都想要跳槽到这个行业&#xff0c;那么就需要学会软件测试技术&#xff0c;那么目前参加软件测试培训需要学什么技术呢?来看看下面的详细介绍吧。 参加软件测试培训需要学什么技术? 每个软件在上线之前都离不开重重测…

程序集和应用程序域

这两个概念是DotNet程序员经常见到的&#xff0c;但好多人搞不清它们。虽然MSDN对它们有相关的说明&#xff0c;但并不是那么容易看懂。在这里灰灰虫根据自己的理解用简单易懂的语言解绍一下它们。程序集(assembly) “程序集是包含编译好的、面向.NET Framework的代码的逻辑…

股市币市:数据分析与交易所最新公告

投资原则&#xff1a; 极端牛市是攒钱的时候&#xff08;分位数达到100&#xff09;&#xff0c;极端熊市是攒票的时候&#xff08;分位数低于40%&#xff09;&#xff0c;股指已经屡创新高&#xff0c;你再不攒钱就不对了&#xff0c;同理&#xff0c;股指屡创新低&#xff0c…

OpenGL学习(hello)

#include <gl/glut.h>void display(void){glClear(GL_COLOR_BUFFER_BIT); // 清除颜色缓冲以及深度缓冲glColor3f(1.0, 1.0, 1.0);glBegin(GL_POLYGON); // 绘画開始话多边形/*glVertex3f(0.25, 0.25, 0.0);glVertex3f(0.75, 0.25, 0.0);glVertex3f(0.75, 0.75, 0.0);glV…

选择python培训机构的关键考核五大因素,让你永不吃亏!

近几年&#xff0c;对于Python技术在人工智能领域的广泛使用&#xff0c;想要学习Python技术的人越来越多&#xff0c;市面上的Python培训机构也多了起来&#xff0c;如何选择适合的Python培训机构成了困扰大家的问题&#xff0c;下面小编就我大家详细的解析一下选择python培训…

Maven 的classifier的作用

直接看一个例子&#xff0c;maven中要引入json包&#xff0c;于是使用了 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.2.2</version> </dependency> 可是&#xff0c;当…

NPOI 导出Excel

找到dll文件引用 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System; using System.IO;namespace NPOI.WriteExcel {class Program{/*NPOI.DLL&#xff1a;NPOI 核心函式庫。NPOI.DDF.DLL&#xff1a;NPOI 繪圖區讀寫函式庫。NPOI.HPSF.DLL&#xff1a;NPOI 文…

如何利用 C# 实现 K 最邻近算法?

众所周知&#xff0c;电影可以按照题材分类&#xff0c;然而题材本身是如何定义的&#xff1f;由谁来判定某部电影属于哪个题材&#xff1f;也就是说同一题材的电影具有哪些公共特征&#xff1f;这些都是在进行电影分类时必须要考虑的问题。没有哪个电影人会说自己制作的电影和…

参加java培训真的能学到有用的吗

java技术在互联网行业的快速发展&#xff0c;优渥的待遇&#xff0c;让很多人都想学习这项技术&#xff0c;目前市面上开设java培训的机构越来越多&#xff0c;很多人都担心参加java培训能学到知识吗?下面我们来看看具体的解析。 参加java培训能学到知识吗?在Java培训机构能不…

android自定义调节器控件 —— RegulatorView

2019独角兽企业重金招聘Python工程师标准>>> RegulatorView效果图&#xff1a; RegulatorView实现步骤&#xff1a; 1.新建java类RegulatorView.java&#xff0c;继承View类 2.定义必要基础属性&#xff0c;及为其附初始值 private final static int BTN_RADIUS20;/…

如何利用 C# 实现 K-D Tree 结构?

我的朋友海伦一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的人选&#xff0c;但她没有从中找到喜欢的人。经过一番总结&#xff0c;她发现曾交往过三种类型的人&#xff1a; 不喜欢的人魅力一般的人极具魅力的人 尽管发现了上述规律&#xff0c;但海…

[恩难到了]陨石的秘密

【描述】 公元19881231年&#xff0c;一颗巨大的陨石坠落在世界的政治文化中心cs。于是&#xff0c;灾难降临了&#xff0c;地球上出现了一系列反常的现象。当人们焦急万分的时候&#xff0c;一支由cs科学家组成的考察队赶到了出事地点。经过一番侦察&#xff0c;科学家们发现陨…

java培训学习阶段步骤讲解

目前的培训机构行业比较热门的IT技术就是java技术&#xff0c;java技术在近几年广受关注&#xff0c;java所涉及的技术知识也比较广泛&#xff0c;下面小编就为大家详细的介绍一下java培训学习多有哪几个阶段? java培训学习多有哪几个阶段&#xff1a; 第一阶段、Java设计和编…

资料分享:送你一本《机器学习实战》电子书!

这两天&#xff0c;各985高校发布了考研初试分数线。从中发现这两年大数据相关专业的分数线暴涨啊。没有400分估计心里都没底啊。可见大数据这个领域有多火爆&#xff01;而机器学习是我们团队的一个主要方向&#xff0c;新加入的同学通常都是从《机器学习实战》这本书开始入门…

HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5

思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Contest 5 题意&#xff1a;给出N个点的树&#xff0c;求去边的方案数使得 去边后最大匹配数是M的倍数限制&#xff1a; N<5e4, M<200 分析&#xff…

在别的电脑上运行cg程序出现错误的解决办法

错误&#xff1a;没有找到cg.dll&#xff0c;因为这个应用程序未能启动。重新安装应用程序可能会修复此问题 解决方法&#xff1a;复制cg.dll到system32 、debug中 错误&#xff1a;没有找到cgGL.dll&#xff0c;因为这个应用程序未能启动。重新安装应用程序可能会修复此问题 解…

HTML在网页设计中是什么作用?

HTML是一种超文本传输协议&#xff0c;规定了浏览器与服务端之间数据传输的格式&#xff0c;是一种标识性的代码语言&#xff0c;它的中文翻译是“超文本标记语言”&#xff0c;主要是通过HTML标签对网页中的文本、图片、声音等内容进行描述。HTML提供了许多标签&#xff0c;如…

如何实现链接只能被点击一次

有时候&#xff0c;只希望网站某个链接只能被点击一次&#xff0c;怎么做呢&#xff1f;下面给出3中方法&#xff01;第一种&#xff1a;利用JS在点击后把href变成#把taget变成空。 <p><a onclick"var that this;setTimeout(function(){that.removeAttribute(hr…

匿名类型和Object转换

.net中的匿名类型非常好用&#xff0c; 但是开发中遇到一个问题&#xff0c;当把匿名类型作为返回值的时候&#xff0c;会变成object类型&#xff0c;如果才能再转换能对应的匿名类型呢? 1 //返回匿名类型的函数, 会转换成object类型2 object ReturnAnonymous() {3 retur…

资料分享:送你一本《数据结构(C#语言版)》电子书!

对于信息类专业的学生而言&#xff0c;数据结构与算法是一门必修的课程。只有学好这门课程&#xff0c;熟练掌握线性表、栈、队列、树、图等基本结构&#xff0c;以及在这些结构上的各种算法&#xff0c;才能利用计算机去解决实际问题。 如何学好这门课程呢&#xff0c;给大家…

新手入门API测试必要了解的知识

什么是API?API是Application Programming Interface的简写。实现了两个或多个独立系统或模块间的通信和数据交换能力。 什么是API测试?API测试是不同于UI级自动化测试&#xff0c;其主要关注在系统架构的业务逻辑层&#xff0c;所以其主要关注不在于UI操作或用户感观上&#…

java监控多个线程的实现

场景&#xff1a;需要启动多线程处理事情&#xff0c;而在所有事情做完之后&#xff0c;需要修改系统状态&#xff1b;那么如何判断所有线程&#xff08;事情&#xff09;都做完了呢&#xff1f;这就需要判断所有当前运行的线程状态了。 代码 importjava.util.concurrent.Count…

如何利用 C# 实现神经网络的感知器模型?

前几天我们介绍了 如何利用 C# 对神经网络模型进行抽象&#xff0c;在这篇图文中&#xff0c;我们抽象了单个神经元 Neuro&#xff0c;网络层 Layer&#xff0c;网络结构 Network&#xff0c;激活函数 IActivationFunction&#xff0c;以及监督学习 ISupervisedLearning 和非监…

JPA增删改查,

2019独角兽企业重金招聘Python工程师标准>>> 1. //And --- 等价于 SQL 中的 and 关键字 public List<User> findByHeightAndSex(int height,char sex); 2. // Or --- 等价于 SQL 中的 or 关键字 public List<User> findByHeightOrSex(int height,cha…