如何让DocFX在概念文档中保留PHP等指定标签不被转义
DocFX保留<、>等特殊符号不转义的解决方案
方案1:局部保留指定内容(推荐)
使用DocFX支持的Liquid raw 标记包裹需要完全保留的内容,包裹范围内的所有文本不会被转义处理,直接输出到最终HTML文件中。
示例用法:
{% raw %} <?php // 这里的PHP代码会原样保留 $dynamicData = "服务端动态内容"; echo $dynamicData; ?> {% endraw %}
该方案只会影响标记包裹的内容,不会干扰其他正常Markdown内容的解析,适合仅需要插入少量PHP代码的场景。
方案2:全局禁用HTML转义
如果你的站点大量需要插入PHP代码,可以修改docfx.json配置文件,全局关闭Markdown解析过程中的HTML编码逻辑:
- 打开项目根目录下的
docfx.json - 在
build配置节点下新增/修改markdown配置:
{ "build": { "markdown": { "disableHtmlEncoding": true }, // 其他原有配置保持不变 } }
注意:开启全局配置后,所有Markdown内容中的<、>符号都不会被自动转义,非标签用途的<、>符号需要你手动转义为
<和>,否则会导致HTML页面渲染异常。
方案3:通过外部文件引入动态代码
你可以将PHP代码单独保存为HTML片段文件,再通过DocFX的包含语法引入,引入的文件内容不会经过Markdown转义处理,直接插入到页面对应位置:
- 新建
php_snippet.html文件,写入PHP代码:
<?php echo "从外部文件引入的动态内容"; ?>
- 在需要插入代码的Markdown文件中添加引入标记:
[!include[](php_snippet.html)]
内容的提问来源于stack exchange,提问作者Daniel Oppong
相关产品推荐
相关产品推荐

