xpub 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -13
- data/bin/xpub +1 -2
- data/lib/xpub/dsl/book.rb +17 -17
- data/lib/xpub/dsl/builder.rb +17 -17
- data/lib/xpub/dsl/checker.rb +6 -5
- data/lib/xpub/dsl/page.rb +5 -4
- data/lib/xpub/dsl_accessor.rb +20 -0
- data/lib/xpub/version.rb +1 -1
- data/skel/Xpub +11 -11
- data/xpub.gemspec +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a579ef8c6e7e9d5466e33a3e546a291693e5aed5
|
4
|
+
data.tar.gz: c75ed4a1328a969cee318b099dbd740352945cdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1777154097204b47f7245fd25c03660876b2b91340784a8f9062dbd7d8f31af208d7a0a4ec20894c8c50aa17e943cc301e0894ddac0c545aaf75e457a3807ad
|
7
|
+
data.tar.gz: c872d2c9b36364f3192da333ec505d37aeead02b0addfda7700cf4422583111cc3e824d3aa8a7be1aec7153b59ce97231dd47734063ecccac64bfd31684d3480
|
data/README.md
CHANGED
@@ -113,7 +113,7 @@ $ xpub book -v
|
|
113
113
|
コマンドラインの実行結果を結果にかかわらず詳細に出力します。
|
114
114
|
|
115
115
|
```
|
116
|
-
$ xpub book --pandoc-json-output
|
116
|
+
$ xpub book --pandoc-json-output
|
117
117
|
```
|
118
118
|
|
119
119
|
pandocのjsonオブジェクトをtmpフォルダに生成します。デバック用です。
|
@@ -168,7 +168,7 @@ Xpub::book "sample" do
|
|
168
168
|
latex_builder "latex" do
|
169
169
|
documentclass "utbook"
|
170
170
|
classoption "11pt"
|
171
|
-
classoption "twocolumn"
|
171
|
+
classoption "twocolumn"
|
172
172
|
classoption "twoside"
|
173
173
|
classoption "a5j"
|
174
174
|
# prepartname "第"
|
@@ -181,24 +181,24 @@ Xpub::book "sample" do
|
|
181
181
|
# filter "pandoc-filter.rb"
|
182
182
|
|
183
183
|
hyoushi_image_page "h01" do
|
184
|
-
|
185
|
-
|
186
|
-
|
184
|
+
file "sample1.jpg"
|
185
|
+
topoffset "-0.8mm"
|
186
|
+
leftoffset "2.1mm"
|
187
187
|
end
|
188
188
|
hyoushi_empty_page "h02" do
|
189
|
-
|
189
|
+
no_page_number true
|
190
190
|
end
|
191
191
|
hyoushi_inner_title_page "title"
|
192
192
|
urahyoushi_empty_page "h03" do
|
193
|
-
|
193
|
+
no_page_number true
|
194
194
|
end
|
195
195
|
urahyoushi_image_page "h04" do#
|
196
|
-
|
197
|
-
|
198
|
-
|
196
|
+
file "sample1.jpg"
|
197
|
+
topoffset "-0.8mm"
|
198
|
+
leftoffset "-5mm"
|
199
199
|
end
|
200
200
|
end
|
201
|
-
|
201
|
+
|
202
202
|
epub_builder "epub" do
|
203
203
|
cover_image "sample1.jpg"
|
204
204
|
end
|
@@ -209,13 +209,13 @@ end
|
|
209
209
|
|
210
210
|
本ツールのMarkdownの形式は現在のところpandocの読み込み形式に従います。
|
211
211
|
|
212
|
-
EPUB出力では下記のオプションが与えられた物として動作します。
|
212
|
+
EPUB出力では下記のオプションが与えられた物として動作します。
|
213
213
|
|
214
214
|
```
|
215
215
|
markdown_phpextra+hard_line_breaks+raw_html
|
216
216
|
```
|
217
217
|
|
218
|
-
PDF出力では下記のオプションが与えられた物として動作します。
|
218
|
+
PDF出力では下記のオプションが与えられた物として動作します。
|
219
219
|
|
220
220
|
```
|
221
221
|
markdown_phpextra+hard_line_breaks+raw_tex
|
data/bin/xpub
CHANGED
@@ -11,7 +11,6 @@ require 'shellwords'
|
|
11
11
|
require 'erb'
|
12
12
|
require 'time'
|
13
13
|
require 'singleton'
|
14
|
-
require 'dsl_accessor'
|
15
14
|
require 'levenshtein'
|
16
15
|
|
17
16
|
require 'xpub/version.rb'
|
@@ -45,6 +44,7 @@ end
|
|
45
44
|
$:.unshift "#{curDir}/lib"
|
46
45
|
$:.unshift File.dirname(__FILE__) + "/../lib"
|
47
46
|
|
47
|
+
require "xpub/dsl_accessor"
|
48
48
|
require "xpub/dsl/book"
|
49
49
|
require "xpub/dsl/src_file"
|
50
50
|
require "xpub/dsl/builder"
|
@@ -81,4 +81,3 @@ else
|
|
81
81
|
puts opt.help
|
82
82
|
exit
|
83
83
|
end
|
84
|
-
|
data/lib/xpub/dsl/book.rb
CHANGED
@@ -2,18 +2,18 @@ module Xpub
|
|
2
2
|
class CallBook
|
3
3
|
attr_reader :name, :src_files, :resource_files, :creators, :contributors, :identifiers
|
4
4
|
|
5
|
-
dsl_accessor :title, :
|
6
|
-
dsl_accessor :subtitle
|
7
|
-
dsl_accessor :short
|
8
|
-
dsl_accessor :collection
|
9
|
-
dsl_accessor :edition
|
10
|
-
dsl_accessor :extended
|
11
|
-
dsl_accessor :publisher
|
12
|
-
dsl_accessor :rights
|
13
|
-
dsl_accessor :publication
|
14
|
-
dsl_accessor :modification
|
15
|
-
dsl_accessor :lang, :
|
16
|
-
dsl_accessor :description
|
5
|
+
dsl_accessor :title, :default => "UNTITLED"
|
6
|
+
dsl_accessor :subtitle
|
7
|
+
dsl_accessor :short
|
8
|
+
dsl_accessor :collection
|
9
|
+
dsl_accessor :edition
|
10
|
+
dsl_accessor :extended
|
11
|
+
dsl_accessor :publisher
|
12
|
+
dsl_accessor :rights
|
13
|
+
dsl_accessor :publication
|
14
|
+
dsl_accessor :modification
|
15
|
+
dsl_accessor :lang, :default => "ja"
|
16
|
+
dsl_accessor :description
|
17
17
|
|
18
18
|
def initialize name
|
19
19
|
@name = name
|
@@ -31,7 +31,7 @@ module Xpub
|
|
31
31
|
|
32
32
|
def build option
|
33
33
|
puts "build #{@name} book.".color :green
|
34
|
-
@builders.each { |b|
|
34
|
+
@builders.each { |b|
|
35
35
|
if !option[:builder] || option[:builder] == b.name
|
36
36
|
b.build option
|
37
37
|
end
|
@@ -40,7 +40,7 @@ module Xpub
|
|
40
40
|
|
41
41
|
def check option
|
42
42
|
puts "check #{@name} book.".color :green
|
43
|
-
@checkers.each { |c|
|
43
|
+
@checkers.each { |c|
|
44
44
|
if !option[:checker] || option[:checker] == c.name
|
45
45
|
c.check option
|
46
46
|
end
|
@@ -49,7 +49,7 @@ module Xpub
|
|
49
49
|
|
50
50
|
class CallAuthor
|
51
51
|
attr_reader :name
|
52
|
-
dsl_accessor :role
|
52
|
+
dsl_accessor :role
|
53
53
|
|
54
54
|
def initialize name
|
55
55
|
@name = name
|
@@ -79,8 +79,8 @@ module Xpub
|
|
79
79
|
|
80
80
|
class CallIdentifier
|
81
81
|
attr_reader :identifier
|
82
|
-
dsl_accessor :scheme
|
83
|
-
dsl_accessor :type_value
|
82
|
+
dsl_accessor :scheme
|
83
|
+
dsl_accessor :type_value
|
84
84
|
|
85
85
|
def initialize identifier
|
86
86
|
@identifier = identifier
|
data/lib/xpub/dsl/builder.rb
CHANGED
@@ -2,8 +2,8 @@ module Xpub
|
|
2
2
|
class CallBook
|
3
3
|
class CallBuilder
|
4
4
|
attr_reader :name
|
5
|
-
dsl_accessor :theme, :
|
6
|
-
dsl_accessor :output
|
5
|
+
dsl_accessor :theme, :default => "default"
|
6
|
+
dsl_accessor :output
|
7
7
|
|
8
8
|
def initialize name, book
|
9
9
|
@name = name
|
@@ -33,7 +33,7 @@ module Xpub
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def copy_to_tmp files
|
36
|
-
files.each { |file|
|
36
|
+
files.each { |file|
|
37
37
|
pn = Pathname.new tmp_path(file.file)
|
38
38
|
FileUtils.mkdir_p(pn.dirname) unless FileTest.exist?(pn.dirname)
|
39
39
|
|
@@ -62,13 +62,13 @@ module Xpub
|
|
62
62
|
end
|
63
63
|
|
64
64
|
class CallEpubBuilder < CallBuilder
|
65
|
-
dsl_accessor :template, :
|
66
|
-
dsl_accessor :filter, :
|
67
|
-
dsl_accessor :stylesheet, :
|
68
|
-
dsl_accessor :metadata, :
|
69
|
-
dsl_accessor :page_progression_direction, :
|
70
|
-
dsl_accessor :cover_image
|
71
|
-
dsl_accessor :pandoc_cmd, :
|
65
|
+
dsl_accessor :template, :default => "template.html"
|
66
|
+
dsl_accessor :filter, :default => "pandoc-filter.rb"
|
67
|
+
dsl_accessor :stylesheet, :default => "epub.css"
|
68
|
+
dsl_accessor :metadata, :default => "metadata.dat"
|
69
|
+
dsl_accessor :page_progression_direction, :default => "rtl"
|
70
|
+
dsl_accessor :cover_image
|
71
|
+
dsl_accessor :pandoc_cmd, :default => "pandoc"
|
72
72
|
|
73
73
|
def initialize name, book
|
74
74
|
@vars = []
|
@@ -146,7 +146,7 @@ module Xpub
|
|
146
146
|
metadata_option
|
147
147
|
]
|
148
148
|
if cover_image
|
149
|
-
option << "--epub-cover-image=" + src_path(cover_image)
|
149
|
+
option << "--epub-cover-image=" + src_path(cover_image)
|
150
150
|
end
|
151
151
|
option
|
152
152
|
end
|
@@ -173,12 +173,12 @@ module Xpub
|
|
173
173
|
end
|
174
174
|
|
175
175
|
class CallLatexBuilder < CallBuilder
|
176
|
-
dsl_accessor :template, :
|
177
|
-
dsl_accessor :filter, :
|
178
|
-
dsl_accessor :extractbb_cmd, :
|
179
|
-
dsl_accessor :pandoc_cmd, :
|
180
|
-
dsl_accessor :latex_cmd, :
|
181
|
-
dsl_accessor :dvipdfm_cmd, :
|
176
|
+
dsl_accessor :template, :default => "template.tex"
|
177
|
+
dsl_accessor :filter, :default => "pandoc-filter.rb"
|
178
|
+
dsl_accessor :extractbb_cmd, :default => "extractbb"
|
179
|
+
dsl_accessor :pandoc_cmd, :default => "pandoc"
|
180
|
+
dsl_accessor :latex_cmd, :default => "uplatex"
|
181
|
+
dsl_accessor :dvipdfm_cmd, :default => "dvipdfmx"
|
182
182
|
|
183
183
|
def initialize name, book
|
184
184
|
@vars = []
|
data/lib/xpub/dsl/checker.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Xpub
|
2
|
-
class CallBook
|
2
|
+
class CallBook
|
3
3
|
class CallChecker
|
4
|
+
|
4
5
|
def initialize name, book
|
5
6
|
@name = name
|
6
7
|
@book = book
|
@@ -11,9 +12,9 @@ module Xpub
|
|
11
12
|
|
12
13
|
def _check option, pattern
|
13
14
|
words = {}
|
14
|
-
@book.src_files.each do |file|
|
15
|
+
@book.src_files.each do |file|
|
15
16
|
f = open file.full_path
|
16
|
-
f.each_with_index do |line, index|
|
17
|
+
f.each_with_index do |line, index|
|
17
18
|
line.match(pattern) do |md|
|
18
19
|
if words[md[1]]
|
19
20
|
words[md[1]] << { :file => file.file, :line => (index + 1) }
|
@@ -25,10 +26,10 @@ module Xpub
|
|
25
26
|
f.close
|
26
27
|
end
|
27
28
|
|
28
|
-
words.sort.each do |word, infos|
|
29
|
+
words.sort.each do |word, infos|
|
29
30
|
if word
|
30
31
|
puts word.color :red
|
31
|
-
infos.each { |info|
|
32
|
+
infos.each { |info|
|
32
33
|
puts " #{info[:file]}(#{info[:line]})"
|
33
34
|
}
|
34
35
|
end
|
data/lib/xpub/dsl/page.rb
CHANGED
@@ -2,6 +2,7 @@ module Xpub
|
|
2
2
|
class CallBook
|
3
3
|
class CallLatexBuilder
|
4
4
|
class CallLatexOp
|
5
|
+
|
5
6
|
def initialize name, book, builder
|
6
7
|
@name = name
|
7
8
|
@book = book
|
@@ -24,9 +25,9 @@ module Xpub
|
|
24
25
|
end
|
25
26
|
|
26
27
|
class CallImgPageLatexOp < CallLatexOp
|
27
|
-
dsl_accessor :topoffset, :
|
28
|
-
dsl_accessor :leftoffset, :
|
29
|
-
dsl_accessor :file
|
28
|
+
dsl_accessor :topoffset, :default => "0in"
|
29
|
+
dsl_accessor :leftoffset, :default => "0in"
|
30
|
+
dsl_accessor :file
|
30
31
|
|
31
32
|
def latex book, builder
|
32
33
|
<<"EOS"
|
@@ -44,7 +45,7 @@ EOS
|
|
44
45
|
end
|
45
46
|
|
46
47
|
class CallEmptyPageLatexOp < CallLatexOp
|
47
|
-
dsl_accessor :no_page_number, :
|
48
|
+
dsl_accessor :no_page_number, :default => false
|
48
49
|
|
49
50
|
def latex book, builder
|
50
51
|
(no_page_number ? "\\thispagestyle{empty}" : "") + " \\clearpage\n"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Xpub
|
2
|
+
module DslAccessor
|
3
|
+
def dsl_accessor(name, *arg)
|
4
|
+
define_method("#{name}") do |*iarg|
|
5
|
+
if iarg.empty?
|
6
|
+
if !instance_variable_defined?("@#{name}") && arg[0] && arg[0][:default]
|
7
|
+
instance_variable_set("@#{name}", arg[0][:default])
|
8
|
+
end
|
9
|
+
instance_variable_get("@#{name}")
|
10
|
+
else
|
11
|
+
instance_variable_set("@#{name}", iarg[0])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Class
|
19
|
+
include Xpub::DslAccessor
|
20
|
+
end
|
data/lib/xpub/version.rb
CHANGED
data/skel/Xpub
CHANGED
@@ -31,7 +31,7 @@ Xpub::book "sample" do
|
|
31
31
|
latex_builder "latex" do
|
32
32
|
documentclass "utbook"
|
33
33
|
classoption "11pt"
|
34
|
-
classoption "twocolumn"
|
34
|
+
classoption "twocolumn"
|
35
35
|
classoption "twoside"
|
36
36
|
classoption "a5j"
|
37
37
|
# prepartname "第"
|
@@ -42,26 +42,26 @@ Xpub::book "sample" do
|
|
42
42
|
# theme "default"
|
43
43
|
# template "template.tex"
|
44
44
|
# filter "pandoc-filter.rb"
|
45
|
-
|
45
|
+
|
46
46
|
hyoushi_image_page "h01" do
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
file "sample1.jpg"
|
48
|
+
topoffset "-0.8mm"
|
49
|
+
leftoffset "2.1mm"
|
50
50
|
end
|
51
51
|
hyoushi_empty_page "h02" do
|
52
|
-
|
52
|
+
no_page_number true
|
53
53
|
end
|
54
54
|
hyoushi_inner_title_page "title"
|
55
55
|
urahyoushi_empty_page "h03" do
|
56
|
-
|
56
|
+
no_page_number true
|
57
57
|
end
|
58
58
|
urahyoushi_image_page "h04" do#
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
file "sample1.jpg"
|
60
|
+
topoffset "-0.8mm"
|
61
|
+
leftoffset "-5mm"
|
62
62
|
end
|
63
63
|
end
|
64
|
-
|
64
|
+
|
65
65
|
epub_builder "epub" do
|
66
66
|
cover_image "sample1.jpg"
|
67
67
|
end
|
data/xpub.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xpub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoshihisa AMAKATA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -53,19 +53,19 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: levenshtein
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.2.2
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.2.2
|
69
69
|
description: Xpub is EPUB and PDF publisher.
|
70
70
|
email:
|
71
71
|
- amakata@gmail.com
|
@@ -86,6 +86,7 @@ files:
|
|
86
86
|
- lib/xpub/dsl/checker.rb
|
87
87
|
- lib/xpub/dsl/page.rb
|
88
88
|
- lib/xpub/dsl/src_file.rb
|
89
|
+
- lib/xpub/dsl_accessor.rb
|
89
90
|
- lib/xpub/version.rb
|
90
91
|
- skel/.gitignore
|
91
92
|
- skel/Xpub
|