polytexnic 1.5.14 → 1.5.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e4e57065af409b7eb58f284e648d5868d04fc7d207c77a823e2bcb8a7e84958
4
- data.tar.gz: 19f51c672304bf134250ecb2ea485014c649d7f4741e230383afc88c60840c00
3
+ metadata.gz: 658a70a77afa54b8e643d68cfdf54d91119193ec2f31950eab313a6e1368ce95
4
+ data.tar.gz: 1d8ccad2438d6cf9b3d81f079c0c6b74e80bf0d3a3eb191f8a154f72143690ab
5
5
  SHA512:
6
- metadata.gz: 862fda861d2ef4c6afcc356478ca6d9ec7541c1670670611322c433aa7c669abbe924c4cb2452f124bf636a5241e24639df4fd466486368bea33222b29410c26
7
- data.tar.gz: efdc9c5a4f1d2dac32e4c31321072270cd4bd3c0cbbf4486d38959df61d51dd8ec9a6b157c70410721386b74485e85a8091e98423ddd6f10741861a905d9c6d1
6
+ metadata.gz: ca58630eba2304c132e5d3ee21d4de35df0bce99e37acc3ce164b712155f9a36476bb1ad6613d3920871b2b69a421c58637d6649061806cb93703ff1064f54c2
7
+ data.tar.gz: 348eeb92774d793146f981a9af82d698e14b2bcbb0bba3303e6be066acb76cbedb6340ea887f9d393b1ca6d9c3080f7617254110196f8d4cf815833291dac045
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- polytexnic (1.5.14)
4
+ polytexnic (1.5.15)
5
5
  json (~> 1.8.1)
6
6
  kramdown (~> 1.17)
7
7
  msgpack (~> 1.2.0)
@@ -28,7 +28,7 @@ GEM
28
28
  ffi (1.12.2)
29
29
  formatador (0.2.5)
30
30
  growl (1.0.3)
31
- guard (2.16.1)
31
+ guard (2.16.2)
32
32
  formatador (>= 0.2.4)
33
33
  listen (>= 2.7, < 4.0)
34
34
  lumberjack (>= 1.0.12, < 2.0)
@@ -48,7 +48,7 @@ GEM
48
48
  rb-fsevent (~> 0.10, >= 0.10.3)
49
49
  rb-inotify (~> 0.9, >= 0.9.10)
50
50
  lumberjack (1.2.4)
51
- method_source (0.9.2)
51
+ method_source (1.0.0)
52
52
  mime-types (3.3.1)
53
53
  mime-types-data (~> 3.2015)
54
54
  mime-types-data (3.2019.1009)
@@ -56,14 +56,14 @@ GEM
56
56
  msgpack (1.2.10)
57
57
  multi_json (1.14.1)
58
58
  nenv (0.3.0)
59
- nokogiri (1.10.8)
59
+ nokogiri (1.10.9)
60
60
  mini_portile2 (~> 2.4.0)
61
61
  notiffany (0.1.3)
62
62
  nenv (~> 0.1)
63
63
  shellany (~> 0.0)
64
- pry (0.12.2)
65
- coderay (~> 1.1.0)
66
- method_source (~> 0.9.0)
64
+ pry (0.13.0)
65
+ coderay (~> 1.1)
66
+ method_source (~> 1.0)
67
67
  pygments.rb (1.2.1)
68
68
  multi_json (>= 1.0.0)
69
69
  rake (13.0.1)
@@ -55,7 +55,6 @@ module Polytexnic
55
55
  mainmatter(doc)
56
56
  footnotes(doc)
57
57
  table_of_contents(doc)
58
- add_noindent(doc)
59
58
  convert_to_html(doc)
60
59
  end
61
60
 
@@ -1399,27 +1398,34 @@ module Polytexnic
1399
1398
  html << open << link.to_xhtml << '</li>'
1400
1399
  end
1401
1400
 
1401
+
1402
+ # NOTE: The add_noindent method has been superseded by CSS rules as shown in the
1403
+ # softcover gem's epub.css files.
1404
+ # See div.chapter > p:first-of-type and related rules in
1405
+ # ./lib/softcover/article_template/epub/OEBPS/styles/epub.css
1406
+ # of the softcover gem's source.
1407
+
1402
1408
  # Adds a noindent class where appropriate.
1403
1409
  # The purpose is to give the designer the option to indent all paragraphs but the first
