0

只是想知道我是否能够用螺栓在博客/条目帖子中做代码片段?

我目前正在使用 Google Code Prettify 来制作我的代码片段,但 Bolt 通常不会让我保存或发布和条目,因为我认为 Bolt 会阻止用户在博客文章中发布某些代码。例如,当我将“substr”函数放入 Bolt 时发布一些 PHP 代码片段时,我不会保存条目。

我可以放入许多其他代码,但某些内容不允许我发布。

有没有办法解决?

提前致谢!

PS:使用 GitHub 'Gists' 工作正常,但我宁愿不使用这种方法。

4

2 回答 2

2

Bolt 允许您在 contenttypes.yml 配置文件中将字段定义为 Markdown。

在 Markdown 字段中,您可以在两组三重反引号内输入代码,如下所示:

```php
substr('abcdef', 1, 3);
```

或者将其包装在 pre 标签中:

<pre class="brush: php">
substr('abcdef', 1, 3);
</pre>
于 2014-09-04T16:29:03.070 回答
0

我重用了 Bolt 中已经存在的 CodeMirror javascript 库。

在我自己的 _footer.twig 中,我添加了以下几行:

<link rel="stylesheet" href="{{ paths.app }}view/lib/ckeditor/plugins/codemirror/css/codemirror.min.css">
<script src="{{ paths.app }}view/lib/ckeditor/plugins/codemirror/js/codemirror.min.js"></script>

接下来在我添加的 javascripts/app.js 中:

$( function() {
  $("textarea.code").each( function( i,el ) {
    CodeMirror.fromTextArea(el, {
      lineNumbers : true
    });    
  });
});

现在,当我创建包含一段代码的内容时,我将视图更改为代码并将代码放在标签之间:

<textarea class="code"">
10 Print "Hello"
20 goto 10
</textarea> 

您可以从 codeMirror 站点添加语法高亮 js 文件并将它们添加到包含的脚本链接中。

总而言之,这给了我语法突出显示的代码片段,而无需提前打印。我确实对 textarea 构造感到遗憾,但可以将其替换为将块转换为 textarea 块的 jQuery 部分。我让代码可编辑是为了方便,但 CodeMirror 是非常可配置的,你可以停止它。

注意:我刚开始使用 Bolt,所以可能有更好的方法。也许我应该创建一个 Bolt 扩展来做到这一点。

于 2014-09-25T21:40:01.917 回答