入门干货之用DVG打造你的项目主页-Docfx、Vs、Github

由于这三项技术涉及到的要点以及内容较多,希望大家有空能自己挖掘一下更多更深的用法。

 

0x01、介绍

    VS,即VS2017以及以上版本,宇宙最好的IDE,集成了宇宙最有前景的平台,前阶段也支持了宇宙最好的语言。

    Github,知名的代码/项目托管平台,不想赘述了,如果干两三年了这个都不认识,自觉转行吧,我不在文章里说什么,但你得晓得,我肯定偷偷的鄙视你了。

    Docfx,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文件链接到API添加额外的说明,DocFX会扫描你的源代码和附加的文件为你生成一个完整的HTML模版网站,你可以自己通过模版定制,目前已经内嵌了几个模版,包括静态的HTML页面和AngularJS页面。

    哎呀,说白了,就是根据你的.cs 文件生成一些API,注释,首页之类的,就是说,你用吹灰之力就能免去文档的烦恼,就这码事。

 

0x02、吐槽

    我觉得VS上的github插件巨难用,反正我用它上不来气儿。之前本人用惯了PC端,高端大气上档次,同时也保证了简洁清爽功能全。PC端下载地址:https://desktop.github.com/

    我用的是旧版(相比于前两天的release来说,新版我下载不下来,可能宇宙发生了什么大事影响到了)。

    docfx生成默认环境的那个地方有点不妥,不能覆盖文件夹。

 

0x03、搭建环境

    1、VS,得有Github扩展。

    2、有Github账号

    3、下载docfx,配置环境变量(让你的命令行能找到docfx.exe)

    4、接下来,咱就走一种情况,尽量能覆盖你所有的操作的情况。

    

0x04、请开始表演

    1、用Github创建一个库,记得创建readme和协议,协议如果你不知道用啥就用MIT,如图。

      

    建库的方式有很多种,别再这里跟我鸡蛋挑骨头,明白咋回事就行了。

    2、想尽一切办法拉到本地。

    PC:你所需要的操作就是在红框里用鼠标点点点,加号-用户-clone。

    VS:先登陆,登陆完了打开团队资源管理器,Path是你的库的本地路径。如果本地已经存在这个路径了,它不允许,这点我也想吐吐槽。

    3、拉到本地之后,打开它,Vs里:  打开-文件-文件夹。

    4、打开PM(程序包管理控制台),在该目录下(注意你当前环境的路径位置),敲命令: docfx init -q 这个命令是让你生成一个默认的文档编辑框架。当然了还有其他选项比如-o 和上面的操作是一个德行,虽然说可以指定目录,但是不能指定一个存在的目录。

    5、你敲完了之后会有一个新的文件夹叫:“docfx_project”, 别害怕,把里面你的东西都剪切出来,放到外面(就是你clone出来的本地文件夹),然后删掉这个docfx_project文件夹。此时你可以向Github上提交一次你的改动。

       a、

       b、

       c、

       d、提交失败的话可能服务器版本中,某些文件比你新,那你就点蓝色的同步。没有就点推送推过去。

 

    6、打开一个新的VS,开始创建你的项目。注意看图!

      

    这里有个src文件夹,是它帮咱们创建的,咱们就可以把项目建在这里面。写你的接口,写你的注释,写你一切想写的方法。然后更改-提交-同步/推送。此时你应该打开了两个VS了已经。    

    7、改文件:打开:docfx.json

    metadata节点下:src/files的内容 改成 "src/**.cs".  这个就是寻找你的C#文件,然后帮你生成接口页面。

            src/exclude的内容 添加 "docs/**"  这个就是你生成的时候,这下面的东西都排除掉,不参与生成。 之后此文件中还有挺多exclude,你也都填上,因为docs这个文件夹很重要,一会讲。    

    build 节点下:  dest节点内容改成 "docs"。就是这东西把结果都放在docs文件夹里。

            template节点内容也可以改成"statictoc"  使用残暴模式,不用服务器,本地双击就看到页面的那种。

    其他选项可以意会,参考文档见:http://dotnet.github.io/docfx/tutorial/docfx_getting_started.html

 

    8、生成:PM里敲: docfx .\docfx.json --server ,然后去docs 文件夹里看看效果:

    

 

    9、配置Github,  当前代码库的页面上面有个Setting-往下拉找到Github Page-选那个带有docs的选项,然后save,然后记录一下地址。你以后发布用。

    

 

    10、效果:

      

    11、其他一些高级的编辑技巧,参见makedown,另外也可以参考我的另一个开源项目的文档,https://github.com/NMSLanX/Mellivora

      注:Github库里的文件图片可能在你发布的项目主页上引用不到,请直接在你的docfx工程里进行本地添加引用。

 

0x05、广告时间

    

 

0x06、结尾

    

    各位,这东西多而杂,若有遗漏请知乎一声。

    欢迎大家在飞雪或连天群里进行讨论和补充,感谢各位。

原文地址:http://www.cnblogs.com/NMSLanX/p/8283878.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)

前言本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期.这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度.正文今天我们主要讲讲如何使用自带IOC容器,emm..虽然自带的功能不是那么强大,但是胜在轻量级..而且..不用引…

