RubyでChangeLogから一つのhtmlファイルを作成するコンバーターをリリースしました。
名前はCLoveR.Jr(クローバージュニア)です。
CLoveRは大規模なブログを作成するアプリですが、CLoveR.Jrは、小規模に一つのChangeLogファイルから一つのhtmlファイルを作成するものになります。
CLoveR.Jrの名前の由来
CLoveR/CLoveR.Jrは“ChangeLog over Ruby”という文の省略形からきてます。(海外だとこういうダジャレっぽいのが多いので)
ChangeLogというのはソフトウェア開発時に変更点を記録すために決められたテキストの形式ですが、日々の記録をつけることにも向いていて、僕はほぼすべてのことをchangelogで記録しています。
vim(エディタ)で自動フォーマットにも対応しています。以下のような見た目をしています。
2020-07-17 heisaku
* CLoveR.Jr公開 [tags%blog%cloverjr]:
RubyでChangeLogから一つのhtmlファイルを作成するコンバーターをリリースしました。
....
vimでのchangelogの利用
vimエディタを利用している場合、以下の設定を.vimrcに入れることでchangelogに対応させることができます。(拡張子は.chg)
let g:changelog_timeformat="%Y-%m-%d"
let g:changelog_username ="hassy"
autocmd BufRead *.chg set filetype=changelog
autocmd FileType changelog set foldexpr=ChgLogFoldLevel(v:lnum) foldmethod=expr foldlevel=0 textwidth=0
" for changelog folding"
function! ChgLogFoldLevel(lnum)
let l1 = getline(a:lnum)
if l1 =~"^\\t\\*[^*]"
return '>1'
elseif l1 =~"^\\t"
return 1
else
return 0
endif
endfunction
CLoveR.Jrの使い方
インストール
Rubyは、あらかじめインストールされていることを前提としています。
まずは、githubから持ってきます。
$ git clone https://github.com/HassyHeisaku/ruby-clover-jr.git
つぎにbundlerで必要なgemをインストールします。
$ bundle install
Changelogからhtmlへのコンバート
インストールが終わったらサンプルをコンバートしてみてください。
$ ruby cloverjr.rb ./contents/sample.chg
sample.htmlというファイルができるのでブラウザで開いてみてください。
sample.chgとsample.htmlを見比べれば、どのように書けば、どのようにコンバートされるか理解できるかと思います。
一点特殊な点は「画像」の埋め込み方法です
画像の埋め込み方法
画像は「.chg」ファイルのある場所に「images」ディレクトリを作成し、その中に入れてください。
changelogで以下のように書くと、画像がそこに埋め込まれます。
(サンプル内にもあるので確認してみてください)
%img:<file名>:<画像サイス>%
%img:hoge.png:40%
画像はhtml内に埋め込まれるので、htmlファイル単体で画像表示ができます。(元画像を持ち歩く必要はありません)
CLoveR.Jrをよろしくおねがいします
僕も、ほぼ毎日使ってるので、よかったら使ってみてください。