[英]Code Snippets in Bolt CMS
只是想知道我是否能夠使用bolt在博客/條目中編寫代碼片段?
我目前正在使用Google Code Prettify編寫我的代碼段,但是Bolt經常不允許我保存或發布和輸入,因為我認為bolt阻止用戶在博客中發布某些代碼。 例如,當我在Bolt中放置“ substr”函數時發布一些PHP代碼段時,不會讓我保存該條目。
我可以放入很多其他代碼,但是某些事情不會讓我發布。
有沒有辦法解決?
提前致謝!
PS:使用GitHub'Gists'可以很好地工作,但我寧願不使用該方法。
Bolt允許您在contenttypes.yml配置文件中將字段定義為Markdown。
然后,在Markdown字段中,您可以在兩組三重反引號內輸入代碼,如下所示:
```php
substr('abcdef', 1, 3);
```
或將其包裝在pre標簽中:
<pre class="brush: php">
substr('abcdef', 1, 3);
</pre>
我重用了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擴展來做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.