我想写几行文字。除了每行从第6列开始之外,它们应该正常格式化。例如,我不希望代码块格式规则使这一文本块看起来像代码,因为我将使用其他格式,如粗体面等。如何在Markdown中做到这一点?


当前回答

直接使用一个不间断的空格(不一样!)

(你可以插入HTML或一些深奥的降价代码,但我可以想出更好的理由来打破与标准降价的兼容性。)

其他回答

在gitlab.com上,一个单独的en空间(U+2002)和一个单独的em空间(U+2003)可以正常工作。

可能其他的重复或组合的不精确的空格字符也足够了。

markdown的原生功能无法做到这一点。然而markdown允许内联HTML,因此编写

      This will appear with six space characters in front of it

会产生:

这将在它前面显示六个空格字符

如果您可以控制页面上的CSS,还可以使用标记和样式,可以使用内联或CSS规则。

不管怎样,降价并不是作为一个布局的工具,它是为了简化网络写作的过程,所以如果你发现自己扩展了它的功能集来做你需要做的事情,你可能会看看你是否使用了正确的工具。看看格鲁伯的文件:

http://daringfireball.net/projects/markdown/syntax#html

如果你真的必须使用标签,并且你不介意灰色背景色和填充,<pre>标签可能工作(如果支持):

<pre>
This        That        And             This
That        This        And             That    
</pre>
This        That        And             This
That        This        And             That    

使用非换行空格开始行的一个问题是,如果你的行足够长,那么当它溢出到第二行时,溢出行的第一个字符将从左开始,而不是从上一行的第一个字符开始。

如果你的系统允许你将HTML与你的markdown混合在一起,一种获得缩进的廉价和愉快的方式是这样的:

<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>

从语义上讲,在HTML中这是毫无意义的(一个没有任何LI项的UL节),但我所使用的所有浏览器都很乐意缩进这些标记之间的内容。

如果你用的是项目符号,试试这个:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
</ul>

这是我在样式化markdown时使用的方法。