Hyde

È un piccolo strumento per generare siti web statici, prende ispirazione da Jekyll, soprattutto il nome (Dr. Jekyll e Mr. Hyde). Jekyll l'ho usato per un po' di tempo su GitHub, poi lo provai anche sul mio computer ma lo trovai (tutt'ora) un po' macchinoso. I file md se volevo usarli con qualche altro strumento avrei dovuto ripulirli dalle intestazioni che Jekyll richiede per definire le properietà delle singole pagine. La mia idea è quella di avere un file per il contenuto della singola pagina web totalmente pulita, i metadati devono essere salvati su file esterni, proprio per questo motivo ho creato Hyde.

La sua forza sta nella semplicità di utilizzo. Non è stata reinventata la ruota; Hyde è stato scritto in Ruby e fa uso di template ERB. 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.

Un piccolo esempio

Di seguito viene mostrato un esempio di un sito con sole due pagine. Per prima cosa si definisce un file master.rhtml che serve da template.

master.rhtml

<html>
  <head>
    <title><%= @title %></title>
  </head>
  <body>
    <div style="border: 1px solid orange">
      <%= render @pageFileName %>
    </div>
  </body>
</html>

Le variabili usate sono le seguenti:

pagina1.rhtml

<h1>Pagina uno</h1>
<p>Contenuto della pagina 1.</p>
<a href="pagina2.html">Pagina 2 &‍gt;</a>
pagina2.rhtml

<h1>Pagina due</h1>
<p>Contenuto della pagina 2.</p>
<a href="pagina1.html">&‍lt; Pagina 1</a>
pagina1.rhtml.config

title: Pagina 1
pagina2.rhtml.config

title: Pagina 2

Dopo aver creato i file, si avrà la seguente situazione:


$ ls -1
master.rhtml
pagina1.rhtml
pagina1.rhtml.config
pagina2.rhtml
pagina2.rhtml.config

A questo punto, si eseguono i seguenti comandi:


hyde -f pagina1.rhtml > pagina1.html
hyde -f pagina2.rhtml > pagina2.html

Aprire i due file HTML (pagina1.html e pagina2.html) sul browser.