1404
1410
  # one after the beginning of a chapter or section. The method is to add a "noindent" class
1405
1411
  # in the first paragraph after each division (chapter, section, etc.).
1406
- def add_noindent(doc)
1407
- divisions = %w[chapter section subsection subsubsection]
1408
- divisions += divisions.map { |division| "#{division}-star"}
1409
- divisions.each do |type|
1410
- doc.css("div.#{type}").each do |node|
1411
- if (first_paragraph = node.at_css('p'))
1412
- if first_paragraph['class'] == 'noindent'
1413
- next
1414
- elsif first_paragraph['class'].nil?
1415
- first_paragraph['class'] = 'noindent'
1416
- else
1417
- first_paragraph['class'] += ' noindent'
1418
- end
1419
- end
1420
- end
1421
- end
1422
- end
1412
+ # def add_noindent(doc)
1413
+ # divisions = %w[chapter section subsection subsubsection]
1414
+ # divisions += divisions.map { |division| "#{division}-star"}
1415
+ # divisions.each do |type|
1416
+ # doc.css("div.#{type}").each do |node|
1417
+ # if (first_paragraph = node.at_css('p'))
1418
+ # if first_paragraph['class'] == 'noindent'
1419
+ # next
1420
+ # elsif first_paragraph['class'].nil?
1421
+ # first_paragraph['class'] = 'noindent'
1422
+ # else
1423
+ # first_paragraph['class'] += ' noindent'
1424
+ # end
1425
+ # end
1426
+ # end
1427
+ # end
1428
+ # end
1423
1429
 
1424
1430
  # Cleans a node by removing all the given attributes.
1425
1431
  def clean_node(node, attributes)
@@ -1,3 +1,3 @@
1
1
  module Polytexnic
2
- VERSION = "1.5.14"
2
+ VERSION = "1.5.15"
3
3
  end
data/polytexnic.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Polytexnic::VERSION
9
9
  gem.authors = ["Michael Hartl", "Nick Merwin"]
10
10
  gem.email = ["michael@softcover.io"]
11
- gem.description = %q{Core translation engine for the polytexnic gem}
11
+ gem.description = %q{Core translation engine for the softcover gem}
12
12
  gem.summary = %q{Convert from PolyTeX & Markdown to HTML & LaTeX}
13
13
  gem.homepage = "https://polytexnic.org/"
14
14
  gem.license = "MIT"
@@ -32,7 +32,7 @@ describe 'Polytexnic::Pipeline#to_html' do
32
32
  <span class="number">Box 1.1.</span>
33
33
  <span class="description">Lorem ipsum.</span>
34
34
  </div>
35
- <p class="noindent">lorem ipsum</p>
35
+ <p>lorem ipsum</p>
36
36
  <p>dolor sit amet</p>
37
37
  </div>
38
38
  <p><a href="#aside-lorem" class="hyperref">Box <span class="ref">1.1</span></a></p>
@@ -76,4 +76,4 @@ describe 'Polytexnic::Pipeline#to_html' do
76
76
  it { should include ">1<" }
77
77
  end
78
78
  end
79
- end
79
+ end
@@ -202,7 +202,7 @@ describe 'Polytexnic::Pipeline#to_html' do
202
202
  <h2><a href="#foo_baz" class="heading">Foo: baz</a></h2>
203
203
  <div class="subsection-star">
204
204
  <h3><a class="heading">Bar</a></h3>
205
- <p class="noindent">Lorem ipsum</p>
205
+ <p>Lorem ipsum</p>
206
206
  </div>
207
207
  </div>
208
208
  <div id="cid1" data-tralics-id="cid1" class="section" data-number="1">
@@ -233,7 +233,7 @@ describe 'Polytexnic::Pipeline#to_html' do
233
233
  should resemble <<-'EOS'
234
234
  <div id="cha-foo_bar" data-tralics-id="cid1" class="chapter" data-number="1">
235
235
  <h1><a href="#cha-foo_bar" class="heading"><span class="number">Chapter 1 </span>Foo</a></h1>
236
- <p class="noindent"><a href="#cha-foo_bar" class="hyperref">Chapter <span class="ref">1</span></a>
236
+ <p><a href="#cha-foo_bar" class="hyperref">Chapter <span class="ref">1</span></a>
237
237
  and
