参与编写 Internet Information Services (IIS) 文档

本文档介绍在 IIS 文档站点上对文章和代码示例进行贡献的过程。 贡献可以是版式修复,也可以像新文章一样复杂。

如何进行简单的更正或建议

文章以 Markdown 文件的形式存储在存储库中。 通过选择浏览器窗口右上角的 “编辑” 链接,可以在浏览器中对 Markdown 文件的内容进行小更改。 (在窄浏览器窗口中,需要展开 选项 栏才能查看 “编辑” 链接。按照说明创建拉取请求(PR)。 我们将查看 PR 并接受它或建议更改。

如何创建更复杂的提交

你需要对 Git 和 GitHub.com 有基本的了解。

  • 打开描述要执行的操作 的问题 ,例如更改现有文章或创建新项目。 在投入大量时间之前,请等待团队的批准。
  • 派生 iis-docs 存储库并为您的更改创建一个分支。
  • 提交拉取请求(PR)以掌握更改。
  • 如果你的 PR 被分配了“cla-required”标签,请完成“贡献者许可协议 (CLA)”
  • 响应 PR 反馈。

有关此过程导致发布新文章的示例,请参阅 .NET 存储库中的 问题 67拉取请求 798 。 新文章是 文档化你的代码

Markdown 语法

文章用 DocFx 风格的 Markdown 编写,这是 GitHub 风格的 Markdown (GFM)的超集。 有关文档中常用的 UI 功能的 DFM 语法示例,请参阅 .NET 存储库样式指南中的 元数据和 Markdown 模板

文件夹结构约定

对于每个 Markdown 文件,可能有一个图像文件夹和一个示例代码的文件夹。 例如,如果文章为 /extensions/advanced-logging-module/advanced-logging-for-iis-client-logging.md,则映像位于 extensions/advanced-logging-module/advanced-logging-module/advanced-logging-for-iis-client-loggin/_static 中,示例应用程序项目文件位于 extensions/advanced-logging-module/advanced-logging-for-iis-client-loggin/samples 中。 /advanced-logging-for-iis-client-logging.md 文件中的图像是通过以下 Markdown 渲染的。

![description of image for alt attribute](advanced-logging-for-iis-client-logging/_static/imagename.png)

所有 图像都应包含 替换文字

Markdown 文件名和图像文件名应全部为小写。

代码片段

文章经常包含代码片段来说明要点。 DFM 允许将代码复制到 Markdown 文件中,或引用单独的代码文件。 我们希望尽可能使用单独的代码文件,以最大程度地减少代码中的错误几率。 代码文件应使用上面所述的示例项目的文件夹结构存储在存储库中。

下面是将在 configuration.md 文件中使用的 DFM 代码片段语法的一些示例。

将整个代码文件呈现为代码片段:

[!code-csharp[Main](configuration/sample/Program.cs)]

若要使用行号将文件的一部分呈现为代码片段,请执行以下操作:

[!code-csharp[Main](configuration/sample/Program.cs?range=1-10,20,30,40-50]
[!code-html[Main](configuration/sample/Views/Home/Index.cshtml?range=1-10,20,30,40-50]

对于 C# 代码片段,可以引用 C# 区域。 尽可能使用区域而不是行号,因为代码文件中的行号往往更改,并且与 Markdown 中的行号引用不同步。 C# 区域可以嵌套,如果引用外部区域,则内部 #region 区域和 #endregion 指令不会在代码片段中呈现。

若要呈现名为“snippet_Example”的 C# 区域,

[!code-csharp[Main](configuration/sample/Program.cs?name=snippet_Example)]

若要突出显示呈现的代码片段中的选定行(通常呈现为黄色背景色):

[!code-csharp[Main](configuration/sample/Program.cs?name=snippet_Example&highlight=1-3,10,20-25)]
[!code-csharp[Main](configuration/sample/Program.cs?range=10-20&highlight=1-3]
[!code-html[Main](configuration/sample/Views/Home/Index.cshtml?range=10-20&highlight=1-3]
[!code-javascript[Main](configuration/sample/Project.json?range=10-20&highlight=1-3]

使用 DocFX 测试更改

使用 DocFX 命令行工具测试更改,该工具创建站点的本地托管版本。 DocFX 不会呈现为 learn.microsoft.com 创建的样式和网站扩展。

DocFX 需要 Windows 上的 .NET Framework、Mono for Linux 或 macOS。

Windows 说明

  • DocFX 版本下载和解压缩 docfx.zip

  • 将 DocFX 添加到路径。

  • 在命令行窗口中,导航到包含 docfx.json 文件(iis-docs/iis)的相应文件夹,然后运行以下命令:

    docfx -t default --serve
    
  • 在浏览器中导航到 http://localhost:8080

Mono 使用说明

  • 通过 Homebrew 安装 Mono - brew install mono

  • 下载 最新版本的 DocFX

  • 提取到 \bin\docfx.

  • docfx 创建别名:

    function docfx {
      mono $HOME/bin/docfx/docfx.exe
    }
    
    function docfx-serve {
      mono $HOME/bin/docfx/docfx.exe serve _site
    }
    
  • 目录中运行 iis-docs\iis 以生成站点,并运行 docfx-serve 以查看站点。http://localhost:8080

语音和声调

我们的目标是编写可由尽可能广泛的受众轻松理解的文档。 为此,我们制定了写作风格准则,要求参与者遵循这些准则。 有关详细信息,请参阅 .NET 存储库中的 语音和语调指南

重定向

如果删除项目、更改其文件名或将其移动到其他文件夹,请创建重定向,以便为文章添加书签的人员不会获得 404s。 将重定向添加到 主重定向文件