Skip to content

ponponusa/narou-mod

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,066 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Narou.rb MOD - 小説家になろうのダウンローダ&縦書き整形&管理アプリ

Note

このプロジェクトは下記プロジェクトの派生です。

素晴らしいプロジェクトを作成していただいた、whiteleaf7 さん、Rumia-Channel さんに多大なる感謝を。

概要 - Summary

このアプリは小説家になろうなどで公開されている小説の管理、 及び電子書籍データへの変換を支援します。縦書き用に特化されており、 横書きに最適化された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説明書 を御覧ください。(準備中)

オリジナルプロジェクトからの変更点 - Changes from Original Project

現リリース晩時点での変更点です。

機能面

  • プロモタグ抽出、分離機能搭載
    • 小説タイトルや著者名に影響を与えない形でプロモタグを分離
    • Web UI上でプロモタグを表示
  • TOCチェック、テキスト変換処理の安定化・高速化
    • 大量話数の小説での特に処理速度が向上
    • ファイルIOを減らし、メモリ上での処理を増加
  • 認証機能をBasic認証への変更
  • 小説一覧の項目を整理

システム面

  • コマンド名を narou から narou-mod に変更
  • Ruby 3.4以降を動作要件に変更
  • システム全体の高速化
    • YJIT/Bootsnap対応(Windows環境では無効になります)
    • コマンド実行のモジュール読込最適化
    • 不要な外部依存ライブラリを削除
    • 古いRubyモジュールを更新
    • 古いJS/CSSライブラリを更新
  • 一部機能の修正・改善
  • セキュリティリスクのある実装の修正
  • その他、細かなバグ修正や改善

動作要件 - Requirements

  • Ruby 3.4以上(※元プロジェクトから変更されています)
  • MSYS2環境(Windowsの場合)

WEBサーバーの起動について - Web Server

v2.1.0以降、WEBサーバーはフォアグラウンド実行のみ対応しています。

# サーバー起動(フォアグラウンド実行)
narou-mod web --boot

# オプション指定
narou-mod web --boot --port 8080 --log-file app.log

# サーバー停止
# 方法1: Ctrl+C で停止
# 方法2: 別ターミナルから narou-mod stop

バックグラウンド実行が必要な場合

systemdやタスクスケジューラを使用してください:

Linuxの場合(systemdサービス例)

# /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

Windowsの場合(タスクスケジューラ)

タスクスケジューラで「ログオン時に実行」「非表示」設定で起動してください。

更新履歴 - ChangeLog

GitHub Release

->リリースページへ

TODO

  • 外部Webサーバを利用しない形でのHTTPS対応
  • bootstrap5への移行(新フロントエンドでAstro + Svelte + Tailwind CSSに移行)
    • bootstrap3系では、jQuery3系に対応していないため
    • jQuery migrateを削除したい
    • bootstrap4で我慢する可能性......
  • 小説タイトルの自動整形(プロモタグの実装で対応済み)
  • セキュリティリスクのある実装の修正
  • 変換処理の並列化による高速化
    • 今後の最適化のためにもスレッドセーフにする
  • パーサーの改善
    • サイト構造の変更に強くする
  • 表紙画像をWebUI上で設定できるようにする
    • 自動取得は怒られる可能性があるため検討中
  • 保存容量の改善
    • 圧縮保存の検討
    • Yaml DatabaseからSQLite等への移行検討

フロントエンド開発 - Frontend Development

このプロジェクトには、モダンなフロントエンド実装が含まれています(frontend/ ディレクトリ)。

技術スタック

  • Astro 5.x - 静的サイトジェネレーター
  • Svelte 5.x - リアクティブUIフレームワーク
  • Tailwind CSS 4.x - ユーティリティファーストCSS
  • TypeScript - 型安全な開発

セットアップ

cd frontend
npm install
npm run dev

詳細は frontend/README.md を参照してください。

API開発 - API Development

このプロジェクトは REST API (API v2) を提供しており、Swagger UI で仕様を確認できます。

API ドキュメント

API v2 エンドポイント

サーバーを起動後、以下のURLにアクセスしてください:

# サーバー起動
narou-mod web --boot

# Swagger UIを開く(ブラウザで)
http://localhost:5678/api/docs

Swagger UIでは以下が可能です:

  • 全エンドポイントの仕様確認
  • リクエスト/レスポンスの例
  • インタラクティブなAPI呼び出し(Try it out機能)
  • スキーマ定義の参照

API v2 vs Legacy API

  • 新規開発: API v2 (/api/v2/*) の使用を推奨
  • 既存コード: Legacy API v1 (/api/*) は互換性のために維持
  • 移行: 移行ガイド を参照

詳細は docs/web_api_endpoints.md を参照してください。

Windows環境への同期 - Sync to Windows

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 を参照してください。


License

  • 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.

  • 「小説家になろう」は株式会社ヒナプロジェクトの登録商標です。
  • 本ソフトウェアを利用(入手、インストール、実行等)した時点で、利用規約・免責事項に同意したものとみなします。ご利用の前に必ず内容をご確認ください。

About

Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理アプリ。Kindle(などの電子書籍端末)でなろうを読む場合に超便利です!

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Ruby 48.5%
  • HTML 19.0%
  • Svelte 16.0%
  • JavaScript 8.3%
  • Haml 2.7%
  • TypeScript 1.9%
  • Other 3.6%