Skip to content
whiteleaf edited this page Jun 27, 2021 · 135 revisions

Narou.rb

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

概要

このアプリは小説家になろうなどの投稿サイトで公開されている小説の管理、及び電子書籍データへの 変換を支援します。縦書き用に特化されており、横書きに最適化されたWEB小説を違和感なく縦書きで読むことが出来るようになります。 また、校正機能もありますので、小説としての一般的な整形ルールに矯正します。(例:感嘆符のあとにはスペースが必ずくる)

小説家になろうを含めて、下記のサイトに対応しています。

コンソールで操作するアプリケーションですが、ブラウザを使って直感的に操作することができる WEB UI も搭載!(デモページ

簡単にまとめると以下の様なことが出来ます。

  1. 小説投稿サイトから小説をダウンロード
  2. ダウンロードした小説の更新管理(新規投稿、改稿された既存話をダウンロード)
  3. 縦書きで読みやすい様にがっつり変換(校正、整形)
  4. AozoraEpub3、kindlegenによるEPUB/MOBI出力
  5. 接続されている端末に送信

1~5はすべて自動化されていて、利用者がほとんど操作をしなくても良いように設計されています。(各コマンドを使うことにより、ダウンロードのみ、変換のみ、送信のみ、なども可能です)

上で説明していない機能もまだあります。(更新された小説のどこが変更されたかを目視するdiffや、mobiのデータ量を軽くするkindlestripなど)

操作画面例

WEB UI ScreenCapture ScreenCapture

作った人

必須ツール

  • Ruby 2.7 以上推奨 (3.0 は Narou.rb 3.6 から対応)
    • Windows: RubyInstaller からダウンロードしたもののみ対応
    • Mac: rbenvやrvmで最新を入れることを推奨
    • Linux: 同上
  • AozoraEpub3
  • Java8以上
  • kindlegen 2.8以降(Kindleを使うなら)
    • macOS Catalina 以降を使っている場合の注意:Catalina から64bit版アプリケーションしか動作しなくなりましたが、上記でダウンロードできる macOS 版は32bitなので使えません。Kindle Previewer 3 に入っている kindlegen が64bit版なので、それを取り出して使用してください
    • [注意] kindlegen の公式からの配布が終了してしまいました。当面の間、上記に書いてある様に Kindle Previwer の中から取り出せるので、それを使用してください。(Kindle Previwer で直接変換できる対応を今後導入予定)。Linux 版は存在しないため、どうしようもないです

おまけ:Dockerイメージを用意したので、分かる人はそっちのほうが簡単です。
https://hub.docker.com/r/whiteleaf/narou

Linux 版の kindlegen が手に入らなくなってしまったため、動きません。

インストール

必須ツールのインストールを含めて説明します。すでに導入済みの場合は読み飛ばして下さい。

ただし、AozoraEpub3 に関してだけは Narou.rb 用に別途新規インストールすることをオススメします。 それはこのアプリケーションが AozoraEpub3 用の構成ファイルを書き換えるからです。

  • Windowsユーザを対象に説明します。他のOSの場合は適宜読み替えて下さい。
  • 4番のkindlegenのインストールはKindleを使わない方は必要ありません。
  1. Java8 をインストールします。

    • 公式サイト からWindows用のファイルをダウンロードして、インストールします。
  2. Ruby をインストールします。

    • RubyInstaller からインストールするのが簡単です。(RubyInstaller以外は動作確認はしていません)
    • Download → RubyInstallers の欄にある Ruby+Devkit 3.X.X-X (x64) をダウンロードし、インストールします。
      • 途中で「Rubyの実行ファイルへ環境変数PATHを設定する」というチェックボックスが出てくるのでチェックして下さい。
  3. AozoraEpub3 をインストールします。

    • AozoraEpub3-1.1.0bXX をダウンロード・解凍し、任意の場所にコピーします。
    • コピーしたフォルダを開いておきましょう。4.及び6.で必要になります。 (WindowsにはZipファイルを直接開く機能がありますが、解凍をする必要があります)
  4. kindlegen をインストールします。

    • [注意] kindlegen の配布が終了しているため、Kindle Previewer 3 の中身から取り出す必要があります。
    • I agree to terms of use にチェックを入れ、 KindleGen v2.x for Windows (XP, Vista, 7) をダウンロードし、解凍します。
    • kindlegen.exe を3.でインストールした AozoraEpub3 のフォルダの中にコピーします。
  5. Narou.rb をインストールします。

    • (注意:事前にダウンロードをするファイルはなく、下記の手順でコマンドから直接インストールします)

    • コマンドプロンプト(以下コンソール)を立ち上げ(Windowsキー+R を押して表示されるダイアログに cmd と入力すれば立ち上がります)、

      gem install narou
      

      と入力し、Enter キーを押します(以降も同じ)。

      もしエラーが出てインストールできなかった場合、

      gem install rubygems-update --source http://rubygems.org/
      update_rubygems
      gem install narou
      

      と入力するとうまくインストール出来るはずです。

  6. 小説を管理するために好きな場所にフォルダを作成し、そのフォルダを初期化します。 ここでは例えとして C:\MyNovel を管理用フォルダとして作成することで話を進めます。5.で立ち上げたコンソールで、

    cd c:/
    mkdir MyNovel
    cd MyNovel
    narou init
    

    と順番に入力します。

    narou initを入力したら、AozoraEpub3 のフォルダの入力を求められるので、 3.でコピーしたフォルダを入力して下さい。コンソールにエクスプローラからフォルダをドラッグで入力出来ます。(Windows7だとアドレスバー左端のアイコンをドラッグ)

    下図のように表示されたら全てのインストール作業が完了です。

これで C:\MyNovel フォルダの中でNarou.rbの各種コマンドが使用できるようになります。

コマンドプロンプトを閉じたあともう一度 narou コマンドを使う場合は、コマンドプロンプトを再度立ち上げ、cd c:\MyNovel と入力します。(フォルダの移動)
移動出来たら、各種 narou コマンドが使用出来ます。

コマンドプロンプトを立ち上げるショートカットを作っておくと楽でしょう。(下図参考。クリックで拡大)

注意

AozoraEpub3をアップデートした時の注意

narou init をしたフォルダで、再度 narou init コマンドを実行し、AozoraEpub3 の設定を反映させて下さい。 特に AozoraEpub3 をアップデートした時は、設定ファイル等が初期化されてしまいますので、Narou.rbの設定を反映させるためにもこの作業が必要です。

(narou init コマンドで小説データが削除されることはありません)

Ruby本体をアップデートした時の注意

Narou.rb は Ruby に標準添付されているの RubyGem というアプリケーション管理ツールでインストールされます。Ruby 本体をアップデートした場合、RubyGem の状態もまっさらになりますので、 gem install narou を再度実行し新しく Narou.rb を入れなおす必要があります。小説データ自体は独立したフォルダに保存されているので、Ruby や Narou.rb のバージョンに関係なく扱うことが出来ます。

アップデート

Narou.rb 本体をアップデートするには、

gem update narou

とコンソールで実行して下さい。もしくは、WEB UIの「Narou.rbについて」ダイアログからもアップデート出来ます。

Narou.rb のバージョンは

narou version

で表示出来ます。

サポート

http://jbbs.shitaraba.net/computer/44668/
上記掲示板もしくは Github Issue でバグ報告や要望を随時受け付けています。

バグ報告される際は、バージョンや再現方法の報告を正確にお願いします。

趣味で作っているものなので、必ずしも対応するとは限らないことをご了承下さい。

https://gitter.im/whiteleaf7/narou

Gitter のチャットルームも用意しました。

動作環境

OS別動作状況

Windows、macOS、Linux など、Ruby と Java が動けば基本的には動作すると思われます。
製作者は基本的に macOS を使用しているので、他の環境はほとんど確認していません。動かなかった時はご一報下さい。

FreeBSD などでも動くようですが、環境を用意することが困難なため、問題が起きた場合は独力で解決して下さい。修正のための Pull Request は歓迎します。

JRuby では動かなくなっているようです。メンテナンスが大変なため、公式には修正は行いません。 動かすための修正PRは歓迎します。

端末の自動認識での対応リスト

send コマンドの対応端末。
出力したEPUBを手動でコピーする分には全く関係ありません。

電子書籍端末名 対応状況 備考
Kindle Paperwhite 表示の確認も動作確認も済
Kindle Voyage 表示の確認も動作確認も済。この端末を元にチューニングしています
Kindle Oasis
Kindle Fire × MTP接続に対応していないため、動きません
Kobo シリーズ 情報を元に設定してありますが、問題はないようです
Sony Reader シリーズ 情報を元に設定してありますが、問題はないようです
他各種端末/アプリ USBにつながるタイプなら対応は可能かもしれないので下記を参照
メモリーカード 特殊 設定ファイルを追加することでコピーが可能です

Kindle 以外については端末を所有していないため動作未確認ですが、動いてるようです。 Kindle 以外の環境の対応については、以下の情報があれば対応可能です。

  • USB接続した場合のボリュームラベル(Windowsの場合。LinuxやmacOSならマウントしたフォルダ名)
  • 書籍データを保存するフォルダ名
  • 対応電子書籍データの種類(.epubかどうか等)
  • その他端末を認識するために必要そうな情報があれば

WEB UI の動作ブラウザ

HTML5世代の、手に入る最も新しいバージョンを推奨します。

開発の協力について

コードの提供は随時 GitHub の Pull Request で受け付けています。

バグ修正だけではなく、新機能追加も歓迎です。(必ずマージするとは限りませんが)

添付のDMincho.ttfについて

WEB小説でよく見かける「あ゛」のような表現を、縦書きでも再現するための濁点つきフォントです。

青キン明朝フォントをカスタマイズして使用しています。

オリジナルはIPA明朝フォントであり、ライセンスはIPAフォントライセンスv1.0の元に「派生プログラム」として 再配布されています。

ライセンスに基づく一般公開は以下のURLになります。また、 オリジナルなIPA明朝フォントに戻す場合、下記からDL出来るアーカイブに同梱の ipam.otf で上書きして下さい。

http://ux.getuploader.com/whiteleaf/download/23/ipam.rar

更新履歴

ChangeLog 参照


「小説家になろう」は株式会社ヒナプロジェクトの登録商標です