aboutsummaryrefslogtreecommitdiff
path: root/products/hyde/index.rhtml
blob: 5db1b76de3a94e9ef99d295daf7fdb019b5c1555 (plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
<h1>Hyde</h1>
<p>&Egrave; un piccolo strumento per generare siti web statici. La sua forza sta nella semplicit&agrave; di
   utilizzo. Non &egrave; stata reinventata la ruota; hyde &egrave; stato scritto in Ruby e fa uso di template ERB.</p>
<p>Il principio di funzionamento &egrave; quello di avere una pagina master che definisce il layout del contenuto del
   sito web e dei file (per il momento ci si limita ai file HTML) che vengono inglobati. In questo modo &egrave;
   possibile separare la grafica dal contenuto.</p>
<p>Di seguito viene mostrato un piccolo esempio di un sito con due pagine molto semplici. Per prima cosa si definisce
   un file <code>master.rhtml</code> che serve da template.</p>

<small class="text-muted">master.rhtml</small>
<pre><code>
&lt;html>
  &lt;head>
    &lt;title>&lt;%= @title %>&lt;/title>
  &lt;/head>
  &lt;body>
    &lt;div style="border: 1px solid orange">
      &lt;%= render @pageFileName %>
    &lt;/div>
  &lt;/body>
&lt;/html>
</code></pre>

<p>Le variabili usate sono le seguenti:</p>
<ul>
  <li><code>@title</code> &egrave; il titolo della pagina, viene definito nel file config;</li>
  <li><code>@pageFileName</code> &egrave; il nome del file da renderizzare, in questo esempio vengono renderizzati
      i file <code>pagina1.rhtml</code> e <code>pagina2.rhtml</code>.</li>
</ul>

<small class="text-muted">pagina1.rhtml</small>
<pre><code>
&lt;h1>Pagina uno&lt;/h1>
&lt;p>Contenuto della pagina 1.&lt;/p>
&lt;a href="pagina2.html">Pagina 2 &&zwj;gt;&lt;/a>
</code></pre>

<small class="text-muted">pagina2.rhtml</small>
<pre><code>
&lt;h1>Pagina due&lt;/h1>
&lt;p>Contenuto della pagina 2.&lt;/p>
&lt;a href="pagina1.html">&&zwj;lt; Pagina 1&lt;/a>
</code></pre>

<small class="text-muted">pagina1.rhtml.config</small>
<pre><code>
title: Pagina 1
</code></pre>

<small class="text-muted">pagina2.rhtml.config</small>
<pre><code>
title: Pagina 2
</code></pre>

<p>Dopo aver creato i file, si avr&agrave; la seguente situazione:</p>
<pre><code>
$ ls -1
master.rhtml
pagina1.rhtml
pagina1.rhtml.config
pagina2.rhtml
pagina2.rhtml.config
</code></pre>

<p>A questo punto, si eseguono i seguenti comandi:</p>
<pre><code>
hyde -f pagina1.rhtml > pagina1.html
hyde -f pagina2.rhtml > pagina2.html
</code></pre>

<p>Aprire i due file HTML (pagina1.html e pagina2.html) sul browser.</p>