aozora2html 0.9.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +13 -4
- data/.gitignore +8 -3
- data/README.md +10 -10
- data/bin/aozora2html +2 -4
- data/lib/aozora2html/version.rb +1 -1
- data/lib/extensions.rb +9 -0
- data/test/test_i18n.rb +23 -0
- data/vendor/jis2ucs/README.md +3 -6
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 635bbe67e2511af4a4f8ccc8a820bdb87991d75d88fa9aa7ca9a90f2f67d7785
|
4
|
+
data.tar.gz: ac7c5d1f77f0c4b89d24f93e6117107d3ee4ac5890aef5e082368f0fa7e8e318
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a939ef551dd506ae1f7ca4d608fbbe747aa7b4ada56a07fd83385c330fade541353d80f66fa8f4ed5d1342cd01d65af74c6c973ed2979c1dce12dcc7b10830a2
|
7
|
+
data.tar.gz: 5c982a53cdffc60bad3c98406b74f640af4c1896fed6b42398a91025788962b4d2377950d40a0b25e4553fd92f94ac69c4ed8ac34fa21918cd0cb2148a1b0def
|
data/.github/workflows/ruby.yml
CHANGED
@@ -1,6 +1,15 @@
|
|
1
|
+
# Check if Ruby codes pass tests.
|
2
|
+
#
|
3
|
+
# Reference:
|
4
|
+
# - https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
5
|
+
|
1
6
|
name: Test
|
2
7
|
|
3
|
-
on:
|
8
|
+
on:
|
9
|
+
push:
|
10
|
+
branches:
|
11
|
+
- master
|
12
|
+
pull_request:
|
4
13
|
|
5
14
|
jobs:
|
6
15
|
build:
|
@@ -9,12 +18,12 @@ jobs:
|
|
9
18
|
strategy:
|
10
19
|
fail-fast: false
|
11
20
|
matrix:
|
12
|
-
ruby: [ '2.6
|
13
|
-
os: [ubuntu-latest,
|
21
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
|
22
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
14
23
|
steps:
|
15
24
|
- uses: actions/checkout@v1
|
16
25
|
- name: Set up Ruby
|
17
|
-
uses:
|
26
|
+
uses: ruby/setup-ruby@v1
|
18
27
|
with:
|
19
28
|
ruby-version: ${{ matrix.ruby }}
|
20
29
|
- name: Build and test with Rake
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
[![Gem Version](https://badge.fury.io/rb/aozora2html.svg)](https://badge.fury.io/rb/aozora2html)
|
6
6
|
[![Code Climate](https://codeclimate.com/github/aozorahack/aozora2html/badges/gpa.svg)](https://codeclimate.com/github/aozorahack/aozora2html)
|
7
7
|
|
8
|
-
|
8
|
+
青空文庫の[「組版案内」](http://kumihan.aozora.gr.jp/)で配布されている `txt2html`内にある`t2hs.rb`を改造するプロジェクトです。
|
9
9
|
|
10
10
|
## 動作環境
|
11
11
|
|
@@ -15,13 +15,13 @@ Ruby 2.0以上が推奨ですが、1.9でも動くはずです。
|
|
15
15
|
|
16
16
|
RubyGemsとしてインストール可能になっています。
|
17
17
|
|
18
|
-
```
|
18
|
+
```shell-session
|
19
19
|
$ gem install aozora2html
|
20
20
|
```
|
21
21
|
|
22
22
|
ソースからインストールするときは以下のようにします。
|
23
23
|
|
24
|
-
```
|
24
|
+
```shell-session
|
25
25
|
$ gem install bundler
|
26
26
|
$ rake install
|
27
27
|
```
|
@@ -30,27 +30,27 @@ $ rake install
|
|
30
30
|
|
31
31
|
コマンドは`aozora2html`です。以下のように実行します。
|
32
32
|
|
33
|
-
```
|
33
|
+
```shell-session
|
34
34
|
$ aozora2html foo.txt foo.html
|
35
35
|
```
|
36
36
|
|
37
|
-
|
37
|
+
こうすると、青空文庫記法で書かれた`foo.txt`を`foo.html`に変換します。
|
38
38
|
|
39
39
|
また、青空文庫サイトで配布している、中にテキストファイルが同梱されているzip形式のファイルも変換できます。
|
40
40
|
|
41
|
-
```
|
41
|
+
```shell-session
|
42
42
|
$ aozora2html foo.zip foo.html
|
43
43
|
```
|
44
44
|
|
45
45
|
第1引数にURLを指定すると、そのURLのファイルをダウンロードして変換します。
|
46
46
|
|
47
|
-
```
|
47
|
+
```shell-session
|
48
48
|
$ aozora2html http://example.jp/foo/bar.zip foo.html
|
49
49
|
```
|
50
50
|
|
51
51
|
第2引数を省略すると、ファイルではなく標準出力に変換結果を出力します。
|
52
52
|
|
53
|
-
```
|
53
|
+
```shell-session
|
54
54
|
$ aozora2html foo.txt
|
55
55
|
```
|
56
56
|
|
@@ -61,7 +61,7 @@ $ aozora2html foo.txt
|
|
61
61
|
|
62
62
|
可能な限り数値実体参照を使って表示するには、以下のようにオプションを指定します。
|
63
63
|
|
64
|
-
```
|
64
|
+
```shell-session
|
65
65
|
$ aozora2html --use-jisx0213 --use-unicode foo.txt
|
66
66
|
```
|
67
67
|
|
@@ -69,7 +69,7 @@ $ aozora2html --use-jisx0213 --use-unicode foo.txt
|
|
69
69
|
|
70
70
|
テストも追加しています。テストは以下のように実行します。
|
71
71
|
|
72
|
-
```
|
72
|
+
```shell-session
|
73
73
|
$ bundle install
|
74
74
|
$ rake test
|
75
75
|
```
|
data/bin/aozora2html
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'aozora2html'
|
4
4
|
require 'optparse'
|
5
5
|
require "tempfile"
|
6
|
+
require 'open-uri'
|
6
7
|
|
7
8
|
opt = OptionParser.new("Usage: aozora2html [options] <text file> [<html file>]\n")
|
8
9
|
opt.on('--gaiji-dir DIR', 'setting gaiji directory')
|
@@ -41,12 +42,9 @@ Dir.mktmpdir do |dir|
|
|
41
42
|
dest_file = File.join(dir, "output.html")
|
42
43
|
end
|
43
44
|
if src_file =~ /\Ahttps?:/
|
44
|
-
require 'open-uri'
|
45
45
|
down_file = File.join(dir, File.basename(src_file))
|
46
46
|
begin
|
47
|
-
|
48
|
-
open(src_file){|f1| f0.write(f1.read)}
|
49
|
-
end
|
47
|
+
File.write(down_file, URI.parse(src_file).read)
|
50
48
|
src_file = down_file
|
51
49
|
rescue
|
52
50
|
$stderr.print "file not found: #{src_file}\n"
|
data/lib/aozora2html/version.rb
CHANGED
data/lib/extensions.rb
CHANGED
@@ -33,3 +33,12 @@ class String
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
+
module Kernel
|
37
|
+
alias original_kernel_puts puts
|
38
|
+
|
39
|
+
def puts(*args)
|
40
|
+
original_kernel_puts(args)
|
41
|
+
rescue Encoding::CompatibilityError
|
42
|
+
original_kernel_puts(args.map { |arg| arg.force_encoding('utf-8') })
|
43
|
+
end
|
44
|
+
end
|
data/test/test_i18n.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'test_helper'
|
3
|
+
require 'aozora2html'
|
4
|
+
|
5
|
+
class I18nTest < Test::Unit::TestCase
|
6
|
+
def test_t
|
7
|
+
assert_equal "警告(123行目):JIS外字「①」が使われています",
|
8
|
+
Aozora2Html::I18n.t(:warn_jis_gaiji,
|
9
|
+
123,
|
10
|
+
"①".encode("cp932").force_encoding("shift_jis"))
|
11
|
+
.force_encoding("cp932").encode("utf-8")
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_ruby_puts_behavior
|
15
|
+
$stdout = StringIO.new
|
16
|
+
begin
|
17
|
+
puts "①".encode("cp932").force_encoding("shift_jis")
|
18
|
+
assert_equal "①\n", $stdout.string.force_encoding("cp932").encode("utf-8")
|
19
|
+
ensure
|
20
|
+
$stdout = STDOUT
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/vendor/jis2ucs/README.md
CHANGED
@@ -4,7 +4,7 @@ JIS X 0213の面区点番号からUnicode(UCS)の数値文字参照に変換す
|
|
4
4
|
|
5
5
|
元となる対応表は、下記URLのものを使っています。
|
6
6
|
|
7
|
-
http://w3.kcua.ac.jp/~fujiwara/jis2000/jis2004/jisx0213-2004-mono.html
|
7
|
+
<http://w3.kcua.ac.jp/~fujiwara/jis2000/jis2004/jisx0213-2004-mono.html>
|
8
8
|
|
9
9
|
## 生成方法
|
10
10
|
|
@@ -12,15 +12,12 @@ http://w3.kcua.ac.jp/~fujiwara/jis2000/jis2004/jisx0213-2004-mono.html
|
|
12
12
|
|
13
13
|
`jis2ucs.rb`を生成するには、コマンドラインで以下のように実行します。
|
14
14
|
|
15
|
-
```
|
15
|
+
```shell-session
|
16
16
|
$ ruby mkconv.rb > ../../lib/aozora2html/jis2ucs.rb
|
17
17
|
```
|
18
18
|
|
19
19
|
## License
|
20
20
|
|
21
|
-
jis2ucs.rb
|
22
|
-
|
21
|
+
`jis2ucs.rb`のLicenseはCC0とします。
|
23
22
|
|
24
23
|
Masayoshi Takahashi
|
25
|
-
|
26
|
-
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aozora2html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aozorahack team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -169,6 +169,7 @@ files:
|
|
169
169
|
- test/test_gaiji_tag.rb
|
170
170
|
- test/test_header.rb
|
171
171
|
- test/test_helper.rb
|
172
|
+
- test/test_i18n.rb
|
172
173
|
- test/test_img_tag.rb
|
173
174
|
- test/test_inline_caption_tag.rb
|
174
175
|
- test/test_inline_font_size_tag.rb
|
@@ -212,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
213
|
- !ruby/object:Gem::Version
|
213
214
|
version: '0'
|
214
215
|
requirements: []
|
215
|
-
rubygems_version: 3.1
|
216
|
+
rubygems_version: 3.0.3.1
|
216
217
|
signing_key:
|
217
218
|
specification_version: 4
|
218
219
|
summary: converter from Aozora Bunko format into xhtml. It's based of t2hs.rb from
|
@@ -231,6 +232,7 @@ test_files:
|
|
231
232
|
- test/test_gaiji_tag.rb
|
232
233
|
- test/test_header.rb
|
233
234
|
- test/test_helper.rb
|
235
|
+
- test/test_i18n.rb
|
234
236
|
- test/test_img_tag.rb
|
235
237
|
- test/test_inline_caption_tag.rb
|
236
238
|
- test/test_inline_font_size_tag.rb
|