pandoc_abnt 0.1.1 → 0.1.2

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
  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