rogenobl

Results 8 issues of rogenobl

https://github.com/whiteleaf7/narou/issues/399#issuecomment-1875320540

小説家になろう目次ページの分割への対応 修正しました。 ~~念のため無限ループ対策として最大100ページまでに制限してます。~~ プログレスバーの付加にあわせて全ページ数を取得するようにしました。 ~~そこまで必要かわかりませんでしたが、念のため、`toc_url`は毎回ループ前の値に復帰しています。~~ 別メソッド分離にあわせて、メソッド終了時に復帰するようにしました。

方法的には良いとは言えないですが、サイト設定のファイルにrubyのコードが書けるように拡張し、それによってカクヨム対応のコードを埋め込み対応しています。 方法としては従来、正規表現であった所に、ハッシュで他の機能を設定できるようにしました。 現在はevalのみ実装。必要であれば機能を追加できます。 - 従来 ```yaml title: 正規表現 ``` - 拡張後 ```yaml title: eval: Rubyコード ``` 本当は掲示板でもありましたが、サイト固有の処理が外出し出来ると良いので、将来的にはそっちで出来ればと思います。

いくつかまとめてプルリクします。 ### fix: /api/diff_clean pass Integer and NoMethodError (ruby Feature #15231 : Remove `Object#=~`) /api/diff_clean で`CommandLine.run!`に`Integer`が渡されているが、ruby3.2より`Object#=~`が削除されたため`Integer#=~`がNoMethodErrorとなる いったんto_sでStringにして処理する ### fix: undefined method `empty?' for nil:NilClass レアケースだが、小説の保存フォルダが消えている場合、`get_sorted_cache_list`がnilを返すためNoMethodErrorとなる empty?ではなくactivesupportのblank?を使う ### fix: Downloader#get_cache_list return...

Ruby3.2以降、入出力で`IO::TimeoutError`が発生する可能性がある。 `OpenURI::HTTPError`他、エラー処理している3ヶ所について、`IO::TimeoutError`も加えた。 なお、3.1以前では未定義になるので`ダミーのIO::TimeoutError`を定義している。

tiltがerubisのサポートを外した件の対処で、erubiに置き換えました。 とりあえず起動程度しか確認していませんが互換っぽいのでPRしておきます。 close #443

処理の流れは基本的に従来と同じですが、AozoraEpub3のタイプ(テンプレートがオリジナルか電協準拠か)により選択されたデータセットを使う事で両対応しています。 #419 も参照 - aozora.rb - 現状はタイプ判定の関係のみだが、将来的にAozoraEpub3とkindlegen関係をまとめたい - AozoraEpub3.:aozoraepub3_type. AozoraEpub3.:aozoraepub3_type_with_path - AozoraEpub3のタイプを判別して必要なデータセットをハッシュで返す - 現状はタイプ、名前、タイプを判定するためのファイル、CSSファイル、fontファイルからなる - 濁点フォン関係で切替えていたCSSファイルを一つに統合 - https://github.com/whiteleaf7/narou/pull/420 での案を採用した - 変更部分は pathname を使用した - AozoraEpub3.:aozoraepub3_type_with_pathの引数は pathname 前提 追加した AozoraEpub3 と直接的な変更の...

`narou convert`において、通常はテキスト整形変換後、小説設定が`@options["yokogaki"]`にセットされ[^1] `NovelConverter.convert_txt_to_ebook_file`に引き継がれる[^2] が、引数にテキストファイルを指定した場合は、それが成されず、横書き設定が反映されない。 また、通常の管理小説変換時も、横書き設定のセット時には`ignore-force`, `ignore-default`オプションが反映されていない。 一方、テキスト整形変換のために呼ばれる`NovelConverter`側ではコマンドラインオプションを反映した小説設定が読み込まれているため、これを戻り値に含めて、これを横書き設定に反映する。 [^1]: https://github.com/whiteleaf7/narou/blob/develop/lib/command/convert.rb#L243 [^2]: https://github.com/whiteleaf7/narou/blob/develop/lib/command/convert.rb#L300