Wed, April 21, 2010
RoboHelp How to , ヘルプ目次のメンテナンス
RoboHelpで ヘルプを作成する場合の目次アイテムの楽なメンテナンス方法。
XMLファイルを直接修正
RoboHelpのGUI上でちまちまと直しても問題ないのだが、面倒! マウスを多用するので手が痛い。
そこで RoboHelpのプロジェクトディレクトリを見てみると、 目次情報は、 プロジェクト名.hhc というファイル名で、XML形式で記述されていることが判明。
直接エディタでこれを修正してみるとうれしいことに そのまま変更が反映された。
hhc ファイルは以下のような感じ...
<?xml version="1.0" encoding="utf-8"?>
<toc version="1.0">
<properties imagewidth="16" windowstyles="8388610" exwindowstyles="256">
</properties>
<item name="2章">
<item name="基本" link="hoge\1.htm">
</item>
<item name="命令">
<item name="ld" link="hoge\2.htm">
</item>
<item name="ldp" link="hoge\3.htm">
</item>
<item name="ldpb" link="hoge\4.htm">
</item>
</item>
今回は諸事情により、name="hogehoge" を name="HOGEHOGE" と大文字に変更する必要があった。 vimでひとつひとつ直すのも面倒なので、 以下のような groovyをつくりました...ということでメモります。
def outf = new File('hoge.hhc.new')
def w = outf.newWriter('UTF-8')
def f = new File('hoge.hhc')
def r = f.newReader('UTF-8')
r.eachLine{ line->
def m = (line =~ /name="([^"]*)"/)
sb = ''<<''
if( m.find() ){
def g1 = m.group(1)
m.appendReplacement(sb, 'name="'+g1.toUpperCase()+'"' );
}
m.appendTail(sb);
w.println( sb.toString() )
}
r.close()
w.close()
それにしても細かい作業です。