-
Notifications
You must be signed in to change notification settings - Fork 1
xtbconv
xtbconv は、XTBook 辞書生成につきまとう以下の作業を自動化し、1 コマンドで辞書ファイルを得られるスクリプトです。
記事の場合:
- 辞書の XML ダンプファイルのダウンロード・展開
- MkXTBWikiplexus
- YomiGenesis
- MkXTBIndexDB
- MkRax
- 不要な一時ファイルの削除
- Info.plist ファイルの配置
- (公開用の tarball 生成)
画像の場合:
- 画像のダンプファイルのダウンロード・展開
- サイズとファイル形式の変換
- MkImageComplex
- MkXTBIndexDB
- 不要な一時ファイルの削除
- Info.plist ファイルの配置
- (公開用の tarball 生成)
以下に対応します。
- Wikimedia 財団の wiki(Wikipedia など)の記事
- Uncyclopedia 財団の wiki(Uncyclopedia など)の記事と画像
- 記事は公開されているダンプデータが壊れている場合、変換できません
- Fandom の wiki(Brain Wiki など)の記事
- ダンプファイルが公開されている wiki に限ります
- 手動でダウンロードした XML ダンプファイル
予め、MkXTBWikiplexus の環境構築を行っておきます。また、追加で Fandom には 7-Zip(コマンドライン)、画像の変換には ImageMagick が必要です。
xtbconv はこちらに同梱しています。PATH の通っている場所(/usr/local/bin
など)に移動しておくと、xtbconv
コマンドとして使用できるようになり便利です。
まず、以下の環境変数を設定します。
-
DICTDIR
:辞書ファイルの生成先- 例:
export DICTDIR='/path/to/dictionary'
- 指定しない場合は、カレントディレクトリに生成されます
- 例:
-
PLIST
:Info.plist 集の場所- 例:
export PLIST='/path/to/info-plists'
- xtbconv に同梱しているので、これを展開して適当な場所に配置し、そのパスを指定します
- 例:
-
WIKIMEDIA_MIRROR
:Wikimedia 財団の Wiki をダウンロードする際に使用するミラーサーバ- 例:
export WIKIMEDIA_MIRROR='https://mirror.accum.se/mirror/wikimedia.org/dumps'
- 指定しない場合は、公式サーバ(https://dumps.wikimedia.org)が使用されます
- 例:
-
MECAB_DICT
:使用する MeCab 辞書の場所- 例:
export MECAB_DICT='/var/lib/mecab/dic/ipadic'
- MeCab 辞書が典型的な場所に配置されている場合や、MkXTBWikiplexus を自分でコンパイルしており mecabrc で辞書の場所が適切に設定されている場合は、この設定は不要です
- 例:
この設定は、~/.profile
に記載しておくことで永続化できます。このファイルに記載した内容は . ~/.profile
を実行するか、ターミナルを開き直すことで反映できます。
以下の形式で使用します。エラーが発生した場合はそこで中止するので、エラー出力を確認してやり直してください。なお、同梱の Info.plist は主要なもののみを用意しているため、用意していないものについては Info.plist の追加をスキップした旨のメッセージが出力されます。その場合は、手動で Info.plist を作成して辞書に追加してください。Info.plist 集のフォルダに自作のものを置いておくと、次回以降はそれが使われます。
xtbconv <wiki 提供元> <wiki 短縮名> <日付> [分割サイズ]
以下に使用例を示します。
xtbconv wikimedia jawiki 20230101 1900M # 2023 年 1 月 1 日の Wikipedia 日本語版記事(配布用 tarball は 1900 MB を上限に区切る)
xtbconv uncyclomedia jaunwiki 20230101 2G # 2023 年 1 月 1 日の Uncyclopedia 日本語版記事(配布用 tarball は 2 GB を上限に区切る)
xtbconv uncyclomedia jaunwikiimg 20230101 # 2023 年 1 月 1 日の Uncyclopedia 日本語版画像(日付は出力フォルダ名の決定のみに使用)
xtbconv fandom jabrain 20230101 # 2023 年 1 月 1 日の Brain Wiki(日付は出力フォルダ名の決定のみに使用)
xtbconv wiki.xml somewiki 20230101 # 2023 年 1 月 1 日の somewiki を、事前にダウンロードした wiki.xml から変換(日付は出力フォルダ名の決定のみに使用、wiki 名は出力フォルダ名の決定と Info.plist ファイルの選択に使用)
Wikimedia 財団の wiki の短縮名は、こちらで確認します。Uncyclomedia 財団の wiki の短縮名は、記事は「言語 2 文字 + unwiki
」、画像は「言語 2 文字 + unwikiimg
」となります。言語 2 文字はこちらで確認します。Fandom の wiki の短縮名は、Special:Statistics(特別:統計)ページ下部のダンプファイルのダウンロードリンクから確認します。例えば、Brain Wiki ではこちらのページです。