Mic*_*ant 16 markdown code-formatting
我希望文本中包含下划线.
这不是代码,因此我不想使用代码格式.
我想停止降价处理它作为斜体的指示.
我可以逃避_each_underscore(参见!),\但我总共有20个,在源头看起来很难看,难以维护而且不是很干.
还有其他选择吗?
bal*_*pha 15
一些Markdown实现 - 特别是Stack Overflow的服务器端C#版本MarkdownSharp(它是可选行为)和客户端JavaScript版本PageDown,还有例如GitHub的风格 - 因为你描述的原因而偏离了Markdown规范.
有关Stack Overflow的一些历史记录,请参阅两篇博客文章三个Markdown Gotchas和Markdown,一年后.
由于这是对Markdown的普遍批评,可能有更多的实现要么使这种行为是用户可设置的,要么完全与更严格的版本一起使用.所以这取决于你正在使用什么实现.
如果您使用的是基于John Gruber原始Perl实现的端口(即"吨的正则表达式替换"版本),那么自己进行此更改应该相当容易.可能调用相关函数_DoItalicsAndBold(原始Perl版本,Showdown/PageDown),DoItalicsAndBold(MarkdownSharp),_do_italics_and_bold(python-markdown2)或类似函数.
查看我们的PageDown版本的函数 ,了解Stack Overflow中使用的更严格的正则表达式:
function _DoItalicsAndBold(text) {
// <strong> must go first:
text = text.replace(/([\W_]|^)(\*\*|__)(?=\S)([^\r]*?\S[\*_]*)\2([\W_]|$)/g,
"$1<strong>$3</strong>$4");
text = text.replace(/([\W_]|^)(\*|_)(?=\S)([^\r\*_]*?\S)\2([\W_]|$)/g,
"$1<em>$3</em>$4");
return text;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15033 次 |
| 最近记录: |