我有一个.NET Core template,想知道如何根据设置的标志隐藏markdown文件中的部分内容?
您可能会在下面看到,我尝试了在CS项目文件中执行的操作,但是没有用。
# 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-->
答案 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
请注意,我在这里使用了不同的语法,因为基于单行的语法更易于配置。