pandoc_abnt 0.1.1 → 0.1.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
  SHA1:
3
- metadata.gz: 07c34f9436e69a9375b77006ac695067feae579c
4
- data.tar.gz: 8b504f45c1999bc448110e8397ab95f31abb7bb3
3
+ metadata.gz: 4700d2bf6bf46254a3ee2880a57d857443c9b610
4
+ data.tar.gz: 8cfe0a1879959d41f1330f3f8292693b6110de91
5
5
  SHA512:
6
- metadata.gz: 649e2f6bf1a7b982a9f9cf6230cea27cdd39a8e80a0a70eaf778deea39129c7461bdf445d4c14ba7d19ece57608f1c2715e00b9f6e2af72fc321a9b837c4e41f
7
- data.tar.gz: c29363c7f3eb7bbde0269c0fb19d7e33865bbc06ea5b84bfe7de9375c47b776f27bfde030e3f03d5197203f4f86e5f98d417d04a31465268c737e2b0e328cee1
6
+ metadata.gz: 9ad4adb6e7e07d77336b979cf8193f25b92a111f226777cad1c0551f45c677427d90391408b460b48bdf763ef54819f078f92ef729f47d4acd7f30e8517e1e6e
7
+ data.tar.gz: 388f94ea8898d93214f8a4436b15f3ef00e1a72cc32add9313a6b4bda71d32991a71cd1a4ee1910500c68c1beb2d704b4c9732a386cd257c9ecf4f70b59c7fa9
data/.travis.yml CHANGED
@@ -1,5 +1,10 @@
1
- sudo: false
1
+ dist: trusty
2
+ sudo: required
2
3
  language: ruby
3
4
  rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.13.2
5
+ - 2.3.1
6
+ before_install:
7
+ - gem install bundler -v 1.13.2
8
+ - sudo apt-get update -qq
9
+ - wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb && sudo dpkg -i pandoc-1.19.1-1-amd64.deb
10
+
data/exe/pandoc_abnt CHANGED
@@ -5,11 +5,9 @@ Encoding.default_external = Encoding::UTF_8
5
5
  Encoding.default_internal = Encoding::UTF_8
6
6
 
7
7
 
8
- require 'json'
9
-
10
- data = JSON.parse(STDIN.read)
8
+ require 'pandoc_abnt'
11
9
 
12
10
  ff = PandocAbnt::FiguraFilter.new
13
11
 
14
- $stdout << ff.filtra_json(data)
12
+ $stdout << ff.filtra_json(STDIN.read)
15
13
 
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'open3'
2
3
 
3
4
  module PandocAbnt
4
5
 
@@ -7,18 +8,16 @@ module PandocAbnt
7
8
  class FiguraFilter
8
9
 
9
10
  def reformata_figura_latex(latex_code, fonte)
10
-
11
11
  image_regex = /\\includegraphics.*/
12
12
  caption_regex = /\\caption.*/
13
13
 
14
-
15
14
  figura_abntex = <<LATEX
16
15
  \\begin{figure}[htbp]
17
16
  #{latex_code.match caption_regex}
18
17
  \\begin{center}
19
18
  #{latex_code.match image_regex}
20
19
  \\end{center}
21
- \\legend{#{fonte}}
20
+ \\legend{#{fonte.strip}}
22
21
  \\end{figure}
23
22
  LATEX
24
23
  end
@@ -36,7 +35,18 @@ LATEX
36
35
  node["t"] == "Para" and node["c"][0]["t"] == "Image"
37
36
  end
38
37
 
38
+ # Converte node para latex
39
39
  def convert_to_latex(node)
40
+ latex_code = nil
41
+ Open3.popen3("pandoc -f json -t latex --wrap=none") {|stdin, stdout, stderr, wait_thr|
42
+ stdin.write(node.to_json)
43
+ stdin.close # stdin, stdout and stderr should be closed explicitly in this form.
44
+ latex_code = stdout.read
45
+
46
+ pid = wait_thr.pid # pid of the started process.
47
+ exit_status = wait_thr.value # Process::Status object returned.
48
+ }
49
+ latex_code
40
50
  end
41
51
 
42
52
  def filtra_json(pandoc_json_tree)
@@ -50,17 +60,9 @@ LATEX
50
60
  tree[1].each do |node|
51
61
 
52
62
  if (fonte?(node) and imagem?(anterior)) then
53
- imagem_latex = convert_to_latex(anterior)
54
- fonte_latex = convert_to_latex(node)
55
- texcode = <<TEX
56
- \\begin{figure}[htbp]
57
- \\caption{Legenda da figura}\\label{id}
58
- \\begin{center}
59
- \\includegraphics[width=0.30000\\textwidth]{imagem.png}
60
- \\end{center}
61
- \\legend{Fonte: Autor}
62
- \\end{figure}
63
- TEX
63
+ imagem_latex = convert_to_latex([meta,[anterior]])
64
+ fonte_latex = convert_to_latex([meta,[node]])
65
+ texcode = reformata_figura_latex(imagem_latex, fonte_latex)
64
66
  raw_tex = {"t"=>"RawBlock","c"=>["latex",texcode]}
65
67
 
66
68
  filtrados.pop # remote o anterior
@@ -1,3 +1,3 @@
1
1
  module PandocAbnt
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pandoc_abnt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo de Santana Medeiros Alexandre
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-10 00:00:00.000000000 Z
11
+ date: 2017-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler