slideshow 1.2.0.beta2 → 1.2.0.beta3
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.
- data/config/slideshow.yml +8 -1
- data/lib/slideshow/cli/commands/quick.rb +62 -9
- data/lib/slideshow/cli/opts.rb +8 -0
- data/lib/slideshow/cli/runner.rb +4 -1
- data/lib/slideshow/config.rb +5 -0
- data/lib/slideshow/version.rb +1 -1
- metadata +4 -4
data/config/slideshow.yml
CHANGED
@@ -88,4 +88,11 @@ fetch:
|
|
88
88
|
csss: https://github.com/geraldb/slideshow-csss/raw/master/csss.txt
|
89
89
|
deck.js: https://github.com/geraldb/slideshow-deck.js/raw/master/deck.js.txt
|
90
90
|
impress.js: https://github.com/geraldb/slideshow-impress.js/raw/master/impress.js.txt
|
91
|
-
shower: https://github.com/geraldb/slideshow-shower/raw/master/shower.txt
|
91
|
+
shower: https://github.com/geraldb/slideshow-shower/raw/master/shower.txt
|
92
|
+
|
93
|
+
###########################
|
94
|
+
# shortcuts for quick starter templates
|
95
|
+
quick:
|
96
|
+
slidy: https://github.com/geraldb/slideshow-slidy/raw/master/slidy.txt.quick
|
97
|
+
deck.js: https://github.com/geraldb/slideshow-deck.js/raw/master/deck.js.txt.quick
|
98
|
+
impress.js: https://github.com/geraldb/slideshow-impress.js/raw/master/impress.js.txt.quick
|
@@ -13,17 +13,26 @@ class Quick
|
|
13
13
|
attr_reader :logger, :opts, :config
|
14
14
|
|
15
15
|
def run
|
16
|
-
manifest_name =
|
16
|
+
manifest_name = opts.quick_manifest
|
17
|
+
|
18
|
+
### todo:fix: always download quickstart templates (except welcome?)
|
19
|
+
# how to make sure the won't go stale in the cache after the download?
|
17
20
|
|
18
21
|
manifests = installed_quick_manifests
|
19
|
-
matches = manifests.select { |m| m[0] == manifest_name }
|
22
|
+
matches = manifests.select { |m| m[0] == manifest_name+'.txt.quick' }
|
20
23
|
|
21
24
|
if matches.empty?
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
+
fetch_pak( manifest_name )
|
26
|
+
|
27
|
+
# retry
|
28
|
+
manifests = installed_quick_manifests
|
29
|
+
matches = manifests.select { |m| m[0] == manifest_name+'.txt.quick' }
|
30
|
+
if matches.empty?
|
31
|
+
puts "*** error: quickstart template #{manifest_name} not found"
|
32
|
+
exit 2
|
33
|
+
end
|
25
34
|
end
|
26
|
-
|
35
|
+
|
27
36
|
manifestsrc = matches[0][1]
|
28
37
|
pakpath = opts.output_path
|
29
38
|
|
@@ -31,16 +40,60 @@ class Quick
|
|
31
40
|
|
32
41
|
Pakman::Copier.new( logger ).copy_pak( manifestsrc, pakpath )
|
33
42
|
end
|
43
|
+
|
44
|
+
|
45
|
+
def fetch_pak( shortcut )
|
46
|
+
|
47
|
+
src = config.map_quick_shortcut( shortcut )
|
48
|
+
|
49
|
+
if src.nil?
|
50
|
+
puts "*** error: no mapping found for quick shortcut '#{shortcut}'."
|
51
|
+
exit 2
|
52
|
+
end
|
53
|
+
|
54
|
+
puts " Mapping quick shortcut '#{shortcut}' to: #{src}"
|
55
|
+
|
56
|
+
|
57
|
+
# src = 'http://github.com/geraldb/slideshow/raw/d98e5b02b87ee66485431b1bee8fb6378297bfe4/code/templates/fullerscreen.txt'
|
58
|
+
# src = 'http://github.com/geraldb/sandbox/raw/13d4fec0908fbfcc456b74dfe2f88621614b5244/s5blank/s5blank.txt'
|
59
|
+
uri = URI.parse( src )
|
60
|
+
logger.debug "scheme: #{uri.scheme}, host: #{uri.host}, port: #{uri.port}, path: #{uri.path}"
|
61
|
+
|
62
|
+
basename = File.basename( uri.path, '.*' ) # e.g. fullerscreen (without extension)
|
63
|
+
logger.debug "basename: #{basename}"
|
64
|
+
|
65
|
+
#### fix: in find manifests
|
66
|
+
## check for directories!!!
|
67
|
+
## exclude directories in match
|
68
|
+
|
69
|
+
|
70
|
+
## remove (.txt) in basename
|
71
|
+
pakpath = File.expand_path( "#{config.config_dir}/quick/#{basename.gsub('.txt','')}.quick" )
|
72
|
+
logger.debug "pakpath: #{pakpath}"
|
73
|
+
|
74
|
+
|
75
|
+
Pakman::Fetcher.new( logger ).fetch_pak( src, pakpath )
|
76
|
+
end # method fetch_pak
|
34
77
|
|
35
78
|
private
|
36
79
|
|
37
|
-
def installed_quick_manifests
|
38
|
-
# 1) search gem/templates
|
39
80
|
|
40
|
-
|
81
|
+
def installed_quick_manifests
|
82
|
+
# 1) search config_dir/templates
|
83
|
+
# 2) search gem/templates
|
84
|
+
|
85
|
+
builtin_patterns = [
|
41
86
|
"#{Slideshow.root}/templates/*.txt.quick"
|
42
87
|
]
|
88
|
+
config_patterns = [
|
89
|
+
"#{config.config_dir}/quick/*.txt.quick",
|
90
|
+
"#{config.config_dir}/quick/*/*.txt.quick"
|
91
|
+
]
|
43
92
|
|
93
|
+
patterns = []
|
94
|
+
patterns += config_patterns
|
95
|
+
patterns += builtin_patterns
|
96
|
+
|
44
97
|
Pakman::Finder.new( logger ).find_manifests( patterns )
|
45
98
|
end
|
46
99
|
|
data/lib/slideshow/cli/opts.rb
CHANGED
data/lib/slideshow/cli/runner.rb
CHANGED
@@ -98,7 +98,10 @@ def run( args )
|
|
98
98
|
cmd.on( '-g', '--generate', 'Generate Slide Show Templates (using built-in S6 Pack)' ) { opts.generate = true }
|
99
99
|
|
100
100
|
## fix:/todo: add generator for quickstart
|
101
|
-
cmd.on( '-q', '--quick',
|
101
|
+
cmd.on( '-q', '--quick [MANIFEST]', "Generate Quickstart Slide Show Sample (default is #{opts.quick_manifest})") do |q|
|
102
|
+
opts.quick = true
|
103
|
+
opts.quick_manifest = q if q.nil? == false
|
104
|
+
end
|
102
105
|
|
103
106
|
cmd.on( '-p', '--plugins', '(Debug) List Plugin Scripts in Load Path' ) { opts.plugins = true }
|
104
107
|
|
data/lib/slideshow/config.rb
CHANGED
@@ -114,6 +114,11 @@ class Config
|
|
114
114
|
@props.fetch_from_section( 'fetch', key, nil )
|
115
115
|
end
|
116
116
|
|
117
|
+
def map_quick_shortcut( key )
|
118
|
+
## todo: normalize key???
|
119
|
+
@props.fetch_from_section( 'quick', key, nil )
|
120
|
+
end
|
121
|
+
|
117
122
|
def helper_renames
|
118
123
|
## NB: for now user cannot override/extent renames
|
119
124
|
@props_builtin['helper']['renames']
|
data/lib/slideshow/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slideshow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: -971607871
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
9
|
- 0
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 1.2.0.
|
11
|
+
- 3
|
12
|
+
version: 1.2.0.beta3
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Gerald Bauer
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-06-
|
20
|
+
date: 2012-06-19 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: RedCloth
|