doc/HelloWorld.spec in gerbil-3.0.2 vs doc/HelloWorld.spec in gerbil-3.1.0

- old
+ new

@@ -1,66 +1,62 @@ -desc: A illustrative format. +desc: An example format. code: | - # Returns a random, but pronounceable, name. + # Returns a random, yet pronounceable, name. def generate_name letters = ('a'..'z').to_a - %w[ c q w x ] # redundant sounds vowels = %w[a e i o u] consonants = letters - vowels sets = [consonants, vowels] length = 3 + rand(5) - name = '' - length.times do |i| + name = (0...length).map do |i| + # alternate between consonants and vowels set = sets[i % sets.length] - name << set[rand(set.length)] - end + # choose a random letter from the set + set[rand(set.length)] + end.join + name end class Node def name + # dynamically compute (and store) + # the name of this node on demand @name ||= generate_name end end nodes: hello: index: true number: true silent: false output: | - <h1><%= @node.type %> #<%= @node.index %>: <%= @node.name.inspect %></h1> + <h3><%= @node.type %> #<%= @node.index %>: <%= @node.name.inspect %></h3> + My name is <%= @node.name.inspect %> and these are my properties: - <table> - <tr> - <th>Property</th> - <th>Value</th> - </tr> - <tr> - <td>args</td> - <td><%= @node.args.inspect %></td> - </tr> - <tr> - <td>index</td> - <td><%= @node.index.inspect %></td> - </tr> - <tr> - <td>number</td> - <td><%= @node.number.inspect %></td> - </tr> - <tr> - <td>trace</td> - <td><ul><%= @node.trace.map {|s| "<li>#{s}</li>"} %></ul></td> - </tr> - <tr> - <td>content</td> - <td><%= @node.content %></td> - </tr> - </table> + <dl style="<%= $style %>"> + <dt>args</dt> + <dd><code><%= @node.args.inspect %></code></dd> + + <dt>index</dt> + <dd><code><%= @node.index.inspect %></code></dd> + + <dt>number</dt> + <dd><code><%= @node.number.inspect %></code></dd> + + <dt>trace</td> + <dd><pre><%= @node.trace.join("\n") %></pre></dd> + + <dt>content</dt> + <dd><%= @node.content %></dd> + </dl> + output: | Welcome to the "<%= @spec[:name] %>" format. - <div style="<%= $style %>"><%= @content %></div> + <%= @content %> That's all folks!