paru 0.4.1.2 → 0.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd33d3d1738034e8ffeb4edcf0430d51f8f0dc05f23511535a4ba3e33c923d23
4
- data.tar.gz: c430452f484459c451088ad84db7b603748ed67b3397250c6ad0e1c1773fb89d
3
+ metadata.gz: 4a9b46dce7962abd98b1fc68f3d47fdb3cb9043ed2b739a65089909985382bc5
4
+ data.tar.gz: 54b67bdf000ef4334c00fa4a784a3d380b86622b0aead7eb5d44e10b66df1465
5
5
  SHA512:
6
- metadata.gz: 89f884fd65ffa81c1be750c5d5ad82d96805c81cfedd3d52c9481e817f9d3cdc47d4a4c79f8d396264d18e9ac4d5dc574e7e5a720ce288a38441eefbc32649e7
7
- data.tar.gz: 3c12fd5b577195595dec08a398a01dcec4d1297b41a97768fa3077b13c224a385aa0eec624275b98c2db5a938a12efccdc6cfc984f968331ddaf1b6b98c9bf48
6
+ metadata.gz: 5bd0c91bc0ca5b8bb5557d9c5ef318bb0406a5d29c6f23bb99d4ff8b381b3068649ed129ea1e2da148dcde12261966af6e83cfc7fc26d74c686ab305c439033a
7
+ data.tar.gz: 278cad1486d341cdba097051ee325e28f21b447fa005cb883d5acd3ed44a6509f8715e308a3f671d189d423568f0e81eafe2d38624ccbe2550657ed7ed920207
@@ -18,5 +18,5 @@
18
18
  #++
19
19
  module Paru
20
20
  # Paru's current version
21
- VERSION = [0, 4, 1, 2]
21
+ VERSION = [0, 4, 2, 0]
22
22
  end
@@ -60,6 +60,10 @@ module Paru
60
60
  @children.map {|row| row.to_ast}
61
61
  ]
62
62
  end
63
+
64
+ def to_ast()
65
+ ast_contents()
66
+ end
63
67
  end
64
68
  end
65
69
  end
@@ -18,6 +18,7 @@
18
18
  #++
19
19
  require_relative "./block.rb"
20
20
  require_relative "./value.rb"
21
+ require_relative "./int_value.rb"
21
22
 
22
23
  module Paru
23
24
  module PandocFilter
@@ -44,8 +45,8 @@ module Paru
44
45
  def initialize(contents)
45
46
  @attr = Attr.new contents[0]
46
47
  @alignment = Value.new contents[1]
47
- @rowspan = Value.new contents[2]
48
- @colspan = Value.new contents[3]
48
+ @rowspan = IntValue.new contents[2]
49
+ @colspan = IntValue.new contents[3]
49
50
 
50
51
  super contents[4]
51
52
  end
@@ -62,6 +63,10 @@ module Paru
62
63
  @children.map {|child| child.to_ast}
63
64
  ]
64
65
  end
66
+
67
+ def to_ast()
68
+ ast_contents()
69
+ end
65
70
  end
66
71
  end
67
72
  end
@@ -36,7 +36,7 @@ module Paru
36
36
 
37
37
  # The current pandoc type version
38
38
  # @see https://hackage.haskell.org/package/pandoc-types
39
- CURRENT_PANDOC_VERSION = [1, 21]
39
+ CURRENT_PANDOC_VERSION = [1, 22]
40
40
 
41
41
  # Each file that is being filtered by pandoc is represented by a root
42
42
  # Document. It is the root node of the AST of the document in the file.
@@ -0,0 +1,39 @@
1
+ #--
2
+ # Copyright 2020 Huub de Beer <Huub@heerdebeer.org>
3
+ #
4
+ # This file is part of Paru
5
+ #
6
+ # Paru is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # Paru is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with Paru. If not, see <http://www.gnu.org/licenses/>.
18
+ #++
19
+ require_relative "./node.rb"
20
+ require_relative "../filter_error.rb"
21
+
22
+ module Paru
23
+ module PandocFilter
24
+
25
+ # An IntValue represents some sort of integer metadata about block or
26
+ # inline nodes
27
+ class IntValue
28
+ attr_accessor :value
29
+
30
+ def initialize(value)
31
+ @value = value
32
+ end
33
+
34
+ def to_ast()
35
+ @value
36
+ end
37
+ end
38
+ end
39
+ end
@@ -38,7 +38,10 @@ module Paru
38
38
  # this Row node
