1
killpanda 2014-03-04 21:24:09 +08:00 1
有一个不太满意的地方, # ## ### 通常情况下没法居中。
|
2
jakwings OP @killpanda 为什么各级标题要居中呢?这种需求似乎比较少见,也不太容易配合网页内容布局。
还是说标题内无法包含 # ? |
3
allenforrest 2014-03-04 21:34:20 +08:00 via iPhone
用html标记可以居中
|
4
allenforrest 2014-03-04 21:35:24 +08:00 via iPhone 2
跑题了,我想说的一个是,markdown对于表格的支持不好,很不统一
|
5
killpanda 2014-03-04 21:41:30 +08:00 1
@jakwings 仔细想了一下,我平时的用法是在第一行给整个文档一个主标题(Title)。所以通常我会用 Head 1 来做标题。这下让标题居中的需求挺正常吧。
当然我知道 Head 1 不是用来做 Title 的。但通常我都是把 MD 转换为 PDF 来储存,所以不太在乎各级标题的结构,只要让 # ## ### 顺延下去就可以了。 |
6
strak47 2014-03-04 21:43:36 +08:00 1
想要打多个空格的时候比较麻烦,比如段首?
在octopress常看到中文文章里面的有些 `英文` 会被拉常, 比如 或许这跟markdown本身无关 经常想打下面这种信息,每次都想实现冒号对齐,似乎markdown没办法,还是我不知道? name: xxx email: yyy address: zzz |
7
jakwings OP @killpanda PDF 比较麻烦,Markdown 原初是为了 HTML 而创造的,肯定无法考虑到这么多风格。
H1 是可以当大标题的,是否只用一个 H1 标题,只是风格问题罢了。HTML5 的规范里也有说明: http://www.w3.org/TR/html5/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements 假如转换工具有提供设定标题号偏移量会更好。至于标题居中,HTML 可以通过 CSS 样式表实现。 你也可以用 Chrome 浏览器将已经转换为 HTML 文档并应用了 CSS 样式的文档转换为 PDF ,我一般都是这么转换出 PDF 的,Chrome 有预览功能,很方便。 |
9
jakwings OP @strak47 HTML 要实现段首缩进可以应用 CSS 样式表中的 text-indent 规则(可能你听不懂吧……),另外列表和引用之类的元素缩进也要相应调整一下才行。在应用了 CSS 样式之后,你就可以通过在 md 代码的段首添加一到三个空格来模仿缩进了,反正空格会被忽略。
Markdown 原生没有和对齐相关的语法。只能通过代码块模拟了,或者直接嵌入 HTML 代码解决。 |
10
strak47 2014-03-04 22:14:33 +08:00
一直不喜欢md和html混合写,个人还是希望能用纯md实现
我有那么菜么css都听不懂…… |
11
PotatoBrother 2014-03-04 22:24:21 +08:00 via iPhone 1
Python里面的__init__这类名称会被转义……
|
12
jakwings OP @strak47 哈,纠结段首缩进的一般没考虑过纠结 CSS 样式。自从知道 text-indent 之后我就不在 md 文本用空格添加缩进了,减轻了打字时是否考虑输入全角空格的负担。
英文变宽那个问题,似乎是 CSS 样式中的 text-align: justify 对齐样式导致的。 |
13
jakwings OP @PotatoBrother 代码这种奇怪的东东一般用代码格式会比较好吧……`__init__`
|
14
vexfisher 2014-03-04 23:12:02 +08:00 2
表格的支持确实有待完善
每次我使用表格都是用HTML的,有类似的同学不? |
15
caonan 2014-03-04 23:21:41 +08:00 2
我觉得MD设计出来就是写简单东西的,涉及到复杂排版的时候尽量还是避免。
|
16
hit9 2014-03-04 23:26:00 +08:00 1
md是无样式的。
|
18
yukirock 2014-03-05 08:23:29 +08:00 1
@killpanda CSS 里居中就一行代码的事,如果是 .md -> .html -> .pdf 的话只要在 HTML 方面处理一下即可。
*** 如果一段里只有一张图片的话,MD 也要拿个 `<p>` 给它封装起来,变成 `<p><img></p>` 的样子。这样一来 p 声明的样式会影响到 img,例如 `text-indent`。 *** 用缩进控制列表层级一定不是好主意,我比较倾向于 Textile 的方案:https://en.wikipedia.org/wiki/Textile_(markup_language)#Lists |
19
SoloCompany 2014-03-05 08:56:20 +08:00 via Android 1
不能直接插入简单URL,要原样插入URL必须至少复制一次
|
20
gdm 2014-03-05 08:58:40 +08:00 2
行末那两个空格让我很介意,麻烦死了,而且很丑
|
21
soli 2014-03-05 09:21:53 +08:00 1
用 Markdown 最蛋疼的就是各种方言了。
因为有很多东西官方的都不支持,所以发展出了各种各样的方言。 各种方言的分裂,不但为相应应用的开发者造成了麻烦,还让最终用户无所适从。 |
22
hhrmatata 2014-03-05 09:28:49 +08:00 1
原生支持类似pandoc中的:
% title % author(s) (separated by semicolons) % date 并且居中,作为文章的标题块。 不喜欢嵌入css, html标签 |
23
AnyOfYou 2014-03-05 10:43:49 +08:00 1
-> title <-
这样是可以居中的 |
24
Akagi201 2014-03-05 10:57:28 +08:00 1
怎么插入视频?
|
25
jakwings OP @yukirock 其实让 text-indent 影响图片没什么不好,因为假如文本不是溢出分出多行的话,图片处于段落边界之外还是挺难看的,又得特地给图片加缩进等级。
|
26
jakwings OP |
27
jakwings OP @Akagi201 为了兼容几乎所有浏览器,一般要 Flash 播放器,那么肯定要通过嵌入 HTML 代码来插入。Markdown 原来也没有插入视频的简单语法,只能靠 HTML 代码。虽然现在有 HTML5 ,但是那个 <audio> 插入视频的方法还没完全被各大浏览器支持,而且要调整视频尺寸和自动播放还有其它等等功能,不可能设计出相应的简单语法,还是直接用 HTML 省事。视频也不是可打印的元素,在打印时最多只能用 CSS 显示出视频地址。
|
28
jakwings OP @SoloCompany <http://example.com> 便可。
|
29
jakwings OP @SoloCompany 我晕,V2EX 不知道怎么过滤我发表的内容的,太凶残了……总之用两个尖括号包住 URL 就可以了。
|
30
halfbloodrock 2014-03-05 13:42:27 +08:00 1
语法过于简单,导致一些情况下只能插入了html。。。整个文档看起来一团糟糕。
这个语言不适合写复杂文档。 |
32
Tink 2014-03-05 14:21:08 +08:00 via iPad 1
急需图片尺寸定义,要纯md实现
|
33
terrytowne 2014-03-05 16:46:32 +08:00 1
@Tink 安装imagemagick
convert example.png -resize 200x100 example.png |
34
jakwings OP @Tink 不知道内嵌 HTML 算不算纯 Markdown 。<img src="url" style="width:100px;height=100px">
|
35
MForever78 2014-03-05 21:07:49 +08:00 1
@jakwings 关于<img>会被<p>再次包起来... 这个确实会困扰啊,如果 p 有 text-indent ,而 img 又作了一个 margin: auto... 那样图片就会因为偏移而不是在正中间,还要用 CSS 再特殊处理一下,烦。
|
36
jakwings OP @MForever78 刚才我试了一下,图片要用 margin: auto 来居中,就要应用 display: block ,然而 block elements 是不会应用 text-indent 属性的。
http://jsfiddle.net/ioioio/w9VZ9/ |
38
jakwings OP @Tink 我打算添加尺寸定义,至于定位功能,由于图片默认是属于段落 <p> 而不是独立的,因此左中右对齐或者浮动定位比较无意义。元素定位功能已经有点超出 Markdown 这类标记语言该有的功能了。
|
39
jakwings OP @Tink 或者干脆将图片插入功能独立于段落,不再用于行内文本会比较好,只是还不知道该用什么语法才不至于和图片 ID 的定义混淆。
|
40
SoloCompany 2014-03-06 01:49:26 +08:00
@gdm +1 这个真的是很不爽,但是我从来不使用,要换行只能强行加空行了
|
41
SoloCompany 2014-03-06 01:53:25 +08:00
@jakwings thanks, 怎么我看过的文档似乎都没提到过这种用法呢
另外我测试了下 `<http://foo.com>` 或者 <`http://foo.com`> 都没法实现 URL 的格式化 如果用 wiki markup {{[http://foo.com]}} 就可以了 这个真心的觉得不如 wiki 方便 |
42
jakwings OP @SoloCompany 你是要纯文本还是自动添加链接的 URL ?若是要链接,去掉左引号。自动链接是 Markdown 原生支持的语法。
Wiki 用的语法其实是方便 wiki 的各个页面之间的联系而设计的,不会简单到哪里去的。不过 Wiki 系统都挺适合写博的,因为可以轻松地手动联系自己的各篇文章。 自动用 <br> 换行的功能我已经在自己设计中的语言的转换工具实现了。其实段落 <p> 才是正确的分行方式,行距可以用 CSS 修改的,实在是不明白为什么对紧凑的内容这么喜爱呢。 |
43
SoloCompany 2014-03-06 02:42:48 +08:00 via iPad
@jakwings 我是想添加URL并且用等宽显示,md 好像不会自动添加链接啊,所以才很纠结
换行和分段的问题这个显然是md设计失误,我觉得wiki markup合理的多,换行自动保留,如果连续超过两个换行就分段 |
44
jakwings OP @SoloCompany URL 本来就可能够长了,还用等宽字体……的确要重复写链接了,不过用链接 ID 来引用看起来会比较干净。
换行我不认为是 md 的设计失误,只能说是一种风格吧,因为 Markdown 是支持 Lazy Syntax 的,作者也是个喜欢邮件使用固定宽度内容的人,比较偏向英文使用者。只能怪当时作者没考虑过非拼音语言使用者的感受吧。 |
45
hzlzh 2014-03-06 09:55:36 +08:00 1
你要找的是不是这个:1MarkDown - 团队统一书写规范,我之前写过。
https://github.com/hzlzh/1MarkDown |
46
darkbill 2014-03-06 10:35:38 +08:00 1
@strak47 如果是要居中的话,写一段latex语句放在preamble中就可以了。
举例如下: \titleformat{\section}{}{\thesection}{}{% \centering\Huge\bfseries }[] %这是居中显示标题,用Huge级别的字号,以及粗体显示。 如果使用pandoc的话,把上面的话存成一个文件header.latex,在格式转换的时候 pandoc -H header.latex <正文文件> 即可。 |
48
SoloCompany 2014-03-06 15:39:22 +08:00
回去看了下文档,貌似 <> 是给 email 嵌入用的,还真没想到过也可以用来嵌入 URL
这个还真是有点绕,为什么不直接支持 (url) 或者 [url] 或者 [](url) 呢 非得逼着人写 [url](url) 虽然我已经慢慢习惯用 id 引用了,但即使有了 id 引用也无法实现简单的 URL 嵌入需求 |
49
jakwings OP @SoloCompany ()是常用来附加说明文本的,不应该单独成为标记,[](url) 可能意味着不包括链接文本,没用 [url] 而是 <url> ,我也不知道为什么。
<> 的官方说明在这里:http://daringfireball.net/projects/markdown/syntax/#autolink |
50
yukirock 2014-03-17 18:14:34 +08:00
@jakwings
> 其实让 text-indent 影响图片没什么不好,因为假如文本不是溢出分出多行的话,图片处于段落边界之外还是挺难看的,又得特地给图片加缩进等级。 我不太了解你描述的是什么样式,如果可以的话,方便举例吗? p>img 的问题在于,图片的左边界是与首行缩进齐平,换言之如果正常布局的话,左边的边距会大于右边。即使是居中放置也是如此。 分段的两种方法,其一缩进,其二增加段间距,的确如果用后一种的话就没有这个问题,但这并没有解决问题。相反,从语法上避免生成 p>img,我认为是更好的做法。 再细分下来的话,即使是图片也有两种类型。其一是大片的插图,其二是行间图片,如图片格式的颜文字或字库中没有、需要用图片呈现的字符。现有的标记语言对后者可以轻松加愉快的搞定,而前者从逻辑上并不是段落的一部分,也不应当独占一个段落。 > 用标记符号的长度来指示层级,其实在视觉上并不明显,内容多了便看不清楚了。另外也一般来说也不必太多缩进层级吧?缩进三层最少用 6 个空格便可以了。 我一直认为把缩进作为语法是不恰当的,且不说 tab 和空格的选择,对于可以处理格式的编辑器来说,缩进的逻辑结构非常不稳定。或者说前面标记层级的字符至少不应该用 \s。 而这个和缩进多少层级并没有多少联系。如果一个系统设计得很糟糕,它有可能在情况简单时坏掉,也的确有更大的可能在复杂的情况下坏掉。但是「因为在简单的情况下不容易坏所以无所谓」的话,我认为这是在隐瞒问题。 |
51
jakwings OP @yukirock
> p>img 的问题在于,图片的左边界是与首行缩进齐平,换言之如果正常布局的话,左边的边距会大于右边。即使是居中放置也是如此。 我之前试过了,图片这种 inline-block 元素竟然没有应用文字的 text-indent ,直接靠左对齐了。而为图片应用 display:block 和 margin:auto 进行居中时,也会忽略 text-indent 。所以假如要左对齐的话,若要配合行首缩进,还得添加 CSS 为图片进行缩进。 我也为我的 Strictdown 语言添加了表示单独的图片的语法了。行内图片的确还是挺有用的。 > 我一直认为把缩进作为语法是不恰当的,且不说 tab 和空格的选择,对于可以处理格式的编辑器来说,缩进的逻辑结构非常不稳定。或者说前面标记层级的字符至少不应该用 \s。 其实我干脆支持用空格而不是 tab ,因为 tab 的呈现在各种编辑器上不确定。用空格缩进的话,可能真的不太适合制作自动格式化辅助工具,不过我认为应该先把可读性问题解决,一般情况下缩进也不需要缩进多少个字符。 缩进层级增加会增加哪方面的不稳定性呢?而且在深度缩进时有没有在折腾一般人不会添加的复杂内容? 而缩进导致的内容边界问题,可以用一个简单的分界标记来解决,而且这种情况也不会很常见。 |
52
jakwings OP |
53
yukirock 2014-03-17 20:00:04 +08:00
> 我之前试过了,图片这种 inline-block 元素竟然没有应用文字的 text-indent ,直接靠左对齐了。而为图片应用 display:block 和 margin:auto 进行居中时,也会忽略 text-indent 。所以假如要左对齐的话,若要配合行首缩进,还得添加 CSS 为图片进行缩进。
http://jsfiddle.net/yukirock/RSH2d/1/ > 缩进层级增加会增加哪方面的不稳定性呢?而且在深度缩进时有没有在折腾一般人不会添加的复杂内容? 自动处理缩进的编辑器(如 vim 的 =)会无从区分行首的 \s 到底是语法还是单纯的格式。如果误用这些自动工具的话很容易把排好的缩进打乱。我的意见是,不管用什么符号,要能和惯用的缩进符号区分开来,不致引起歧义。 再者「一般人不会添加的复杂内容」,不正是开发者应当考虑的方面嘛。 |
54
jakwings OP @yukirock 不知道 52 楼你有没有看到。
之所以会说添加复杂内容,我设计的 Strictdown 语言是支持的: https://github.com/jakwings/strictdown 不过编辑器插件要不要完全迁就就要看实用性质了,添加复杂内容本来就已经快要超出这类语言的极限了。 你说的歧义问题,只是和编辑器的格式化功能或者代码高亮功能有关的。 自动缩进功能其实真的不需要太精确,缩进不对了,手动敲几个空格就能矫正了。代码高亮插件也可以稍微降低一下精度,不会严重影响视觉效果。像 Vim 这种纯文本编辑工具要实现自动格式化编辑还是比较难的,用网页在线编辑器会更容易实现(例如通过特殊按键组合退出当前编辑的文本块)。 |