| Works
Mercurialサーバにテーマを追加
主にスクリプト管理用としてMercurialサーバを構築してWEBブラウザからアクセスできるようにしていますが、WEBブラウザで表示したときの外観がデフォルトのテーマだと物足りなくなってきたので追加してみました。
その時のメモです。
テーマについてはオフィシャルのWikiでデフォルトで含まれているもの以外にもいくつか紹介されていますし、ネットで探せば他にも見つかるでしょう(Bootstrapを利用したものなんかも見つかります)。
もちろん、自分で作るということもできます。
ダウンロードしたテーマは、Mercurialの"templates"ディレクトリに配置します。
自分の環境はCentOS 6に"easy_install"でMercurialをインストールしましたが、その場合は"/usr/lib/python2.6/site-packages/mercurial-3.3.2-py2.6-linux-i686.egg/mercurial/templates"というパスになりました。
# ls -l /usr/lib/python2.6/site-packages/mercurial-3.3.2-py2.6-linux-i686.egg/mercurial/templates/ 合計 60 drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 atom drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 coal drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 gitweb -rw-r--r-- 1 root root 1370 3月 9 13:52 2015 map-cmdline.bisect -rw-r--r-- 1 root root 842 3月 9 13:52 2015 map-cmdline.changelog -rw-r--r-- 1 root root 460 3月 9 13:52 2015 map-cmdline.compact -rw-r--r-- 1 root root 2663 3月 9 13:52 2015 map-cmdline.default -rw-r--r-- 1 root root 2679 3月 9 13:52 2015 map-cmdline.phases -rw-r--r-- 1 root root 1606 3月 9 13:52 2015 map-cmdline.xml drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 monoblue drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 paper drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 raw drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 rss drwxr-xr-x 2 root root 4096 3月 9 13:52 2015 spartan drwxr-xr-x 2 root root 4096 3月 23 13:47 2015 static |
デフォルトのテーマであるPaper等もここに配置されているのが分かります。
ディレクトリ名がテンプレート名となっており、この中に各種テンプレートファイル"~.tmpl"が配置されます。
ただし、"easy_install"でインストールした環境だとパスにバージョンが含まれていますので、今後のアップデート時のことを考えるとテーマの実ファイルは別の場所に配置し、ここにはシンボリックリンクを作成するのが良いと思います。
テーマを配置したら、hgwebの設定ファイル(ここでは"/etc/hgweb.conf")に使用するテーマを記述します。
[web]
encoding = UTF-8
style = newstyle
allow_archive = gz,zip
pygments_style = emacs
[extensions]
hgext.highlight =
[paths]
repository_name = /path/to/repository
上記の例で、[web]セクションの"style = newstyle"がテーマを指定している部分になります("newstyle"がテーマ名)。
これでWEBブラウザで表示したときの外観が変わります。
今はGitHubやBitbucketが手軽に使えるので自分でバージョン管理システムを構築する必要もあまりなかったりしますが、せっかくなのでカスタマイズするなりして自分に使いやすい方しにしていきたいですね。