39
39
  def initialize(contents = [])
40
40
  @attr = Attr.new contents[0]
41
- super contents[1]
41
+ super []
42
+ contents[1].each do |cell|
43
+ @children.push Cell.new cell
44
+ end
42
45
  end
43
46
 
44
47
  # The cells of this row
@@ -58,6 +61,10 @@ module Paru
58
61
  ]
59
62
  end
60
63
 
64
+ def to_ast()
65
+ ast_contents()
66
+ end
67
+
61
68
  # Convert this Row to an array of markdown strings, one for
62
69
  # each cell
63
70
  #
@@ -54,11 +54,14 @@ module Paru
54
54
  # @param contents [Array]
55
55
  def initialize(contents)
56
56
  @attr = Attr.new contents[0]
57
- @caption = Caption.new contents[1]["c"]
57
+ @caption = Caption.new contents[1]
58
58
  @colspec = contents[2].map {|p| ColSpec.new p}
59
- @head = TableHead.new contents[3]["c"]
60
- super contents[4]
61
- @foot = TableFoot.new contents[5]["c"]
59
+ @head = TableHead.new contents[3]
60
+ super []
61
+ contents[4].each do |table_body|
62
+ @children.push TableBody.new table_body
63
+ end
64
+ @foot = TableFoot.new contents[5]
62
65
  end
63
66
 
64
67
  # The AST contents of this Table node
@@ -44,12 +44,12 @@ module Paru
44
44
  # @param contents [Array] The contents of this TableBody
45
45
  def initialize(contents)
46
46
  @attr = Attr.new contents[0]
47
- @rowheadcolumns = Value.new contents[1]
47
+ @rowheadcolumns = IntValue.new contents[1]
48
48
  @rowheadercolumns = contents[2].map {|r| Row.new r}
49
49
 
50
50
  super []
51
51
  contents[3].each do |row|
52
- @children.push Row.new row["c"]
52
+ @children.push Row.new row
53
53
  end
54
54
  end
55
55
 
@@ -71,6 +71,10 @@ module Paru
71
71
  @children.map {|child| child.to_ast}
72
72
  ]
73
73
  end
74
+
75
+ def to_ast()
76
+ ast_contents()
77
+ end
74
78
 
75
79
  # Convert this table end to a 2D table of markdown strings for each
76
80
  # cell
@@ -38,7 +38,10 @@ module Paru
38
38
  # @param contents [Array]
39
39
  def initialize(contents)
40
40
  @attr = Attr.new contents[0]
41
- super contents[1]
41
+ super []
42
+ contents[1].each do |row|
43
+ @children.push Row.new row
44
+ end
42
45
  end
43
46
 
44
47
  def rows()
@@ -54,6 +57,10 @@ module Paru
54
57
  @children.map {|row| row.to_ast},
55
58
  ]
56
59
  end
60
+
61
+ def to_ast()
62
+ ast_contents()
63
+ end
57
64
 
58
65
  # Convert this table end to a 2D table of markdown strings for each
59
66
  # cell
@@ -116,6 +116,7 @@ pdf_engine_opt: [""]
116
116
  #####
117
117
  # Citation rendering
118
118
  #####
119
+ citeproc: true
119
120
  bibliography: ""
120
121
  csl: ""
121
122
  citation_abbreviations: ""
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1.2
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Huub de Beer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-10-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Control pandoc with Ruby and write pandoc filters in Ruby
14
14
  email: Huub@heerdebeer.org
@@ -47,6 +47,7 @@ files:
47
47
  - lib/paru/filter/image.rb
48
48
  - lib/paru/filter/inline.rb
49
49
  - lib/paru/filter/inner_markdown.rb
50
+ - lib/paru/filter/int_value.rb
50
51
  - lib/paru/filter/line_block.rb
51
52
  - lib/paru/filter/line_break.rb
52
53
  - lib/paru/filter/link.rb
@@ -116,8 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
117
  - !ruby/object:Gem::Version
117
118
  version: '0'
118
119
  requirements: []
119
- rubyforge_project:
120
- rubygems_version: 2.7.7
120
+ rubygems_version: 3.1.2
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: Paru is a ruby wrapper around pandoc