238
238
  <a href="#cha-foo_baz" class="hyperref">Chapter <span class="ref">2</span></a>
239
239
  </p>
@@ -241,7 +241,7 @@ describe 'Polytexnic::Pipeline#to_html' do
241
241
 
242
242
  <div id="cha-foo_baz" data-tralics-id="cid2" class="chapter" data-number="2">
243
243
  <h1><a href="#cha-foo_baz" class="heading"><span class="number">Chapter 2 </span>Baz</a></h1>
244
- <p class="noindent"><a href="#cha-foo_baz" class="hyperref">Chapter <span class="ref">2</span></a>
244
+ <p><a href="#cha-foo_baz" class="hyperref">Chapter <span class="ref">2</span></a>
245
245
  and
246
246
  <a href="#cha-foo_bar" class="hyperref">Chapter <span class="ref">1</span></a>
247
247
  </p>
@@ -270,13 +270,13 @@ describe 'Polytexnic::Pipeline#to_html' do
270
270
  it do
271
271
  should resemble <<-'EOS'
272
272
  <div id="sec-foo" data-tralics-id="cid1" class="section" data-number="1"><h2><a href="#sec-foo" class="heading"><span class="number">1 </span>Foo</a></h2>
273
- <p class="noindent">
273
+ <p>
274
274
  <a href="#sec-bar" class="hyperref">Section <span class="ref">1.1</span></a>
275
275
  and
276
276
  <a href="#sec-baz" class="hyperref">Section <span class="ref">1.1.1</span></a>
277
277
  </p>
278
278
  <div id="sec-bar" data-tralics-id="uid1" class="subsection" data-number="1.1"><h3><a href="#sec-bar" class="heading"><span class="number">1.1 </span>Bar</a></h3>
279
- <p class="noindent"><a href="#sec-foo" class="hyperref">Section <span class="ref">1</span></a>
279
+ <p><a href="#sec-foo" class="hyperref">Section <span class="ref">1</span></a>
280
280
  </p>
281
281
  <div id="sec-baz" data-tralics-id="uid2" class="subsubsection" data-number="1.1.1">
282
282
  <h4><a href="#sec-baz" class="heading">Baz</a></h4>
@@ -298,7 +298,7 @@ describe 'Polytexnic::Pipeline#to_html' do
298
298
  should resemble <<-'EOS'
299
299
  <div id="cha-foo" data-tralics-id="cid1" class="chapter" data-number="1">
300
300
  <h1><a href="#cha-foo" class="heading"><span class="number">Chapter 1 </span>Foo</a></h1>
301
- <p class="noindent"><a href="#cha-bar" class="hyperref">Chapter <span class="undefined_ref">cha:bar</span></a>
301
+ <p><a href="#cha-bar" class="hyperref">Chapter <span class="undefined_ref">cha:bar</span></a>
302
302
  </p>
303
303
  </div>
304
304
  EOS
@@ -324,7 +324,7 @@ describe 'Polytexnic::Pipeline#to_html' do
324
324
  should resemble <<-'EOS'
325
325
  <div id="frontmatter" data-number="0">
326
326
  <div class="chapter-star" id="foo"><h1><a href="#foo" class="heading">Foo</a></h1>
327
- <p class="noindent">Lorem ipsum.<sup id="cha-0_footnote-ref-1" class="footnote"><a href="#cha-0_footnote-1">1</a></sup></p>
327
+ <p>Lorem ipsum.<sup id="cha-0_footnote-ref-1" class="footnote"><a href="#cha-0_footnote-1">1</a></sup></p>
328
328
  </div></div>
329
329
 
330
330
  <div id="cha-0_footnotes">
@@ -332,7 +332,7 @@ describe 'Polytexnic::Pipeline#to_html' do
332
332
  <div id="cha-0_footnote-1" class="footnote"><a class="footnote-link" href="#cha-0_footnote-ref-1">1.</a> Foo bar.</div>
333
333
  </div>
334
334
  </div><div id="cha-bar" data-tralics-id="cid1" class="chapter" data-number="1"><h1><a href="#cha-bar" class="heading"><span class="number">Chapter 1 </span>Bar</a></h1>
335
- <p class="noindent"><a href="#cha-bar" class="hyperref">Chapter <span class="ref">1</span></a>
335
+ <p><a href="#cha-bar" class="hyperref">Chapter <span class="ref">1</span></a>
336
336
  </p></div>
