Note
このプロジェクトは下記プロジェクトの派生です。
-
Original Project : whiteleaf7/narou --GitHub last commit
-
Forked from : Rumia-Channel/narou --GitHub last commit
素晴らしいプロジェクトを作成していただいた、whiteleaf7 さん、Rumia-Channel さんに多大なる感謝を。
このアプリは小説家になろうなどで公開されている小説の管理、 及び電子書籍データへの変換を支援します。縦書き用に特化されており、 横書きに最適化されたWEB小説を違和感なく縦書きで読むことが出来るようになります。 また、校正機能もありますので、小説としての一般的な整形ルールに矯正します。(例:感嘆符のあとにはスペースが必ずくる)
小説家になろうを含めて、下記のサイトに対応しています。
| サイト名 | URL | 備考 |
|---|---|---|
| 小説家になろう | http://syosetu.com/ | |
| ノクターンノベルズ | http://noc.syosetu.com/ | |
| ムーンライトノベルズ | http://mnlt.syosetu.com/ | |
| ミッドナイトノベルズ | http://mid.syosetu.com/ | |
| ハーメルン | https://syosetu.org/ | |
| Arcadia | http://www.mai-net.net/ | |
| 暁 | http://www.akatsuki-novels.com/ | (※300話以上ある作品は未対応) |
| カクヨム | https://kakuyomu.jp/ |
主な機能は小説家になろうの小説のダウンロード、更新管理、テキスト整形、AozoraEpub3・kindlegen連携によるEPUB/MOBI出力です。
その他にも変換したデータを直接電子書籍端末へ送信する機能は、メールで送信する機能などもあります。
詳細な説明やインストール方法は Narou.rb_MOD説明書 を御覧ください。(準備中)
現リリース晩時点での変更点です。
- プロモタグ抽出、分離機能搭載
- 小説タイトルや著者名に影響を与えない形でプロモタグを分離
- Web UI上でプロモタグを表示
- TOCチェック、テキスト変換処理の安定化・高速化
- 大量話数の小説での特に処理速度が向上
- ファイルIOを減らし、メモリ上での処理を増加
- 認証機能をBasic認証への変更
- 小説一覧の項目を整理
- コマンド名を
narouからnarou-modに変更 - Ruby 3.4以降を動作要件に変更
- システム全体の高速化
- YJIT/Bootsnap対応(Windows環境では無効になります)
- コマンド実行のモジュール読込最適化
- 不要な外部依存ライブラリを削除
- 古いRubyモジュールを更新
- 古いJS/CSSライブラリを更新
- 一部機能の修正・改善
- セキュリティリスクのある実装の修正
- その他、細かなバグ修正や改善
- Ruby 3.4以上(※元プロジェクトから変更されています)
- MSYS2環境(Windowsの場合)
v2.1.0以降、WEBサーバーはフォアグラウンド実行のみ対応しています。
# サーバー起動(フォアグラウンド実行)
narou-mod web --boot
# オプション指定
narou-mod web --boot --port 8080 --log-file app.log
# サーバー停止
# 方法1: Ctrl+C で停止
# 方法2: 別ターミナルから narou-mod stopsystemdやタスクスケジューラを使用してください:
# /etc/systemd/system/narou-mod.service
[Unit]
Description=Narou-mod Web Server
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/narou-mod
ExecStart=/usr/bin/narou-mod web --log-file /var/log/narou-mod.log
Restart=on-failure
[Install]
WantedBy=multi-user.targetタスクスケジューラで「ログオン時に実行」「非表示」設定で起動してください。
- 外部Webサーバを利用しない形でのHTTPS対応
bootstrap5への移行(新フロントエンドでAstro + Svelte + Tailwind CSSに移行)bootstrap3系では、jQuery3系に対応していないためjQuery migrateを削除したいbootstrap4で我慢する可能性......
小説タイトルの自動整形(プロモタグの実装で対応済み)- セキュリティリスクのある実装の修正
- 変換処理の並列化による高速化
- 今後の最適化のためにもスレッドセーフにする
- パーサーの改善
- サイト構造の変更に強くする
- 表紙画像をWebUI上で設定できるようにする
- 自動取得は怒られる可能性があるため検討中
- 保存容量の改善
- 圧縮保存の検討
- Yaml DatabaseからSQLite等への移行検討
このプロジェクトには、モダンなフロントエンド実装が含まれています(frontend/ ディレクトリ)。
- Astro 5.x - 静的サイトジェネレーター
- Svelte 5.x - リアクティブUIフレームワーク
- Tailwind CSS 4.x - ユーティリティファーストCSS
- TypeScript - 型安全な開発
cd frontend
npm install
npm run dev詳細は frontend/README.md を参照してください。
このプロジェクトは REST API (API v2) を提供しており、Swagger UI で仕様を確認できます。
- Swagger UI: http://localhost:5678/api/docs
- OpenAPI仕様書: http://localhost:5678/api/openapi.yaml
- 移行ガイド: docs/api_migration_guide.md
サーバーを起動後、以下のURLにアクセスしてください:
# サーバー起動
narou-mod web --boot
# Swagger UIを開く(ブラウザで)
http://localhost:5678/api/docsSwagger UIでは以下が可能です:
- 全エンドポイントの仕様確認
- リクエスト/レスポンスの例
- インタラクティブなAPI呼び出し(Try it out機能)
- スキーマ定義の参照
- 新規開発: API v2 (
/api/v2/*) の使用を推奨 - 既存コード: Legacy API v1 (
/api/*) は互換性のために維持 - 移行: 移行ガイド を参照
詳細は docs/web_api_endpoints.md を参照してください。
WSL環境からWindows環境へプロジェクトファイルを同期するスクリプトを提供しています。
# 設定ファイルを作成(初回のみ)
cp rsync.env.example rsync.env
nano rsync.env
# 同期スクリプトの実行
./sync-to-windows.sh
# または、引数で指定
./sync-to-windows.sh ~/git/narou-mod /mnt/c/git/narou詳細は docs/sync-to-windows.md を参照してください。
- Maintainer: ponponusa
- Copyrights:
- Original Project: Copyright (c) 2013-2024 whiteleaf7
- Forked Project: Copyright (c) 2025 Rumia-Channel
- This MOD Project: Copyright (c) 2025 ponponusa
- License: This project is licensed under the MIT License - see the LICENSE file for details.
- 「小説家になろう」は株式会社ヒナプロジェクトの登録商標です。
- 本ソフトウェアを利用(入手、インストール、実行等)した時点で、利用規約・免責事項に同意したものとみなします。ご利用の前に必ず内容をご確認ください。