ph-Bookshelf 可配置节点⁕
这里列出了所有的可配置节点,以及它们的具体功能。
prism⁕
是否使用 Prism 进行代码块语法高亮。默认为 true
。
ph-Bookshelf 使用的 Prism 版本默认具有所有的语言支持。因此你将不需要为不常用语言手动导入 Prism 语言扩展。简单地使用 HTML <code lang=lang-css>
或 ```css
即可。
对于 HTML 的内联代码块,Prism 也是支持对此进行高亮着色的。只不过,在 Markdown 当中没有对
``
设置语言的方式。
这里有一份 Prism 支持语言列表
prism.theme⁕
要使用的 Prism 高亮主题。查看 Prism Themes 寻找可用的主题。
默认为 prism-material-light
。如果 prism
未开启。则这个配置不会产生任何作用。
对于普通的没有高亮配置的字符,尤其是代码块本身的背景颜色,Prism 主题并不会覆盖默认的 Bread Card Markdown 的代码块颜色设置。所以,如果你要更改你的主题,你或许同时也需要更改 codeblock.bg-color
和 codeblock.fg-color
设置以让未高亮的文字和代码块背景颜色符合主题设置的颜色。
prism.plugins⁕
要使用的 Prism 插件列表。每一个插件 id 通过 ;
分隔。
和其它的配置不同的是,不同作用域内的插件列表会被合并而不是默认的覆盖行为。所以在 book.xml
设置了 line-numbers; autolinker
,在页面内设置了 command-line
后,最终,访问这个页面将会导入 line-numbers
autolinker
command-line
三个插件。
通过
prism.plugins
导入的插件最终将会向页面导入https://cdn.jsdelivr.net/npm/[email protected]/plugins/{$plugin}/prism-{$plugin}.min.js
和https://cdn.jsdelivr.net/npm/[email protected]/plugins/{$plugin}/prism-{$plugin}.min.css
两个文件。这在导入 Prism 官方插件的一般情况下都可以使用。目前还没有支持从自定义 url 导入。
默认没有插件。如果 prism
未开启。则这个配置可能不会产生任何作用——也可能会造成错误,取决于 Prism。
同时,这里写出了一些使用 Prism 插件的已知问题:
- prism
line-numbers
插件会和 bread-card-markdown 的代码块样式表产生兼容性,导致行号无法正常显示。
- 但是和它差不多的插件
command-line
是可以正常使用的。
插件的 id 可以在 plugins 目录内找到。
codeblock.bg-color⁕
自定义代码块的背景颜色。可以接受任何 CSS 兼容的颜色值。
对于想要自定义代码块主题的用户会很有用。
codeblock.fg-color⁕
自定义代码块的默认文字颜色。可以接受任何 CSS 兼容的颜色值。
对于想要自定义代码块主题的用户会很有用。
codeblock.tab-size⁕
控制代码块内的 TAB 应该显示为多少个空格大小。如果未设置,那么其值将会由用户浏览器决定。
regex.highlight⁕
控制是否使用 Sukazyo Workshop 自制的 regex-colorize 进行 RegEx 语法高亮。默认为 true
。
查看 RegEx 高亮着色 的文档以了解更多这个功能的使用方式。
listing.marker.rainbow⁕
控制是否使用 Bread Card Markdown 的 Listing Rainbow 插件。默认为 true
with Listing Rainbow | without Listing Rainbow |
---|---|
title.permalink.flash⁕
控制当跳转到页面中一个标题的时候,是否闪烁这个标题的悬浮链接按钮。默认为 false
。
预览 GIF 正在路上
web-title.rolling⁕
控制是否使用滚动网页标题的特效。默认为 false
。
预览 GIF 正在路上
site.robots⁕
控制网站的 robots.txt
应该返回何种内容。接受以下几种选项。
- allow
允许所有种类的爬虫访问本网站。
具体的内容存放在 ph-Bookshelf 的
/assets/robots.allow
当中。- deny
拒绝所有种类的爬虫访问本网站。
具体的内容存放在 ph-Bookshelf 的
/assets/robots.deny
当中。- file
- custom
如果设置为这个模式,那么网站
/robots.txt
的内容将会是/data
目录下的robots.txt
的内容。如果你的数据目录中没有这个文件,那么将会不产生任何内容。
除非你的 PHP 的配置文件中设置了
display_error=On
:在这种情况下,页面将输出 PHP 错误。- 其它任何值
当设置的值不属于上面的任何一个预定义值时,将会输出设置值的原始内容。这也是不设置任何值时的默认行为——也就是如果不设置任何值,
robots.txt
只会是一个完全空白的文档。从技术角度来说,这意味着“使用
bookshelf.xml
中的<configurations>
中的<site.robots>
的原始内容。”因此,你可以使用
<![CDATA[]]>
直接在这里填入你想要设置的 robots.txt 内容。虽然,出于整洁性考虑,我们仍然推荐使用data/robots.txt
文件的方式而非这样的方式。