337
337
  EOS
338
338
  end
@@ -40,7 +40,7 @@ Listing~\ref{code:create_gemrc}
40
40
  </div>
41
41
  </div>
42
42
  </div>
43
- <p class="noindent"><a href="#code-create_gemrc" class="hyperref">Listing <span class="ref">1.1</span></a></p>
43
+ <p><a href="#code-create_gemrc" class="hyperref">Listing <span class="ref">1.1</span></a></p>
44
44
  </div>
45
45
  EOS
46
46
  end
@@ -121,4 +121,4 @@ Listing~\ref{code:create_gemrc}
121
121
  expect { processed_text }.not_to raise_error
122
122
  end
123
123
  end
124
- end
124
+ end
@@ -108,6 +108,25 @@ describe 'Polytexnic::Pipeline#to_html' do
108
108
  it { should_not resemble '<unknown>' }
109
109
  end
110
110
 
111
+ describe "explicit noindent" do
112
+ let(:polytex) { '\noindent lorem ipsum' }
113
+ it { should resemble '<p class="noindent">lorem ipsum</p>' }
114
+ end
115
+
116
+ describe "free span" do
117
+ let(:polytex) do <<-'EOS'
118
+ \chapter{Basics} % (fold)
119
+ \label{cha:basics}
120
+
121
+ %= <span class="free"></span>
122
+ EOS
123
+ end
124
+
125
+ it { should resemble('<span class="free"></span>') }
126
+ it { should_not resemble('<p><span class="free"></span></p>') }
127
+ end
128
+
129
+
111
130
  describe '\maketitle' do
112
131
 
113
132
  context "with all elements filled out explicitly" do
@@ -26,14 +26,14 @@ describe 'Polytexnic::Pipeline#to_html' do
26
26
  <div id="cha-foo" data-tralics-id="cid1" class="chapter" data-number="1"><h1><a href="#cha-foo" class="heading"><span class="number">Chapter 1 </span>Foo <em>bar</em></a></h1>
27
27
  </div>
28
28
  <div id="sec-foobar" data-tralics-id="cid2" class="section" data-number="1.1"><h2><a href="#sec-foobar" class="heading"><span class="number">1.1 </span>Foobar</a></h2>
29
- <p class="noindent">Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">1</a></sup></p>
29
+ <p>Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">1</a></sup></p>
30
30
  </div>
31
31
  <div id="cha-1_footnotes">
32
32
  <div class="footnotes">
33
33
  <div id="cha-1_footnote-1" class="footnote"><a class="footnote-link" href="#cha-1_footnote-ref-1">1.</a> Cicero</div>
34
34
  </div>
35
35
  </div><div id="cha-bar" data-tralics-id="cid3" class="chapter" data-number="2"><h1><a href="#cha-bar" class="heading"><span class="number">Chapter 2 </span>Bar</a></h1>
36
- <p class="noindent">Dolor sit amet.
36
+ <p>Dolor sit amet.
37
37
  </p></div>
38
38
  EOS
39
39
  end
@@ -66,14 +66,14 @@ describe 'Polytexnic::Pipeline#to_html' do
66
66
  <div id="cha-foo" data-tralics-id="cid1" class="chapter" data-number="1"><h1><a href="#cha-foo" class="heading"><span class="number">Chapter 1 </span>Foo <em>bar</em></a></h1>
67
67
  </div>
68
68
  <div id="sec-foobar" data-tralics-id="cid2" class="section" data-number="1.1"><h2><a href="#sec-foobar" class="heading"><span class="number">1.1 </span>Foobar</a></h2>
69
- <p class="noindent">Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">1</a></sup></p>
69
+ <p>Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">1</a></sup></p>
70
70
  </div>
71
71
  <div id="cha-1_footnotes">
72
72
  <div class="footnotes">
73
73
  <div id="cha-1_footnote-1" class="footnote"><a class="footnote-link" href="#cha-1_footnote-ref-1">1.</a> Cicero</div>
74
74
  </div>
75
75
  </div><div id="cha-bar" data-tralics-id="cid3" class="chapter" data-number="2"><h1><a href="#cha-bar" class="heading"><span class="number">Chapter 2 </span>Bar</a></h1>
