hpm118dwx4 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/hpm118dwx4.rb +28 -115
- data.tar.gz.sig +0 -0
- metadata +7 -27
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1364b9b66aea61a3e3d320a2f43095d68918138ab9fb69c8fe906404eb96abaa
|
4
|
+
data.tar.gz: 383ac69890aa9d53d687444cbd6248fac66dc9c54936d7632891575a7e61f697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b3eb220493d2a69e3866445473242750aae020699db60f72f04cdaad94eaa35a5c7b84ea9bf4cb2a342c5277614b16717bd53f1ad14b397f74a905354e74387
|
7
|
+
data.tar.gz: 7decfd5f61f4109a2455d41fe09da6fa97ab3e468e4d6be722d581c240cdd02d7eb4c7a756ea292d867581f489e238c9d33091d890a3518d2cdda5a96e816c65
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/hpm118dwx4.rb
CHANGED
@@ -2,155 +2,68 @@
|
|
2
2
|
|
3
3
|
# file: hpm118dwx4.rb
|
4
4
|
|
5
|
-
require 'rexle'
|
6
|
-
require 'rexle-builder'
|
7
|
-
require 'kramdown'
|
8
5
|
|
6
|
+
require 'htmlbook'
|
9
7
|
|
10
8
|
|
11
|
-
class HpM118dwx4
|
9
|
+
class HpM118dwx4 < HtmlBook
|
12
10
|
|
13
|
-
attr_reader :to_html
|
14
|
-
attr_accessor :pages
|
15
11
|
|
12
|
+
def initialize(filename='page.html', pg_height: 500, debug: false)
|
16
13
|
|
17
|
-
|
14
|
+
super(filename, pg_height: pg_height, debug: debug)
|
18
15
|
|
19
|
-
@filename, @pages, @debug = filename, [' ']*pages, debug
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
def build()
|
24
|
-
@to_html = build_html @pages
|
25
|
-
@doc = Rexle.new(@to_html)
|
26
|
-
end
|
27
|
-
|
28
|
-
def save(filename=@filename)
|
29
|
-
File.write filename, @doc.xml(pretty: true)
|
30
|
-
File.write filename.sub(/\.html$/, '.css'), css()
|
31
16
|
end
|
32
17
|
|
33
18
|
private
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
a =
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
x.each.with_index do |y,i|
|
47
|
-
|
48
|
-
xml.div({class: 'page ' + (97+i).chr}) do
|
49
|
-
xml.article Kramdown::Document.new(pages[y-1]).to_html
|
50
|
-
xml.footer do
|
51
|
-
xml.p({class: 'n'+ (y.odd? ? 'odd' : 'even')}, 'pg ' + (y).to_s)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
n+=1
|
56
|
-
|
57
|
-
end
|
58
|
-
end
|
19
|
+
|
20
|
+
def build_html(doc, pages)
|
21
|
+
|
22
|
+
doc = super(doc, pages)
|
23
|
+
|
24
|
+
# add the a, b, c, and d to each page
|
25
|
+
a = %w(a b c d).cycle
|
26
|
+
|
27
|
+
puts 'doc.xml: ' + doc.xml.inspect if @debug
|
28
|
+
|
29
|
+
doc.root.xpath('//body/div').each do |e|
|
30
|
+
e.attributes[:class] = ['page', a.next]
|
59
31
|
end
|
60
|
-
|
61
|
-
|
62
|
-
<!DOCTYPE html>
|
63
|
-
<html lang="en">
|
64
|
-
<head>
|
65
|
-
<title>Untitled Book</title>
|
66
|
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
67
|
-
<link rel="stylesheet" type="text/css" href="page.css" media="screen, projection, tv, print" />
|
68
|
-
</head>
|
69
|
-
#{Rexle.new(a).xml(declaration: false)}
|
70
|
-
</html>
|
71
|
-
EOF
|
72
|
-
|
73
|
-
Rexle.new(html).xml pretty: true
|
74
|
-
|
32
|
+
|
33
|
+
return doc
|
75
34
|
end
|
76
35
|
|
77
36
|
def css()
|
78
|
-
|
79
|
-
|
80
|
-
body {
|
81
|
-
height: 100%;
|
82
|
-
margin: 0;
|
83
|
-
padding: 0;
|
84
|
-
}
|
85
|
-
|
86
|
-
.page {
|
87
|
-
display: flex;
|
88
|
-
flex-direction: column;
|
89
|
-
min-height: 100%;
|
90
|
-
}
|
91
|
-
|
92
|
-
article {
|
93
|
-
flex: 1;
|
94
|
-
}
|
95
|
-
body {
|
96
|
-
font-size: 1.96em; margin: 0; padding: 0;
|
97
|
-
|
98
|
-
}
|
99
|
-
/*h1 {margin: 0; padding: 0}
|
100
|
-
h4 {margin: 0; padding: 0}
|
101
|
-
h5 {margin: 0; padding: 0}*/
|
102
|
-
/*p {margin: 0; padding: 0}*/
|
103
|
-
@media print {
|
104
|
-
.page {page-break-after: always;}
|
105
|
-
}
|
106
|
-
|
107
|
-
.page {
|
108
|
-
|
109
|
-
margin: 0; padding: 0;
|
110
|
-
border: 1px solid black;
|
111
|
-
/* height: 98vh; */
|
112
|
-
|
113
|
-
display: -webkit-box;
|
114
|
-
display: -ms-flexbox;
|
115
|
-
display: flex;
|
116
|
-
-webkit-box-orient: vertical;
|
117
|
-
-webkit-box-direction: normal;
|
118
|
-
-ms-flex-direction: column;
|
119
|
-
flex-direction: column;
|
120
|
-
min-height: 88%;
|
121
|
-
}
|
122
|
-
article {
|
123
|
-
-webkit-box-flex: 1;
|
124
|
-
-ms-flex: 1;
|
125
|
-
flex: 1;
|
126
|
-
}
|
127
|
-
|
37
|
+
|
38
|
+
s=<<CSS
|
39
|
+
body { font-size: 1.96em; }
|
128
40
|
.a {background-color: #fe2;}
|
129
41
|
.b {background-color: #ae2;}
|
130
42
|
.c {background-color: #8d2;}
|
131
43
|
.d {background-color: #aa2;}
|
132
44
|
.c, .d {
|
133
45
|
background-color: #a42; margin-top: 3.6em; padding-top: 0em;
|
134
|
-
/*height: 88vh;*/
|
135
46
|
min-height: 88%;
|
136
47
|
}
|
137
48
|
.b, .d {background-color: #aa2; margin-left: 2.3em;}
|
138
49
|
.a, .c {background-color: #aa2; margin-right: 2.1em;}
|
139
|
-
|
140
|
-
footer p.nodd {text-align: right;}
|
141
50
|
CSS
|
51
|
+
super() + s
|
52
|
+
|
142
53
|
end
|
143
54
|
|
144
|
-
def collate(
|
55
|
+
def collate(pages)
|
145
56
|
|
146
57
|
r = -2
|
147
|
-
a =
|
58
|
+
a = pages.length.times.each_slice(8).flat_map do |x|
|
148
59
|
x.map.with_index do |y,i|
|
149
|
-
puts 'r: ' + r.inspect
|
60
|
+
puts 'r: ' + r.inspect if @debug
|
150
61
|
r+= [3, 3, 1, 3, -5, -1, 5, -1][i]
|
151
62
|
r
|
152
63
|
end
|
153
64
|
end
|
65
|
+
puts 'before zip' if @debug
|
66
|
+
pages.zip(a)
|
154
67
|
end
|
155
68
|
|
156
69
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hpm118dwx4
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,48 +35,28 @@ cert_chain:
|
|
35
35
|
sNqMAscBKy6c1o1geOEoyzhNmvqOpnTx3Cq60JPxKVQVJ/t1Chk+hBsX7uWgYyx7
|
36
36
|
TQh7cRnUlJpo8YCfgLLW8CZa
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2019-11-
|
38
|
+
date: 2019-11-16 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '1.5'
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 1.5.3
|
50
|
-
type: :runtime
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '1.5'
|
57
|
-
- - ">="
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 1.5.3
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: kramdown
|
41
|
+
name: htmlbook
|
62
42
|
requirement: !ruby/object:Gem::Requirement
|
63
43
|
requirements:
|
64
44
|
- - ">="
|
65
45
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
46
|
+
version: 0.1.0
|
67
47
|
- - "~>"
|
68
48
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
49
|
+
version: '0.1'
|
70
50
|
type: :runtime
|
71
51
|
prerelease: false
|
72
52
|
version_requirements: !ruby/object:Gem::Requirement
|
73
53
|
requirements:
|
74
54
|
- - ">="
|
75
55
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
56
|
+
version: 0.1.0
|
77
57
|
- - "~>"
|
78
58
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
59
|
+
version: '0.1'
|
80
60
|
description:
|
81
61
|
email: james@jamesrobertson.eu
|
82
62
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|