最近我在对 Ringo 主题进行二次开发,并将二次开发的主题命名为 Matcha,目前已经开源,我打算在丰富其功能之后正式发布。
在开发过程中,为了顺应之前 Miracles 等主题的传统和我个人的使用习惯,我打算给主题加入文章内短代码功能,但每次开发新主题都要再写一遍这个功能似乎有一些蠢,而且和其他主题的兼容性也不好。几番思考过后,我决定将短代码功能做成插件,这样就能兼容大部分主题。于是,BracketDown 应运而生。
关于 BracketDown
很明显,BracketDown 的名字借用了著名的文本标记语言 Markdown,这也是 Typecho 原生文章编辑器所采用的语言,而 BracketDown 的目的就是拓展 Markdown 语法。
但与 Markdown 不同的是,BracketDown 所采用的语法,或者说大部分常见于文本编辑器的短代码,大多都是被括号包裹的,类似于简单的 HTML 标签,而 Markdown 语法大多是由*
、-
这样的特殊符号定义的。这就是我将它命名为 BracketDown 的原因。
不过,BracketDown 也有一些不是由简单地由中括号构成的语法,这些语法通常是来自其他大佬的主题,一些不成文的规矩,或者是综合考虑下做出的决定。这类语法通常功能比较单一,涉及的文本比较短,缺乏自定义性,承载的信息比较少。
这样的短代码,只要直接写在编辑器里就能够使用了。
另外,我将这个插件命名为 BracketDown 的理由还有一个:它是「Break it down.」的谐音,这个句子有「将...细分/减少,以方便他人理解/使用」的含义。我之所以做这个插件,一是为了减少开发主题时我习惯去做的一些重复步骤,方便我自己;二是为了将这些原本能以较为复杂方式实现的功能简单化,方便使用者;三是因为这个插件能优化文字排版,将文段细分,放置在各个短代码提供的组件里,让读者阅读更加方便。
演示
文字块(Block)
文字块用于让一部分文段以更加显眼的方式展示出来,默认样式的文字块是一个有淡灰色边框和浅灰色背景的盒子。
通常情况下文字块用于标记正文中较为重要的额外信息,很多时候博主会用块引用(Blockquote)来完成同样的事情,即使那些文本并非是引用,在这样的情况下,文字块是比块引用更好的选择。
它看起来是这样的。
所需材料:变集中随处可见的咽石,能够溶于恒体水的变体物质(最好是细腻柔软的固体),“冰”,一个能附着性强且表面较光滑的类圆柱形物体
操作:
- 向类圆柱形物体上涂抹“冰”
- 将咽石固定在类圆柱形物体的上方或下方
- 向咽石上浇恒体水
- 将能够溶于恒体水的变体物质与“冰”混合
- 将类圆柱形物体向上抛起
- 将咽石埋入地下,或是用任何物体遮盖住表面
- 触摸“冰”至少两分钟
- 敲打类圆柱形物体约三下
用任何顺序完成以上操作,即可完成实验。
下拉框(Details)
顾名思义,下拉框语法可以创造一个默认只显示标题,点击后就会展示详细内容,再次点击则会收起的结构,用于书写一些不那么重要但可以用于参考的信息。
BracketDown 的下拉框使用的是 HTML 原生的 <details>
标签,这个特性比较新,所以插件引入了相应的垫片来提高其兼容性。
它看起来是这样的。
附录:如何进行简单的恒集突破实验
更详细的语法介绍以及使用说明,请到插件的 GitHub 页面查看。
插件很棒,拿下了!话说你的网站动效很舒服,mark一下,明天研究研究学习,用到自己博客去。
枫叶 2022-10-23
博主这个东西太宝贝了,博主能不能再把豆瓣写进去
blonddd 2022-10-16
博主开发的这个小插件简直好用得想哭,非常非常感谢!
spooky 2022-09-26