76
- <p class="noindent">Dolor sit amet.<sup id="cha-2_footnote-ref-1" class="footnote"><a href="#cha-2_footnote-1">1</a></sup></p>
76
+ <p>Dolor sit amet.<sup id="cha-2_footnote-ref-1" class="footnote"><a href="#cha-2_footnote-1">1</a></sup></p>
77
77
  <p>Hey Jude.<sup id="cha-2_footnote-ref-2" class="footnote"><a href="#cha-2_footnote-2">2</a></sup>
78
78
  </p></div><div id="cha-2_footnotes">
79
79
  <div class="footnotes">
@@ -120,14 +120,14 @@ describe 'Polytexnic::Pipeline#to_html' do
120
120
  <div id="cha-foo" data-tralics-id="cid1" class="chapter" data-number="1"><h1><a href="#cha-foo" class="heading"><span class="number">Chapter 1 </span>Foo <em>bar</em></a></h1>
121
121
  </div>
122
122
  <div id="sec-foobar" data-tralics-id="cid2" class="section" data-number="1.1"><h2><a href="#sec-foobar" class="heading"><span class="number">1.1 </span>Foobar</a></h2>
123
- <p class="noindent">Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">*</a></sup></p>
123
+ <p>Lorem ipsum.<sup id="cha-1_footnote-ref-1" class="footnote"><a href="#cha-1_footnote-1">*</a></sup></p>
124
124
  </div>
125
125
  <div id="cha-1_footnotes">
126
126
  <div class="footnotes nonumbers">
127
127
  <div id="cha-1_footnote-1" class="footnote"><sup><a class="footnote-link" href="#cha-1_footnote-ref-1">*</a></sup> Cicero</div>
128
128
  </div>
129
129
  </div><div id="cha-bar" data-tralics-id="cid3" class="chapter" data-number="2"><h1><a href="#cha-bar" class="heading"><span class="number">Chapter 2 </span>Bar</a></h1>
130
- <p class="noindent">Dolor sit amet.<sup id="cha-2_footnote-ref-1" class="footnote"><a href="#cha-2_footnote-1">*</a></sup></p>
130
+ <p>Dolor sit amet.<sup id="cha-2_footnote-ref-1" class="footnote"><a href="#cha-2_footnote-1">*</a></sup></p>
131
131
  <p>Hey Jude!<sup id="cha-2_footnote-ref-2" class="footnote intersentence"><a href="#cha-2_footnote-2">†</a></sup><span class="intersentencespace"></span> Be afraid.<span class="intersentencespace"></span> </p></div>
132
132
  <div id="cha-2_footnotes">
133
133
  <div class="footnotes nonumbers">
@@ -250,7 +250,7 @@ describe 'Polytexnic::Pipeline#to_html' do
250
250
  <span class="description">This is another caption.</span>
251
251
  </div>
252
252
  </div>
253
- <p class="noindent">
253
+ <p>
254
254
  <a href="#fig-baz" class="hyperref">Figure <span class="ref">2.1</span></a>
255
255
  </p>
256
256
  </div>
@@ -268,7 +268,7 @@ describe 'Polytexnic::Pipeline#to_html' do
268
268
  <span class="description">Yet another.</span>
269
269
  </div>
270
270
  </div>
271
- <p class="noindent">
271
+ <p>
272
272
  <a href="#fig-foo" class="hyperref">Figure <span class="ref">1.1</span></a>
273
273
  and
274
274
  <a href="#fig-bar" class="hyperref">Figure <span class="ref">1.2</span></a>
@@ -378,4 +378,4 @@ describe 'Polytexnic::Pipeline#to_html' do
378
378
  end
379
379
  end
380
380
  end
381
- end
381
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polytexnic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.14
4
+ version: 1.5.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Hartl
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-02-21 00:00:00.000000000 Z
12
+ date: 2020-03-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -109,7 +109,7 @@ dependencies:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: 0.15.1
112
- description: Core translation engine for the polytexnic gem
112
+ description: Core translation engine for the softcover gem
113
113
  email:
114
114
  - michael@softcover.io
115
115
  executables:
@@ -296,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
296
  - !ruby/object:Gem::Version
297
297
  version: '0'
298
298
  requirements: []
299
- rubygems_version: 3.0.3
299
+ rubygems_version: 3.1.2
300
300
  signing_key:
301
301
  specification_version: 4
302
302
  summary: Convert from PolyTeX & Markdown to HTML & LaTeX