cheepub 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/Rakefile +1 -1
  4. data/cheepub.gemspec +1 -1
  5. data/lib/cheepub.rb +3 -0
  6. data/lib/cheepub/asset_store.rb +59 -0
  7. data/lib/cheepub/content.rb +4 -14
  8. data/lib/cheepub/converter/cheehtml.rb +29 -0
  9. data/lib/cheepub/converter/cheelatex.rb +19 -0
  10. data/lib/cheepub/generator/epub.rb +14 -7
  11. data/lib/cheepub/generator/latex.rb +3 -1
  12. data/lib/cheepub/nav.rb +5 -1
  13. data/lib/cheepub/version.rb +1 -1
  14. data/samples/anausa_perter/anausa_peterno_hanashi.md +164 -0
  15. data/samples/anausa_perter/fig51344_01.png +0 -0
  16. data/samples/anausa_perter/fig51344_02.png +0 -0
  17. data/samples/anausa_perter/fig51344_03.png +0 -0
  18. data/samples/anausa_perter/fig51344_04.png +0 -0
  19. data/samples/anausa_perter/fig51344_05.png +0 -0
  20. data/samples/anausa_perter/fig51344_06.png +0 -0
  21. data/samples/anausa_perter/fig51344_07.png +0 -0
  22. data/samples/anausa_perter/fig51344_08.png +0 -0
  23. data/samples/anausa_perter/fig51344_09.png +0 -0
  24. data/samples/anausa_perter/fig51344_10.png +0 -0
  25. data/samples/anausa_perter/fig51344_11.png +0 -0
  26. data/samples/anausa_perter/fig51344_12.png +0 -0
  27. data/samples/anausa_perter/fig51344_13.png +0 -0
  28. data/samples/anausa_perter/fig51344_14.png +0 -0
  29. data/samples/anausa_perter/fig51344_15.png +0 -0
  30. data/samples/anausa_perter/fig51344_16.png +0 -0
  31. data/samples/anausa_perter/fig51344_17.png +0 -0
  32. data/samples/anausa_perter/fig51344_18.png +0 -0
  33. data/samples/anausa_perter/fig51344_19.png +0 -0
  34. data/samples/anausa_perter/fig51344_20.png +0 -0
  35. data/samples/anausa_perter/fig51344_21.png +0 -0
  36. data/samples/anausa_perter/fig51344_22.png +0 -0
  37. data/samples/anausa_perter/fig51344_23.png +0 -0
  38. data/samples/anausa_perter/fig51344_24.png +0 -0
  39. data/samples/anausa_perter/fig51344_25.png +0 -0
  40. data/samples/anausa_perter/fig51344_26.png +0 -0
  41. data/samples/anausa_perter/fig51344_27.png +0 -0
  42. data/samples/anausa_perter/fig51344_28.png +0 -0
  43. data/samples/anausa_perter/fig51344_29.png +0 -0
  44. metadata +36 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc94d079a5e14e768ec79d72d23648c2718ae7de64c8783d099bcb80290dee85
4
- data.tar.gz: 34a9f53cdf27f298daf2369e973ccbb9eabea61e6e727340081404b6a1eaa1c4
3
+ metadata.gz: c9519aceb60bfbb30c2ff21200f3909537885c3fd900335ca81fec538dc0d2be
4
+ data.tar.gz: 0df9a1276161c2b51c11ed242a5f16c4e935fe2a51b26f0f9b11861a4984249c
5
5
  SHA512:
6
- metadata.gz: 992e95e9ec3a5343c3094fdfea29abb2bef71bf82121fe0668940847b3d356958dcc9e3e82830ec03289091156f52e2b6e8edbb2b724cbaae30dc1fc21eeddfd
7
- data.tar.gz: 8152e4bf67f26e086064a6c3d764294b791f7530011070f5083dd0a8faed7420e74c7109e14dea41ebee698b6646ba4a68384741b7465f67cc364b0a92bf9cb9
6
+ metadata.gz: 0e4a5d1254f8e2ab26d1b45168228a6d6fd6c955a42747474de99b109a9a4e1ad994c13e2743600f34531ba84ca8d41453dcd34c37185202ea230c2e3e484aed
7
+ data.tar.gz: 50bebebb6d4dfd1746a476a83b8d4923bd2f90ef2fcda630e1390abb7969ac49367a83674f5303e5e6e38d290b5a767b4e91468c5b7ca91d337262e7c568662b
data/README.md CHANGED
@@ -96,6 +96,10 @@ In a little district west of Washington Square the streets have run crazy and br
96
96
 
