日記(39)

<前 次>

TgwsMarkとドラゴンクエスト10

TgwsMark

はいバージョン3.0.1。
開発終了といった舌の根も乾かぬうちに申し訳ないですが、一点問題を発見したので。
コードブロックが改行の都合で最初に一行開いちゃってたんですよね。

で、修正した結果を実際使ってみたのがこちら。

$tgws_mark = <<<TGWSMARK
*み⭐だ⭐し
ほんぶん👣
TGWSMARK;
$html = \Mifumi323\TgwsMark\TgwsMark::toHtml($tgws_mark);
echo $html;
// 出力:<h2>み⭐だ⭐し</h2><p>ほんぶん👣</p>

これで日記にプログラミングの話題書くのがはかどるぞ!

ドラゴンクエスト10(しろいコキン)

しぐさ・メタキン
しろいコキンもスライム探しイベント行ってきました。
さすがに慣れてきたから得点はそこそこ伸ばせました。
報酬アイテムのほうは、ァォィョッュとだいたい同じ感じで、取りたいものはあらかた取り終えて、取れるものがまだ残っている状況です。

ドラゴンクエスト10(ァォィョッュ)

スライムタワーの列
あのあと街をぶらぶらしていたらスライムタワーになってる集団がいたので、一員になってきました。

TgwsMarkとドラゴンクエスト10

TgwsMark

ほいバージョン3.0.0。
残ってた課題3つ(#8#9#10)もまとめて完了です。
課題も全部なくなったので、何か新しい機能を作る気になるまではひとまず開発終了ですね。
引用機能とか、Markdownへの変換とか、できそうなことはあるけど、今のところ必要はないので、課題も立てないでおきます。

ドラゴンクエスト10(ァォィョッュ)

旅の覇者モンジと大会係員ツムム
第6回 隠れスライムフェスティバル (2025/10/15)|目覚めし冒険者の広場
スライム見つけるやつ、やってきました。
なんか今回、角度がシビアというか、細かい角に遮蔽されて見つけてない扱いになることが多かった気がしますね。

隠れメタルスライム像庭としぐさ・ネタ「スラタワー」隠れスライムベスの像、隠れエンゼルスライム像、しぐさ・ネタ「キンスラ」
とりあえず報酬はだいたい取れたかな。
モンジに交換してもらうやつがいくつかあるけど、結構回数重ねないといけないからやるとしたら時間あるときになるかな。
残り報酬よりも、しろいコキンとミフミンで通常報酬集めるほう優先したいです。

TgwsMark

ほぼ完成と言っていいのではないだろうか!

ここらがメインとなる機能の実装。

このあたりは間違ってたところの修正。

名前、簡略化しました。
もともとHTMLへの変換専用を想定して書き始めたのですが、HTMLタグの出力を全部MarkConverterに投げて差し替え可能にした結果、MarkConverterを全部差し替えればHTML以外も出力できるように(理論的には)なりました。
だとすると名前にHtmlを付ける意味はないし、TgwsMark部分もこの名前空間内なら当たり前すぎるので省略していいってわけです。

こまごまとした変更とか。

結局これをやりたくて分離したようなものです。
やろうとしていることもできることもほ、ぼ同じで、新しいほうが高機能なんだから、古い方の実装を残す意味はないのです。
インターフェースとしては、インスタンスを意識せず簡単に使える口があるというのは大事なので、このクラス自体とtoHtml静的メソッドは残すつもりです。
他の公開メソッドは、本来内部的に使うだけだったのを深く考えずに後悔していただけだから、非推奨にして将来的に廃止してもいいかも。

TgwsMark

いっぱいやったように見えて、割と単純作業!
マークアップごとに機能を差し替え可能にして、このマークアップはこのタグを出したいみたいなことを実現できるようにします。
今のところ差し替えられるのは見出しのHeadingToHnHtmlConverterとHeadingToFixedTagHtmlConverterですね。
h1~h6タグと、それ以外を選べます。

TableOfContentsとTgwsMark

TableOfContents

コミットメッセージにも書いたけど、バージョン情報がタグとcomposer.jsonの二重管理になってややこしいので。
他のリポジトリでは既に対応済みです。

TgwsMark

インスタンス化して使えるようにする課題の実装始めました。
要はLineTypeごとにクラスを作ってそれぞれで処理させることで、クラスを差し替えて柔軟に動作を変えられるようにするという魂胆です。

いつぞややめた課題とは別方面で美しを目指すことになるんで、ちょっと長丁場になるかも。
AIにやらせるにしても、適度な分割が難しくて、細かくすればプロンプト書くよりコーディングのほうが早くなりそうだし、並列作業させればコンフリクト祭りになりそうだし、かといってまとめてやるには複雑すぎて美しの対極に向かいそうだし、ここはひとまず人力か。
ちなみに、行内コード補完程度の軽いやつならある程度やらせてます。
行内程度なら正誤も一目見てわかるし、プロンプト書かないのでほぼ確実にタイプ量削減になるし、いらなきゃ無視して手作業でコード書き続けるだけでいいし。
AIは爆速とか効率とかよりも楽するために使いたいんですよね。

それにしてもこれ、結構根本的な変更になるから、メジャーバージョン上げたほうがいいかもなァ。

課題とは関係ないけど、無意味な入力に変なタグが付かないことを確認するテストです。
カバレッジを上げることがなくてもこういうエッジケースは大事。

これはコミットじゃなくて課題。
空行をいっぱい開けることで要素間に行間を広くすることができるという、文書構造的には無意味だけど日記では使うことがある機能があったんですが、コードブロックは他の要素とは別枠でやっているので、適用されていませんでした。

<前 次>