こんなものを作りました
やってることは非常にシンプルです。ざっくり説明するとこんな感じ。
-
HTMLファイルを読み込む
-
<p>
タグの内側の文字列(HTMLタグ込み)を検索して全部取得 -
取得した文字列から
<span>
タグの内側の文字列(HTMLタグを含まない)を取得 -
それぞれの文字列を適宜markdownの文法で装飾したりしなかったりの処理をする
-
処理した文字列をoutputディレクトリ内に.mdファイルとして出力
なんでこんなものを?
私はHUGOで生成した静的サイト上でTRPGのログを公開しようと考えていました。
この記事にその時やった試行錯誤が書いてあります。
その記事を書いていたときはHTMLファイルの状態で公開しようと考えていたのですが、既存のログコンバーターではあまり満足できず、かと言って自作するのもデザインや機能面での悩みが多く……
平たく言えば妥協の産物です。
使い方
py main.py -h
とかやると以下のメッセージが出てきます。
usage: main.py [-h] [-l] [-o [OUTPUT]] [--only ONLY] [--exclude [EXCLUDE ...]] [--notab] filename
HTMLファイル形式のTRPGログをmarkdownにするツールです。
positional arguments:
filename 変換したいログのファイル名
options:
-h, --help show this help message and exit
-l, --leave 出力ファイル名を入力ファイル名と同じにする (-oオプションは無視されます)
-o [OUTPUT], --output [OUTPUT]
出力ファイル名
--only ONLY 指定したタブのみ変換
--exclude [EXCLUDE ...]
指定したタブを除外して変換
--notab タブ名を表示しない
基本的な使い方は-h
メッセージを見ていただければわかるかと思いますので、-h
メッセージを見てもわからないことについて軽く説明します。
このプログラムの出力ファイルはmain.py
を実行したディレクトリと同じディレクトリに存在するoutput
ディレクトリ内に出力されます。
なので、-o
オプションに続いて/hoge_dir/hoge.md
とかやると(output/hoge_dir
が存在する場合を除き)エラーになります。
この点については別に強いこだわりがあって設定した仕様というわけではないので、今後改善する予定です。
参考
プログラムの作成にあたり、参考にした記事等の一覧です。