commit b505e9fe27b028373ef0796894cc3a21e8358b5f
parent ce65011d4f10511d96ceeba9e570eddc99d4102e
Author: Antoine Amarilli <a3nm@a3nm.net>
Date: Tue, 13 Mar 2012 16:00:43 +0100
move html generation stuff in a subdirectory
Diffstat:
11 files changed, 244 insertions(+), 127 deletions(-)
diff --git a/bottom.html b/bottom.html
@@ -1,3 +0,0 @@
- </div>
- </body>
-</html>
diff --git a/form.html b/form.html
@@ -1,52 +0,0 @@
-<p>
-Écrivez votre poème ici. La casse, les symboles et l'espacement sont
-sans importance. Les lignes vides seront ignorées.
-</p>
-<p>
-Écrivez ici le format suivi par votre poème. Chaque ligne du format
-correspond à un vers (ie. une ligne non-vide). Une ligne peut indiquer
-quatre éléments séparés par une espace : la métrique, l'identifiant de
-rime, l'identifiant de genre, et le type de rime. Le premier est
-obligatoire, les trois derniers sont facultatifs.
-</p>
-<p>
-La métrique indique le nombre de syllabes du vers, et la position des
-hémistiches éventuelles. Il s'agit de totaux de syllabes, séparés par
-'/' pour indiquer les hémistiches. Par exemple, "6/6" est un alexandrin
-classique, "12" est un alexandrin sans hémistiche.
-</p>
-<p>
-L'identifiant de rime sert à regrouper les vers qui doivent rimer
-ensemble. Les vers ayant le même identifiant doivent rimer. Pour
-préciser le type de rime attendue, il est possible de terminer
-l'identifiant par ':' suivie d'une liste d'entiers séparée par des '|'
-indiquant les types possibles pour cette rime. Une rime est acceptable
-si elle remplit l'un des critères. Le premier entier indique le nombre
-de phonèmes communs nécessaires (maximum 4, défaut 1), une rime étant
-acceptée pour ce critère si et seulement si le plus grand suffixe commun
-de la prononciation des vers étiquetés comprend ce nombre de phonèmes,
-ainsi qu'un phonème vocalique obligatoirement : ainsi, une valeur de 1,
-2 ou 3 nécessite au minimum une rime pauvre, suffisante ou riche
-respectivement. Le second entier indique le nombre de caractères communs
-nécessaires pour une rime pour l'œil, ou -1 pour interdire (défaut -1).
-Le troisième entier indique le nombre de phonèmes vocaliques nécessaires
-pour une rime par assonance, qui ignore les phonèmes consonantiques
-(maximum 1, défaut -1).</p>
-<p>
-L'identifiant de rime féminine sert à regrouper les vers qui doivent
-avoir une rime de même genre. Les conventions supplémentaires sont que
-deux identifiants de casse inversée (tels que "ex" et "EX") ont des
-genres opposés obligatoirement, et que "m" et "f" sont obligatoirement
-masculin et féminin respectivement.</p>
-</p>
-<p>
-Si des identifiants ne sont pas spécifiés, alors la contrainte
-correspondante n'est pas spécifiée.
-</p>
-<p>
-Une fois le format épuisé, il est lu à nouveau à partir du début,
-jusqu'à la fin du poème. Les identifiants de rime et de genre sont
-réinitialisés (ie. peuvent prendre n'importe quelle valeur), sauf s'ils
-commencent par '!'. Il n'est pas interdit que le poème et le format ne
-terminent pas simultanément.
-</p>
diff --git a/make_poem.pl b/make_poem.pl
@@ -1,52 +0,0 @@
-#!/usr/bin/perl
-
-use HTML::Entities;
-
-my $actor;
-my $indent;
-my $first = 1;
-my %actions;
-
-while (<STDIN>) {
- chop;
- if (/^<([^>]*)> \/me (.*)$/) {
- if ($1 ne $actor) {
- $actions{$1} = $2;
- } else {
- my $did = encode_entities($2, '<>&"');
- print "</p>\n";
- print "<p class=\"did\">Il $did</p>\n";
- print "<p class=\"speech\">\n";
- }
- } elsif (/^<([^>]*)> (.*)$/) {
- if ($1 ne $actor) {
- print "</p>\n" unless $first;
- $first = 0;
- $actor = $1;
- my $eactor = encode_entities($actor, '<>&"');
- print "<p class=\"actor\"><span class=\"actor\">$eactor</span>";
- if (exists $actions{$1}) {
- my $did = encode_entities($actions{$1}, '<>&"');
- print ", <span class=\"did\">$did</span>";
- delete $actions{$1};
- }
- print "</p>\n";
- print "<p class=\"speech\">\n";
- }
- my $rawverse = $2;
- if ($2 =~ m/^ *\.\.\./) {
- $indent++;
- } else {
- $indent = 0;
- }
- my $verse = encode_entities($rawverse, '<>&"');
- if ($indent) {
- my $offset = 4 * $indent . "em";
- print "<span style=\"margin-left: $offset;\">$verse</span><br />\n";
- } else {
- print "$verse<br />\n";
- }
- }
-}
-
-print "</p>\n" unless $first;
diff --git a/make_poem.sh b/make_poem.sh
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-cat top.html > www/index.html
-cat poem | ./make_poem.pl >> www/index.html
-cat bottom.html >> www/index.html
-cp style.css www/
diff --git a/poem2html/bottom.html b/poem2html/bottom.html
@@ -0,0 +1,3 @@
+ </div>
+ </body>
+</html>
diff --git a/poem2html/form.html b/poem2html/form.html
@@ -0,0 +1,52 @@
+<p>
+Écrivez votre poème ici. La casse, les symboles et l'espacement sont
+sans importance. Les lignes vides seront ignorées.
+</p>
+<p>
+Écrivez ici le format suivi par votre poème. Chaque ligne du format
+correspond à un vers (ie. une ligne non-vide). Une ligne peut indiquer
+quatre éléments séparés par une espace : la métrique, l'identifiant de
+rime, l'identifiant de genre, et le type de rime. Le premier est
+obligatoire, les trois derniers sont facultatifs.
+</p>
+<p>
+La métrique indique le nombre de syllabes du vers, et la position des
+hémistiches éventuelles. Il s'agit de totaux de syllabes, séparés par
+'/' pour indiquer les hémistiches. Par exemple, "6/6" est un alexandrin
+classique, "12" est un alexandrin sans hémistiche.
+</p>
+<p>
+L'identifiant de rime sert à regrouper les vers qui doivent rimer
+ensemble. Les vers ayant le même identifiant doivent rimer. Pour
+préciser le type de rime attendue, il est possible de terminer
+l'identifiant par ':' suivie d'une liste d'entiers séparée par des '|'
+indiquant les types possibles pour cette rime. Une rime est acceptable
+si elle remplit l'un des critères. Le premier entier indique le nombre
+de phonèmes communs nécessaires (maximum 4, défaut 1), une rime étant
+acceptée pour ce critère si et seulement si le plus grand suffixe commun
+de la prononciation des vers étiquetés comprend ce nombre de phonèmes,
+ainsi qu'un phonème vocalique obligatoirement : ainsi, une valeur de 1,
+2 ou 3 nécessite au minimum une rime pauvre, suffisante ou riche
+respectivement. Le second entier indique le nombre de caractères communs
+nécessaires pour une rime pour l'œil, ou -1 pour interdire (défaut -1).
+Le troisième entier indique le nombre de phonèmes vocaliques nécessaires
+pour une rime par assonance, qui ignore les phonèmes consonantiques
+(maximum 1, défaut -1).</p>
+<p>
+L'identifiant de rime féminine sert à regrouper les vers qui doivent
+avoir une rime de même genre. Les conventions supplémentaires sont que
+deux identifiants de casse inversée (tels que "ex" et "EX") ont des
+genres opposés obligatoirement, et que "m" et "f" sont obligatoirement
+masculin et féminin respectivement.</p>
+</p>
+<p>
+Si des identifiants ne sont pas spécifiés, alors la contrainte
+correspondante n'est pas spécifiée.
+</p>
+<p>
+Une fois le format épuisé, il est lu à nouveau à partir du début,
+jusqu'à la fin du poème. Les identifiants de rime et de genre sont
+réinitialisés (ie. peuvent prendre n'importe quelle valeur), sauf s'ils
+commencent par '!'. Il n'est pas interdit que le poème et le format ne
+terminent pas simultanément.
+</p>
diff --git a/poem2html/make_poem.pl b/poem2html/make_poem.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+use HTML::Entities;
+
+my $actor;
+my $indent;
+my $first = 1;
+my %actions;
+
+while (<STDIN>) {
+ chop;
+ if (/^<([^>]*)> \/me (.*)$/) {
+ if ($1 ne $actor) {
+ $actions{$1} = $2;
+ } else {
+ my $did = encode_entities($2, '<>&"');
+ print "</p>\n";
+ print "<p class=\"did\">Il $did</p>\n";
+ print "<p class=\"speech\">\n";
+ }
+ } elsif (/^<([^>]*)> (.*)$/) {
+ if ($1 ne $actor) {
+ print "</p>\n" unless $first;
+ $first = 0;
+ $actor = $1;
+ my $eactor = encode_entities($actor, '<>&"');
+ print "<p class=\"actor\"><span class=\"actor\">$eactor</span>";
+ if (exists $actions{$1}) {
+ my $did = encode_entities($actions{$1}, '<>&"');
+ print ", <span class=\"did\">$did</span>";
+ delete $actions{$1};
+ }
+ print "</p>\n";
+ print "<p class=\"speech\">\n";
+ }
+ my $rawverse = $2;
+ if ($2 =~ m/^ *\.\.\./) {
+ $indent++;
+ } else {
+ $indent = 0;
+ }
+ my $verse = encode_entities($rawverse, '<>&"');
+ if ($indent) {
+ my $offset = 4 * $indent . "em";
+ print "<span style=\"margin-left: $offset;\">$verse</span><br />\n";
+ } else {
+ print "$verse<br />\n";
+ }
+ }
+}
+
+print "</p>\n" unless $first;
diff --git a/poem2html/make_poem.sh b/poem2html/make_poem.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+cat top.html > www/index.html
+cat poem | ./make_poem.pl >> www/index.html
+cat bottom.html >> www/index.html
+cp style.css www/
diff --git a/poem2html/style.css b/poem2html/style.css
@@ -0,0 +1,117 @@
+body {
+ background-color: #ccc;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+h1,.subtitle {
+ font-family: monospace;
+ text-align: center;
+ margin-bottom: 0.5em;
+ margin-right: 2.5em;
+}
+
+hr {
+ margin-right: 5em;
+}
+
+.separator {
+ margin-top: 2.5em;
+ width: 50%;
+ margin-right: 10em;
+}
+
+#top {
+ margin-top: 0;
+ margin-bottom: 3em;
+}
+
+#container {
+ border: 1px solid #333;
+ background-color: white;
+ margin: auto;
+ padding-top: 1em;
+ padding-bottom: 1em;
+ padding-left: 5em;
+}
+
+.stanza {
+ margin-bottom: 1.25em;
+ margin-top: 1.25em;
+}
+
+#footer, .dedication {
+ text-align: right;
+}
+
+.dedication {
+ font-style: italic;
+ margin-bottom: 1.8em;
+ margin-right: 4em;
+}
+
+#footer {
+ margin-top: 3em;
+ margin-right: 1em;
+}
+
+.ref {
+ font-style: oblique;
+}
+
+#header {
+ margin-bottom: 3em;
+}
+
+h2 {
+ font-size: 150%;
+ margin-bottom: 0.2em;
+ margin-top: 1.5em;
+ letter-spacing: 1px;
+ font-variant: small-caps;
+}
+
+h3 {
+ font-size: 100%;
+ margin-top: 1.5em;
+}
+
+h2, h3 {
+ font-family: Georgia, "Times New Roman", Times, serif;
+}
+
+.ref {
+ text-align: left;
+ margin-left: 0;
+}
+
+#container {
+ max-width: 28em;
+}
+
+.line {
+ margin-top: 0.45em;
+ margin-bottom: 0.45em;
+}
+
+span.actor {
+ font-variant: small-caps;
+ margin-left: 2em;
+ margin-bottom: 0.3em;
+}
+
+.speech {
+ margin-top: 0.3em;
+}
+
+.subtitle {
+ font-size: 70%;
+}
+
+.did {
+ font-style: italic;
+}
+
+p.did {
+ margin-left: 2em;
+}
+
diff --git a/poem2html/top.html b/poem2html/top.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html dir="ltr" xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>#alexandrins</title>
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+ <meta name="author" content="a3_nm" />
+ <meta name="description" content="Poèmes, par a3_nm" />
+ <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
+ </head>
+ <body>
+ <div id="container">
+ <h1>#alexandrins</h1>
+ <hr id="top" />
+
diff --git a/top.html b/top.html
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<html dir="ltr" xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>#alexandrins</title>
- <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
- <meta name="author" content="a3_nm" />
- <meta name="description" content="Poèmes, par a3_nm" />
- <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
- </head>
- <body>
- <div id="container">
- <h1>#alexandrins</h1>
- <hr id="top" />
-