Skip to content

Commit 08130a0

Browse files
alexchdshafik
authored andcommitted
code and routing to show a markdown page as slides
1 parent 0f1ce50 commit 08130a0

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

app.rb

+12-4
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,8 @@ def render_page
108108

109109
case ext
110110

111-
when "deck.md"
112-
slides = Deck::Slide.split(src)
113-
Deck::SlideDeck.new(:slides => slides).to_pretty
111+
when "deck.md", "deck"
112+
render_deck
114113

115114
when "md"
116115
MarkdownPage.new(options).to_html
@@ -135,6 +134,11 @@ def render_page
135134
end
136135
end
137136

137+
def render_deck
138+
slides = Deck::Slide.split(src)
139+
Deck::SlideDeck.new(:slides => slides).to_pretty
140+
end
141+
138142
before do
139143
expires 3600, :public
140144
end
@@ -165,7 +169,11 @@ def render_page
165169

166170
get "/:site/:name.:ext" do
167171
if sites.include?(params[:site])
168-
send_file "#{site_dir}/#{params[:name]}.#{params[:ext]}"
172+
if params[:ext] == "deck" # to show a markdown page as slides, change the ".md" to ".deck"
173+
render_deck
174+
else
175+
send_file "#{site_dir}/#{params[:name]}.#{params[:ext]}"
176+
end
169177
end
170178
end
171179

lib/doc_page.rb

+5
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def body_content
115115
widget Contents, locale: @locale, site_name: site_name, page_name: page_name
116116

117117
main {
118+
before_title
118119
h1 doc_title, class: "doc_title"
119120
div(class: :doc) {
120121
doc_content
@@ -163,4 +164,8 @@ def body_content
163164
}
164165
end
165166

167+
def before_title
168+
# placeholder for subclass override
169+
end
170+
166171
end

lib/markdown_page.rb

+5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
require 'markdown_renderer'
44

55
class MarkdownPage < DocPage
6+
def before_title
7+
file_base_name = file_name.gsub(/\.md$/, '')
8+
a "Slides", href: "#{file_base_name}.deck", style: 'float: right'
9+
end
10+
611
def doc_content
712
rawtext MarkdownRenderer.render(src)
813
end

0 commit comments

Comments
 (0)