capsite

Ressources et outils pour la génération de ma capsule et de mon site
git clone git://git.asteride.xyz/capsite.git
Journaux | Fichiers | Références

vers_html.awk (3106B)


      1 function afficher_entete(  message) {
      2 	print "<!DOCTYPE html>"
      3 	print "<html lang=\"fr\">"
      4 	print "<head>"
      5 	if (meta["titre"])
      6 		print "\t<title>" ech(meta["titre"]) "</title>"
      7 	print "\t<meta charset=\"UTF-8\">"
      8 	if (meta["auteur"])
      9 		print "\t<meta name=\"author\" content=\"" ech(meta["auteur"]) "\">"
     10 	if (meta["description"])
     11 		print "\t<meta name=\"description\" content=\"" ech(meta["description"]) "\">"
     12 	print "\t<meta name=\"robots\" content=\"index,follow,notranslate\">"
     13 	print "\t<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">"
     14 	print "\t<link rel=\"icon\" href=\"data:;base64,iVBORw0KGgo=\">"
     15 	print "\t<link href=\"/flux/cybercarnet_https.atom\" rel=\"alternate\" title=\"Le Cybercarnet d’~ldp\" type=\"application/atom+xml\">"
     16 	print "<style>"
     17 	print "\thtml {"
     18 	print "\t\tbackground-color: #000000;"
     19 	print "\t\tcolor: #e3e3e3;"
     20 	print "\t}"
     21 	print "\tbody {"
     22 	print "\t\tfont: 16px/1.7 serif;"
     23 	print "\t\tmax-width: 760px;"
     24 	print "\t\tmargin: auto;"
     25 	print "\t\tpadding: 15px;"
     26 	print "\t}"
     27 	print "\ta { color: #1177ff; text-decoration: none; }"
     28 	print "\ta:hover { color: #ff0000; }"
     29 	print "\theader { text-align: center; padding-bottom: 10px; }"
     30 	print "\tpre { line-height: normal; overflow: auto; }"
     31 	print "\tblockquote { font-style: italic; }"
     32 	print "</style>"
     33 	print "</head>"
     34 	print "<body>"
     35 	print "<main>"
     36 	if (meta["titre"]) {
     37 		print "<header>"
     38 		print "\t<hr>"
     39 		if (meta["titre"])
     40 			print "\t<h1>" ech(meta["titre"]) "</h1>"
     41 		if (meta["type"] == "accueil")
     42 			message = meta["message"]
     43 		else if (meta["date_pub"]) {
     44 			message = "Publié le " meta["date_pub"]
     45 			if (meta["date_mod"])
     46 				message = message " et modifié le " meta["date_mod"]
     47 		}
     48 		if (message)
     49 			print "\t<p><i>" ech(message) "</i></p>"
     50 		print "\t<hr>"
     51 		print "</header>"
     52 	}
     53 	print
     54 }
     55 
     56 function afficher_pieddepage() {
     57 	print "</main>"
     58 	print "<hr>"
     59 	if (meta["type"] != "accueil") {
     60 		print "<footer>"
     61 		print "<nav>"
     62 			print "<center><p><a href=\"/\">Retourner à la page d'accueil</a></p></center>"
     63 		print "</nav>"
     64 		print "</footer>"
     65 	}
     66 	print "</body>"
     67 	print "</html>"
     68 		
     69 }
     70 
     71 function elem_titre2(titre) {
     72 	print "<h2>" ech(titre) "</h2>"
     73 }
     74 
     75 function elem_titre3(titre) {
     76 	print "<h3>" ech(titre) "</h3>"
     77 }
     78 
     79 function elem_citation(cit) {
     80 	print "<blockquote><p>" ech(cit) "</p></blockquote>"
     81 }
     82 
     83 function elem_liensdeb() {
     84 	printf("<p>")
     85 }
     86 
     87 function elem_liensfin() {
     88 	printf("</p>")
     89 }
     90 
     91 function elem_lien(lien, titre) {
     92 	printf("=> <a href=\"%s\">", ech(lien))
     93 	if (titre)
     94 		printf("%s", ech(titre))
     95 	print "</a><br>"
     96 }
     97 
     98 function elem_predeb(desc) {
     99 	printf "<pre>"
    100 }
    101 
    102 function elem_prefin() {
    103 	print "</pre>"
    104 }
    105 
    106 function elem_pre(ligne) {
    107 	print ech(ligne)
    108 }
    109 
    110 function elem_listedeb() {
    111 	print "<ul>"
    112 }
    113 
    114 function elem_listefin() {
    115 	print "</ul>"
    116 }
    117 
    118 function elem_liste(elem) {
    119 	print "<li>" ech(elem) "</li>"
    120 }
    121 
    122 function elem_lignevide() {
    123 	print
    124 }
    125 
    126 function elem_paragraphe(contenu) {
    127 	print "<p>" ech(contenu) "</p>"
    128 }
    129 
    130 # échapper
    131 function ech(texte) {
    132 	gsub("&", "\\&amp;", texte)
    133 	gsub("<", "\\&lt;", texte)
    134 	gsub(">", "\\&gt;", texte)
    135 	return texte;
    136 }