97
97
  ## History
98
98
 
99
+ ### 0.10.0
100
+
101
+ - support Images in EPUB
102
+
99
103
  ### 0.9.0
100
104
 
101
105
  - support Markdown (pipe) table
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'rake/clean'
5
5
  Rake::TestTask.new(:test) do |t|
6
6
  t.libs << "test"
7
7
  t.libs << "lib"
8
- t.options = "--max-diff-target-string-size=10000"
8
+ t.options = "--max-diff-target-string-size=100000"
9
9
  t.test_files = FileList["test/**/*_test.rb"]
10
10
  end
11
11
 
data/cheepub.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency "oga", "~> 2.15"
26
26
  spec.add_dependency "coderay"
27
27
  spec.add_dependency "rouge"
28
- spec.add_dependency "rb_latex", "~> 0.2.1"
28
+ spec.add_dependency "rb_latex", "~> 0.3.0"
29
29
 
30
30
  spec.add_development_dependency "rufo", "~> 0.3"
31
31
  spec.add_development_dependency "bundler", "~> 1.16"
data/lib/cheepub.rb CHANGED
@@ -20,7 +20,10 @@ require "cheepub/heading_parser"
20
20
  require "cheepub/heading_item"
21
21
  require "cheepub/nav"
22
22
  require "cheepub/converter/cheelatex"
23
+ require "cheepub/converter/cheehtml"
24
+ require "cheepub/asset_store"
23
25
 
24
26
  module Cheepub
25
27
  TEMPLATES_DIR = File.join(File.dirname(__FILE__), "../templates")
28
+ IMAGE_DIR = "images"
26
29
  end
@@ -0,0 +1,59 @@
1
+ require 'digest/sha2'
2
+ require 'base64'
3
+ require 'fileutils'
4
+ require 'tmpdir'
5
+ require 'pathname'
6
+ require 'open-uri'
7
+
8
+ module Cheepub
9
+ class AssetStore
10
+ def initialize(asset_dir, base_dir)
11
+ @store = {}
12
+ @asset_dir = Pathname.new(asset_dir)
13
+ @base_dir = Pathname.new(base_dir || ".")
14
+ end
15
+
16
+ def store(src, dir)
17
+ ext = File.extname(src)
18
+ if src =~ /^(https?:|\/)/
19
+ img_content = open(src){|f| f.read}
20
+ else
21
+ img_content = open(File.join(@base_dir, src)){|f| f.read}
22
+ end
23
+ img_path = asset_file_path(img_content, dir, ext)
24
+ if !@store[src]
25
+ @store[src] = img_path
26
+ FileUtils.mkdir_p(img_path.dirname.to_s)
27
+ File.write(img_path.to_s, img_content)
28
+ end
29
+ img_path.relative_path_from(@asset_dir)
30
+ end
31
+
32
+ def clear
33
+ FileUtils.remove_entry_secure(@asset_dir.to_s)
34
+ end
35
+
36
+ def [](key)
37
+ @store[key]
38
+ end
39
+
40
+ def []=(key,val)
41
+ @store[key] = val
42
+ end
43
+
44
+ def each_relpath_and_content(&proc)
45
+ @store.each do |key, val|
46
+ path = val.relative_path_from(@asset_dir)
47
+ content = File.read(val)
48
+ yield path.to_s, content
49
+ end
50
+ end
51
+
52
+ def asset_file_path(content, dir, ext)
53
+ hash_val = Digest::SHA256.digest(content)
54
+ basename = Base64.urlsafe_encode64(hash_val).gsub(/=/,"")
55
+ path = @asset_dir + dir + "#{basename}#{ext}"
56
+ path
57
+ end
58
+ end
59
+ end
@@ -2,6 +2,7 @@ require 'yaml'
2
2
 
3
3
  module Cheepub
4
4
  class Content
5
+ include Enumerable
5
6
  using Cheepub::ExtHash
6
7
 
