File: template_redcloth.rb

package info (click to toggle)
ruby-ramaze 2012.12.08-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,060 kB
  • ctags: 1,200
  • sloc: ruby: 10,446; makefile: 8
file content (58 lines) | stat: -rw-r--r-- 1,126 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
require 'rubygems'
require 'ramaze'

class MainController < Ramaze::Controller
  engine :RedCloth
  layout :layout

  def index
    @place = :home
    %{ #{a('Home',:/)} | #{a(:internal)} | #{a(:external)} }
  end

  def internal(*args)
    @place = :internal
    @args = args
    <<__REDCLOTH__
h1. The <%= @place %> Template for RedCloth

"Home":<%= r(:/) %>

Here you can pass some stuff if you like, parameters are just passed like this:<br />
"<%= @place %>/one":<%= r(@place, :one) %><br />
"<%= @place %>/two/three":<%= r(@place, :two, :three) %><br />
"<%= @place %>/one?foo=bar":<%= r(@place, :one, :foo => :bar) %>

The arguments you have passed to this action are:<br />
<% if @args.empty? %>
  none
<% else %>
  <% @args.each do |arg| %>
    <span><%= arg %></span>
  <% end %>
<% end %>

<%= request.params.inspect %>
__REDCLOTH__
  end

  def external(*args)
    @place = :external
    @args = args
  end

  def layout
    <<'__HTML__'
<html>
  <head>
    <title>Template::RedCloth <%= @place %></title>
  </head>
  <body>
    <%= @content %>
  </body>
</html>
__HTML__
  end
end

Ramaze.start :file => __FILE__