mdslide 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +20 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -28
- data/assets/css/base.css +3 -0
- data/assets/js/slides.coffee +25 -4
- data/assets/js/slides.js +34 -5
- data/lib/mdslide.rb +4 -1
- data/lib/mdslide/command.rb +10 -26
- data/lib/mdslide/creator.rb +3 -3
- data/lib/mdslide/path.rb +38 -0
- data/mdslide.gemspec +21 -0
- data/samples/hoge.md +38 -0
- data/samples/kitty.jpg +0 -0
- data/samples/readme.md +85 -0
- data/samples/takahashi.md +51 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/mdslide_spec.rb +32 -0
- data/templates/page.html.erb +10 -3
- metadata +48 -54
- data/.gemtest +0 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,28 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'hoe'
|
4
|
-
require 'fileutils'
|
5
|
-
require './lib/mdslide'
|
6
|
-
|
7
|
-
Hoe.plugin :newgem
|
8
|
-
# Hoe.plugin :website
|
9
|
-
# Hoe.plugin :cucumberfeatures
|
10
|
-
|
11
|
-
# Generate all the Rake tasks
|
12
|
-
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
13
|
-
$hoe = Hoe.spec 'mdslide' do
|
14
|
-
self.developer 'Allu Yamane', 'ymrl@ymrl.net'
|
15
|
-
#self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
|
16
|
-
self.rubyforge_name = self.name # TODO this is default value
|
17
|
-
self.extra_deps = [
|
18
|
-
['args_parser','>= 0.0.1'],
|
19
|
-
['kramdown', '>= 0.13.6'],
|
20
|
-
]
|
21
|
-
end
|
22
|
-
|
23
|
-
Dir['tasks/**/*.rake'].each { |t| load t }
|
24
|
-
require 'newgem/tasks'
|
25
|
-
|
26
|
-
# TODO - want other tests/tasks run by default? Add them to the list
|
27
|
-
# remove_task :default
|
28
|
-
#task :default => [:spec, :features]
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
data/assets/css/base.css
CHANGED
data/assets/js/slides.coffee
CHANGED
@@ -33,6 +33,7 @@ jQuery ->
|
|
33
33
|
return div
|
34
34
|
|
35
35
|
showOutline = ()->
|
36
|
+
createOutline()
|
36
37
|
jQuery(KEYTARGET).unbind('keyup',keyAction)
|
37
38
|
jQuery('#outline').show()
|
38
39
|
jQuery('#slides').hide()
|
@@ -43,10 +44,10 @@ jQuery ->
|
|
43
44
|
hideOutline = ()->
|
44
45
|
jQuery(KEYTARGET).unbind('keyup',keyAction)
|
45
46
|
jQuery(KEYTARGET).keyup keyAction
|
46
|
-
jQuery('#outline').hide()
|
47
47
|
jQuery('#slides').show()
|
48
48
|
jQuery('#toolbox .forOutline').hide()
|
49
49
|
jQuery('#toolbox .forSlides').show()
|
50
|
+
jQuery('#outline').remove()
|
50
51
|
jQuery('body').css overflow:'hidden'
|
51
52
|
|
52
53
|
showSlide = (num)->
|
@@ -111,9 +112,29 @@ jQuery ->
|
|
111
112
|
#else if sh < h
|
112
113
|
t.css 'top', h/2 - sh/2
|
113
114
|
|
114
|
-
jQuery(
|
115
|
-
|
116
|
-
|
115
|
+
jQuery('#resizeToggle').change (e)->
|
116
|
+
t = $(this)
|
117
|
+
if t.attr('checked')
|
118
|
+
console.log true
|
119
|
+
jQuery(window).bind('resize',resize)
|
120
|
+
resize()
|
121
|
+
jQuery('img').bind('load',resize)
|
122
|
+
jQuery('#resizeLabel').html("☑ Adjustment : ON ")
|
123
|
+
jQuery('body').css('overflow','hidden')
|
124
|
+
else
|
125
|
+
console.log false
|
126
|
+
jQuery(window).unbind('resize',resize)
|
127
|
+
jQuery('img' ).unbind('load' ,resize)
|
128
|
+
jQuery('.slide').each ()->
|
129
|
+
t = jQuery(this)
|
130
|
+
t.css TRANSFORM,''
|
131
|
+
t.css
|
132
|
+
width : ''
|
133
|
+
height: ''
|
134
|
+
top: 0
|
135
|
+
jQuery('#resizeLabel').html("☐ Adjustment : OFF")
|
136
|
+
jQuery('body').css('overflow','visible')
|
137
|
+
jQuery('#resizeToggle').change()
|
117
138
|
|
118
139
|
createOutline()
|
119
140
|
checkURL(true)
|
data/assets/js/slides.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
// Generated by CoffeeScript 1.3.1
|
1
2
|
(function() {
|
2
3
|
|
3
4
|
jQuery(function() {
|
@@ -40,6 +41,7 @@
|
|
40
41
|
return div;
|
41
42
|
};
|
42
43
|
showOutline = function() {
|
44
|
+
createOutline();
|
43
45
|
jQuery(KEYTARGET).unbind('keyup', keyAction);
|
44
46
|
jQuery('#outline').show();
|
45
47
|
jQuery('#slides').hide();
|
@@ -52,10 +54,10 @@
|
|
52
54
|
hideOutline = function() {
|
53
55
|
jQuery(KEYTARGET).unbind('keyup', keyAction);
|
54
56
|
jQuery(KEYTARGET).keyup(keyAction);
|
55
|
-
jQuery('#outline').hide();
|
56
57
|
jQuery('#slides').show();
|
57
58
|
jQuery('#toolbox .forOutline').hide();
|
58
59
|
jQuery('#toolbox .forSlides').show();
|
60
|
+
jQuery('#outline').remove();
|
59
61
|
return jQuery('body').css({
|
60
62
|
overflow: 'hidden'
|
61
63
|
});
|
@@ -104,7 +106,9 @@
|
|
104
106
|
show = true;
|
105
107
|
}
|
106
108
|
}
|
107
|
-
if (show)
|
109
|
+
if (show) {
|
110
|
+
showSlide(slideNum);
|
111
|
+
}
|
108
112
|
if (outline) {
|
109
113
|
return showOutline();
|
110
114
|
} else {
|
@@ -136,9 +140,34 @@
|
|
136
140
|
return t.css('top', h / 2 - sh / 2);
|
137
141
|
});
|
138
142
|
};
|
139
|
-
jQuery(
|
140
|
-
|
141
|
-
|
143
|
+
jQuery('#resizeToggle').change(function(e) {
|
144
|
+
var t;
|
145
|
+
t = $(this);
|
146
|
+
if (t.attr('checked')) {
|
147
|
+
console.log(true);
|
148
|
+
jQuery(window).bind('resize', resize);
|
149
|
+
resize();
|
150
|
+
jQuery('img').bind('load', resize);
|
151
|
+
jQuery('#resizeLabel').html("☑ Adjustment : ON ");
|
152
|
+
return jQuery('body').css('overflow', 'hidden');
|
153
|
+
} else {
|
154
|
+
console.log(false);
|
155
|
+
jQuery(window).unbind('resize', resize);
|
156
|
+
jQuery('img').unbind('load', resize);
|
157
|
+
jQuery('.slide').each(function() {
|
158
|
+
t = jQuery(this);
|
159
|
+
t.css(TRANSFORM, '');
|
160
|
+
return t.css({
|
161
|
+
width: '',
|
162
|
+
height: '',
|
163
|
+
top: 0
|
164
|
+
});
|
165
|
+
});
|
166
|
+
jQuery('#resizeLabel').html("☐ Adjustment : OFF");
|
167
|
+
return jQuery('body').css('overflow', 'visible');
|
168
|
+
}
|
169
|
+
});
|
170
|
+
jQuery('#resizeToggle').change();
|
142
171
|
createOutline();
|
143
172
|
checkURL(true);
|
144
173
|
setInterval(checkURL, 50);
|
data/lib/mdslide.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)) unless
|
2
2
|
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
3
|
|
4
|
+
require 'mdslide/themes'
|
5
|
+
require 'mdslide/config'
|
6
|
+
require 'mdslide/path'
|
4
7
|
require 'mdslide/creator'
|
5
8
|
|
6
9
|
module Mdslide
|
7
|
-
VERSION = '3.
|
10
|
+
VERSION = '3.2.0'
|
8
11
|
end
|
data/lib/mdslide/command.rb
CHANGED
@@ -6,20 +6,10 @@ require 'yaml'
|
|
6
6
|
require 'fileutils'
|
7
7
|
|
8
8
|
module Mdslide
|
9
|
-
|
10
9
|
ASSETS_DIR = File.expand_path(File.dirname(__FILE__) + '/../../assets')
|
11
10
|
|
12
|
-
def Mdslide.
|
13
|
-
|
14
|
-
if File.exist?(dir_path + path)
|
15
|
-
return dir_path
|
16
|
-
end
|
17
|
-
end
|
18
|
-
return nil
|
19
|
-
end
|
20
|
-
|
21
|
-
def Mdslide.command
|
22
|
-
parser = ArgsParser.parse ARGV do
|
11
|
+
def Mdslide.command argv=ARGV
|
12
|
+
parser = ArgsParser.parse argv do
|
23
13
|
arg :version,"Shows Mdslide Version", :alias => :v
|
24
14
|
arg :help, "Shows Help", :alias => :h
|
25
15
|
arg :input, "Input File", :alias => :i
|
@@ -41,13 +31,6 @@ module Mdslide
|
|
41
31
|
return 0
|
42
32
|
end
|
43
33
|
|
44
|
-
#config_path = File.expand_path(CONFIG_DIR + '/config.yaml')
|
45
|
-
#my_config = nil
|
46
|
-
#if File.exist? config_path
|
47
|
-
# my_config = YAML.load_file(config_path)
|
48
|
-
# Themes.merge! my_config[:themes]
|
49
|
-
#end
|
50
|
-
|
51
34
|
creator = Creator.new
|
52
35
|
creator.title = parser[:title]
|
53
36
|
default_theme = parser[:theme]
|
@@ -70,22 +53,23 @@ module Mdslide
|
|
70
53
|
|
71
54
|
if output_js
|
72
55
|
js_path = output_dir_path+'/js'
|
73
|
-
#Dir::mkdir(js_path) unless Dir.exist?(js_path)
|
74
56
|
Dir::mkdir(js_path) unless File.exist?(js_path) and File.directory?(js_path)
|
75
|
-
|
76
57
|
(creator.scripts + creator.theme_scripts).each do |e|
|
77
|
-
|
78
|
-
FileUtils.cp("#{
|
58
|
+
src_file = Mdslide.find_js_path(e)
|
59
|
+
FileUtils.cp("#{src_file}",js_path)
|
60
|
+
#src_dir = Mdslide.find_path(e,src_dirs.map{|m| "#{m}/js/"})
|
61
|
+
#FileUtils.cp("#{src_dir}/#{e}",js_path) if src_dir
|
79
62
|
end
|
80
63
|
end
|
81
64
|
if output_css
|
82
65
|
css_path = output_dir_path+'/css'
|
83
|
-
#Dir::mkdir(css_path) unless Dir.exist?(css_path)
|
84
66
|
Dir::mkdir(css_path) unless File.exist?(css_path) and File.directory?(css_path)
|
85
67
|
|
86
68
|
(creator.stylesheets + creator.theme_stylesheets).each do |e|
|
87
|
-
|
88
|
-
FileUtils.cp("#{
|
69
|
+
src_file = Mdslide.find_css_path(e)
|
70
|
+
FileUtils.cp("#{src_file}",css_path)
|
71
|
+
#src_dir = Mdslide.find_path(e,src_dirs.map{|m| "#{m}/css/"})
|
72
|
+
#FileUtils.cp("#{src_dir}/#{e}",css_path) if src_dir
|
89
73
|
end
|
90
74
|
end
|
91
75
|
|
data/lib/mdslide/creator.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'kramdown'
|
3
3
|
require 'erb'
|
4
|
-
require '
|
5
|
-
|
4
|
+
require 'kconv'
|
5
|
+
|
6
6
|
|
7
7
|
module Mdslide
|
8
8
|
|
@@ -35,7 +35,7 @@ module Mdslide
|
|
35
35
|
|
36
36
|
def convert_markdown md
|
37
37
|
body = ''
|
38
|
-
md.split(/^\/\/+$/).map do |slide|
|
38
|
+
md.toutf8.gsub(/\r\n?/, "\n").split(/^\/\/+$/).map do |slide|
|
39
39
|
if slide =~ /(^|\s)(https?:\/\/[^\s]+)($|\s)/
|
40
40
|
slide.gsub!(/(^|\s)(https?:\/\/[^\s]+)($|\s)/){"#{$1}[#{$2}](#{$2})#{$3}"}
|
41
41
|
end
|
data/lib/mdslide/path.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
module Mdslide
|
2
|
+
|
3
|
+
def Mdslide.find_file file, dir_list
|
4
|
+
dir_list.each do |dir_path|
|
5
|
+
if File.exist?(dir_path + file)
|
6
|
+
return dir_path + file
|
7
|
+
end
|
8
|
+
end
|
9
|
+
return nil
|
10
|
+
end
|
11
|
+
|
12
|
+
def Mdslide.find_path path, dir_list
|
13
|
+
dir_list.each do |dir_path|
|
14
|
+
if File.exist?(dir_path + path)
|
15
|
+
return dir_path
|
16
|
+
end
|
17
|
+
end
|
18
|
+
return nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def Mdslide.get_directories current = nil
|
22
|
+
dirs = [CONFIG_DIR,ASSETS_DIR]
|
23
|
+
dirs.unshift current if current
|
24
|
+
return dirs
|
25
|
+
end
|
26
|
+
|
27
|
+
def Mdslide.find_js_path file,current = nil
|
28
|
+
dirs = Mdslide.get_directories(current).map{|e| "#{e}/js/"}
|
29
|
+
return Mdslide.find_file file,dirs
|
30
|
+
end
|
31
|
+
|
32
|
+
def Mdslide.find_css_path file,current = nil
|
33
|
+
dirs = Mdslide.get_directories(current).map{|e| "#{e}/css/"}
|
34
|
+
return Mdslide.find_file file,dirs
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
data/mdslide.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/mdslide', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Allu Yamane"]
|
6
|
+
gem.email = ["ymrl@ymrl.net"]
|
7
|
+
gem.description = %q{HTML5 presentation generator}
|
8
|
+
gem.summary = %q{HTML5 presentation generator}
|
9
|
+
gem.homepage = "http://ymrl.github.com/mdslide/"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "mdslide"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Mdslide::VERSION
|
17
|
+
gem.add_dependency 'args_parser', '>= 0.0.1'
|
18
|
+
gem.add_dependency 'kramdown', '>= 0.13.6'
|
19
|
+
gem.add_development_dependency('rspec', '~> 2.10.0')
|
20
|
+
gem.add_development_dependency('rake')
|
21
|
+
end
|
data/samples/hoge.md
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
Test presentation
|
2
|
+
====================
|
3
|
+
Allu Yamane
|
4
|
+
2012/04/21
|
5
|
+
|
6
|
+
///
|
7
|
+
|
8
|
+
First Slide
|
9
|
+
-----------------
|
10
|
+
* This is list
|
11
|
+
* This is second element
|
12
|
+
* this is nested list
|
13
|
+
* this is second nested element
|
14
|
+
* And more...
|
15
|
+
|
16
|
+
////
|
17
|
+
|
18
|
+
|
19
|
+
Second Slide
|
20
|
+
----------------
|
21
|
+
1. hogehoge
|
22
|
+
2. fugafuga
|
23
|
+
* mogemoge
|
24
|
+
* piyopiyo
|
25
|
+
////
|
26
|
+
|
27
|
+
|
28
|
+
Third Slide
|
29
|
+
---------------
|
30
|
+
|
31
|
+
10.times do |i|
|
32
|
+
puts "hello #{i}"
|
33
|
+
end
|
34
|
+
///
|
35
|
+
Fourth Slide
|
36
|
+
-----------
|
37
|
+
test
|
38
|
+
|
data/samples/kitty.jpg
ADDED
Binary file
|
data/samples/readme.md
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
スライド作成システムMdslide
|
2
|
+
==============
|
3
|
+
@ymrl
|
4
|
+
|
5
|
+
//////
|
6
|
+
|
7
|
+
Mdslideとは
|
8
|
+
------------
|
9
|
+
* Markdownを使ったスライド作成システム
|
10
|
+
* Rubygemsでインストール可能
|
11
|
+
* HTML5 + JavaScriptによるスライド
|
12
|
+
* MIT Lisence
|
13
|
+
|
14
|
+
//////
|
15
|
+
|
16
|
+
Mdslideの機能
|
17
|
+
-------------
|
18
|
+
* Markdownファイルの変換
|
19
|
+
* HTML+CSS+JavaScriptファイルの出力
|
20
|
+
* Webサーバー機能
|
21
|
+
//////
|
22
|
+
Mdslide用Markdown
|
23
|
+
----------------
|
24
|
+
First Slide
|
25
|
+
==========
|
26
|
+
My Name
|
27
|
+
/////
|
28
|
+
Second Slide
|
29
|
+
------
|
30
|
+
* list 1
|
31
|
+
* list 2
|
32
|
+
* list 3
|
33
|
+
/////
|
34
|
+
スライドに変換
|
35
|
+
--------------
|
36
|
+
$ mdslide -i hoge.md -o hoge.html
|
37
|
+
//////
|
38
|
+
First Slide
|
39
|
+
==========
|
40
|
+
My Name
|
41
|
+
/////
|
42
|
+
Second Slide
|
43
|
+
------
|
44
|
+
* list 1
|
45
|
+
* list 2
|
46
|
+
* list 3
|
47
|
+
/////////
|
48
|
+
Mdslide Markdown
|
49
|
+
--------------
|
50
|
+
* /が複数個連続しているだけの行をスライド区切りとして扱う
|
51
|
+
////////
|
52
|
+
HTTPサーバー機能
|
53
|
+
--------------
|
54
|
+
$ mdslide -i hoge.md -s
|
55
|
+
|
56
|
+
* http://localhost:3000/
|
57
|
+
* http://localhost:3000/black
|
58
|
+
* 変換前・変換後をそれぞれ保存しなくていい
|
59
|
+
//////////
|
60
|
+
テーマ機能
|
61
|
+
-------------
|
62
|
+
$ mdslide -i hoge.md -o hoge.html -t black
|
63
|
+
|
64
|
+
* 2012年4月現在 white/black/takahashi のみ
|
65
|
+
* 増やしたい
|
66
|
+
* サーバー起動後、/takahashi とかでプレビュー
|
67
|
+
* デフォルトでサイズ調整機能あり
|
68
|
+
//////
|
69
|
+
|
70
|
+
アウトライン表示
|
71
|
+
-------------
|
72
|
+
右下の [View Outline](#outline) をクリック
|
73
|
+
|
74
|
+
//////
|
75
|
+
便利な点
|
76
|
+
--------
|
77
|
+
* Webブラウザさえあれば見られる
|
78
|
+
* スライドの見栄えとか気にしなくていい
|
79
|
+
* 作業量が少ない
|
80
|
+
* 発表内容に集中できる
|
81
|
+
* 全体を俯瞰しやすい
|
82
|
+
/////
|
83
|
+
画像も使える
|
84
|
+
----------
|
85
|
+
![kitty](kitty.jpg)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
高橋メソッド
|
2
|
+
//
|
3
|
+
の
|
4
|
+
//
|
5
|
+
特徴
|
6
|
+
//
|
7
|
+
1
|
8
|
+
//
|
9
|
+
字
|
10
|
+
//
|
11
|
+
でかい
|
12
|
+
//
|
13
|
+
2
|
14
|
+
//
|
15
|
+
文字列
|
16
|
+
//
|
17
|
+
短い
|
18
|
+
//
|
19
|
+
3
|
20
|
+
//
|
21
|
+
テンポ
|
22
|
+
//
|
23
|
+
早い
|
24
|
+
//
|
25
|
+
超高速
|
26
|
+
//
|
27
|
+
1秒1枚
|
28
|
+
//
|
29
|
+
インパクト
|
30
|
+
//
|
31
|
+
重視
|
32
|
+
//
|
33
|
+
字が小さいと1枚にたくさん書けるわけですが、こうなると読みづらいですし、プレゼン自体もただスライドに書かれている文字を読み上げるだけの非常に単調なものになってしまいます。高橋メソッドであればとにかくテンポよく進められますし、短く字をでかくする過程で内容も整理されてわかりやすくなります。
|
34
|
+
//
|
35
|
+
テンポ
|
36
|
+
//
|
37
|
+
良い
|
38
|
+
//
|
39
|
+
わかり
|
40
|
+
やすい
|
41
|
+
//
|
42
|
+
スライド
|
43
|
+
作ると
|
44
|
+
//
|
45
|
+
喋ることも
|
46
|
+
整理される
|
47
|
+
//
|
48
|
+
良い
|
49
|
+
//
|
50
|
+
すばらしい
|
51
|
+
|
data/script/destroy
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/destroy'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/generate'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Generate.new.run(ARGV)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper.rb'
|
2
|
+
|
3
|
+
# Time to add your specs!
|
4
|
+
# http://rspec.info/
|
5
|
+
describe "Mdslide" do
|
6
|
+
it 'has some themes' do
|
7
|
+
Mdslide::Themes.should have_key(:white)
|
8
|
+
Mdslide::Themes[:white][:css].should have_at_least(1).item
|
9
|
+
Mdslide::Themes.should have_key(:black)
|
10
|
+
Mdslide::Themes[:black][:css].should have_at_least(1).item
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "Creator" do
|
14
|
+
before do
|
15
|
+
@creator = Mdslide::Creator.new
|
16
|
+
end
|
17
|
+
|
18
|
+
it "can be initialized" do
|
19
|
+
@creator.should be_true
|
20
|
+
@creator.should be_kind_of(Mdslide::Creator)
|
21
|
+
end
|
22
|
+
it "can be set theme" do
|
23
|
+
@creator.set_theme('black').should be_true
|
24
|
+
@creator.theme_stylesheets.should have_at_least(1).items
|
25
|
+
end
|
26
|
+
it "can convert markdown" do
|
27
|
+
slide = @creator.convert_markdown("sample")
|
28
|
+
slide.should be_true
|
29
|
+
slide.should be_kind_of(String)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/templates/page.html.erb
CHANGED
@@ -16,9 +16,16 @@
|
|
16
16
|
</div>
|
17
17
|
<div id="toolbox">
|
18
18
|
<div class="forSlides">
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
<div>
|
20
|
+
<form>
|
21
|
+
<input name="resizeToggle" type="checkbox" id="resizeToggle" checked/><label for="resizeToggle" id="resizeLabel">☑ Adjustment : ON</label>
|
22
|
+
</form>
|
23
|
+
</div>
|
24
|
+
<div>
|
25
|
+
<a href="#" class="prev"><<</a>
|
26
|
+
<a href="#outline">View Outline</a>
|
27
|
+
<a href="#" class="next">>></a>
|
28
|
+
</div>
|
22
29
|
</div>
|
23
30
|
<div class="forOutline">
|
24
31
|
<a href="#" class="toSlide">View Slide</a>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdslide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: args_parser
|
16
|
-
requirement: &
|
16
|
+
requirement: &80611960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *80611960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: kramdown
|
27
|
-
requirement: &
|
27
|
+
requirement: &80611710 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,90 +32,80 @@ dependencies:
|
|
32
32
|
version: 0.13.6
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *80611710
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
37
|
+
name: rspec
|
38
|
+
requirement: &80611390 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 2.10.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *80611390
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
48
|
+
name: rake
|
49
|
+
requirement: &80611060 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
|
59
|
-
name: hoe
|
60
|
-
requirement: &72347670 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '3.0'
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *72347670
|
69
|
-
description: Mdslide is an slide generator for presentation based on Markdown (RedCarpet).
|
70
|
-
It can convert extended Markdown file to HTML it can show as aslides and/or outlines.
|
71
|
-
It outputs HTML, CSS and Javascript files, also you can use this HTTP Server for
|
72
|
-
your convinience.
|
57
|
+
version_requirements: *80611060
|
58
|
+
description: HTML5 presentation generator
|
73
59
|
email:
|
74
60
|
- ymrl@ymrl.net
|
75
61
|
executables:
|
76
62
|
- mdslide
|
77
63
|
extensions: []
|
78
|
-
extra_rdoc_files:
|
79
|
-
- History.txt
|
80
|
-
- Manifest.txt
|
81
|
-
- PostInstall.txt
|
82
|
-
- README.rdoc
|
64
|
+
extra_rdoc_files: []
|
83
65
|
files:
|
66
|
+
- .gitignore
|
67
|
+
- Gemfile
|
84
68
|
- History.txt
|
85
69
|
- Manifest.txt
|
86
70
|
- PostInstall.txt
|
87
71
|
- README.rdoc
|
88
72
|
- Rakefile
|
89
|
-
- lib/mdslide.rb
|
90
|
-
- lib/mdslide/command.rb
|
91
|
-
- lib/mdslide/creator.rb
|
92
|
-
- lib/mdslide/themes.rb
|
93
|
-
- lib/mdslide/config.rb
|
94
|
-
- templates/page.html.erb
|
95
|
-
- templates/slide.html.erb
|
96
|
-
- assets/themes.yaml
|
97
|
-
- assets/js/jquery.min.js
|
98
|
-
- assets/js/slides.js
|
99
|
-
- assets/js/slides.coffee
|
100
73
|
- assets/css/base.css
|
101
74
|
- assets/css/color-black.css
|
102
75
|
- assets/css/color-white.css
|
103
76
|
- assets/css/position-takahashi.css
|
104
77
|
- assets/css/transition-crossfade.css
|
105
78
|
- assets/css/transition-hide-show.css
|
79
|
+
- assets/js/jquery.min.js
|
80
|
+
- assets/js/slides.coffee
|
81
|
+
- assets/js/slides.js
|
82
|
+
- assets/themes.yaml
|
83
|
+
- bin/mdslide
|
84
|
+
- lib/mdslide.rb
|
85
|
+
- lib/mdslide/command.rb
|
86
|
+
- lib/mdslide/config.rb
|
87
|
+
- lib/mdslide/creator.rb
|
88
|
+
- lib/mdslide/path.rb
|
89
|
+
- lib/mdslide/themes.rb
|
90
|
+
- mdslide.gemspec
|
91
|
+
- samples/hoge.md
|
92
|
+
- samples/kitty.jpg
|
93
|
+
- samples/readme.md
|
94
|
+
- samples/takahashi.md
|
106
95
|
- script/console
|
96
|
+
- script/destroy
|
97
|
+
- script/generate
|
107
98
|
- spec/creator_spec.rb
|
99
|
+
- spec/mdslide_spec.rb
|
108
100
|
- spec/spec.opts
|
109
101
|
- spec/spec_helper.rb
|
110
102
|
- tasks/rspec.rake
|
111
|
-
-
|
112
|
-
- .
|
113
|
-
homepage: http://github.com/
|
103
|
+
- templates/page.html.erb
|
104
|
+
- templates/slide.html.erb
|
105
|
+
homepage: http://ymrl.github.com/mdslide/
|
114
106
|
licenses: []
|
115
107
|
post_install_message:
|
116
|
-
rdoc_options:
|
117
|
-
- --main
|
118
|
-
- README.rdoc
|
108
|
+
rdoc_options: []
|
119
109
|
require_paths:
|
120
110
|
- lib
|
121
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -131,9 +121,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
121
|
- !ruby/object:Gem::Version
|
132
122
|
version: '0'
|
133
123
|
requirements: []
|
134
|
-
rubyforge_project:
|
124
|
+
rubyforge_project:
|
135
125
|
rubygems_version: 1.8.11
|
136
126
|
signing_key:
|
137
127
|
specification_version: 3
|
138
|
-
summary:
|
139
|
-
test_files:
|
128
|
+
summary: HTML5 presentation generator
|
129
|
+
test_files:
|
130
|
+
- spec/creator_spec.rb
|
131
|
+
- spec/mdslide_spec.rb
|
132
|
+
- spec/spec.opts
|
133
|
+
- spec/spec_helper.rb
|
data/.gemtest
DELETED
File without changes
|