stop using :inline_templates
authorLunar <lunar@anargeek.net>
Tue, 3 Aug 2010 15:13:53 +0000 (17:13 +0200)
committerLunar <lunar@anargeek.net>
Tue, 3 Aug 2010 15:15:31 +0000 (17:15 +0200)
i18n is easier if haml templates are in separate files

coquelicot.rb
views/enter_file_key.haml [new file with mode: 0644]
views/expired.haml [new file with mode: 0644]
views/index.haml [new file with mode: 0644]
views/layout.haml [new file with mode: 0644]
views/ready.haml [new file with mode: 0644]
views/style.sass [new file with mode: 0644]

index d71bd7a..9ea0714 100644 (file)
@@ -7,8 +7,6 @@ require 'yaml'
 require 'lockfile'
 require 'singleton'
 
-enable :inline_templates
-
 set :upload_password, '0e5f7d398e6f9cd1f6bac5cc823e363aec636495'
 set :default_expire, 60 # 1 hour
 set :filename_length, 20
@@ -417,180 +415,3 @@ helpers do
     "#{url}/"
   end
 end
-
-__END__
-
-@@ layout
-!!! XML
-!!! Strict
-%html
-  %head
-    %title coquelicot
-    %base{ :href => base_href }
-    %link{ :rel => 'stylesheet', :href => "style.css", :type => 'text/css',
-           :media => "screen, projection" }
-    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.min.js' }
-    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.lightBoxFu.js' }
-    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.uploadProgress.js' }
-    :javascript
-      var generateRandomPassword = 'Generate random';
-      var generatingRandomPassword = 'Generating…';
-    %script{ :type => 'text/javascript', :src => 'javascripts/coquelicot.js' }
-  %body
-    #container
-      = yield
-    #footer
-      %span Coquelicot © 2010 potager.org
-      %span
-        —
-        %a{ :href => 'http://www.gnu.org/licenses/agpl.txt' } AGPLv3
-        —
-      %span
-        %code git clone #{base_href}coquelicot.git
-
-@@ index
-%h1 Share a file!
-- unless @error.nil?
-  .error= @error
-%form#upload{ :enctype => 'multipart/form-data',
-              :action  => 'upload', :method => 'post' }
-  .field
-    %label{ :for => 'upload_password' } Upload password:
-    %input.input{ :type => 'password', :id => 'upload_password', :name => 'upload_password' }
-  .field
-    %label{ :for => 'file' } File:
-    %input.input{ :type => 'file', id => 'file', :name => 'file' }
-  .field
-    %label{ :for => 'expire' } Available for:
-    %select.input{ :id => 'expire',:name => 'expire' }
-      %option{ :value => 5            } 5 minutes
-      %option{ :value => 60           } 1 hour
-      %option{ :value => 60 * 24      } 1 day
-      %option{ :value => 60 * 24 * 7  } 1 week
-      %option{ :value => 60 * 24 * 30 } 1 month
-  .field
-    %label{ :for => 'file_key' } Download password:
-    %input.input{ :type => 'password', :id => 'file_key', :name => 'file_key' }
-  .field
-    .submit
-      %input.submit{ :type => 'submit', :value => 'Share!' }
-
-@@ ready
-%h1 Pass this on!
-#content
-  .url
-    %a{ :href => @url }
-      %span.base> #{@base}/
-      %span.name= @name
-  - unless @unprotected
-    %p A password is required to download this file.
-  %p The file will be available until #{@expire_at}.
-  .again
-    %a{ :href => base_href } Share another file…
-
-@@ enter_file_key
-%h1 Enter download password…
-#content
-  %form{ :action => @link, :method => 'post' }
-    .field
-      %label{ :for => 'file_key' } Password:
-      %input{ :type => 'text', :id => 'file_key', :name => 'file_key' }
-    .field
-      .submit
-        %input{ :type => 'submit', :value => 'Get file' }
-
-@@ expired
-%h1 Too late…
-#content
-  %p Sorry, file has expired.
-
-@@ style
-$green: #00ff26
-
-body
-  background-color: $green
-  font-family: Georgia
-  color: darkgreen
-
-a, a:visited
-  text-decoration: underline
-  color: blue
-
-.error
-  background-color: red
-  color: white
-  border: black solid 1px
-
-h1
-  margin-top: 0.1ex
-  border-bottom: solid 1px #ccc
-  text-align: center
-
-#container
-  width: 550px
-  margin: 2em auto
-  -moz-border-radius: 25px
-  -webkit-border-radius: 25px
-  background: white
-  border: solid 1px black
-  padding: 5px 25px
-
-.url
-  text-align: center
-
-.url a
-  text-decoration: none
-  color: black
-
-.url .base
-  display: block
-  font-size: small
-
-.url .name
-  display: block
-  font-size: x-large
-  white-space: nowrap
-
-.again
-  margin-top: 1ex
-  text-align: right
-
-.field label
-  float: left
-  width: 12em
-  text-align: right
-
-.input, .random-pass
-  float: left
-  width: 15em
-
-.random-pass
-  font-family: monospace
-  font-size: large
-  color: black
-
-#gen_pass
-  font-size: small
-
-.field
-  clear: left
-
-.submit
-  text-align: center
-
-#progress
-  margin: 8px
-  width: 220px
-  height: 19px
-
-#progressbar
-  background: url('images/ajax-loader.gif') no-repeat
-  width: 0px
-  height: 19px
-
-#footer
-  margin-top: 7em
-  padding-top: 1em
-  border-top: dashed 1px black
-  text-align: center
-  font-size: small
diff --git a/views/enter_file_key.haml b/views/enter_file_key.haml
new file mode 100644 (file)
index 0000000..ab312cd
--- /dev/null
@@ -0,0 +1,9 @@
+%h1 Enter download password…
+#content
+  %form{ :action => @link, :method => 'post' }
+    .field
+      %label{ :for => 'file_key' } Password:
+      %input{ :type => 'text', :id => 'file_key', :name => 'file_key' }
+    .field
+      .submit
+        %input{ :type => 'submit', :value => 'Get file' }
diff --git a/views/expired.haml b/views/expired.haml
new file mode 100644 (file)
index 0000000..e30b661
--- /dev/null
@@ -0,0 +1,3 @@
+%h1 Too late…
+#content
+  %p Sorry, file has expired.
diff --git a/views/index.haml b/views/index.haml
new file mode 100644 (file)
index 0000000..8788279
--- /dev/null
@@ -0,0 +1,25 @@
+%h1 Share a file!
+- unless @error.nil?
+  .error= @error
+%form#upload{ :enctype => 'multipart/form-data',
+              :action  => 'upload', :method => 'post' }
+  .field
+    %label{ :for => 'upload_password' } Upload password:
+    %input.input{ :type => 'password', :id => 'upload_password', :name => 'upload_password' }
+  .field
+    %label{ :for => 'file' } File:
+    %input.input{ :type => 'file', :id => 'file', :name => 'file' }
+  .field
+    %label{ :for => 'expire' } Available for:
+    %select.input{ :id => 'expire',:name => 'expire' }
+      %option{ :value => 5            } 5 minutes
+      %option{ :value => 60           } 1 hour
+      %option{ :value => 60 * 24      } 1 day
+      %option{ :value => 60 * 24 * 7  } 1 week
+      %option{ :value => 60 * 24 * 30 } 1 month
+  .field
+    %label{ :for => 'file_key' } Download password:
+    %input.input{ :type => 'password', :id => 'file_key', :name => 'file_key' }
+  .field
+    .submit
+      %input.submit{ :type => 'submit', :value => 'Share!' }
diff --git a/views/layout.haml b/views/layout.haml
new file mode 100644 (file)
index 0000000..62848e0
--- /dev/null
@@ -0,0 +1,26 @@
+!!! XML
+!!! Strict
+%html
+  %head
+    %title coquelicot
+    %base{ :href => base_href }
+    %link{ :rel => 'stylesheet', :href => "style.css", :type => 'text/css',
+           :media => "screen, projection" }
+    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.min.js' }
+    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.lightBoxFu.js' }
+    %script{ :type => 'text/javascript', :src => 'javascripts/jquery.uploadProgress.js' }
+    :javascript
+      var generateRandomPassword = 'Generate random';
+      var generatingRandomPassword = 'Generating…';
+    %script{ :type => 'text/javascript', :src => 'javascripts/coquelicot.js' }
+  %body
+    #container
+      = yield
+    #footer
+      %span Coquelicot © 2010 potager.org
+      %span
+        —
+        %a{ :href => 'http://www.gnu.org/licenses/agpl.txt' } AGPLv3
+        —
+      %span
+        %code git clone #{base_href}coquelicot.git
diff --git a/views/ready.haml b/views/ready.haml
new file mode 100644 (file)
index 0000000..312c6b8
--- /dev/null
@@ -0,0 +1,11 @@
+%h1 Pass this on!
+#content
+  .url
+    %a{ :href => @url }
+      %span.base> #{@base}/
+      %span.name= @name
+  - unless @unprotected
+    %p A password is required to download this file.
+  %p The file will be available until #{@expire_at}.
+  .again
+    %a{ :href => base_href } Share another file…
diff --git a/views/style.sass b/views/style.sass
new file mode 100644 (file)
index 0000000..8eee5fd
--- /dev/null
@@ -0,0 +1,89 @@
+$green: #00ff26
+
+body
+  background-color: $green
+  font-family: Georgia
+  color: darkgreen
+
+a, a:visited
+  text-decoration: underline
+  color: blue
+
+.error
+  background-color: red
+  color: white
+  border: black solid 1px
+
+h1
+  margin-top: 0.1ex
+  border-bottom: solid 1px #ccc
+  text-align: center
+
+#container
+  width: 550px
+  margin: 2em auto
+  -moz-border-radius: 25px
+  -webkit-border-radius: 25px
+  background: white
+  border: solid 1px black
+  padding: 5px 25px
+
+.url
+  text-align: center
+
+.url a
+  text-decoration: none
+  color: black
+
+.url .base
+  display: block
+  font-size: small
+
+.url .name
+  display: block
+  font-size: x-large
+  white-space: nowrap
+
+.again
+  margin-top: 1ex
+  text-align: right
+
+.field label
+  float: left
+  width: 12em
+  text-align: right
+
+.input, .random-pass
+  float: left
+  width: 15em
+
+.random-pass
+  font-family: monospace
+  font-size: large
+  color: black
+
+#gen_pass
+  font-size: small
+
+.field
+  clear: left
+
+.submit
+  text-align: center
+
+#progress
+  margin: 8px
+  width: 220px
+  height: 19px
+
+#progressbar
+  background: url('images/ajax-loader.gif') no-repeat
+  width: 0px
+  height: 19px
+
+#footer
+  margin-top: 7em
+  padding-top: 1em
+  border-top: dashed 1px black
+  text-align: center
+  font-size: small