Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ test/tmp
test/version_tmp
tmp
document

Gemfile.lock
146 changes: 0 additions & 146 deletions Gemfile.lock

This file was deleted.

35 changes: 25 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,51 @@
Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理アプリ。Kindle(などの電子書籍端末)でなろうを読む場合に超便利です!
===================================================================================

[![Gem Version](https://badge.fury.io/rb/narou.svg)](http://badge.fury.io/rb/narou)
[![Gem Version](https://badge.fury.io/rb/narou.svg)](https://badge.fury.io/rb/narou)
[![Join the chat at https://gitter.im/whiteleaf7/narou](https://badges.gitter.im/whiteleaf7/narou.svg)](https://gitter.im/whiteleaf7/narou?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

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

小説家になろうを含めて、下記のサイトに対応しています。
+ 小説家になろう http://syosetu.com/
+ ノクターンノベルズ http://noc.syosetu.com/
+ ムーンライトノベルズ http://mnlt.syosetu.com/
+ ミッドナイトノベルズ http://mid.syosetu.com/
+ ハーメルン https://syosetu.org/
+ 小説家になろう https://syosetu.com/
+ ノクターンノベルズ https://noc.syosetu.com/
+ ムーンライトノベルズ https://mnlt.syosetu.com/
+ ミッドナイトノベルズ https://mid.syosetu.com/
+ ハーメルン https://syosetu.org
+ Arcadia http://www.mai-net.net/
+ 暁 http://www.akatsuki-novels.com/ (※300話以上ある作品は未対応)
+ 暁 https://www.akatsuki-novels.com/ (※300話以上ある作品は未対応)
+ カクヨム https://kakuyomu.jp/

コンソールで操作するアプリケーションですが、ブラウザを使って直感的に操作することができる WEB UI も搭載!([デモページ](http://whiteleaf7.github.io/narou/demo/))
コンソールで操作するアプリケーションですが、ブラウザを使って直感的に操作することができる WEB UI も搭載!([デモページ](https://whiteleaf7.github.io/narou/demo/))

主な機能は小説家になろうの小説のダウンロード、更新管理、テキスト整形、AozoraEpub3・kindlegen連携によるEPUB/MOBI出力です。
その他にも変換したデータを直接電子書籍端末へ送信する機能は、メールで送信する機能などもあります。

詳細な説明やインストール方法は **[Narou.rb 説明書](https://github.com/whiteleaf7/narou/wiki)** を御覧ください。
詳細な説明やインストール方法は **[Narou.rb 説明書](https://github.com/whiteleaf7/narou/wiki)** に書いてあるのですが、Narou.rb 説明書 の内容は大変古くなっています。Narou.rb 説明書 を読む際には下記の点に留意して下さい。

* [本家 AozoraEpub3](https://w.atwiki.jp/hmdev/) は2015年を最後に更新されていないため、利用は大変危険です。代わりに改造版 AozoraEpub 3 の最新版をご利用下さい。
* Java 20 が公開されている今の時代では Java 8 は大変古いです。本家 AozoraEpub 3 が Java 8 を要求しているだけですので、今の時代に Java 8 を使い続けることは有益ではないと考えます。また、[改造版 AozoraEpub 3 は 1.1.1b15Q から Java 8 非対応となっています](https://github.com/kyukyunyorituryo/AozoraEpub3/releases/tag/v1.1.1b15Q)。みんなでどんどん新しい Java 環境を試し、bug が見つかったらどんどん報告する、という方針が効率的な開発に繋がると考えます。

![WEB UI ScreenCapture](https://raw.github.com/wiki/whiteleaf7/narou/images/webui_cap.png)
![Console ScreenCapture](https://raw.github.com/wiki/whiteleaf7/narou/images/narou_cap.gif)

本家との差分 - Difference between "narouq" and original "narou"
--------------------

* 本家 "narou" とは別の "narouq" という名称にしたので、併存が可能です。同時に、help 出力も narouq に変更しました。
* Gemfile.lock を除去してあります (.git_ignore にも追記しています)。これは、Git repository に Gemfile.lock を残しておくと fork する開発者の迷惑になる、という考えに基づきます。
* Ruby 2.6.0 以上を必要とします。
* last_commit_year を 2023 にしました。これで一部の CI が正常化すると思われます。
* Java 18 以降に対応させたつもりです。
* [DMincho.ttf を自動で複製](https://jbbs.shitaraba.net/bbs/read.cgi/computer/44668/1511245701/558)するようにしたつもりです。
* [Ruby 3.2 の仕様変更に対応](https://jbbs.shitaraba.net/bbs/read.cgi/computer/44668/1511245701/544)させたつもりです。
* 要求する sinatra の版を 2.0.8.1 以上 4 未満に変更しました。

更新履歴 - ChangeLog
--------------------

Expand Down
0 bin/narou → bin/narouq
100755 → 100644
File renamed without changes.
10 changes: 5 additions & 5 deletions lib/command/alias.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ def initialize
・<target>は他のコマンドで指定出来るものがそのまま使えますが、すでにダウンロード済みである必要があります。

Examples:
narou alias --list
narou alias musyoku=n9669bk
narou alias harem=1
narou convert harem # 他のコマンドで別名が使えるようになる
narou alias harem= # 右辺に何も書かないとその別名を解除できる
narouq alias --list
narouq alias musyoku=n9669bk
narouq alias harem=1
narouq convert harem # 他のコマンドで別名が使えるようになる
narouq alias harem= # 右辺に何も書かないとその別名を解除できる

Options:
EOS
Expand Down
6 changes: 3 additions & 3 deletions lib/command/backup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ def initialize
・バックアップ対象は、バックアップファイル以外の小説保存フォルダにあるファイル全てが対象です。

Examples:
narou backup 0
narou backup n9669bk
narou backup 0 1 musyoku
narouq backup 0
narouq backup n9669bk
narouq backup 0 1 musyoku
EOS
end

Expand Down
6 changes: 3 additions & 3 deletions lib/command/browser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ def initialize
・指定した小説の掲載ページをブラウザで開きます。

Examples:
narou browser n9669bk
narou browser musyoku -v
narou b 0
narouq browser n9669bk
narouq browser musyoku -v
narouq b 0

Options:
EOS
Expand Down
10 changes: 5 additions & 5 deletions lib/command/clean.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ def initialize
・対象小説を指定しなかった場合は直前に変換した小説について検査します。

Examples:
narou clean # 直前に変換した小説について検査
narou clean 6
narou clean 6 -f # 実際に削除
narou clean --all # 全小説について検査
narou clean -af # 全小説について検査して、実際に削除
narouq clean # 直前に変換した小説について検査
narouq clean 6
narouq clean 6 -f # 実際に削除
narouq clean --all # 全小説について検査
narouq clean -af # 全小説について検査して、実際に削除
Options:
EOS

Expand Down
12 changes: 6 additions & 6 deletions lib/command/convert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@ def initialize
・管理小説以外にもテキストファイルを変換出来ます。
テキストファイルのファイルパスを指定します。
※複数指定した場合に-oオプションがあった場合、ファイル名に連番がつきます。
・MOBI化する場合は narou setting device=kindle をして下さい。
・MOBI化する場合は narouq setting device=kindle をして下さい。
・device=kobo の場合、.kepub.epub を出力します。

Examples:
narou convert n9669bk
narou convert http://ncode.syosetu.com/n9669bk/
narou convert 異世界迷宮で奴隷ハーレムを
narou convert 1 -o "ハーレム -変換済み-.txt"
narou convert mynovel.txt --enc sjis
narouq convert n9669bk
narouq convert http://ncode.syosetu.com/n9669bk/
narouq convert 異世界迷宮で奴隷ハーレムを
narouq convert 1 -o "ハーレム -変換済み-.txt"
narouq convert mynovel.txt --enc sjis

Options:
EOS
Expand Down
6 changes: 3 additions & 3 deletions lib/command/csv.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ def initialize
・インポートするCSVファイルには最低限 url というヘッダーが必要です

Examples:
narou csv # CSV形式でそのまま表示
narou csv -o novels.csv # novels.csv というファイル名で保存
narou csv -i novels.csv # ファイルから小説をインポート
narouq csv # CSV形式でそのまま表示
narouq csv -o novels.csv # novels.csv というファイル名で保存
narouq csv -i novels.csv # ファイルから小説をインポート

Options:
EOS
Expand Down
24 changes: 12 additions & 12 deletions lib/command/diff.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,24 @@ def initialize
・もし自分の好きな差分表示プログラムを使いたい場合、difftoolを設定して変更することが出来ます(下記参照)

Examples:
narou diff # 直前に更新した小説の差分を表示
narou diff 6
narou diff 6 -n 2 # 最新から2番目の差分との比較
narou diff 6 -2 # -n 2 の省略した記述方法
narou diff 6 2013.02.21@01.39.46 # 差分を直接指定
narou diff 6 -l # 過去にどの話数の差分があるのかを確認
narouq diff # 直前に更新した小説の差分を表示
narouq diff 6
narouq diff 6 -n 2 # 最新から2番目の差分との比較
narouq diff 6 -2 # -n 2 の省略した記述方法
narouq diff 6 2013.02.21@01.39.46 # 差分を直接指定
narouq diff 6 -l # 過去にどの話数の差分があるのかを確認

# 自分の好きな差分表示プログラムを使う場合
narou s difftool="C:\\Program Files\\WinMerge\\WinMergeU.exe"
narou s difftool=colordiff # コマンドラインツールを指定したり
narouq s difftool="C:\\Program Files\\WinMerge\\WinMergeU.exe"
narouq s difftool=colordiff # コマンドラインツールを指定したり
# Narou.rbオリジナルの差分表示に戻す場合は設定を削除する
narou s difftool=
narouq s difftool=

# difftoolに渡す引数(指定しなければ単純に新旧ファイルを引数に呼び出す)
# 特殊な変数 %NEW : 最新データの差分用ファイルパス
# %OLD : 古い方の差分用ファイルパス
narou s difftool.arg='-e -x -ub -dl "OLD" -dr "NEW" %OLD %NEW'
narou s difftool.arg="-u %OLD %NEW"
narouq s difftool.arg='-e -x -ub -dl "OLD" -dr "NEW" %OLD %NEW'
narouq s difftool.arg="-u %OLD %NEW"

Options:
EOS
Expand All @@ -70,7 +70,7 @@ def initialize
# 引数の中の -数字 オプション(-n 数字の省略形)を -n 数字 に変換する
def short_number_option_parse(argv)
argv.map! { |arg|
if arg =~ /^-(\d+)$/
if arg.to_s =~ /^-(\d+)$/
["-n", $1.to_s]
else
arg
Expand Down
12 changes: 6 additions & 6 deletions lib/command/download.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ def initialize
・NコードもURLも指定しなかった場合、対話モード移行します。

Examples:
narou download n9669bk
narou download http://ncode.syosetu.com/n9669bk/
narou download n9669bk http://ncode.syosetu.com/n4259s/
narou download 0 1 -f
narou download n9669bk -n
narou download n6864bt --remove
narouq download n9669bk
narouq download http://ncode.syosetu.com/n9669bk/
narouq download n9669bk http://ncode.syosetu.com/n4259s/
narouq download 0 1 -f
narouq download n9669bk -n
narouq download n6864bt --remove

Options:
EOS
Expand Down
8 changes: 4 additions & 4 deletions lib/command/folder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ def initialize
・指定した小説の保存フォルダを開きます。

Examples:
narou folder n9669bk
narou folder musyoku
narou folder 0
narou f 0
narouq folder n9669bk
narouq folder musyoku
narouq folder 0
narouq f 0

Options:
EOS
Expand Down
Loading