capsite

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

vers_html.awk (2936B)


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