代码拉取完成,页面将自动刷新
<!DOCTYPE html><html lang="zh"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QTMD预览</title>
</head>
<body><div style="white-space: pre-wrap"><h1>QTMD(Quick Text Markdown,快记一下):一种轻量级的标记语言</h1>
QTMD是一种轻量级的标记语言,全写可以是“Quick Text Markdown”(还可以是……😀),中文名可以顺势叫做“快记一下”😉。
<h2>太长不看版</h2>
<h3>普通文本</h3>
普通文本第一性。随便写,所见即所得。
<ul><li>能保住空白字符的样子。</li><li>甚至可以直接贴代码,不用为里面的特殊符号被吞掉、格式被打乱、字符被意外理解为特殊标记而发愁。</li></ul>
<h3>横线</h3>
<ul><li>一行只有空白和减号,且减号>2个,则显示为横线。</li></ul>
<h3>格式化</h3>
(下文所提均指半角字符且不分大小写)
开启、退出格式化都需要先“激活”。激活符为斜杠【\】。
<ul><li>激活符+标记+左圆括号【(】 开启格式化,激活符+半角右圆括号【)】结束。<ul><li>例:\b(要加粗的文本(多行)\)。</li><li>内容可以多行(跨行)。</li></ul></li><li>简化:激活符+标记符+半角冒号【:】,仅格式化本行后续部分(单行模式)。<ul><li>例:\b:要加粗的文本(单行)。</li><li>激活符+竖线【|】可提前结束。</li></ul></li></ul>
格式标记:
<ul><li>!或b:加粗。例:\b(内容(多行)\)</li><li>/或i:斜体。例:\i:内容(单行)</li><li>_或u:下划线。</li><li>-或s:删除线。</li><li>^或sup:上标。例:\sup:内容(单行)</li><li>v或sub:下标。</li><li>>或code:代码块。</li><li>'或"或q:引用。</li><li>h1到h6:标题。例:\h3:三级标题</li><li>【#颜色名】或【#rgb颜色值】:文本颜色。例:\#red:红色 \#0000ff80:蓝色半透明(注意透明度2位也是十六进制的)</li><li>【bg#颜色名】 【bg#rgb颜色值】:背景颜色,参考文本颜色。例:\bg#0000ff:蓝色默认透明度(不透明)</li></ul>
特殊格式
<ul><li>链接使用link:<ul><li>多行:\link(链接文本(多行)\)链接url </li><li>单行:\link:链接url</li><li>链接url同时也是所显示的文本。</li><li>链接url最后必须有空白字符(含换行)分隔。可以是相对地址、email。</li></ul></li><li>图片使用img,其他同link。</li><li>无序列表:激活符+【.】开启无序列表的一项。<ul><li>例:\.:一项</li><li>无需特别开启“列表”。</li><li>写在同一行的两个列表视为两个列表。</li><li>写在下一行的列表项视为同一个列表的其他项,若缩进更多则为子项(即直接缩进即可构造子列表),相同则为同级。</li><li>两项之间若有空行,视为不同列表。</li></ul></li><li>\# 有序列表的一项。其他同无序列表。</li><li>表格:激活符+【[】开创一个表格行,中间可用激活符+【|】分格子,用激活符+【]】结束一个表格行。<ul><li>例:\[行1列1\|行1列2\]。</li><li>无需特别开启“表格”(同列表的逻辑)。</li><li>写在同一行的两个表格行视为一左一右两个表格。</li><li>若表格行下一行也是表格行,则视为属于同一个表格。</li><li>表格行间若有空行,视为不同表格。</li></ul></li></ul>
其他
<ul><li>标记可以嵌套。</li><li>连续的激活符视为普通文本,不再有激活功能。显示时会去掉一个激活符(不是折半!)。</li><li>不能识别的格式均视为普通文本。<ul><li>因此激活符+非格式标记也按普通文本显示,所见即所得。但后续也许会成为某种格式。</li></ul></li></ul>
<hr>
<h2>下面是长也想看版</h2>
<h3>设计理念</h3>
我喜欢写代码,也喜欢写普通文档。
但office类的软件太重量级了,它们的重点在于“排版、打印”。
html太啰嗦,加上css更惨(css也是侧重“排版”的)。
md很多规则莫名其妙,比如两个换行才是一行。本来好好的文本,贴到某些网站上,就粘成一行跟屁虫了——它们还会以自己偷偷支持md而沾沾自喜呢。
自己写是爽,被别人逼着也得这么写,我就不爽。
而我喜欢所见即所得。
我也知道这不可能完全做到,但我希望尽量。
在做不到的地方,我希望是自然的、符合直觉和逻辑的,而不是记一堆特定的、没有道理可讲的、随手设计的规则。
哪怕实在要记忆,我也不希望是死记硬背。
<h2>一、普通文本</h2>
所以正如你所见,普通文本就是普通文本。
✔️ emoji也支持。
<h3>连续空格</h3>
连续多个空白字符(比如这有5个空格: )不会合并。(在html中,连续空白字符通常会被合并成一个空格。)
<h3>换行</h3>
能用。(html中的换行会变成空格,然后再跟周围的空格一起压缩成一个。)
(←↑确实换了吧)
一行就是一行。跟你在记事本里看到的一样。(md里俩换行才能体现成“一行”,真是个浪费小天才)
✔️ 而且<s>好像</s>能识别不同操作系统的不同“换行”,不管是\n(换行)、坑爹的\r(回车)、还是更坑爹的\r\n,都体现为“一行”。(而“\n\r”还是两行的,因为好像没有哪个操作系统把它视为“一行”?)
<h3>制表符(tab)</h3>
也能用: (←这里有仨制表符)
所以可以用制表符缩进
随便缩进
都可以来一场赛车比赛了<hr>
1号赛车
2号赛车
3号赛车
4号赛车:我要赢啦~~~
采访车:嘿上面赛道的兄弟,左边才是终点~<hr>
甚至有时可以直接在普通文本里写代码
def public static final fun main(String[] args) {
//--# 兄弟您这是什么语言
}
<h2>二、标记</h2>
当然不能只写普通文本。所以引入了“标记”给内容增加样式(格式化)。
半角斜杠【\】是激活符(理解为转义也行),开启标记或结束标记,都需要用激活符激活。
标记以【一个】激活符开始,然后是标记字符,然后是半角冒号“:”或半角左圆括号“(”。
简单说来就是【\标记:】或【\标记(】
以半角冒号开始的是单行标记,形如“\b:”,这个b(<s>这不是脏话</s>)就是个标记字符。
单行标记遇到换行会自动结束,不会跟到下一行。
也可以用“激活符+半角竖线【|】”提前结束。
比如写“\b:加粗将会到这结束→\|,后面就不粗了”。效果:<b>加粗将会到这结束→</b>,后面就不粗了。
✔️ 显然,标记本身、作为标记结束的竖线不应显示,也确实如此。而换行则会保留,以尽量贴近源文件中的文本格式。
多行标记则用圆括号代替冒号,形如“\b(\)”。需要效果的文本写在括号里,可以包含换行。
样例:“\b(这是
多行
加粗\)”
效果:<b>这是
多行
加粗</b>
tips:
<ul><li> 标记字符不区分大小写。</li><li> 多个激活符都视为普通文本。(excel里用引号转义,我不明白为啥要用这么常用的字符)<ul><li> 要显示一个激活符,源文件里要写俩——大多数编程语言都这样对待转义符。</li><li> 但大多数编程语言转义符会折半(即用两个转义符表示一个转义符本身的字符,印在纸上时数起来可费眼睛了),就像是给斜杠们拉郎配。而QTMD里多个连续的激活符,只会去掉开始的那个(即最终显示n-1个) </li><li> 只有激活符需要转义。</li></ul></li><li> 没有激活的标记字符、冒号、括号等就是普通文本,完全不特殊::()。</li><li> 激活符+非标记字符,也会当成普通文本。比如:“\jing:我就是传说中的杠jing”,效果:\jing:我就是传说中的杠jing</li></ul>
下面是一些简单标记字符。为了更加便于记忆,很多标记还启用了“形象代言人”符号,可以用形象的符号代替字母,毕竟我们不以英语为母语:
<ul><li> b 加粗。形象代言人符号是【!】。你就说这符号有没有一种强调的感觉吧?<ul><li> 源文件里写“\!:效果”的效果: <b>效果</b></li></ul></li><li> i 斜体。形象代言人【/】。你就说这符号斜不斜、是不是一看就印象深刻吧?<ul><li> 写“\/:效果”的效果: <i>效果</i></li></ul></li><li> u 下划线。形象符号【_】。你就说这符号下不下划吧?<ul><li> “\_:效果”的效果: <u>效果</u></li></ul></li><li> s 删除线。形象【-】。你就说……<ul><li> 写“\-:效果”: <s>效果</s></li></ul></li><li> sup 上标。像【^】。你……<ul><li> “\^:效果”: <sup>效果</sup></li></ul></li><li> sub 下标。可以用【v】。没有跟^对应的符号,随手拐v过来用——可不是乱拿的,它很形象。<ul><li> “\v:效果”: <sub>效果</sub></li></ul></li><li> code 代码块。形象符号“>”来自DOS命令提示符,好歹像是在指示“后面”。linux用$开始,而在正则式它又表示结束……估计都是随手拽个没人用的符号来用。<ul><li> “\>:效果”: <code>效果</code></li></ul></li><li> q 引用。也可以用【'】或【"】。<ul><li> \':效果: <q>效果</q></li><li> \'(多行引用</li></ul></li></ul>
(↑这儿有个换行)的效果\) :<blockquote>多行引用
(↑这儿有个换行)的效果</blockquote>
tips:
<ul><li> 有些嵌套虽然合法,但看上去样子很怪,请自行斟酌。毕竟文本的目的是让人看的。</li><li> 有时候标记挨得太近,源码里不容易看清,建议加入适量空格。</li><li> 显然,星号(*)没有作为加粗的标记(md里是的,而且要俩。……我忽然想不起用md该咋写“6位密码显示为******”这句话)</li><li> 引用的效果看起来跟自己加引号很像,所以可能单行引用还不如自己加引号简便……好处是肯定不会遗漏右引号,并且中文左右引号不会用反。</li></ul>
<hr>
下面是复杂一些的。
<h3> 标题</h3>
↑标题就在这儿呢↖
有六级标题h1、h2、h3、h4、h5、h6(同html的h1~h6)。
✔️ 标题也可以多行,就是比较怪。
<h3> 文本颜色</h3>
文本颜色用“\#rrggbbaa”,每一位都是十六进制(0~9和a~f,不分大小写),前6位是RGB,后2位是透明度。暂时不支持其他颜色空间。
参考css的,所以:
<ul><li> 可以缩写:<ul><li> “\#9527”:4个位分别表示RGBA,每种通道两个位的值相同,即“\#99552277”。</li><li> “\#233”类似,表示“\#223333”,省略了透明度。</li><li> “\#78”:表示RGB每个通道的值都相同,即“\#787878”。<ul><li> todo:是不是应该加上透明度呢?</li></ul></li><li> “\#6”:表示RGB每个通道的值都相同,即“\#666”、“\#666666”。</li></ul></li><li> 注意<ul><li> 5位、7位会被当成普通文本。</li><li> 只有4位和8位形式才会包含透明度。没有设置透明度的默认为100%不透明。</li></ul></li><li> 也可以用颜色名,需是css合法的颜色名(否则浏览器也显示不出来啊)。</li></ul>
效果示例:
<ul><li> “\#12345678:效果”:<span style="color:#12345678">效果</span></li><li> “\#ac9527:效果”:<span style="color:#ac9527">效果</span></li><li> “\#9527:效果”:<span style="color:#9527">效果</span></li><li> “\#0A0:效果”:<span style="color:#0A0">效果</span></li><li> “\#ca:效果”:<span style="color:#cacaca">效果</span></li><li> “\#6:效果”:<span style="color:#666">效果</span></li><li> “\#red:效果”:<span style="color:red">效果</span></li><li> “\#啥颜色都不是:效果”:\#啥颜色都不是:效果</li><li> “\#ca8642:颜色还可以\#2468Ac:嵌套哦(不是混合,是替换)”:<span style="color:#ca8642">颜色还可以<span style="color:#2468Ac">嵌套哦(不是混合,是替换)</span></span></li></ul>
<h3> 列表</h3>
<ul><li>用标记符“点(.,取自无序列表前面那个圆点)”定义无序列表的一项:“\.:一项”,不需要先定义一个列表,再定义它的项(html里ul-li或ol-li要套两层)。<ul><li>下级直接用tab缩进就行<ul><li>三级<ul><li>再来一级</li></ul></li></ul></li><li>用空格缩进也行。按4个空格=1个tab。为照顾视觉效果,空格数少两个或多一个(即,在[x-2,x+2)区间内的),效果等同于x个。(太妖,不建议用)</li></ul></li></ul>
<ol><li>有序列表跟无序列表类似,只是标记符用的是“井号(#,它本来就有计数的意思)”:\#:一项</li><li>有序列表第二项</li></ol>
在两项中间若有空行,则视为两个列表。
样例:<blockquote>
\#:列表1第一项
\#:列表1第二项
\#:列表2第一项
</blockquote>
效果:
<ol><li>列表1第一项</li><li>列表1第二项</li></ol>
<ol><li>列表2第一项</li></ol>
若同一级别既有有序列表项和无序列表项,则按第一项来决定该列表是有序还是无序。
样例:<blockquote>
\.:第一项
\#:第二项
</blockquote>
效果(将是无序列表):
<ul><li>第一项</li><li>第二项</li></ul>
<h4>多行列表的嵌套</h4>
对于单行列表,直接在下一行缩进即可。
多行列表也可以如此操作。此外,其内部本身也可以建立列表。若两种写法混合,则各算各的,都是这个多行列表的子列表。样例:
<blockquote>
\.(这是个多行列表的一个项目
\.:子列表1的第一项
\.:子列表1的第二项
\)
\.:子列表2的第一项
\.:子列表2的第二项
</blockquote>
效果:
<ul><li>这是个多行列表的一个项目
<ul><li>子列表1的第一项</li><li>子列表1的第二项</li></ul>
<ul><li>子列表2的第一项</li><li>子列表2的第二项</li></ul></li></ul>
<h3> 隐藏(好像暂时没啥用)</h3>
隐藏的文本用hide标记,可以当注释用: “老板是个大\hide:!”
效果(猜猜你隐藏了什么):老板是个大<span style="display:none">!</span>
隐藏也支持多行。但显示时不会显示为多行,看起来在同一行里:
样例:这里开始隐藏→\hide(
老板还是个大__!
\)←这里结束隐藏。
效果:这里开始隐藏→<span style="display:none">
老板还是个大__!
</span>←这里结束隐藏。
<h2>三、多媒体</h2>
<h3>超链接</h3>
链接的标记符号是link,跟上面的有点不一样,除了文本外还有更重要的url地址。
通常这样写:“\link(链接文本\)http://…… ”。
注意地址最后必须有一个空白字符(空格/tab/回车/换行)分隔,否则会以为后面全是url的一部分。
效果1(多行遇换行):<a href="https://gitee.com/quick-text-markdown/qtmd">QTMD主页</a>
效果2(括号内分多行):<a href="https://gitee.com/quick-text-markdown/qtmd">多行
链接
文本,
蛇皮
走位</a>
单行标记也可以:“\link:https://gitee.com/quick-text-markdown/qtmd ”(注意,地址最后也要加空白字符)
效果(单行遇换行):<a href="https://gitee.com/quick-text-markdown/qtmd">https://gitee.com/quick-text-markdown/qtmd</a>
<h3>图片</h3>
图片与链接类似:“\img(图片占位文本\)http://…… ”,记得最后也得有空白字符。
(为了避免不知道从哪里冒出来的版权主人,我放我自己的支付宝收款码总行了吧😁说不定就有好心人支持我用爱发电呢)
效果1(多行遇换行):<img alt="支付宝收款码" src="%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%B6%E6%AC%BE%E7%A0%81.jpg">
效果2(多行遇空格):<img alt="支付宝收款码" src="%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%B6%E6%AC%BE%E7%A0%81.jpg">
效果3(括号内分多行):
<img alt="←图片开裂了吧?就是没图,才
能看见我(图片占
位文本)分多
行,成个楼梯" src="http://.jpg">
图片单行标记:“\img:支付宝收款码.jpg ”与上面多行相同效果:<img alt="支付宝收款码.jpg" src="%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%B6%E6%AC%BE%E7%A0%81.jpg">
tips:
<ul><li> 括号里的文本将作为图片未加载时的占位文本(img标签的alt,现在用处不大)。</li></ul>
<h3>带链接的图片:</h3>
多行套多行:“\link(\img(支付宝收款码\)支付宝收款码.jpg\)https://gitee.com/quick-text-markdown/qtmd ”
效果:<a href="https://gitee.com/quick-text-markdown/qtmd"><img alt="支付宝收款码" src="%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%B6%E6%AC%BE%E7%A0%81.jpg"> </a>
多行套单行:“\link(\img:支付宝收款码.jpg\|\)https://gitee.com/quick-text-markdown/qtmd ”
效果:<a href="https://gitee.com/quick-text-markdown/qtmd"><img alt="支付宝收款码.jpg" src="%E6%94%AF%E4%BB%98%E5%AE%9D%E6%94%B6%E6%AC%BE%E7%A0%81.jpg"></a>
tips:
<ul><li> 超链接夹图片时可不能是单行的。</li></ul>
<h3>电子邮件</h3>
link标记还支持在链接部分写电子邮箱,点击后会打开默认的邮件客户端软件。
样例:\link:a@b.com ,效果:<a href="mailto:a@b.com" title="mailto:a@b.com">a@b.com</a>
多行亦可: <a href="mailto:a@b.com" title="mailto:a@b.com">邮箱
住了
几个魔</a> (就是怪,也是妖)
<h2>四、背景</h2>
背景颜色用:“\bg#ac9527:背景颜色”,比标记文字颜色只多出来前面的“bg”。
“\bg#ac9527:效果”:<span style="background-color:#ac9527">效果</span>
背景图片、背景音乐暂不支持。
<h2>五、表格</h2>
用半角方括号定义表格。
样例:<blockquote>
\[行1列1\|行1列2\|行1列3\]
\[行2列1 \| 行2列2 \| 行2列3\]
\[行3列1\|
行3列2
\|
行3列3\]
</blockquote>
效果:
<table border="1"><tr><td>行1列1</td><td>行1列2</td><td>行1列3</td></tr><tr><td>行2列1 </td><td> 行2列2 </td><td> 行2列3</td></tr><tr><td>行3列1</td><td>
行3列2
</td><td>
行3列3</td></tr></table>
行间的空白字符会被丢弃。
单个格子也很简单:“\[单个格子\]”,效果:<table border="1"><tr><td>单个格子</td></tr></table>
tips:
<ul><li> 表格显示时会自动另起一行(“掉下来”)(因为表格在html里是块级元素)。</li><li> 两个行之间若有空行,将视为不同的表格。</li></ul>
<h2>六、其他</h2>
<h3> 横线</h3>
一行内如果只有空格和半角减号(-),且减号数量大于2,将生成一条横线。比如“---------------------”,效果:<hr>
“- - - - - -”效果:<hr>
一个两个减号则没事:- --
“ - -”效果:
- -
<h2>七、附录</h2>
<h3>贴士 & 经验</h3>
<ul><li>不要写太复杂的嵌套,容易先把自己绕晕。</li><li>个人觉得,列表项没有直接tab缩进普通文本方便。</li></ul>
<h2>八、已知问题 & todo</h2>
支持背景音乐、背景图片(?)
启用加号(?):用于叠加标记,标记不限顺序。
样例:\b+u+i+s:相当于\b:\u:\i:\s:
支持定制列表符号(?):
样例:
\.■: 让每个项前面都是小黑方块。
\.1: 即有序列表。因而可以统一列表的标记符号,让#专门做颜色标记符号。
\.①: 有序列表可以用其他样式序列做序号字,比如这里是带圈数字。
\.一: 这里是汉字数字序列。
\.i: 罗马数字。
\.a: 英语字母做序号字。
\.啊: 让每个项前面都是“啊”。不是序列的,就算是无序列表。
支持列表收叠(?)
增强隐藏(?):目前“隐藏”没啥用。
</div>
</body></html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。