P4130,jzoj1214-[NOI2007]项链工厂【线段树】

正题 题目链接:https://www.luogu.org/problemnew/show/P4130 题目大意 一个环形颜色珠子链,位置(注意不是上面的珠子)从最上顺时针下来位置依次标号1∼n1\sim n1∼n。 然后要求支持以下操作 Rk:R\ k:R k:将所有珠子顺时针旋转kkk个。F:F:F:将所有珠子以111向下翻…

LeetCode常用算法模式大厂面试题整理

转载自 LeetCode常用算法模式&大厂面试题整理 文章目录 1、滑动窗口 2、双指针 3、快慢指针 4、合并区间 5、循环排序 6、就地反转链表 7、堆-优先队列问题 8、Top K 9、归并 10、单调栈 11、回溯法 BATJ等大厂面试真题汇总 1、滑动窗口 1 一个左指针,一个右…

ABPZero系列教程之拼多多卖家工具

此系列文章围绕着拼多多卖家工具来介绍ABPZero的使用,内容包括手机登录、手机注册、拼团提醒、微信公众号绑定帐号、有拼团发送消息到微信公众号(只要关注过微信公众号并已绑定系统帐号)。学习此系列必备:手机验证码:使…

g4e基础篇#4 了解Git存储库(Repo)

Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git子目录中。因为前面我们所描述的git跟踪改动的特殊方式 ,git可以在很…

net的retrofit--WebApiClient库

# 库简介WebApiClient是开源在github上的一个httpClient客户端库,内部基于HttpClient开发,是一个只需要定义c#接口(interface),并打上相关特性,即可异步调用http-api的框架 ,支持.net framework4.5、netcoreapp2.0和ne…

Sentinel(一)之简介

转载自 Sentinel: 分布式系统的流量防卫兵 Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负…

使用xUnit为.net core程序进行单元测试(中)

第一部分: 使用xUnit为.net core程序进行单元测试(上), 下面有一点点内容是重叠的....String Assert测试string是否相等:[Fact]public void CalculateFullName(){var p new Patient{FirstName "Nick",LastName "Carter"};Assert.Equal(&quo…

Sentinel(二)之Quick Start

转载自 Sentinel Quick Start 1.1 公网 Demo 如果希望最快的了解 Sentinel 在做什么,我们可以通过 Sentinel 新手指南 来运行一个例子,并且能在云上控制台上看到最直观的监控和流控效果等。 1.2 手动接入 Sentinel 以及控制台 下面的例子将展示应用如…

.net的retrofit--WebApiClient库深入篇

前言本篇文章的内容是对上一篇.net的retrofit--WebApiClient库的深层次补充,你可能需要先阅读上一篇才能理解此篇文章。本文将详细地讲解WebApiClient的原理,结合实际项目中可能遇到的问题进行使用说明。库简介WebApiClient是开源在github上的一个httpCl…

Sentinel(三)之如何使用

转载自 Sentinel如何使用 简介 Sentinel 可以简单的分为 Sentinel 核心库和 Dashboard。核心库不依赖 Dashboard,但是结合 Dashboard 可以取得最好的效果。 这篇文章主要介绍 Sentinel 核心库的使用。如果希望有一个最快最直接的了解,可以参考 新手指…

ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)

上一篇ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器) ,我们说过ASP.NET Core中自带的IOC容器是属于轻量级的,功能并不是很多,只是提供了基础功能而已..所以今天我们主要讲讲如何采用Autofac来替换IOC容器,并实现属性注入注意:本文需要读者理解DI IOC并使用过…

Sentinel(四)之工作主流程

转载自 工作主流程 Overview 在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 SphU API…

在 .NET Core 中的并发编程

原文地址:http://www.dotnetcurry.com/dotnet/1360/concurrent-programming-dotnet-core今天我们购买的每台电脑都有一个多核心的 CPU,允许它并行执行多个指令。操作系统通过将进程调度到不同的内核来发挥这个结构的优点。然而,还可以通过异步 I/O 操作和…

Sentinel(五)之流量控制

转载自 流量控制 概述 流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 FlowSlot 会…

ASP.NET Core中使用IOC三部曲(三.采用替换后的Autofac来实现AOP拦截)

上一篇ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)我们讲了如何将默认的容器替换为Autofac,并使用属性注入.那么这一篇我们就来讲讲如何利用Autofac实现我们的AOP(面向切面编程) .1.引用正确的库来实现AOP既然是跨平台,那么在asp.net core因为采…

Sentinel(六)之集群流控

转载自 集群流控 介绍 为什么要使用集群流控呢?假设我们希望给某个用户限制调用某个 API 的总 QPS 为 50,但机器数可能很多(比如有 100 台)。这时候我们很自然地就想到,找一个 server 来专门来统计总的调用量&#…

Mybatis-Plus基本

Data AllArgsConstructor//全参构造 NoArgsConstructor//无参构造 Accessors(chain true)//链表模式 TableName("User")//映射数据表名 public class User implements Serializable {//序列化传输保证数据完整TableId(type IdType.UUID)//设定主键自增private Inte…

Sentinel(七)之网关限流

转载自 网关限流 Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。 Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块,此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑: GatewayFlowRule&…