md2key 0.6.0 → 0.6.1

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: 3c7595398a53c91167545a3c662be59191368ce2
4
- data.tar.gz: 3cd48b2fd10db287d216cc66763f42fbea4a6f74
3
+ metadata.gz: e1cf4693796e56d3d6a71b6ffba465371cb059ed
4
+ data.tar.gz: 42f5b8d7da24ae84cc8444095279c270ad2f2e60
5
5
  SHA512:
6
- metadata.gz: c17ea6fe7f45fc60317e86686aa8045177df35c5ca1010581a8a1afd7dbcacd1d4a390a088da9ac8892bf73258c35229bc72507e2c391406e48eac23ed1814e1
7
- data.tar.gz: 07ea02c224a2c633acc4b4c34e9bdc4e256f23bc6fe34d92ace3f9ee846f76babf7951d52dfa92dbfc513b210dc994d515150e66a2e3c7d56a1ee76bcca2e57c
6
+ metadata.gz: 051200ac1d701992b2099ca9d1763cb5ca34054ee5a23709770876fbd464a2c058c3377a3e320b5e3a76ac5f66252d0d8cc605f9623e360f482d872b3832391b
7
+ data.tar.gz: be6cf779fdbb5021c34ab33c1fd815bd8d84a2c258b66015b87cab52c5604df5a754f25b6354fe3cfea38a4214a57cef9a69972f0854c64fdcd8ef41f21be6c9
@@ -1,3 +1,9 @@
1
+ # v0.6.1
2
+
3
+ - Add support to draw flowchart and sequence
4
+ - https://github.com/k0kubun/md2key/pull/27
5
+ - Thanks to @codeant
6
+
1
7
  # v0.6.0
2
8
 
3
9
  - Add table support
@@ -0,0 +1,32 @@
1
+ module Md2key
2
+ class Diagram
3
+ class << self
4
+ # SEQUENCE_CONFIG_PATH = File.expand_path('../../assets/mermaid_sequence.config', __dir__)
5
+ # GANTT_CONFIG_PATH = File.expand_path('../../assets/mermaid_gantt.config', __dir__)
6
+ def generate_image_file(code)
7
+ ensure_mermaid_availability
8
+
9
+ file = Tempfile.new("diagram-#{code.extension}")
10
+ file.write(code.source)
11
+ file.close
12
+
13
+ output_dir = File.dirname(file.path)
14
+ image_path = ""
15
+ IO.popen("mermaid #{file.path} | grep 'saved png' | awk -F':' '\{print $2\}'", 'r+') do |info|
16
+ image_path = info.read.strip
17
+ file.unlink
18
+ end
19
+
20
+ return image_path
21
+ end
22
+
23
+ private
24
+
25
+ def ensure_mermaid_availability
26
+ return if system('which -s mermaid')
27
+
28
+ abort "`mermaid` is not available. Try `npm install -g phantomjs mermaid`."
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,4 +1,5 @@
1
1
  require 'md2key/pbcopy'
2
+ require 'md2key/diagram'
2
3
 
3
4
  module Md2key
4
5
  class Keynote
@@ -48,10 +49,27 @@ module Md2key
48
49
  end
49
50
 
50
51
  def insert_code(code)
51
- Highlight.pbcopy_highlighted_code(code)
52
- insert_code_background
53
- activate_last_slide
54
- paste_clipboard
52
+ draw_diagram = false
53
+ prefix = ""
54
+ case code.extension
55
+ when 'mermaid'
56
+ draw_diagram = true
57
+ when 'seq', 'sequence'
58
+ prefix = "sequenceDiagram\n"
59
+ draw_diagram = true
60
+ else
61
+ Highlight.pbcopy_highlighted_code(code)
62
+ insert_code_background
63
+ activate_last_slide
64
+ paste_clipboard
65
+ end
66
+
67
+ if draw_diagram
68
+ code.source = prefix + code.source
69
+ path = Diagram.generate_image_file(code)
70
+ insert_image(path)
71
+ File.unlink(path)
72
+ end
55
73
  end
56
74
 
57
75
  def insert_table(data)
@@ -1,3 +1,3 @@
1
1
  module Md2key
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: md2key
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-01 00:00:00.000000000 Z
11
+ date: 2016-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -113,6 +113,7 @@ files:
113
113
  - lib/md2key/cli.rb
114
114
  - lib/md2key/code.rb
115
115
  - lib/md2key/converter.rb
116
+ - lib/md2key/diagram.rb
116
117
  - lib/md2key/highlight.rb
117
118
  - lib/md2key/keynote.rb
118
119
  - lib/md2key/line.rb