コードブロックに行番号がないOctopressサイトがいくつかあります。どうやってそれをしますか?{% codeblock %}
タグに属性はありますか?または、コードブロックプラグインのソースを変更する必要がありますか?
4 に答える
4 つのスペースのインデントでブロック引用符を使用すると、探していることが実行されますが、構文の強調表示は行われません。
どこでも行番号が失われても問題ない場合は、plugins/pygments_code.rb
行番号を生成するコードの一部を変更して削除できます。
追加するだけです:
pre.line-numbers { display: none; }
にsass/custom/_styles.scss
。
これは @bilalq による回答の 1 つに対するコメントからのものですが、これが最良で、最も単純で、最も正気な回答だと思います (カスタマイズを下に保持したい場合は正気ですsass/custom/
)。
上記のbilalqで提案されたパッチpygments_code.rb
(申し訳ありませんが、大きすぎて彼の回答のコメントに収まりません)
--- a/plugins/pygments_code.rb
+++ b/plugins/pygments_code.rb
@@ -29,11 +29,11 @@ module HighlightCode
end
highlighted_code
end
+
def tableize_code (str, lang = '')
- table = '<div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers">'
+ table = '<div class="highlight"><table><tr>'
code = ''
str.lines.each_with_index do |line,index|
- table += "<span class='line-number'>#{index+1}</span>\n"
code += "<span class='line'>#{line}</span>"
end
table += "</pre></td><td class='code'><pre><code class='#{lang}'>#{code}</code></pre></td></tr></table></div>"
kramdown マークアップ エンジンを使用する場合、_config.yml
ファイルに設定したオプションが付属していますcoderay_line_numbers
。
markdown: kramdown
kramdown:
use_coderay: true
coderay:
coderay_line_numbers:
coderay_css: class
nil
(この例のように)、inline
、table
またはに設定できますlist
。たぶん、行番号のないブログを見てきましたが、この方法を使用しています。
Octopress の kramdown に関する私のブログ投稿で、さまざまなオプションのスクリーンショットをいくつか見ることができます。