只是想知道我是否能够使用bolt在博客/条目帖子中进行代码片段?
我目前正在使用Google Code Prettify来执行我的代码段,但是Bolt通常不会让我保存或发布和输入,因为我认为bolt会阻止用户在博客帖子中发布某些代码。例如,在我放置" substr"时发布一些PHP代码片段。 Bolt中的功能不允许我保存条目。
很多其他代码我可以把它放进去,但某些事情它不会让我发布。
有什么方法吗?
提前致谢!
P.S:使用GitHub' Gists'工作正常,但我宁愿不使用那种方法。
答案 0 :(得分:1)
Bolt允许您在contenttypes.yml配置文件中将字段定义为Markdown。
在Markdown字段中,您可以在两组三重反引号中输入代码,如下所示:
```php
substr('abcdef', 1, 3);
```
或者将其包装在预标签中:
<pre class="brush: php">
substr('abcdef', 1, 3);
</pre>
答案 1 :(得分: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扩展来做到这一点。