发布格式
- 标题(素材名字)
- 素材分类
- 视频
- 视频说明
- 来源(动漫名字)
如何添加视频
一、在文档编辑工具栏里面选择插入视频填写视频信息即可。
二、添加视频直接在文档填入以下代码,发布文档的时候会自动生成。
如何使用加密来保护文档
在书写加密语法之前,请先将对应文章下方“自定义字段”中“是否开启文章部分加密”一项调整为“开启”状态。 该项目默认为“关闭”状态,在此情况下,任何加密语法都不会被解析。
下面的所有例子都包含一个“文本部分”和一个“配置部分”,其中上方的“文本部分”是需要在 Typecho 编辑器中书写的内容,下方的“配置部分”是需要在文章下方“自定义字段”中“密码组”一项内填入的内容。
不需要密码的内容
[ppblock]
输入密码可见的内容
[/ppblock]
不需要密码的内容
文章编辑底部密码加密框输入密码代码
["123456"]
这就是一个最简单的例子。你也可以进一步给加密块添加附加信息:
[ppblock ex="请输入密码"]
输入密码可见的内容
[/ppblock]
文章编辑底部密码加密框输入密码代码
["123456"]
附加信息将会在输入密码处显示。
如果你想书写一段 [ppblock]...[/ppblock]
形式的文本,但不希望它被解析,请使用 [[ppblock]...[/ppblock]]
,两侧多余的方括号会被自动移除。
插入多个加密块
不需要密码的内容
[ppblock]
需要密码的内容 A,id = 0
[/ppblock]
不需要密码的内容
[ppblock pwd="喵"]
需要密码的内容 B,id = 1
[/ppblock]
不需要密码的内容
[ppblock ex="给我密码"]
需要密码的内容 C,id = 2
[/ppblock]
不需要密码的内容
{
"0": "123456",
"喵": "miao~",
"2": "000000"
}
每个加密块都会被赋予一个 id
,它从 0
开始依次增加。加密块密码的寻找逻辑如下:
检查 pwd
属性
- 若该属性存在,从第 2 步继续后续操作 →
- 若该属性不存在,从第 3 步继续后续操作 →
寻找 JSON
中是否有索引为 pwd
的值的项目
- 是,使用该项目作为当前块的密码,结束 √
- 否,从第 4 步继续后续操作 →
寻找 JSON
中是否有索引为 id
的值的项目
- 是,使用该项目作为当前块的密码,结束 √
- 否,从第 4 步继续后续操作 →
寻找 JSON
中是否有索引为 fallback
的项目
- 是,使用该项目作为当前块的密码,结束 √
- 否,当前块展现为“密码未设置”错误提示 ×
在上例中,三个加密块的密码依次是 123456
、miao~
和 000000
。
下面的例子演示 fallback
的功能:
不需要密码的内容
[ppblock]
需要密码的内容 A,id = 0
[/ppblock]
不需要密码的内容
[ppblock pwd="喵" ex="给我密码"]
需要密码的内容 B,id = 1
[/ppblock]
不需要密码的内容
{
"1": "miao~",
"fallback": "123456"
}
这个例子中,两个加密块的密码都是 123456
。第二个加密块虽然指定了 pwd 属性,但密码组中没有对应的项目,因此也不再检查是否有符合 id 的项目,而是直接使用 fallback。
这种使用 pwd
属性指定密码的方式称为“命名密码”。当只使用索引时,密码组配置可以简写为一个 string[]
类型的 JSON 数组,例如:
不需要密码的内容
[ppblock]
需要密码的内容 A,id = 0
[/ppblock]
不需要密码的内容
[ppblock ex="给我密码"]
需要密码的内容 B,id = 1
[/ppblock]
不需要密码的内容
["123456", "miao~"]
这在加密块比较少或密码不重用时非常方便。
不同密码对应不同内容
自 v3.0.0 起,引入了一种新的标记 ppswitch
。下面是一个例子:
不需要密码的内容
[ppswitch]
公共内容(可选)
[case pwd="p1"]
输入了 p1 的情况
[/case]
[case pwd="p2"]
输入了 p2 的情况
[/case]
[/ppswitch]
{
"p1": "111111",
"p2": "222222"
}
当未输入密码时,展现为:
不需要密码的内容
如果输入 111111
(即 p1
的值),则展现为:
不需要密码的内容
公共内容(可选)
输入了 p1 的情况
输入 222222
(即 p2
的值)后的展现类推。
有两点需要特别注意:
case
标记必须指定 pwd
属性,否则无论如何都不会显示,而且,除非指定 pwd="fallback"
,否则不会在找不到密码时自动采用 fallback
的值;ppswitch
与 ppblock
共用一套 id 系统,尽管 ppswitch
默认不会寻找密码组中索引为 id
的值的项目。
关于第二点,下面这个例子可能能够帮助理解:
[ppblock]
这个加密块的 id = 0
[/ppblock]
[ppswitch]
这个加密块的 id = 1
[case pwd="0"]
你输入了上一个加密块的密码
[/case]
[case pwd="2"]
你输入了下一个加密块的密码
[/case]
[/ppswitch]
[ppblock]
这个加密块的 id = 2
[/ppblock]
{
"0": "000000",
"2": "123456"
}
可以看到,中间的 ppswitch
占用了一个 id
,但是无法直接通过它的 id
为它指定密码(除非设置 [case pwd="1"]
,但这时它是一个索引为 1
的命名密码)。这种设计是出于多个 case
时难以规定默认行为的考虑。