7
8
  SEPARATOR_PATTERN = /\n\n(?:\={3,}|\-{6,})\s*\n\n/m
@@ -18,20 +19,9 @@ module Cheepub
18
19
  @pages = separate_pages(@body)
19
20
  end
20
21
 
21
- def converted_pages(target = :to_html)
22
- @pages.map{ |page| Cheepub::Markdown.new(page).__send__(target) }
23
- end
24
-
25
- def each_content_with_filename(ext)
26
- if ext == "xhtml"
27
- target = :to_html
28
- elsif ext == "tex"
29
- target = :to_latex
30
- else
31
- raise Cheepub::Error, "invalid ext: #{ext}"
32
- end
33
- converted_pages(target).each_with_index do |page, idx|
34
- yield page, "bodymatter_#{idx}.#{ext}"
22
+ def each
23
+ @pages.each do |page|
24
+ yield page
35
25
  end
36
26
  end
37
27
 
@@ -0,0 +1,29 @@
1
+ module Cheepub
2
+ module Converter
3
+ module CheeHtml
4
+
5
+ def initialize(root, options)
6
+ super
7
+ @asset_store = @options[:asset_store]
8
+ end
9
+
10
+ def convert_img(el, indent)
11
+ if !@options[:ignore_images]
12
+ replace_img_path(el)
13
+ end
14
+ super
15
+ end
16
+
17
+ def replace_img_path(el)
18
+ src = el.attr['src']
19
+ img_path = @asset_store.store(src, Cheepub::IMAGE_DIR)
20
+ el.attr['src'] = img_path
21
+ end
22
+ end
23
+ end
24
+ end
25
+
26
+ class Kramdown::Converter::Html
27
+ attr_reader :asset_store
28
+ prepend Cheepub::Converter::CheeHtml
29
+ end
@@ -14,6 +14,25 @@ module Cheepub
14
14
  end
15
15
  end
16
16
 
