次のエントリ: 横浜戦 横浜スタジアム [diary]
SyntaxHighlighter用の書式で開始行数指定とハイライトを有効にしてみた
2011-06-16-1 / カテゴリ: [chalow] / [permlink]
最近こればっかだな
SyntaxHighlighter 3.0.83自身は、
2,4行目をハイライト (h:2,4)
開始2行目で、2,3行目をハイライト (f:2 h:2,3)
言語指定で (perl f:3 h:4)
こんな感じ。ベースは→[2011-01-23-2]
ついでにツールバーも消した。
SyntaxHighlighter 3.0.83自身は、
<pre class="brush: text; first-line: 2; highlighter: [2,3,4]"> ... </pre>とかで変更できるので、chalow+SyntaxHighlighterにも対応させてみた。
2,4行目をハイライト (h:2,4)
1行目 2行目 3行目 4行目
開始2行目で、2,3行目をハイライト (f:2 h:2,3)
2行目 3行目 4行目 5行目
言語指定で (perl f:3 h:4)
while (<>) { print unless /^$/; }
こんな感じ。ベースは→[2011-01-23-2]
--- chalow (revision 1845) +++ chalow (revision 1846) @@ -1359,7 +1359,7 @@ ### ソースエスケープ - "&" や "<" などを置換し pre を付ける $num_of_escaped_src = 0; - $$strp =~ s!\[src(\s\w+)?\](.*?)\[/src\]! + $$strp =~ s!\[src(?:\s([\s\w:,]+))?\](.*?)\[/src\]! $escaped_src{++$num_of_escaped_src} = $2, $escaped_src_type{$num_of_escaped_src} = $1, $escaped_src{$num_of_escaped_src} =~ s/&/&/g, @@ -1381,14 +1381,33 @@ $$strp =~ s|\x7\x13(\d+)\x3|eval($escaped_plugin{$1})|ge; ### ソースアンエスケープ - pre 追加 # todo(SyntaxHilighter) - $$strp =~ s|\x6\x13(\d+)\x3|"<pre class=\"brush:".(length $escaped_src_type{$1}? $escaped_src_type{$1}: "plain").";\">$escaped_src{$1}</pre>"|eg; + $$strp =~ s|\x6\x13(\d+)\x3|"<pre class=\"brush: ".get_syntax_opt($escaped_src_type{$1}).";\">$escaped_src{$1}</pre>"|eg; # <p>は使ってないので #$$strp =~ s|\x6\x13(\d+)\x3|</p><pre>$escaped_src{$1}</pre><p>|g; ### HTML アンエスケープ $$strp =~ s|\x5\x13(\d+)\x3|$escaped_string{$1}|g; } +sub get_syntax_opt { + my $lang = "plain"; + my @opts; + for (split /\s+/, shift) { + if (/^[^:]+$/) { + $lang = $_; + } + if (/f:(\d+)/) { + push @opts, "first-line: $1"; + } + if (/h:([\d,]+)/) { + my $t = $1; + push @opts, "highlight: [$1]"; + } + } + unshift @opts, $lang; + return join "; ", @opts; +} + ### inside referrer のリンク作成 sub get_inside_ref { my ($id) = @_;
ついでにツールバーも消した。
次のエントリ: 横浜戦 横浜スタジアム [diary]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12