md2key 0.4.1 → 0.4.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/md2key/keynote.rb +18 -22
- data/lib/md2key/version.rb +1 -1
- data/md2key.gemspec +0 -1
- data/scripts/activate_slide.scpt +13 -0
- data/scripts/create_empty_slide.scpt +5 -0
- data/scripts/create_slide.scpt +20 -0
- data/scripts/delete_extra_slides.scpt +17 -0
- data/scripts/delete_slide.scpt +9 -0
- data/scripts/insert_code_background.scpt +15 -0
- data/scripts/insert_image.scpt +25 -0
- data/scripts/paste_clipboard.scpt +7 -0
- data/scripts/slides_count.scpt +10 -0
- data/scripts/update_slide.scpt +14 -0
- metadata +11 -25
- data/lib/md2key/applescripts/activate_last_slide.applescript +0 -14
- data/lib/md2key/applescripts/create_slide.applescript +0 -19
- data/lib/md2key/applescripts/delete_extra_slides.applescript +0 -15
- data/lib/md2key/applescripts/delete_template_slide.applescript +0 -6
- data/lib/md2key/applescripts/ensure_template_slide_availability.applescript +0 -5
- data/lib/md2key/applescripts/insert_code_background.applescript +0 -17
- data/lib/md2key/applescripts/insert_image.applescript +0 -28
- data/lib/md2key/applescripts/paste_clipboard.applescript +0 -7
- data/lib/md2key/applescripts/slides_count.applescript +0 -8
- data/lib/md2key/applescripts/update_cover.applescript +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e830ebe50efe1de313b1293cb3a5f6f2e4c7944b
|
4
|
+
data.tar.gz: a5e61934898bc39b8bd1bf59ecdea062f871e0f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e82f90d69a2358795c691eb3c7b76b263b5755462826036e04dd10b98dfe25fec5e58f85ce466586440f7897cc3550e5826fd0d27425d85f81db235bbfcfb341
|
7
|
+
data.tar.gz: 77e78642f8125801b1648b1772e61c45ed27260175187e1e60aaf3553ce907dd6b24c63390ccca184af40d913cd4e7ac1585f9917205f0a477c8d38ba5a0f0b0
|
data/CHANGELOG.md
CHANGED
data/lib/md2key/keynote.rb
CHANGED
@@ -1,36 +1,36 @@
|
|
1
|
-
require 'unindent'
|
2
|
-
|
3
1
|
module Md2key
|
4
2
|
class Keynote
|
3
|
+
COVER_SLIDE_INDEX = 1
|
4
|
+
TEMPLATE_SLIDE_INDEX = 2
|
5
5
|
CODE_BACKGROUND_PATH = File.expand_path('../../assets/background.png', __dir__)
|
6
6
|
|
7
7
|
class << self
|
8
8
|
# You must provide a first slide as a cover slide.
|
9
|
-
def update_cover(title,
|
10
|
-
execute_applescript(
|
9
|
+
def update_cover(title, content)
|
10
|
+
execute_applescript('update_slide', title, content, COVER_SLIDE_INDEX)
|
11
11
|
end
|
12
12
|
|
13
13
|
def ensure_template_slide_availability
|
14
14
|
return if slides_count >= 2
|
15
|
-
execute_applescript(
|
15
|
+
execute_applescript('create_empty_slide')
|
16
16
|
end
|
17
17
|
|
18
18
|
# All slides after a second slide are unnecessary and deleted.
|
19
19
|
def delete_extra_slides
|
20
|
-
execute_applescript(
|
20
|
+
execute_applescript('delete_extra_slides', slides_count)
|
21
21
|
end
|
22
22
|
|
23
23
|
def delete_template_slide
|
24
|
-
execute_applescript(
|
24
|
+
execute_applescript('delete_slide', TEMPLATE_SLIDE_INDEX)
|
25
25
|
end
|
26
26
|
|
27
27
|
def create_slide(title, content)
|
28
|
-
execute_applescript(
|
28
|
+
execute_applescript('create_slide', title, content, TEMPLATE_SLIDE_INDEX)
|
29
29
|
end
|
30
30
|
|
31
31
|
# Insert image to the last slide
|
32
32
|
def insert_image(path)
|
33
|
-
execute_applescript(
|
33
|
+
execute_applescript('insert_image', slides_count, path, TEMPLATE_SLIDE_INDEX)
|
34
34
|
end
|
35
35
|
|
36
36
|
def insert_code(code)
|
@@ -43,34 +43,30 @@ module Md2key
|
|
43
43
|
private
|
44
44
|
|
45
45
|
def insert_code_background
|
46
|
-
execute_applescript(
|
46
|
+
execute_applescript('insert_code_background', slides_count, CODE_BACKGROUND_PATH)
|
47
47
|
end
|
48
48
|
|
49
49
|
def activate_last_slide
|
50
|
-
execute_applescript(
|
50
|
+
execute_applescript('activate_slide', slides_count)
|
51
51
|
end
|
52
52
|
|
53
53
|
def paste_clipboard
|
54
|
-
execute_applescript(
|
54
|
+
execute_applescript('paste_clipboard')
|
55
55
|
end
|
56
56
|
|
57
57
|
def slides_count
|
58
|
-
execute_applescript(
|
58
|
+
execute_applescript('slides_count').to_i
|
59
59
|
end
|
60
60
|
|
61
|
-
def execute_applescript(
|
62
|
-
path = script_path(script_name
|
63
|
-
|
64
|
-
command = "osascript #{path} #{args.join(' ')}"
|
65
|
-
`#{command + ' > /dev/null'}` if type == :void
|
66
|
-
`#{command}}`.to_i if type == :int
|
61
|
+
def execute_applescript(script_name, *args)
|
62
|
+
path = script_path(script_name)
|
63
|
+
`osascript #{path} "#{args.join('" "')}"`
|
67
64
|
end
|
68
65
|
|
69
66
|
def script_path(script_name)
|
70
|
-
|
71
|
-
File.join(
|
67
|
+
scripts_path = File.expand_path('../../scripts', __dir__)
|
68
|
+
File.join(scripts_path, "#{script_name}.scpt")
|
72
69
|
end
|
73
|
-
|
74
70
|
end
|
75
71
|
end
|
76
72
|
end
|
data/lib/md2key/version.rb
CHANGED
data/md2key.gemspec
CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "thor", "~> 0.19"
|
21
|
-
spec.add_dependency "unindent", "~> 1.0"
|
22
21
|
spec.add_dependency "redcarpet", "~> 3.3"
|
23
22
|
spec.add_dependency "oga", "~> 1.2"
|
24
23
|
spec.add_development_dependency "bundler", "~> 1.10"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
on run argv
|
2
|
+
set slideIndex to item 1 of argv as number
|
3
|
+
|
4
|
+
tell application "Keynote"
|
5
|
+
-- This can't be removed because using Cmd-v to paste.
|
6
|
+
activate
|
7
|
+
|
8
|
+
tell the front document
|
9
|
+
-- Workaround to focus on specified slide.
|
10
|
+
move slide slideIndex to before slide slideIndex
|
11
|
+
end tell
|
12
|
+
end tell
|
13
|
+
end run
|
@@ -0,0 +1,20 @@
|
|
1
|
+
on run argv
|
2
|
+
set slideTitle to item 1 of argv
|
3
|
+
set slideBody to item 2 of argv
|
4
|
+
set templateIndex to item 3 of argv as number
|
5
|
+
|
6
|
+
tell application "Keynote"
|
7
|
+
tell the front document
|
8
|
+
-- Workaround to select correct master slide. In spite of master slide can be selected by name,
|
9
|
+
-- name property is not limited to be unique.
|
10
|
+
-- So move the focus to second slide and force "make new slide" to use the exact master slide.
|
11
|
+
move slide templateIndex to before slide templateIndex
|
12
|
+
|
13
|
+
set newSlide to make new slide
|
14
|
+
tell newSlide
|
15
|
+
set object text of default title item to slideTitle
|
16
|
+
set object text of default body item to slideBody
|
17
|
+
end tell
|
18
|
+
end tell
|
19
|
+
end tell
|
20
|
+
end run
|
@@ -0,0 +1,17 @@
|
|
1
|
+
on run argv
|
2
|
+
set slidesCount to item 1 of argv as number
|
3
|
+
|
4
|
+
tell application "Keynote"
|
5
|
+
tell the front document
|
6
|
+
set i to slidesCount
|
7
|
+
|
8
|
+
repeat with s in slides
|
9
|
+
if i > 2 then
|
10
|
+
delete slide i
|
11
|
+
end if
|
12
|
+
|
13
|
+
set i to i - 1
|
14
|
+
end repeat
|
15
|
+
end tell
|
16
|
+
end tell
|
17
|
+
end run
|
@@ -0,0 +1,15 @@
|
|
1
|
+
on run argv
|
2
|
+
set lastIndex to item 1 of argv as number
|
3
|
+
set theImage to item 2 of argv as POSIX file
|
4
|
+
|
5
|
+
tell application "Keynote"
|
6
|
+
tell the front document
|
7
|
+
set docWidth to its width
|
8
|
+
set docHeight to its height
|
9
|
+
|
10
|
+
tell slide lastIndex
|
11
|
+
make new image with properties { opacity: 80, file: theImage, width: docWidth - 180, position: { 90, 240 } }
|
12
|
+
end tell
|
13
|
+
end tell
|
14
|
+
end tell
|
15
|
+
end run
|
@@ -0,0 +1,25 @@
|
|
1
|
+
on run argv
|
2
|
+
set lastIndex to item 1 of argv as number
|
3
|
+
set theImage to item 2 of argv as POSIX file
|
4
|
+
set templateIndex to item 3 of argv as number
|
5
|
+
|
6
|
+
tell application "Keynote"
|
7
|
+
tell the front document
|
8
|
+
set docWidth to its width
|
9
|
+
set docHeight to its height
|
10
|
+
|
11
|
+
-- Create temporary slide to fix the image size
|
12
|
+
tell slide templateIndex
|
13
|
+
set imgFile to make new image with properties { file: theImage, width: docWidth / 3 }
|
14
|
+
tell imgFile
|
15
|
+
set imgWidth to its width
|
16
|
+
set imgHeight to its width
|
17
|
+
end tell
|
18
|
+
end tell
|
19
|
+
|
20
|
+
tell slide lastIndex
|
21
|
+
make new image with properties { file: theImage, width: imgWidth, position: { docWidth - imgWidth - 60, docHeight / 2 - imgHeight / 2 } }
|
22
|
+
end tell
|
23
|
+
end tell
|
24
|
+
end tell
|
25
|
+
end run
|
@@ -0,0 +1,14 @@
|
|
1
|
+
on run argv
|
2
|
+
set slideTitle to item 1 of argv
|
3
|
+
set slideBody to item 2 of argv
|
4
|
+
set slideIndex to item 3 of argv as number
|
5
|
+
|
6
|
+
tell application "Keynote"
|
7
|
+
tell the front document
|
8
|
+
tell slide slideIndex
|
9
|
+
set object text of default title item to slideTitle
|
10
|
+
set object text of default body item to slideBody
|
11
|
+
end tell
|
12
|
+
end tell
|
13
|
+
end tell
|
14
|
+
end run
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: md2key
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.19'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: unindent
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '1.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: redcarpet
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,16 +110,6 @@ files:
|
|
124
110
|
- assets/background.png
|
125
111
|
- bin/md2key
|
126
112
|
- lib/md2key.rb
|
127
|
-
- lib/md2key/applescripts/activate_last_slide.applescript
|
128
|
-
- lib/md2key/applescripts/create_slide.applescript
|
129
|
-
- lib/md2key/applescripts/delete_extra_slides.applescript
|
130
|
-
- lib/md2key/applescripts/delete_template_slide.applescript
|
131
|
-
- lib/md2key/applescripts/ensure_template_slide_availability.applescript
|
132
|
-
- lib/md2key/applescripts/insert_code_background.applescript
|
133
|
-
- lib/md2key/applescripts/insert_image.applescript
|
134
|
-
- lib/md2key/applescripts/paste_clipboard.applescript
|
135
|
-
- lib/md2key/applescripts/slides_count.applescript
|
136
|
-
- lib/md2key/applescripts/update_cover.applescript
|
137
113
|
- lib/md2key/cli.rb
|
138
114
|
- lib/md2key/code.rb
|
139
115
|
- lib/md2key/converter.rb
|
@@ -143,6 +119,16 @@ files:
|
|
143
119
|
- lib/md2key/slide.rb
|
144
120
|
- lib/md2key/version.rb
|
145
121
|
- md2key.gemspec
|
122
|
+
- scripts/activate_slide.scpt
|
123
|
+
- scripts/create_empty_slide.scpt
|
124
|
+
- scripts/create_slide.scpt
|
125
|
+
- scripts/delete_extra_slides.scpt
|
126
|
+
- scripts/delete_slide.scpt
|
127
|
+
- scripts/insert_code_background.scpt
|
128
|
+
- scripts/insert_image.scpt
|
129
|
+
- scripts/paste_clipboard.scpt
|
130
|
+
- scripts/slides_count.scpt
|
131
|
+
- scripts/update_slide.scpt
|
146
132
|
homepage: https://github.com/k0kubun/md2key
|
147
133
|
licenses: []
|
148
134
|
metadata: {}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
-- First argument - title
|
2
|
-
-- Second arument - content
|
3
|
-
on run argv
|
4
|
-
tell application "Keynote"
|
5
|
-
tell the front document
|
6
|
-
-- Workaround to select correct master slide. In spite of master slide can be selected by name,
|
7
|
-
-- name property is not limited to be unique.
|
8
|
-
-- So move the focus to second slide and force "make new slide" to use the exact master slide.
|
9
|
-
set TEMPLATE_SLIDE_INDEX to 2
|
10
|
-
move slide TEMPLATE_SLIDE_INDEX to before slide TEMPLATE_SLIDE_INDEX
|
11
|
-
|
12
|
-
set newSlide to make new slide
|
13
|
-
tell newSlide
|
14
|
-
set object text of default title item to first item of argv
|
15
|
-
set object text of default body item to second item of argv
|
16
|
-
end tell
|
17
|
-
end tell
|
18
|
-
end tell
|
19
|
-
end run
|
@@ -1,15 +0,0 @@
|
|
1
|
-
-- First argument - slides count
|
2
|
-
on run argv
|
3
|
-
tell application "Keynote"
|
4
|
-
set theSlides to slides of the front document
|
5
|
-
set n to first item of argv as number
|
6
|
-
|
7
|
-
repeat with theSlide in theSlides
|
8
|
-
if n > 2 then
|
9
|
-
delete slide n of the front document
|
10
|
-
end if
|
11
|
-
|
12
|
-
set n to n - 1
|
13
|
-
end repeat
|
14
|
-
end tell
|
15
|
-
end run
|
@@ -1,17 +0,0 @@
|
|
1
|
-
-- First argument - slides count
|
2
|
-
-- Second argument - code background path
|
3
|
-
|
4
|
-
on run argv
|
5
|
-
tell application "Keynote"
|
6
|
-
tell the front document
|
7
|
-
set theSlide to slide (first item of argv as number)
|
8
|
-
set theImage to second item of argv as POSIX file
|
9
|
-
set docWidth to its width
|
10
|
-
set docHeight to its height
|
11
|
-
|
12
|
-
tell theSlide
|
13
|
-
make new image with properties {opacity:80, file:theImage, width:docWidth - 180, position:{90, 240}}
|
14
|
-
end tell
|
15
|
-
end tell
|
16
|
-
end tell
|
17
|
-
end run
|
@@ -1,28 +0,0 @@
|
|
1
|
-
-- First argument - slides count
|
2
|
-
-- Second argument - POSIX path
|
3
|
-
on run argv
|
4
|
-
tell application "Keynote"
|
5
|
-
tell the front document
|
6
|
-
set TEMPLATE_SLIDE_INDEX to 2
|
7
|
-
|
8
|
-
set slideNumber to first item of argv as number
|
9
|
-
set theSlide to slide slideNumber
|
10
|
-
set theImage to second item of argv as POSIX file
|
11
|
-
set docWidth to its width
|
12
|
-
set docHeight to its height
|
13
|
-
|
14
|
-
-- Create temporary slide to fix the image size
|
15
|
-
tell slide TEMPLATE_SLIDE_INDEX
|
16
|
-
set imgFile to make new image with properties { file:theImage, width:docWidth / 3 }
|
17
|
-
tell imgFile
|
18
|
-
set imgWidth to its width
|
19
|
-
set imgHeight to its width
|
20
|
-
end tell
|
21
|
-
end tell
|
22
|
-
|
23
|
-
tell theSlide
|
24
|
-
make new image with properties {file:theImage, width:imgWidth, position:{ docWidth - imgWidth - 60, docHeight / 2 - imgHeight / 2 } }
|
25
|
-
end tell
|
26
|
-
end tell
|
27
|
-
end tell
|
28
|
-
end run
|
@@ -1,14 +0,0 @@
|
|
1
|
-
-- First argument - title
|
2
|
-
-- Second argument - sub
|
3
|
-
on run argv
|
4
|
-
tell application "Keynote"
|
5
|
-
set COVER_SLIDE_INDEX to 1
|
6
|
-
|
7
|
-
tell the front document
|
8
|
-
tell slide COVER_SLIDE_INDEX
|
9
|
-
set object text of default title item to first item of argv
|
10
|
-
set object text of default body item to second item of argv
|
11
|
-
end tell
|
12
|
-
end tell
|
13
|
-
end tell
|
14
|
-
end run
|