17
+ def convert_standalone_image(el, opts, img)
18
+ "#{img}\n"
19
+ end
20
+
21
+ def convert_img(el, opts)
22
+ line = el.options[:location]
23
+ angle = @options[:page_direction] == "rtl" ? 90 : 0
24
+ if el.attr['src'] =~ /^(https?|ftps?):\/\//
25
+ warning("Cannot include non-local image#{line ? " (line #{line})" : ''}")
26
+ ''
27
+ elsif !el.attr['src'].empty?
28
+ @data[:packages] << 'graphicx'
29
+ "#{latex_link_target(el)}\\includegraphics[angle=#{angle}]{#{el.attr['src']}}"
30
+ else
31
+ warning("Cannot include image with empty path#{line ? " (line #{line})" : ''}")
32
+ ''
33
+ end
34
+ end
35
+
17
36
  def convert_codeblock(el, opts)
18
37
  show_whitespace = el.attr['class'].to_s =~ /\bshow-whitespaces\b/
19
38
  lang = extract_code_language(el.attr)
@@ -11,6 +11,8 @@ module Cheepub
11
11
  def initialize(src, params = Hash.new)
12
12
  super
13
13
  @book = GEPUB::Book.new
14
+ @asset_store = AssetStore.new(Dir.mktmpdir("cheepub"), @src ? File.dirname(@src) : nil)
15
+ params[:asset_store] = @asset_store
14
16
  end
15
17
 
16
18
  def output_file(params)
@@ -33,22 +35,22 @@ module Cheepub
33
35
  ## book.date= params[:date] || Time.now
34
36
  @book.add_date(params[:date] || Time.now, nil)
35
37
  @book.lastmodified = params[:lastModified] || Time.now
36
- @book.page_progression_direction = params[:pageDirection]
38
+ @book.page_progression_direction = params[:pageDirection] || "ltr"
37
39
  style_content = apply_template("style.css.erb")
38
40
  @book.add_item("style.css").add_raw_content(style_content)
39
41
  @book.ordered do
40
42
  make_titlepage(params)
41
43
  nav = Cheepub::Nav.new(@content)
42
44
  @book.add_item('nav.xhtml', nil,nil,'properties'=>['nav']).add_raw_content(nav.to_html)
43
- @content.each_content_with_filename("xhtml") do |html, filename|
45
+ @content.each_with_index do |file, idx|
46
+ html = Cheepub::Markdown.new(file, asset_store: @asset_store).to_html
47
+ filename = "bodymatter_#{idx}.xhtml"
44
48
  @book.add_item(filename).add_raw_content(html)
45
49
  end
46
50
  end
47
- end
48
-
49
- def apply_template(template_file)
50
- template = File.read(File.join(Cheepub::TEMPLATES_DIR, template_file))
51
- return ERB.new(template).result(binding)
51
+ @asset_store.each_relpath_and_content do |path, content|
52
+ @book.add_item(path).add_raw_content(content)
53
+ end
52
54
  end
53
55
 
54
56
  def make_titlepage(params)
@@ -57,6 +59,11 @@ module Cheepub
57
59
  @book.add_item("titlepage.xhtml").add_raw_content(titlepage_content)
58
60
  end
59
61
  end
62
+
63
+ def apply_template(template_file)
64
+ template = File.read(File.join(Cheepub::TEMPLATES_DIR, template_file))
65
+ return ERB.new(template).result(binding)
66
+ end
60
67
  end
61
68
  end
62
69
  end
@@ -41,7 +41,9 @@ module Cheepub
41
41
  if params[:documentClass]
42
42
  @maker.document_class = params[:documentClass]
43
43
  end
44
- @content.each_content_with_filename("tex") do |content, filename|
44
+ @content.each_with_index do |file, idx|
45
+ content = Cheepub::Markdown.new(file, page_direction: params[:pageDirection]).to_latex
46
+ filename = "bodymatter_#{idx}.tex"
45
47
  @maker.add_item(filename, content)
46
48
  end
47
49
  end
data/lib/cheepub/nav.rb CHANGED
@@ -28,7 +28,11 @@ module Cheepub
28
28
  end
29
29
 
30
30
  def make_file_list
31
- @content.to_enum(:each_content_with_filename, "xhtml").map{|html,filename| [filename, html]}.to_a
31
+ @content.map.with_index do |file, idx|
32
+ html = Cheepub::Markdown.new(file, ignore_images: true).to_html
33
+ filename = "bodymatter_#{idx}.xhtml"
34
+ [filename, html]
35
+ end.to_a
32
36
  end
33
37
  end
34
38
  end
@@ -1,3 +1,3 @@
1
1
  module Cheepub
2
- VERSION = "0.9.0"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -0,0 +1,164 @@
1
+ ---
2
+ author: ベアトリクス・ポッター
3
+ title: あなうさピーターのはなし
4
+ creator:
5
+ trl: おおくぼゆう
6
+ publisher: 青空文庫
7
+ license: CC-BY 2.1 JP http://creativecommons.org/licenses/by/2.1/jp/
8
+ ---
9
+
10
+ # あなうさピーターのはなし
11
+
12
+ ## THE TALE OF PETER RABBIT
13
+
14
+ ## ベアトリクス・ポッター Beatrix Potter
15
+
16
+ ## おおくぼゆう やく
17
+
18
+
19
+ ![表紙絵](fig51344_01.png)
20
+
21
+ --------
22
+
23
+ ![口絵1](fig51344_02.png)
24
+ ![口絵2](fig51344_03.png)
25
+
26
+ ![挿絵1](fig51344_04.png)
27
+
28
+  むかしむかし あるところに 4ひきの こうさぎが おりました。 なまえは それぞれ
29
+      フロプシー、
30
+     モプシー、
31
+    カトンテル、
32
+   ピーターです。
33
+
34
+  4ひきは おかあさんと いっしょに とってもおおきな モミのきの したにある あなのなかに すんでいました。
35
+
36
+ ![挿絵2](fig51344_05.png)
37
+
38
+  あるひの あさ、 あなうさママが いいました。
39
+
40
+ 「さあ おまえたち、 のはらのなかや こみちのさきで あそんでらっしゃい。 でも、 マグレガーおじさんの おにわには いっちゃダメよ。 むかし おとうさんが そこで ひょんなことから マグレガーおばさんに つかまって パイに されたんだから。」
41
+
42
+ ![挿絵3](fig51344_06.png)
43
+
44
+ 「いってらっしゃい、 きを つけるのよ。 おかあさん、 るすに してるから。」
45
+
46
+ ![挿絵4](fig51344_07.png)
47
+
48
+  それから あなうさママは かごと かさを てにもって、 もりの むこうの パンやさんへ むかいました。 かったのは 1きんの くろパンと ぶどうパンを 5つです。
49
+
50
+ ![挿絵5](fig51344_08.png)
51
+
52
+  フロプシーと モプシーと カトンテルは とっても いいこでしたので、 こみちを くだって クロイチゴつみに でかけました。
53
+
54
+ ![挿絵6](fig51344_09.png)
55
+
56
+  けれども ピーターは ひどく やんちゃでしたので、 そのまま マグレガーおじさんの おにわに いちもくさん、 いりぐちの さくの したを むりくり くぐりぬけたのです!
57
+
58
+ ![挿絵7](fig51344_10.png)
59
+
60
+  すぐさま レタスと インゲンを かじって おまけに ハツカダイコンまで。
61
+
62
+ ![挿絵8](fig51344_11.png)
63
+
64
+  すると どうも きぶんが わるくなったので おくすりの パセリを さがすことに しました。
65
+
66
+ ![挿絵9](fig51344_12.png)
67
+
68
+  ところが キュウリの なえばこを まわったところで でくわしたのが、 なんと マグレガーおじさん!
69
+
70
+ ![挿絵10](fig51344_13.png)
71
+
72
+  マグレガーおじさんは よつんばいで キャベツのなえを うえていたのですが、 とびあがって ピーターを おいかけます。 くわを ふりふり さけぶのです。 「まてえ、 ぬすっと!」
73
+
74
+ ![挿絵11](fig51344_14.png)
75
+
76
+  ピーターは もう びっくりして ふるえあがって にわじゅうを かけまわりました。 それというのも いりぐちが どこにあったのか わからなくなったのです。
77
+  しかも キャベツばたけで くつを かたっぽ、 ジャガイモばたけで もうかたっぽを なくしてしまいました。
78
+
79
+ ![挿絵12](fig51344_15.png)
80
+
81
+  くつも ないので よつあしで はしると ぐんぐん はやくなって、 うまくいけば にげられたと おもうのですが、 うんわるく スグリの あみに つっこんでしまい、 うわぎの おおきな ボタンが ひっかかってしまったのです。 ちなみに あおの うわぎで しんちゅうの ボタンつき おろしたての ものでした。
82
+
83
+ ![挿絵13](fig51344_16.png)
84
+
85
+  ぼくは もう しぬんだな、 ピーターは おおつぶの なみだを ながしました。 でも そのなきごえが たまたま やさしい すずめたちにも きこえて、 そして あわてて そばに とんできて あきらめないでと いうのです。
86
+
87
+ ![挿絵14](fig51344_17.png)
88
+
89
+  マグレガーおじさんが やってきて もってきた ふるいを ピーターの うえから ぱっと かぶせようと しましたが、 ピーターは すんでのところで うわぎを ぬぎぬぎ あとに のこして にげだしました。
90
+
91
+ ![挿絵15](fig51344_18.png)
92
+
93
+  そして ものおきごやに かけこんで じょうろのなかに とびこみました。 とってもいい かくればだと おもったのに みずが たくさん はいっているなんて。
94
+
95
+ ![挿絵16](fig51344_19.png)
96
+
97
+  マグレガーおじさんには まるわかりでした。 ピーターは ぜったい ものおきごやの どこかに いる。 もしかすると うえきばちの なかかもしれない。 やがて そろりと もちあげて ひとつずつ なかを みるのです。
98
+  まさに そのとき ピーターが くしゃみを ——「はっくしゅん!」 マグレガーおじさんが たちまち ちかづきます。
99
+
100
+ ![挿絵17](fig51344_20.png)
101
+
102
+  あしで ふみつけられそうに なりましたが、 ピーターは まどの そとへと とびだして ついでに うえきを 3つ たおしました。 まどが ちいさすぎたので、 マグレガーおじさんも ピーターを おいかけるのを あきらめて のらしごとへ もどることに しました。
103
+
104
+ ![挿絵18](fig51344_21.png)
105
+
106
+  ピーターは ほっとして こしを おちつけます。 いきも きれぎれ、 こころも ぶるぶる、 どっちへいったら いいのか ちっとも わかりません。 しかも じょうろのなかに いたので もう ずぶぬれです。
107
+  しばらくして うろちょろ しはじめましたが、 とぼとぼ —— とぼとぼ —— ゆっくりと あるいて きょろきょろ。
108
+
109
+ ![挿絵19](fig51344_22.png)
110
+
111
+  かべに ドアを みつけましたが、 かぎが しまっていて したを くぐりぬけようにも ぷっくりした こうさぎの とおる すきまは ありません。
112
+  おかあさんねずみが いしの とぐちを はいったり でたりして きのなかで まっている かぞくに おまめを はこんでいます。 ピーターは そのねずみに いりぐちへの いきかたを ききましたが、 くちに おおきな おまめを くわえていましたので ねずみは なにも へんじが できません。 ただ くびを ふるだけなので、 ピーターは なみだが でてきました。
113
+
114
+ ![挿絵20](fig51344_23.png)
115
+
116
+  それから おにわを つっきって かえりみちを さがそうと しましたが、 よけいに まよってしまいました。 やがて マグレガーおじさんが みずくみをする ためいけのところへ たどりつきます。 しろい ねこが きんぎょを じっと にらんでいて ぴくりとも うごきませんが ときたま しっぽの さきが いきものみたいに くねくねと していました。 ピーターは そっとしておくのが いちばんだと おもいました。 いとこの ばにばにベンジャミンくんから ねこのことは それなりに きいていたのです。
117
+
118
+ ![挿絵21](fig51344_24.png)
119
+
120
+  ものおきごやに もどろうとすると いきなり すぐそばから くわの おとが きこえてきました。 さっくり、 さくさく、 さっくり。 ピーターは しげみのしたを あたふたと はしりまわります。 けれども なんということも ないので すぐに でていって ておしぐるまの うえへ のぼり ようすを うかがってみました。 まず みえたのが タマネギばたけを たがやす マグレガーおじさん、 ピーターには せなかを むけていて なんと そのむこうに いりぐちが あるのです!
121
+
122
+ ![挿絵22](fig51344_25.png)
123
+
124
+  ピーターは おとも たてずに ておしぐるまを おりて ぜんそくりょくで はしりだしました。 クロスグリの しげみのうら まっすぐ みちを すすみます。 かどのところで マグレガーおじさんに みつかりましたが ピーターは かまいません。 いりぐちのしたに すべりこんで とうとう にわのそと、 もりに はいれば あんぜんです。
125
+
126
+ ![挿絵23](fig51344_26.png)
127
+
128
+  マグレガーおじさんは ちいさな うわぎと くつを ぼうに ひっかけ からすよけの かかしに しました。 ピーターは そのままずっと はしりっぱなしで ふりかえることもなく おおきな モミのきの おうちまで かえりました。
129
+
130
+ ![挿絵24](fig51344_27.png)
131
+
132
+  もう くたくたなので うさぎあなの ふかふかした やわらかい つちの じめんに ねっころがると まぶたが すぐに おちます。 おかあさんは おりょうりの さいちゅうで てが はなせませんでしたが、 みにつけていたものは どうしたのかしらと くびを かしげました。 つい このあいだも うわぎと くつを なくしたっていうのに。
133
+
134
+ ![挿絵25](fig51344_28.png)
135
+
136
+  なんといったら いいのか、 ピーターは そのひの ばんは ずっと ぐあいが よくありませんでした。 おかあさんは ベッドに ねかしつけ カモミールの おちゃを つくってあげました。 ピーターへの おくすりと いうわけです!
137
+ 「ねるまえに おおさじいっぱい のむこと。」
138
+
139
+ ![挿絵26](fig51344_29.png)
140
+
141
+  かたや フロプシーと モプシーと カトンテルは ばんごはんに パンと ぎゅうにゅうと クロイチゴを たべました。
142
+
143
+
144
+ {: text-right}
145
+ (おしまい)
146
+
147
+ ------
148
+
149
+ 翻訳の底本:Beatrix Potter (1902) "The Tale of Peter Rabbit"
150
+    上記の翻訳底本は、著作権が失効しています。
151
+    2009(平成21)年11月12日翻訳
152
+    2010(平成22)年2月10日修正
153
+    2011(平成23)年8月9日微修正
154
+    2013(平成25)年9月1日修正
155
+ ※この翻訳は[「クリエイティブ・コモンズ 表示 2.1 日本 ライセンス」(http://creativecommons.org/licenses/by/2.1/jp/)](http://creativecommons.org/licenses/by/2.1/jp/)によって公開されています。
156
+ [![Creative Commons License](http://i.creativecommons.org/l/by/2.1/jp/88x31.png)](http://creativecommons.org/licenses/by/2.1/jp/)
157
+ 上記のライセンスに従って、訳者に断りなく自由に利用・複製・再配布することができます。
158
+ ※翻訳についてのお問い合わせは、青空文庫ではなく、[訳者本人(http://www.alz.jp/221b/)](http://www.alz.jp/221b/)までお願いします。
159
+ 翻訳者:大久保ゆう
160
+ 2014年3月26日作成
161
+ 青空文庫収録ファイル:
162
+ このファイルは、著作権者自らの意思により、インターネットの図書館、[青空文庫(http://www.aozora.gr.jp/)](http://www.aozora.gr.jp/)に収録されています。
163
+
164
+ 原文: [https://www.aozora.gr.jp/cards/001505/card51344.html](https://www.aozora.gr.jp/cards/001505/card51344.html)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheepub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - takahashim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-12 00:00:00.000000000 Z
11
+ date: 2018-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gepub
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.2.1
103
+ version: 0.3.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.2.1
110
+ version: 0.3.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rufo
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -212,8 +212,10 @@ files:
212
212
  - doc/README_ja.md
213
213
  - exe/cheepub
214
214
  - lib/cheepub.rb
215
+ - lib/cheepub/asset_store.rb
215
216
  - lib/cheepub/cli.rb
216
217
  - lib/cheepub/content.rb
218
+ - lib/cheepub/converter/cheehtml.rb
217
219
  - lib/cheepub/converter/cheelatex.rb
218
220
  - lib/cheepub/error.rb
219
221
  - lib/cheepub/ext_hash.rb
@@ -229,6 +231,36 @@ files:
229
231
  - lib/kramdown/parser/cheemarkdown.rb
230
232
  - misc/conv_entity.rb
231
233
  - misc/conv_ruby.rb
234
+ - samples/anausa_perter/anausa_peterno_hanashi.md
235
+ - samples/anausa_perter/fig51344_01.png
236
+ - samples/anausa_perter/fig51344_02.png
237
+ - samples/anausa_perter/fig51344_03.png
238
+ - samples/anausa_perter/fig51344_04.png
239
+ - samples/anausa_perter/fig51344_05.png
240
+ - samples/anausa_perter/fig51344_06.png
241
+ - samples/anausa_perter/fig51344_07.png
242
+ - samples/anausa_perter/fig51344_08.png
243
+ - samples/anausa_perter/fig51344_09.png
244
+ - samples/anausa_perter/fig51344_10.png
245
+ - samples/anausa_perter/fig51344_11.png
246
+ - samples/anausa_perter/fig51344_12.png
247
+ - samples/anausa_perter/fig51344_13.png
248
+ - samples/anausa_perter/fig51344_14.png
249
+ - samples/anausa_perter/fig51344_15.png
250
+ - samples/anausa_perter/fig51344_16.png
251
+ - samples/anausa_perter/fig51344_17.png
252
+ - samples/anausa_perter/fig51344_18.png
253
+ - samples/anausa_perter/fig51344_19.png
254
+ - samples/anausa_perter/fig51344_20.png
255
+ - samples/anausa_perter/fig51344_21.png
256
+ - samples/anausa_perter/fig51344_22.png
257
+ - samples/anausa_perter/fig51344_23.png
258
+ - samples/anausa_perter/fig51344_24.png
259
+ - samples/anausa_perter/fig51344_25.png
260
+ - samples/anausa_perter/fig51344_26.png
261
+ - samples/anausa_perter/fig51344_27.png
262
+ - samples/anausa_perter/fig51344_28.png
263
+ - samples/anausa_perter/fig51344_29.png
232
264
  - samples/jlreq-readme-ja.md
233
265
  - samples/sangetsuki.md
234
266
  - samples/thelastleaf.md