平衡点
2011/12/21
_ RD スタイルで CodeRay のシンタックスハイライトを
最近, ソースコードの色付けに google-code prettify を使っていたのだけれど,
- イマイチしっくりこない(笑)
- autopagerize などで継ぎ足されると動作しない
というのが気になってた.
どうしようかなぁ, と思っていたら
と. そのものズバリでした. 須藤さん, 流石です. というわけで, 導入ついでに tDiary を 3.1.1 に上げてみたり.
以下はテスト
# source: ruby
#!/usr/bin/env ruby
require 'fileutils'
# ディレクトリ内のファイルリスト. .svn と *.orig, ., .., .git は無視
dir = Dir.glob('.*').reject{|ign|
ign =~ /((^\.svn)|(^\.*$)|(\.orig$)|(\.gpg$)|(^\.git)|(\.elc$))/
}
# 既存ファイルのバックアップを dotfiles/backup 以下に作成する
backupd = Dir.pwd + '/backup'
Dir.mkdir(backupd) unless FileTest.exist?(backupd)
backupdir = backupd + "/" + Time.now.strftime("%Y%m%d-%H%M%S").to_s
Dir.mkdir(backupdir) unless FileTest.exist?(backupdir)
# メイン
dir.each do |file|
# ソースファイル
dotfile = Dir.pwd + '/' + file
# symlink の位置
target = ENV['HOME'] + '/' + file
# バックアップの位置
backup = backupdir + '/' + file
# ファイルが存在する場合
if FileTest.exist?(target)
# バックアップへの退避
Flie.delete(target) if FileTest.symlink?(backup)
FileUtils.move(target, backup) if FileTest.file?(target)
FileUtils.move(target, backup) if FileTest.directory?(target)
File.delete(backup) if FileTest.symlink?(backup)
# symlink 作成
File.symlink(dotfile, target)
else
# symlink 作成
File.symlink(dotfile, target)
end
end
# backup direcotry が空なら削除
if Dir.entries(backupdir).reject{|i| i=~ /^\.*$/}.size == 0
Dir.delete(backupdir)
if Dir.entries(backupd).reject{|i| i=~ /^\.*$/}.size == 0
Dir.delete(backupd)
end
end
puts <<-EOS
making symlink in ~/.
if dotfile exist. mv ./backup/,
but dotfile is symlink, delete it.
if ./backup is empty, delet backup directory.
EOS
[ツッコミを入れる]