Markdown Web Essentials 2013能否使用模板将标记编译为HTML?

Markdown Web Essentials 2013能否使用模板将标记编译为HTML?,markdown,web-essentials,Markdown,Web Essentials,我将Web Essentials 2013与VS2013一起使用 我有一个.md文件,用于编写有关服务的文档。预览效果很好,我甚至使用了WE Markdown.css和WE Markdown.html进行更漂亮的预览。但当它编译成HTML时(使用“Web Essentials->Compile Markdown to HTML”上下文菜单选项),它只会生成带有任何或标记的等效输出 有没有办法告诉它以生成预览的方式编译它 否则,我将不得不更改我的项目的构建,以使用模板使用其他内容编译标记 我尝试打

我将Web Essentials 2013与VS2013一起使用

我有一个.md文件,用于编写有关服务的文档。预览效果很好,我甚至使用了
WE Markdown.css
WE Markdown.html
进行更漂亮的预览。但当它编译成HTML时(使用“Web Essentials->Compile Markdown to HTML”上下文菜单选项),它只会生成带有任何
标记的等效输出

有没有办法告诉它以生成预览的方式编译它

否则,我将不得不更改我的项目的构建,以使用模板使用其他内容编译标记


我尝试打开源代码,但无法使用VS2013加载解决方案(或者缺少一些SDK)。我也无法在GitHub上的源代码中找到编译发生的位置。

我最终创建了一个PowerShell脚本,该脚本执行编译+模板化,并在生成后事件中调用它

这是:

PARAM(
    [string]
    [Parameter(Mandatory = $True)]
    $MarkdownPath,
    [string]
    $Title
)

$MarkdownPath = Resolve-Path $MarkdownPath;

if (-not $Title)
{
    $Title = $MarkdownPath;
}

# Adjust this to your solution. There might be a better way to find WE-Markdown.html
$solutionPath = Resolve-Path $PSScriptRoot;

# Same for packages path
$cmarkExe = (Get-ChildItem (Join-Path $solutionPath .\packages\**\cmark.exe) -Recurse)[0].FullName;
$out = $MarkdownPath.Replace(".md", ".html");

$compiled = & $cmarkExe $MarkdownPath | Out-String;

$template = Get-Content (Join-Path $solutionPath WE-Markdown.html) -Encoding UTF8 -Raw;

$result = $template -replace "{##TITLE##}", $Title `
    -replace "{##SOLUTION_PATH_PLACEHOLDER##}", $solutionPath `
    -replace "{##PROJECT_PATH_PLACEHOLDER##}", "" `
    -replace "{##DOCUMENT_PATH_PLACEHOLDER##}", $MarkdownPath `
    -replace "{##MARKDOWN_HTML_PLACEHOLDER##}", $compiled `
    -replace "language-C#", "csharp"; # Replace any other thing that is relevant to your project

Set-Content -Path $out -Value $result -Encoding UTF8;
这是一个包含所有内容的github存储库

以及一个生成后事件示例:

PowerShell.exe $(SolutionDir)Generate-Documentation.ps1 $(ProjectDir)docs\*.md Web_Page_Title_Here

我对“Web Essentials”(即注释而非答案)一无所知,但标记解析器通常不会生成整个文档。如果你认为降价是一个“文档片段”,它会有所帮助。一些降价解析器将提供将输出包装到文档中的选项,但这种情况很少。事实上,如果解析器在默认情况下没有给我一个片段,我将其视为一个bug。我总是假设解析器不会这样做,并期望自己需要这样做。我发现提供选项的工具给了我无法使用的输出。我总是创建自己的包装器。我最终编写了一个PowerShell脚本,该脚本使用WebEssentials使用的WE-Markdown.html模板,并在生成后事件中运行该脚本。谢谢你的意见@ChristianDroulers:你介意发布一个关于你是如何做到这一点的问题的答案吗?我也有兴趣这样做。@GregBurghardt我会的!我忘了这个问题!对不起@格雷格伯哈特在这里!一旦你开始工作,请贡献你所做的任何有趣的改变!行。我将在星期二深入研究这个问题。谢谢您将此PowerShell脚本保存到哪里?你能展示一个从构建后事件中调用脚本的例子吗?我让它工作了。我还在您的答案中添加了一个构建后事件示例+1我刚刚意识到,一次只能处理一个文件。我已经把你的GitHub存储库翻了个底朝天。我将尝试手动解析多个文件。