.NET Core模板的markdown语法是什么

时间:2018-11-22 00:38:08

标签: asp.net-core asp.net-core-mvc asp.net-core-2.0

我有一个.NET Core template,想知道如何根据设置的标志隐藏markdown文件中的部分内容?

您可能会在下面看到,我尝试了在CS项目文件中执行的操作,但是没有用。

README.md

# Steps

- createSolutionFile.ps1

<!--#if (CacheSqlServer)-->
- sql-cache.ps1
    1. create database `DistributedCache`
    2. create schema `cache`
    3. run the script
<!--#endif-->

- user-secrets.ps1

<!--#if (EntityFramework)-->
- scaffold.ps1
- migrate.ps1 
<!--#endif-->

- build.ps1

<!--#if (WindowsService)-->
- windows-service.ps1
<!--#endif-->

1 个答案:

答案 0 :(得分:1)

默认情况下,模板引擎仅在某些文件类型列表中仅支持这些条件运算符,有时语法有所不同。您可以找到文件in the source of the orchestrator的列表。到目前为止,列表中还没有包含Markdown文件,这就是为什么您在那里没有任何功能的原因。

幸运的是,似乎有一种方法可以在template.json内的自定义文件类型上配置special custom operations,从而可以定义custom operations,例如对于条件运算符。

添加类似的内容应该可以:

"SpecialCustomOperations": {
  "**/*.md": {
    "operations": [
      {
        "type": "conditional",
        "configuration": {
          "if": ["---#if"],
          "else": ["---#else"],
          "elseif": ["---#elseif", "---#elif"],
          "endif": ["---#endif"],
          "trim" : "true",
          "wholeLine": "true",
        }
      }
    ]
  }
}

它应该允许您在.md文件中使用这样的条件:

# This is an example Markdown

---#if (FooBar)
Foo bar
---#elif (BarBaz)
Bar baz
---#else
Baz qux
---#endif

请注意,我在这里使用了不同的语法,因为基于单行的语法更易于配置。