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 +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/md2key/diagram.rb +32 -0
- data/lib/md2key/keynote.rb +22 -4
- data/lib/md2key/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1cf4693796e56d3d6a71b6ffba465371cb059ed
|
4
|
+
data.tar.gz: 42f5b8d7da24ae84cc8444095279c270ad2f2e60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 051200ac1d701992b2099ca9d1763cb5ca34054ee5a23709770876fbd464a2c058c3377a3e320b5e3a76ac5f66252d0d8cc605f9623e360f482d872b3832391b
|
7
|
+
data.tar.gz: be6cf779fdbb5021c34ab33c1fd815bd8d84a2c258b66015b87cab52c5604df5a754f25b6354fe3cfea38a4214a57cef9a69972f0854c64fdcd8ef41f21be6c9
|
data/CHANGELOG.md
CHANGED
@@ -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
|
data/lib/md2key/keynote.rb
CHANGED
@@ -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
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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)
|
data/lib/md2key/version.rb
CHANGED
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.
|
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-
|
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
|