teppokoivula/textformatter-code-blocks

ProcessWire CMS/CMF 文本格式化模块,用于创建 Markdown 风格的代码块。

资助包维护!
teppokoivula

安装: 35

依赖项: 1

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 0

开放问题: 0

类型:pw-module

1.0.2 2020-08-28 18:38 UTC

This package is auto-updated.

Last update: 2024-09-16 18:02:44 UTC


README

ProcessWire 文本格式化模块,用于为文本或 RTE 字段启用 Markdown 风格的代码块。

注意:这并不是一个完整的 Markdown 实现,而是 Markdown 语法的一个小型定制实现。若要使用完整的 Markdown 支持,请查看 ProcessWire 发布版本中捆绑的 TextformatterMarkdownExtra 模块。

入门指南

  • 将 TextformatterCodeBlocks 目录复制(或克隆)到 /site/modules/
  • 转到管理员 > 模块,点击“刷新”,安装 TextformatterCodeBlocks
  • 为希望使用代码块的字段启用“代码块文本格式化”

重要:如果您在普通文本或 textarea 字段中使用代码块文本格式化,请确保启用 HTML 实体编码器或使用其他方法来转义实体!

代码块

当代码块被包裹在 <p><pre> 标签中时,它们应该可以正常工作,因此您可以使用它们与 RTE,例如 CKEditor。此模块支持两种类型的代码块:围栏式和内联。

注意:以下代码示例已经转义,以便在 GitHub 中渲染时具有更好的可读性。简而言之,围栏式代码块的语法是代码块周围的三条反引号,而内联代码块则是用单引号包围特定的代码片段。

围栏式代码块

简单示例

```
<?php
echo "This is a fenced code block.";
```

使用围栏式代码块,您还可以指定语法高亮器的语言

```php
<?php
echo "This PHP code is easier for a syntax highlighter to identify.";
```

围栏式代码块的结果如下所示

<pre class="code-block code-block--fenced"><code class="language-php">&lt;?php echo "This PHP code is easier for a syntax highlighter to identify.";</code></pre>

内联代码块

<p>虽然围栏式代码块非常适合较长的代码片段,但有时 `<?php echo "inline code blocks"; ?>` 更有意义。</p>

内联代码块的结果如下所示

<p>虽然围栏式代码块非常适合较长的代码片段,但有时 <code class="code-block code-block--inline">&lt;?php echo "inline code blocks"; ?&gt;</code> 更有意义。</p>

启用语法高亮器

尽管语法高亮不是此模块工作的必要条件,但它对于您的最终用户来说可能非常有帮助。您可以使用任何语法高亮器,但我推荐使用 Prism.js。

有关在您的网站上启用 Prism.js 的详细说明,请访问 https://prism.npmjs.net.cn/