跳至主要內容

LincZero大约 6 分钟

ob 库,请用Obsidian安装AnyBlock插件打开 你可能需要频繁切换:源码/实时/渲染模式,推荐个人快捷键:

  • Ctrl + / | 切换源码和实时(默认未设置)
  • Alt + / | 切换编辑和渲染(默认Ctrl+E)

插件推荐设置:(默认)

插件介绍

黑曜石插件 AnyBlock(后文可能会简称 AB )。你可以通过一些方法灵活地创建一个“块”。 同时该插件提供了一些实用的功能,例如 列表转化为表格

插件由两个核心部分组成:选择器处理器。 选择器可以选择一段文本区域,并将其转化为“块”。 处理器可以将选择器转化为的“块”,进行一定程度的再处理。

选择器

选择器包括

  • 列表选择器
    • 使用:在列表的上一/两行加上[处理器名]的header,注意header必须和列表首行位于同一层次
  • 引用块选择器
    • 使用:在引用块的上一/两行加上[处理器名]的header,注意header必须和引用块首行位于同一层次
  • 代码块选择器
    • 使用:在代码块的上一/两行加上[处理器名]的header,注意header必须和代码块首行位于同一层次
  • 标题选择器
    • 使用:在标题的上一/两行加上[处理器名]的header,注意header必须和标题首行位于同一层次
    • 注意要项:选择范围可能会跨越多个Obsidian认为的“最小块”,在渲染模式中可能会被Obsidian进行优化而失效
  • 首尾选择器
    • 使用:以:::开头和结尾,处理器名写在第一个:::的后面,不需要加[]。其实就和代码块差不多,这也是 VuePress 的一个md扩展语法
    • 注意要项:选择范围可能会跨越多个Obsidian认为的“最小块”,在渲染模式中可能会被Obsidian进行优化而失效

选择器一览

Here's an example: (@todo nested rendering is a bit buggy at the moment). You can also view all the selectors supported by the current version of the plugin through the Settings panel. %% 下面举例使用:(@todo 嵌套渲染目前还有点bug)%% %% 你也可以通过设置面板来查看当前版本插件所支持的所有选择器 %%

[title2list|list2tab]

List Selector

- 1
	- 2
		- 3
	- 4

Quote Selector

> 1
> > 2
> 
> 3

Code Selector

~~~
1
2
3
~~~

Title Selector

A TAB bar like this is done using this selector %%像这里的转标签栏,就是使用标题选择器完成的%%

Head-tail Selector

This selector is not available in render mode %%该选择器在渲染模式不可用%%

:::code() 1 2 3 :::

Table Selector

add in V2.2.0

|1  |2  | 
|---|---|
|3  |4  |

嵌套支持

  • v2.0.0 开始, 支持在列表或引用块中,使用AB语句(非不再限制只能再文档根部使用)
  • v2.1.0 开始, 能够支持用AB块包括AB块自己(@todo 依赖于html2md,出bug的概率较大)

[title2list|list2tab]

List in Quote

1 2

- 11
	- 12
		- 13
	- 14

3 4

Quote in List

l1

1
2

l2

List in List

Or even three levels of nesting %%甚至三层嵌套%%

1

2

3

ll1

ll2

ll3

ll4

5

Quote in Quote

[# q in q]

1 2

> c1()
> c2()

3

~~Advanced selector(underdevelopment) ~~

%%高级选择器(未开发)%%

[>XXX] 可以缩减范围选择(此功能未开发) {^XXX} 所在层级选择,不同于下一层级选择(此功能未开发)

处理器

处理器包括

渲染处理器

文本到UI

包括解析操作,其实叫做“解析并渲染”会更准确一点 如果不指定渲染操作则为md渲染操作

文本处理器

文本到文本

仅处理文本,即将一系列纯文本转化为另一个新的纯文本。可叠加

装饰处理器

UI到UI

可以提供一些装饰:如溢出滚动等。可叠加

[title(注意)]

  1. 处理器可以进行叠加操作,多个处理器用 | 间隔。一个处理器可以由多个文本操作和多个装饰操作、加一个渲染操作组成
  2. 装饰器是 v1.3.0 版本新增的,相较于旧版本,有了装饰处理器会更灵活,可以对已经成型的页面元素进行二次修改
  3. 如果对文本处理器直接使用装饰处理器,默认会自动先对文本进行一个 md渲染处理器
  4. 三种处理器的逻辑,如下所示 [list2mermaid]
    • Text--TextProcessor-->Text
    • Text--RenderProcessor-->UI
    • UI--DecorateProcessor-->UI

处理器一览

(下面可能包含旧的或未实现的或与插件版本不符的处理器,也可能通过设置面板查看自己安装插件所支持的所有处理器)

你也可以通过设置面板查看当前版本插件所支持的所有处理器

大类型

解析方法

解析方法zh

渲染方法

渲染方法zh

可转md/html

tree

ul-list

ul树 (一叉多层树)

2ut/2mdut

转表格(规范)

md/html

li-list

li树 (一叉多层树)

2lt/mdlt

转列表格

html

ab-tree

二层树 也叫 "消除最高级" (一叉二层树)

2timeline

转时间线

mermaid

2tab

转标签栏

html

2chat

转对话

tree-list

树列表 (多叉多层树)

2table/2mdtable

转树表格

html

2mermaid

转流程图

mermaid/html

2mindmap

转思维导图

html

2tree

长得像树的树状图

html

2xuri

旭日图

html

2brace

括弧分类图

html

other

title

标题级(语法糖)

2list+list2xxx

(组合使用,下面提供了几种语法糖)

2tab

2table

2mindmap

code

一定代码

2doctable

转表格(文档生成)

html

json

这个不能转树,只能说转可折叠渲染

common

通用

text

纯文本

md

md

md渲染

md

render

渲染 (理论上为 "渲染修饰器" 但该功能没做)

flod

(折叠类)可折叠

md+

hide

(折叠类)默认折叠

md+

heimu

(折叠类)黑幕遮挡

html

limit()/part()

(折叠类)限高折叠

html

scroll()

(折叠类)限高滚动

html

title()

增加块标题(代码块可能会很常用)

展开

支持的文本操作: (与渲染操作相比,文本操作的特点在于可叠加。即:可以先经过多个文本操作,再进行渲染操作)

类型

类型zh

方法

方法zh

title

标题类

title2list

转列表文本,title最重要的处理器,可配合list渲染器使用

tree-indent

树缩进

indent2list

缩进转列表

code/quote

代码或引用块

X

根据选择器自动解除块

code/code(str)

变代码块

Xcode/Xcode(bool)

解除代码块

quote

变引用块

Xquote

解除引用块

code2quote

代码块转引用块

quote2code

引用块转代码块

text

纯文本操作

replace

替换(带参)

slice()

切片(例如切割1,-1,也可以达到类似Xcode的效果)

listroot

增加列表根

2tree-indent

列表转缩进

三种可解析为树的选择器的差异 [2table]

  • < 选择器| 可解析层次| 在ul-list里解析的区别
  • 列表选择器| 树层次(>0)| 首列仅解析列表层,|为分割
  • 负列表选择器| 树层级(>-4)| 首列仅解析负列表层
  • 标题选择器| 树层级(>-9)| 首列仅解析标题层

补充:

  • 2 表示 to 的意思(就是一种格式转化为另一种格式)
  • X 表示 去除 的意思(例如去除引用块或代码块)