commit 06c7972fe616fae72aa5977d043fb02349bf493a
parent 630c1eb5a72d66478ec3e04d7693e42998bd275d
Auteur: ldp <ldp@asteride.xyz>
Date: Wed, 7 Aug 2024 17:18:14 -0400
[gen] échappement de certains caractères
Diffstat:
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/lib/vers_html.awk b/lib/vers_html.awk
@@ -3,20 +3,20 @@ function afficher_entete( message) {
print "<html lang=\"fr\">"
print "<head>"
if (meta["titre"])
- print "\t<title>" meta["titre"] "</title>"
+ print "\t<title>" ech(meta["titre"]) "</title>"
print "\t<meta charset=\"UTF-8\">"
if (meta["auteur"])
- print "\t<meta name=\"author\" content=\"" meta["auteur"] "\">"
+ print "\t<meta name=\"author\" content=\"" ech(meta["auteur"]) "\">"
print "\t<meta name=\"robots\" content=\"index,follow\">"
print "\t<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">"
print "\t<link rel=\"icon\" href=\"data:;base64,iVBORw0KGgo=\">"
print "<style>"
print "\thtml {"
- print "\t\tbackground-color: #000000;"
- print "\t\tcolor: #ffffff;"
+ print "\t\tbackground-color: #232323;"
+ print "\t\tcolor: #e3e3e3;"
print "\t}"
print "\tbody {"
- print "\t\tfont: 1.2em/1.7 serif;"
+ print "\t\tfont: 1.1em/1.5 serif;"
print "\t\tmax-width: 760px;"
print "\t\tmargin: auto;"
print "\t\tpadding: 15px;"
@@ -35,7 +35,7 @@ function afficher_entete( message) {
print "<header>"
print "\t<hr>"
if (meta["titre"])
- print "\t<h1>" meta["titre"] "</h1>"
+ print "\t<h1>" ech(meta["titre"]) "</h1>"
if (meta["type"] == "accueil")
message = meta["message"]
else if (meta["date_pub"]) {
@@ -44,7 +44,7 @@ function afficher_entete( message) {
message = message " et modifié le " meta["date_mod"]
}
if (message)
- print "\t<p><i>" message "</i></p>"
+ print "\t<p><i>" ech(message) "</i></p>"
print "\t<hr>"
print "</header>"
}
@@ -52,6 +52,8 @@ function afficher_entete( message) {
}
function afficher_pieddepage() {
+ if (meta["type"] == "article" && meta["auteur"])
+ print "<p><i>— " ech(meta["auteur"]) "</i></p>"
print "</main>"
print "<hr>"
if (meta["type"] != "accueil") {
@@ -67,15 +69,15 @@ function afficher_pieddepage() {
}
function elem_titre2(titre) {
- print "<h2>" titre "</h2>"
+ print "<h2>" ech(titre) "</h2>"
}
function elem_titre3(titre) {
- print "<h3>" titre "</h3>"
+ print "<h3>" ech(titre) "</h3>"
}
function elem_citation(cit) {
- print "<blockquote><p>" cit "</p></blockquote>"
+ print "<blockquote><p>" ech(cit) "</p></blockquote>"
}
function elem_liensdeb() {
@@ -87,9 +89,9 @@ function elem_liensfin() {
}
function elem_lien(lien, titre) {
- printf("<a href=\"%s\">", lien)
+ printf("<a href=\"%s\">", ech(lien))
if (titre)
- printf("%s", titre)
+ printf("%s", ech(titre))
print "</a><br>"
}
@@ -102,7 +104,7 @@ function elem_prefin() {
}
function elem_pre(ligne) {
- print ligne
+ print ech(ligne)
}
function elem_listedeb() {
@@ -114,7 +116,7 @@ function elem_listefin() {
}
function elem_liste(elem) {
- print "<li>" elem "</li>"
+ print "<li>" ech(elem) "</li>"
}
function elem_lignevide() {
@@ -122,5 +124,13 @@ function elem_lignevide() {
}
function elem_paragraphe(contenu) {
- print "<p>" contenu "</p>"
+ print "<p>" ech(contenu) "</p>"
+}
+
+# échapper
+function ech(texte) {
+ gsub("<", "\\<", texte)
+ gsub(">", "\\>", texte)
+ gsub("&", "\\&", texte)
+ return texte;
}