我对前端不是很清楚,但它们都需要js,css的什么,所以我有两个问题:
(1)用qt可以做的话,它的渲染怎么来做啊?
(2)如果qt不好做的话,那用什么来做或者什么技术,编程语言?
我对前端不是很清楚,但它们都需要js,css的什么,所以我有两个问题:
(1)用qt可以做的话,它的渲染怎么来做啊?
(2)如果qt不好做的话,那用什么来做或者什么技术,编程语言?
带格式的 Markdown 页面基本上都是在浏览器上(内嵌 or 外联)渲染的。
你可以对 Markdown 中的各种符号替换成 HTML 符号,比如:**
符号替换成 <strong>
和 </strong>
;##
符号替换成 <h2>
和 </h2>
;[caption](link)
替换成 <a href="link">caption</a>
等等。
然后头尾加上 HTML 信息,加上 title,就可以实现简单的 Markdown 编辑器。
复杂一点,设计交互界面;再复杂一点,自己研究“代码高亮”。
像 Typora 那样的富文本编辑器是很难做出来的,里面应该有相当多的技术吧。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
5 回答2k 阅读
markdown 只是一套语法格式,跟你如何实现它又没关系。
比如,“源文件”的文本是:
这里,两个星号这种格式,是 markdown 定义的。但是,如何显示它,不是 markdown 关心的。
如果你是在浏览器“渲染”这个“源文件”,那么它的输出形式,可以是:
也可以是:
看你怎么实现而已。
如果不是普通浏览器环境,或者说,是浏览器,但是你想把上面的“源文件”的内容,提交到 discuz! 的论坛中,而这类论坛支持的是一种叫 bbcode 的格式, 那么对应的实现,就应该让源文件输出为:
前面说的, “对应的实现”就是指代码要干的事。
开放的代码中,很多已经做了这些实现,不过,多是从一种标记语言,到另一种标记语言,比如:
这些是你很容易就能找到的,现成的,开源的东西。它们中,有用 Python 写的,有用 NodeJS 写的,也有用 Haskell 写的。
回到你的问题,就是: 从 markdown -> Qt Code 啊,只是这里的 Qt Code 不是一种标记语言,渲染当然是 Qt 的机制来处理,或者你在 Qt 里装个浏览器引擎什么的,让“Qt 也支持 HTML 显示”也是一种方法。