新手问题 [求助] Redcarpet 把 Markdown 转换为 HTML 后换行问题

chairy11 · 2014年08月13日 · 最后由 chairy11 回复于 2014年08月13日 · 3559 次阅读

编辑时是这样的,自己体验不错,非常自然,比较喜欢短句和断行。

显示结果是这样的,自己看着非常难受:

因为,断行的时候,有些是中间直接插入
, 而不是

. 而我间隔空行却又没有启用
,比如: 实际结果:
<p>变得很迷惘。<br>
想探索而不得。<br>
也许是很虚无的问题,却很想知道答案。</p>

期望结果应该是:

<p>变得很迷惘。</p>
<p>想探索而不得。</p>
<p>也许是很虚无的问题,却很想知道答案。</p>
<br>

怎样才能做到? 我的关于 markdown 代码在这里 是哪里出了错吗?

html 规范 br 应该用在 p 里,然后 p 是段落,所以 redcapet 输出的才是对的。想要你的这种效果只能编辑时每行多换行 (markdown 不是所见即所得,所以不要纠结和你源码排版不同了),显示结果乱我怀疑是你 css 的问题

我 Css 的确设置了 p 是行首两个字缩进…这样看就不整齐了。

#1 楼 @jjym 如果实在没有简单的解决方法,我只能取消段首缩进,然后 p{margin: 0 0 36px;} 从视觉效果上来看倒是差不多的,因为我很少写超过一行的句子。但总感觉不太自然。 目前效果:

但如果到了真的一大段话,没有缩进就会显得很怪,比如下面的第二段:

markdown 的缺点也是很明显的,如果使用者不是程序员还是不要使用 markdown 了,在上个项目里面,说服了客服使用 markdown,但是结果不是很理想,教育用户的成本很高。

js 或者 ruby 的可以操作 html 的 gem,遍历一次,替换吧。

#3 楼 @chairy11 很多网站都没首行缩进的,听别人讲过缩进是为了方便辨识新行,但是 web 上的阅读已经很方便了,缩紧作用就没这么大了

#5 楼 @flowerwrong 听起来好麻烦的样子……

#4 楼 @debugger 对我来说其实没关系呀,因为我对 markdown 大部分需要就在于分行…… 什么加粗啊之类的格式根本不想让人用,因为每人审美不同,我不想让他们操纵字体格式和表现……

#6 楼 @jjym 说是这样说,但你看我在 3 楼的第二张图,第二段,看着超怪的…… 我们的阅读习惯纸质印刷品培养起来的呀……

#9 楼 @chairy11 那是不是自己把换行符替换成 br 就可以了啊。

#10 楼 @debugger 不懂你的意思……你在谈缩进问题还是谈换行问题呢? 关于换行,现在我的做法是调整 CSS,比如上面,我编辑时有空行的地方,它会另起一个

,我断行的时候,它会是
,比如

<p>
变得很迷惘。<br>
想探索而不得。<br>
也许是很虚无的问题,却很想知道答案。
</p>

那我只能设置 p{margin: 0 0 36px;} 这时候我的空行的确有视觉上的空行效果。

缩进问题未解决。

很正常啊,你编辑 markdown 的时候

  • 一个换行,被解析为 <br>
  • 连续两个换行,解析为新的 <p> (你期望的结果)

text-indent:2em,对 p 有效,br 是无内容的,没效果。

#13 楼 @debugger 是啊,我知道啊,所以我现在只能取消了

的缩进了,为了将就

#12 楼 @libuchao 但这样我在编辑过程中就会非常不自然不舒服啊…… 本来明明是一行接一行的,现在非变成一行隔一行…… 写日志的过程体验也是很重要的呢……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号