読者です 読者をやめる 読者になる 読者になる

風 山 堂

(foussin's diary)

シンタックス・ハイライトのブログパーツを使って Scheme ソースを貼る


 久し振りにコーディングのスイッチが入った。。。
 

Rainbow を試す

 Scheme コードのシンタックス・ハイライトが出来るブログパーツってあまりない。jQuery 用のコードならあるらしいが、自分は jQuery を覚える気がないので、それは避けて通りたい。

 探してみたら Rainbow というツールScheme に対応しているようなので、ちょっと試してみた。

;; atdrw-box:いわゆる普通の BOX コマンド("p" 付)
;;
;; 書式:(atdrw-box (list x0 y0) (list x1 y1))
;;
;; 引数:(list x0 y0) ... 矩形の最小値座標
;; 引数:(list x1 y1) ... 矩形の最大値座標
;;
;; 戻値:((x座標群) (y座標群)) 形式のリスト(閉じた図形)
;;
;; 備考:x0,y0 を『小』、x1,y1 を『大』で表すと…
;;
;;   (小 小)         →         (大 小)
;;      +--------------------------+
;;      |                          |
;;      |                          |
;;    ↑|                          |↓(一筆書きの順番)
;;      |                          |
;;      |                          |
;;      +--------------------------+
;;   (小 大)         ←         (大 大)
;;
;;   (list
;;      (list 小 大 大 小 小)   ; x座標群
;;      (list 小 小 大 大 小)   ; y座標群
;;   )
;;
;;   …こうなる。これだけ分かっていれば関数にするほどのものでは無い…
;;
(define (atdrw-box ls0 ls1)
  (let ((x0 (car ls0)) (y0 (cadr ls0)) (x1 (car ls1)) (y1 (cadr ls1)))
    (list
      (list x0 x1 x1 x0 x0 "p")
      (list y0 y0 y1 y1 y0 "p") )))

 このソースコードは昨年に書いた古いものだけど。。。

 Rainbow は専用の CSS が多数用意されていて、CSS を取り換えることで配色が簡単に変更できるようになっている。とりあえず github.css, monokai.css, paraiso-light.css 辺りを使おうかな、と思っている。ちなみに、上の表示は github.css をちょっと修正して github-kai.css (改) というファイル名にリネームしたものを使っている。

 よく見ると、コメントに記述したアスキー図形がズレているが、細かいことは気にしないことにする。

 この DL サイトでは、目的のファイルを表示したら『Raw』ボタンを押して生テキストを表示し、そのあと [Ctrl] - [s] を押して保存することでダウンロードします。

はてなブログでは…

<link href="url" rel="stylesheet" type="text/css" media="all">

…という記述はできないと思うので、CSS 設定の画面で @import を使って CSS を読み込む。↓

@import url("http://host/user/css/rainbow/github-kai.css");

…こんな感じの記述をする。