hyaslide 0.3.0 → 0.4.0
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/lib/hyaslide/slide_loader.rb +22 -10
- data/lib/hyaslide/version.rb +1 -1
- data/template/app.rb +19 -0
- data/template/project/app/{application.rb → slide.rb} +10 -18
- data/template/project/config.ru +6 -3
- data/template/project/data/{css → sample/css}/custom.css +0 -0
- data/template/project/data/{slide.md → sample/slide.md} +0 -0
- data/template/project/server.rb +2 -1
- data/template/project/views/index.haml +4 -3
- metadata +5 -5
- data/template/project/data/pages/pages.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22c7c4f76f12c7be2c6fb054129f7930b3242e3f
|
4
|
+
data.tar.gz: 3f512237b030db92f662c1f85661520dd57f83da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e52ad7732a36b1f21fc70beb8f4c759e888cc5de9693afb58e6ac606395d9d66f096e00e40f069f6e6959e74be55401478eae43e3b8941e26905adb95f7fb0f4
|
7
|
+
data.tar.gz: be75426d0761129b76263e3303f33c983a1a9e6711bdd21ab2cb7b461db0a7b502879c16837e275470b18b28168ab36add3a91e698c413f27752362aac02cf86
|
@@ -7,24 +7,36 @@ require_relative './render_hyaslide'
|
|
7
7
|
|
8
8
|
module Hyaslide
|
9
9
|
class SlideLoader
|
10
|
-
|
11
|
-
|
10
|
+
MARKDOWN = Redcarpet::Markdown.new(Redcarpet::Render::Hyaslide, fenced_code_blocks: true)
|
11
|
+
|
12
|
+
def initialize(name)
|
13
|
+
@name = name
|
12
14
|
end
|
13
15
|
|
14
|
-
def self.load_slide(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
def self.load_slide(name)
|
17
|
+
Dir.mkdir('app/slides') unless Dir.exist?('app/slides')
|
18
|
+
Dir.mkdir(src_path(@name)) unless Dir.exist?(src_path(@name))
|
19
|
+
|
20
|
+
File.open("#{src_path(name)}/pages.rb", "w+") do |f|
|
21
|
+
data = File.read("data/#{name}/slide.md")
|
22
|
+
f.write MARKDOWN.render(data)
|
23
|
+
end
|
24
|
+
|
25
|
+
File.open("#{src_path(name)}/app.rb", "w+") do |f|
|
26
|
+
f.write Tilt::StringTemplate.new(File.expand_path('../../../template/app.rb', __FILE__)).render(Object.new, name: name)
|
19
27
|
end
|
20
28
|
end
|
21
29
|
|
30
|
+
def self.src_path(name)
|
31
|
+
"app/slides/#{name}"
|
32
|
+
end
|
33
|
+
|
22
34
|
def run
|
23
|
-
|
35
|
+
SlideLoader.load_slide(@name)
|
24
36
|
|
25
37
|
EM.defer do
|
26
|
-
FSSM.monitor("
|
27
|
-
update {|base, relative| SlideLoader.load_slide }
|
38
|
+
FSSM.monitor("data/#{@name}", "slide.md") do
|
39
|
+
update {|base, relative| SlideLoader.load_slide(@name) }
|
28
40
|
delete {|base, relative|}
|
29
41
|
create {|base, relative|}
|
30
42
|
end
|
data/lib/hyaslide/version.rb
CHANGED
data/template/app.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'slide'
|
2
|
+
require 'page_base'
|
3
|
+
require 'slides/#{name}/pages'
|
4
|
+
|
5
|
+
Hyaslide.slide_name = '#{name}'
|
6
|
+
|
7
|
+
module App
|
8
|
+
def self.render
|
9
|
+
Hyalite.render(Hyalite.create_element(Hyaslide::Slide, nil), $document['.hyaslide'])
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
$document.ready do
|
14
|
+
$window.on(:resize) do
|
15
|
+
App.render
|
16
|
+
end
|
17
|
+
|
18
|
+
App.render
|
19
|
+
end
|
@@ -3,13 +3,6 @@ require 'opal-router'
|
|
3
3
|
require 'browser/interval'
|
4
4
|
require 'browser/location'
|
5
5
|
require 'track_field'
|
6
|
-
require 'page_base'
|
7
|
-
|
8
|
-
module App
|
9
|
-
def self.render
|
10
|
-
Hyalite.render(Hyalite.create_element(Hyaslide::Slide, nil), $document['.hyaslide'])
|
11
|
-
end
|
12
|
-
end
|
13
6
|
|
14
7
|
module Hyaslide
|
15
8
|
SLIDE_WIDTH = 960
|
@@ -32,6 +25,14 @@ module Hyaslide
|
|
32
25
|
@title = title
|
33
26
|
end
|
34
27
|
|
28
|
+
def self.slide_name
|
29
|
+
@slide_name
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.slide_name=(name)
|
33
|
+
@slide_name = name
|
34
|
+
end
|
35
|
+
|
35
36
|
class Slide
|
36
37
|
include Hyalite::Component
|
37
38
|
include Hyalite::Component::ShortHand
|
@@ -67,11 +68,11 @@ module Hyaslide
|
|
67
68
|
|
68
69
|
router = Router.new
|
69
70
|
router.route('/') { page_to(num) }
|
70
|
-
router.route('
|
71
|
+
router.route(':page') {|params| set_state(page_number: params[:page].to_i) }
|
71
72
|
end
|
72
73
|
|
73
74
|
def page_to(num)
|
74
|
-
$window.location.assign("
|
75
|
+
$window.location.assign("/#{Hyaslide.slide_name}##{num}")
|
75
76
|
end
|
76
77
|
|
77
78
|
def handle_key_down(evt)
|
@@ -145,12 +146,3 @@ module Hyaslide
|
|
145
146
|
end
|
146
147
|
end
|
147
148
|
|
148
|
-
require 'pages/pages'
|
149
|
-
|
150
|
-
$document.ready do
|
151
|
-
$window.on(:resize) do
|
152
|
-
App.render
|
153
|
-
end
|
154
|
-
|
155
|
-
App.render
|
156
|
-
end
|
data/template/project/config.ru
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
require 'bundler/setup'
|
2
2
|
Bundler.require(:default)
|
3
3
|
|
4
|
-
# require 'hyaslide'
|
5
4
|
require_relative 'server'
|
6
5
|
|
7
6
|
dir = 'data'
|
8
|
-
|
9
|
-
|
7
|
+
|
8
|
+
Dir.foreach(dir) do |dir_name|
|
9
|
+
if !dir_name.start_with?('.') && File.directory?("#{dir}/#{dir_name}")
|
10
|
+
Hyaslide::SlideLoader.new(dir_name).run
|
11
|
+
end
|
12
|
+
end
|
10
13
|
|
11
14
|
app = Rack::Builder.app do
|
12
15
|
server = Server.new(host: 'localhost')
|
File without changes
|
File without changes
|
data/template/project/server.rb
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
%html(lang="en" data-framework="hyalite")
|
3
3
|
%head
|
4
4
|
%meta{charset:"utf-8"}
|
5
|
-
%title
|
5
|
+
%title= @slide_name
|
6
6
|
%link{rel:"stylesheet", href:"assets/css/application.css"}
|
7
7
|
%link{rel:"stylesheet", href:"assets/css/highlight.css"}
|
8
8
|
|
9
9
|
%body
|
10
10
|
%section.hyaslide
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
:javascript
|
13
|
+
window.slideName = '#{@slide_name}'
|
14
|
+
= ::Opal::Sprockets.javascript_include_tag('slides/sample/app', sprockets: settings.opal.sprockets, prefix: 'assets', debug: true)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyaslide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- youchan
|
@@ -236,9 +236,10 @@ files:
|
|
236
236
|
- lib/hyaslide/render_hyaslide.rb
|
237
237
|
- lib/hyaslide/slide_loader.rb
|
238
238
|
- lib/hyaslide/version.rb
|
239
|
+
- template/app.rb
|
239
240
|
- template/project/Gemfile
|
240
|
-
- template/project/app/application.rb
|
241
241
|
- template/project/app/page_base.rb
|
242
|
+
- template/project/app/slide.rb
|
242
243
|
- template/project/app/track_field.rb
|
243
244
|
- template/project/assets/css/application.css
|
244
245
|
- template/project/assets/css/highlight.css
|
@@ -247,9 +248,8 @@ files:
|
|
247
248
|
- template/project/assets/images/rabbit.png
|
248
249
|
- template/project/assets/images/turtle.png
|
249
250
|
- template/project/config.ru
|
250
|
-
- template/project/data/css/custom.css
|
251
|
-
- template/project/data/
|
252
|
-
- template/project/data/slide.md
|
251
|
+
- template/project/data/sample/css/custom.css
|
252
|
+
- template/project/data/sample/slide.md
|
253
253
|
- template/project/server.rb
|
254
254
|
- template/project/views/index.haml
|
255
255
|
homepage: https://github.com/youchan/hyalide
|
@@ -1,37 +0,0 @@
|
|
1
|
-
class Hyaslide::Page0 < Hyaslide::PageBase
|
2
|
-
def header
|
3
|
-
h1(nil, "Title")
|
4
|
-
end
|
5
|
-
|
6
|
-
def content
|
7
|
-
[].tap do |children|
|
8
|
-
children << p({className:"author"}, "Your Name")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
class Hyaslide::Page1 < Hyaslide::PageBase
|
14
|
-
def content
|
15
|
-
[].tap do |children|
|
16
|
-
children << h4(nil, "Press 's' then starting the race of rabbit and turtle.")
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class Hyaslide::Page2 < Hyaslide::PageBase
|
22
|
-
def header
|
23
|
-
h2(nil, "Slide")
|
24
|
-
end
|
25
|
-
|
26
|
-
def content
|
27
|
-
[].tap do |children|
|
28
|
-
children << ul(nil,
|
29
|
-
li(nil, "Listing"),
|
30
|
-
li(nil, "...")
|
31
|
-
)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
Hyaslide.page_count = 3
|
37
|
-
Hyaslide.title = "Title"
|