簡體   English   中英

Bolt CMS中的代碼段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM