Akkariin
本帖最后由 Akkariin 于 2019-5-29 05:50 编辑

什么是 Markdown?
Markdown 是一种优雅的文本标记语言,利用简单的符号标记即可对文本内容进行快速排版,Markdown 的语法格式非常丰富,涵盖了文本、图片、音频多媒体等。你只需要简单的学习,即可快速上手使用 Markdown。

为什么要使用 Markdown?
传统的 bbcode 过于复杂,编写时只能依赖可视化编辑器,bbcode 只不过是将 html 代码换个方式表达,对于新人来说较难学习。而 Markdown 不同,它不像 bbcode 一样需要 / 闭合的代码标签,你只需要在文字的前面或者左右两侧用一两个简单的字符标记即可。

我们来对比一下,同样一段内容,用 bbcode 和 markdown 来表达。首先是 bbcode:
  1. [size=6]一个二级标题[/size]
  2. 一段简短的内容,[b]一小段加粗的文字[/b]
  3. [quote]一个 quote 块[/quote]
复制代码
然后是 markdown:
  1. ## 一个二级标题
  2. 一段简短的内容,**一小段加粗的文字**
  3. > 一个 quote 块
复制代码
很明显,Markdown 在编写的时候会更加容易,你不需要去记住那些复杂的标签,只需要记住一些符号即可。
随着 Markdown 的流行,现在越来越多的互联网社区已经开始支持 Markdown 语法发布帖子和评论。
作为一个国内最大的 Minecraft 交流论坛,这里汇集了众多的技术人士,我们当然也应该与时俱进,一起来支持 Markdown。

如何给 Discuz 增加 Markdown 支持?
具体看这里吧,因为内容包含 script 标签,应该是被 WAF 防火墙拦下来了,发帖出现 417 错误
https://cooltext.cn/s/dc241f6da8680d558f9cc016b19fa4ce

召唤: @混乱  @gamerteam



http://www.mcbbs.net/thread-814010-1-1.html
http://www.mcbbs.net/thread-848702-1-1.html
祝楼主好运。

Akkariin
匿名者 发表于 2019-5-29 06:16
http://www.mcbbs.net/thread-814010-1-1.html
http://www.mcbbs.net/thread-848702-1-1.html
祝楼主好运。 ...

这两个帖子都提到了安装插件,而我所说的这个方法不需要安装插件
插件的原理是 Markdown -> BBCode,而我这个方法不需要转为 BBCode,它是在浏览器端进行渲染的
实现起来相当轻松,只需要改两个文件就行

licrafter
吼啊,资瓷

EventMsg
Akkariin 发表于 2019-5-29 06:29
这两个帖子都提到了安装插件,而我所说的这个方法不需要安装插件
插件的原理是 Markdown -> BBCode,而我 ...

....这么改  之后dz还升不升级了

Akkariin
EventMsg 发表于 2019-5-29 09:53
....这么改  之后dz还升不升级了

升级也无关紧要,如果你看过了我写的修改方式,你会发现修改起来五分钟都不用。
每次升级完了再改一下就好了,用不了多长时间,而且也不是经常升级。

混乱
EventMsg 发表于 2019-5-29 09:53
....这么改  之后dz还升不升级了

以目前discuz官方几个月没动静的更新频率来看,我们很少会需要整体升级,有版本更新也可以自己手动执行更新和代码比对。我们会考虑加入对Markdown语法的支持,不过可能还需要进行一段时间的测试。

NoName德里奇
吼啊,资瓷。
在MCBBS还没有实装MD支持的时候,大佬可以先用这个工具将就一下:
http://www.mcbbs.net/thread-779668-1-1.html

Farewell_Q
好像wiki的语法?

EventMsg
混乱 发表于 2019-5-29 10:47
以目前discuz官方几个月没动静的更新频率来看,我们很少会需要整体升级,有版本更新也可以自己手动执行更 ...

嘛  现在不是在oschina更新么  都是小的更新

Zapic
据我所知,大家都挺喜欢用顶部的工具栏的...所以大概除了喜欢用删除线的人没有人会去记那些BBCode的,特别是水怪.
已经被推翻了的东西

但是我对这个问题我表示赞成,只要协调好BBcode和Markdown的关系,这个方案也是可行的.
论坛的鬼畜富文本编辑器真的伤了一代懒人的心,格式经常串行,莫名其妙一行的格式应用到全文,直接修改代码块各种文本丢失(上次写教程时发现疏漏改了一下代码块以下的东西全部消失????)

Akkariin
Zapic 发表于 2019-5-29 18:39
据我所知,大家都挺喜欢用顶部的工具栏的...所以大概除了喜欢用删除线的人没有人会去记那些BBCode的,特别 ...
Markdown 是在前端渲染的
由于 Markdown 在 [ code ] 标签里面,因此不会被 Discuz 作为 BBCode 来解析
在前端显示出来的效果是这样的
  1. markdown
  2. # 这是大标题
  3. ## 这是二级标题
  4. 这是文字内容
  5. 这是 [链接](http://www.mcbbs.net/)
  6. > 这是引用
复制代码
内容显示出来其实是
  1. <div class="blockcode">
  2. 这里面是 Markdown 内容
  3. </div>
复制代码
前端的 showdown 再根据 getElementsByClassName("blockcode") 去取 Markdown 内容然后渲染,渲染完了写入原来的 div 里并去掉 class="blockcode"
这样就不会出现你所说的问题了

鬼畜畜
混乱 发表于 2019-5-29 10:47
以目前discuz官方几个月没动静的更新频率来看,我们很少会需要整体升级,有版本更新也可以自己手动执行更 ...

太好了 太好了! 举坛欢庆!


另外还请修一下所见即所得编辑器发的帖子所见非所得的问题

Zapic
Ghost_chu 发表于 2019-5-29 20:29
太好了 太好了! 举坛欢庆!

另外还请修一下所见即所得编辑器发的帖子所见非所得的问题 ...

所见非所得确实是一个巨坑...
水怪无所谓写教程的是真的苦了.
有时候写完一长串会双击显示纯文本的复选框,让他重新解析一次BBCode免得出意外.
我认为论坛不应该主动去修正潜在的BBcode语法错误,有些没有错的愣是改成一坨shit.

Markdown就是典型的所想即所得还是很爽的,就是不知道会不会有Markdown预览的操作.

等等(突然想到)----
Markdown本身不支持一些富文本有的骚操作(字体颜色etc),需要配合HTML标签实现,但是论坛貌似会转义HTML.那么在code块里的BBcode和HTML标签都不会起作用,这就会让作者脑阔疼(彩色标题/鬼排版).这时如何让Markdown写下的文本两全呢?还是直接舍弃某些功能?

1139365029
本帖最后由 1139365029 于 2019-5-30 18:39 编辑
Zapic 发表于 2019-5-29 18:39
据我所知,大家都挺喜欢用顶部的工具栏的...所以大概除了喜欢用删除线的人没有人会去记那些BBCode的,特别 ...

BBcode和Markdown是可以共存的,
喜欢用顶部的工具栏,从来不记语法 +1

Zapic
1139365029 发表于 2019-5-30 16:57
BBcode和Markdown是可以共存的,喜欢用顶部的工具栏,从来不记语法 +1

Akkariiin的说法是把Markdown裹在code块里,在code块里的bbcode不会被解析:
  1. [b]我要加粗![/b]
复制代码

这就会出现两难:
1.我用Markdown,字体清一色.
2.我用BBCode,越写越难受.

所以我才会提出那样的疑问.

混乱

楼主的代码已经测试通过了,预计下周实装到线上

第一页 上一页 下一页 最后一页