@@ -159,32 +159,34 @@ def back_path
159159  end 
160160
161161  def  render_page 
162-     options  =  { 
163-       site : Site . named ( params [ :site ] ) , 
164-       page_name : params [ :name ] , 
165-       doc_title : Titleizer . title_for_page ( params [ :name ] ) , 
166-       doc_path : doc_path , 
167-       back : back_path , 
168-       src : src , 
169-       locale : I18n . locale 
170-     } 
171- 
172-     case  ext 
173- 
174-     when  "deck.md" ,  "deck" 
175-       render_deck 
162+     begin 
163+       options  =  { 
164+         site : Site . named ( params [ :site ] ) , 
165+         page_name : params [ :name ] , 
166+         doc_title : Titleizer . title_for_page ( params [ :name ] ) , 
167+         doc_path : doc_path , 
168+         back : back_path , 
169+         src : src , 
170+         locale : I18n . locale 
171+       } 
172+ 
173+       case  ext 
174+ 
175+       when  "deck.md" ,  "deck" 
176+         render_deck 
176177
177-     when  "md" 
178-       MarkdownPage . new ( options ) . to_html 
178+        when  "md" 
179+          MarkdownPage . new ( options ) . to_html 
179180
180-     when  "mw" 
181-       MediaWikiPage . new ( options ) . to_html 
181+        when  "mw" 
182+          MediaWikiPage . new ( options ) . to_html 
182183
183-     when  "step" 
184-       StepPage . new ( options ) . to_html 
184+        when  "step" 
185+          StepPage . new ( options ) . to_html 
185186
186-     else 
187-       raise  "unknown file type #{ doc_path }  " 
187+       else 
188+         raise  "unknown file type #{ doc_path }  " 
189+       end 
188190    end 
189191  rescue  Errno ::ENOENT  =>  e 
190192    p  e 
@@ -205,7 +207,7 @@ def render_deck
205207    expires  3600 ,  :public 
206208  end 
207209
208-   get  " /favicon.ico"   do 
210+   get  ' /favicon.ico'   do 
209211    halt  404 
210212  end 
211213
@@ -220,7 +222,7 @@ def render_deck
220222    settings . assets [ "#{ params [ :file ] }  .#{ params [ :ext ] }  " ] 
221223  end 
222224
223-   get  " /fonts/font-awesome/:file"   do 
225+   get  ' /fonts/font-awesome/:file'   do 
224226    font_path  =  File . join ( FontAwesome ::Sass . gem_path ,  'assets' ,  'fonts' ,  'font-awesome' ,  params [ :file ] ) 
225227    send_file  font_path 
226228  end 
@@ -230,6 +232,19 @@ def render_deck
230232  end 
231233
232234  get  "/:site/:name/src"  do 
235+     begin 
236+       RawPage . new ( 
237+         site : Site . named ( params [ :site ] ,  I18n . locale ) , 
238+         page_name : params [ :name ] , 
239+         doc_title : File . basename ( doc_path ) , 
240+         doc_path : doc_path , 
241+         src : src , 
242+         locale : I18n . locale , 
243+       ) . to_html 
244+     rescue  Errno ::ENOENT  =>  e 
245+       p  e 
246+       halt  404 
247+     end 
233248    RawPage . new ( 
234249      site : Site . named ( params [ :site ] ,  I18n . locale ) , 
235250      page_name : params [ :name ] , 
@@ -263,7 +278,7 @@ def render_deck
263278
264279  get  "/:site/:name.:ext"  do 
265280    if  sites . include? ( params [ :site ] ) 
266-       if  params [ :ext ]  == "deck"  # to show a markdown page as slides, change the ".md" to ".deck" 
281+       if  params [ :ext ]  == "deck"    # to show a markdown page as slides, change the ".md" to ".deck" 
267282        render_deck 
268283      else 
269284        send_file  "#{ site_dir }  /#{ params [ :name ] }  .#{ params [ :ext ] }  " 
0 commit comments