pandocomatic 0.0.9 → 0.0.10

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
  SHA1:
3
- metadata.gz: a44551ae8ef21c752ab5072cba99dd5d063da81b
4
- data.tar.gz: e98391e7ee6b88d0801628dd8537df5218188bd2
3
+ metadata.gz: efffec683c3637d515e38f52cb5bae086b6370fb
4
+ data.tar.gz: 0eaee541072d94c45269d15a922d4d9c7ff64d59
5
5
  SHA512:
6
- metadata.gz: 9ae6b8a7fc663a3fab693776cb65b48457ee0b31bf6b9de05a919b64b2cdae9462d5a83849cb57629c4efe0bef90dd571b60ae4d992e5b6e93dc2f3f08bd9045
7
- data.tar.gz: fbef7ca72bb477753f559525e57a708458c4b43f95f7cef0ef8918ebadb759b1efa17c11f8437b0d314285c86e568c83f8b823aaedef569510862b02c656a67f
6
+ metadata.gz: 015290673a49536d9201f385fcb6b33dc8d2d9242d1592607a01cd868c3f740b498824756cc177888f4cbdec11a2ff1b9c5a054b25070d843e7a28ca1cb7d107
7
+ data.tar.gz: db20487b149bca4f44634b2f675e11940e94bb364c4bb7427fce399bbf72461178f7060a5290e7070551e161acd688d360699718d60bde269c286efd9d9f212f
@@ -5,6 +5,18 @@ module Pandocomatic
5
5
  require 'paru/pandoc'
6
6
 
7
7
  class PandocMetadata < Hash
8
+
9
+ # Paru converters:
10
+ # Note. When converting metadata back to the pandoc markdown format, you have
11
+ # to use the option "standalone", otherwise the metadata is skipped
12
+ PANDOC_2_JSON = Paru::Pandoc.new {from "markdown"; to "json"}
13
+ JSON_2_PANDOC = Paru::Pandoc.new {from "json"; to "markdown"; standalone}
14
+
15
+ # When converting a pandoc document to JSON, or vice versa, the JSON object
16
+ # has the following three properties:
17
+ VERSION = "pandoc-api-version"
18
+ META = "meta"
19
+ BLOCKS = "blocks"
8
20
 
9
21
  def initialize hash = {}
10
22
  super
@@ -26,16 +38,22 @@ module Pandocomatic
26
38
  end
27
39
 
28
40
  def self.pandoc2yaml document
29
- json_reader = Paru::Pandoc.new {from 'markdown'; to 'json'}
30
- json_document = JSON.parse json_reader << document
31
- yaml_metadata = ''
32
- metadata = json_document.first
33
- if metadata.has_key? "unMeta" and not metadata["unMeta"].empty? then
34
- json_metadata = [metadata, []]
35
- json_writer = Paru::Pandoc.new {from 'json'; to 'markdown'; standalone}
36
- yaml_metadata = json_writer << JSON.generate(json_metadata)
41
+ json = JSON.parse(PANDOC_2_JSON << File.read(document))
42
+ yaml = ""
43
+
44
+ version, metadata = json.values_at(VERSION, META)
45
+
46
+ if not metadata.empty? then
47
+ metadata_document = {
48
+ VERSION => version,
49
+ META => metadata,
50
+ BLOCKS => []
51
+ }
52
+
53
+ yaml = JSON_2_PANDOC << JSON.generate(metadata_document)
37
54
  end
38
- yaml_metadata
55
+
56
+ yaml
39
57
  end
40
58
 
41
59
  def has_template?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pandocomatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
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: 2015-04-02 00:00:00.000000000 Z
11
+ date: 2016-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paru
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.0'
19
+ version: '0.2'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.0.1
22
+ version: 0.2.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '0.0'
29
+ version: '0.2'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.0.1
32
+ version: 0.2.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: trollop
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ files:
69
69
  - lib/pandocomatic/processor.rb
70
70
  homepage: https://github.com/htdebeer/pandocomatic
71
71
  licenses:
72
- - GPL3
72
+ - GPL-3.0
73
73
  metadata: {}
74
74
  post_install_message:
75
75
  rdoc_options: []
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - pandoc, a universal document converer <http://pandoc.org>
90
90
  rubyforge_project:
91
- rubygems_version: 2.2.2
91
+ rubygems_version: 2.5.1
92
92
  signing_key:
93
93
  specification_version: 4
94
94
  summary: Automate the use of pandoc