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>È un piccolo strumento per generare siti web statici. La sua forza sta nella semplicità di
utilizzo. Non è stata reinventata la ruota; hyde è stato scritto in Ruby e fa uso di template ERB.</p>
<p>Il principio di funzionamento è 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 è
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>
<html>
<head>
<title><%= @title %></title>
</head>
<body>
<div style="border: 1px solid orange">
<%= render @pageFileName %>
</div>
</body>
</html>
</code></pre>
<p>Le variabili usate sono le seguenti:</p>
<ul>
<li><code>@title</code> è il titolo della pagina, viene definito nel file config;</li>
<li><code>@pageFileName</code> è 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>
<h1>Pagina uno</h1>
<p>Contenuto della pagina 1.</p>
<a href="pagina2.html">Pagina 2 &‍gt;</a>
</code></pre>
<small class="text-muted">pagina2.rhtml</small>
<pre><code>
<h1>Pagina due</h1>
<p>Contenuto della pagina 2.</p>
<a href="pagina1.html">&‍lt; Pagina 1</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à 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>
|