static-httpd

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit b8e2aa62031eaa55c399779495e6bafb8e5ac146
parent f63dfd3ba0f72e24a16929790771abd439683bb3
Author: fjbalon <fbalon@templier.es>
Date:   Sat,  6 Jun 2026 01:42:41 +0200

Añadidas entradas automatizadas de blog y estilos css para artículos

Diffstat:
Aarticle.css | 164+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aautomate.sh | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dblog/index.html | 1-
Mindex.html | 64++++++++++++++++++++++++++++++++++++++--------------------------
4 files changed, 281 insertions(+), 27 deletions(-)

diff --git a/article.css b/article.css @@ -0,0 +1,163 @@ +body { + background-color: rgb(255, 255, 255); + color: rgb(28, 28, 28); + /* font-family: 'Times New Roman', Times, serif; */ + /* font-weight: 300; */ + /* line-height: 1.5; */ + /* text-align: justify; */ + max-width: 130ex; + margin-left: auto; + margin-right: auto; + padding: 2em; + /* letter-spacing: 1px; */ + /* overflow-wrap: break-word; */ +} + +header { + text-align: center; +} + +.title { + font-size: 28px; + line-height: 1em; + margin-bottom: 20px; +} + +.date { + font-size: 14px; + color: grey; + font-style: italic; +} + +h1, h2, h3 { + padding-top: 1em; + font-weight: normal; + line-height: 1em; + margin-bottom: 20px; +} + +a { + text-decoration: none; + border-bottom: 1px dotted; + cursor: pointer; + transition: color .2s ease-out; +} + +a:hover { + color: #005577; +} + +img { + display: block; + margin-left: auto; + margin-right: auto; + width: 80%; +} + +cita { + display: block; + color: #333; + margin: 1em 0; + padding: 1em; + border-left: 1px solid #ddd; + font-style: italic; +} + +cita p:last-of-type { + margin-bottom: 0; + text-align: right; + font-style: normal; +} + +code { + font-family: monospace; + font-size: inherit; + color: #ffffff; + background-color: #333; + display: block; + padding-right: 1%; + padding-left: 1%; + padding-top: 1%; + padding-bottom: 1%; + word-wrap: normal; + overflow-x: auto; +} + +emb { + font-family: monospace; + background-color: #f0f0f0; + border-radius: 3px; + padding: 2px 4px; + font-size: 0.9em; + color: #333; +} + +kbd { + font-family: monospace; + background-color: #f0f0f0; + border-radius: 3px; + padding: 2px 4px; + font-size: 0.9em; + color: #333; + white-space: nowrap; + border: 1px solid #ccc; + box-shadow: inset 0 -1px 0 #fff; +} + +math { + font-family: monospace; + display: block; + margin: 10px; + word-wrap: normal; + overflow-x: auto; +} + +@media screen and (max-width: 768px) { + body { + /* padding: 2em; */ + /* font-size: 85%; */ + } +} + +@media (prefers-color-scheme: dark) { + body { + color: antiquewhite; + /* background-color: rgb(28, 28, 28); */ + background-color: black; + } + + a { + color: #349dc6; + } + + a:hover { + color: antiquewhite; + } + + .color-invertible { + /* filter: invert(92.94%); */ + filter: invert(100%); + } + + cita { + color: lightcyan; + border-left: 1px solid lightcyan; + } + + code { + color: lightcyan; + } + + emb { + background-color: #343434; + color: antiquewhite; + } + + kbd { + background-color: #343434; + color: #ffffff; + border: 1px solid #211e1e; + box-shadow: inset 0 -1px 0 #000000; + } + +} +\ No newline at end of file diff --git a/automate.sh b/automate.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +TMP=$(mktemp) + +for file in */index.html; do + [ -f "$file" ] || continue + + dir=$(dirname "$file") + + title=$(grep -oP '(?<=<p class="title">).*?(?=</p>)' "$file" | head -n1) + + date=$(grep -oP '(?<=<p class="date">).*?(?= • )' "$file" | head -n1) + + author=$(grep -oP '(?<= • ).*?(?=</p>)' "$file" | head -n1) + + excerpt=$( + awk ' + /<\/header>/ {inside=1; next} + inside && /<p>/ { + gsub(/<[^>]+>/,"") + print + exit + } + ' "$file" | cut -c1-200 + ) + + order_date=$( + python3 - <<EOF +from datetime import datetime + +months = { + "enero":1, + "febrero":2, + "marzo":3, + "abril":4, + "mayo":5, + "junio":6, + "julio":7, + "agosto":8, + "septiembre":9, + "octubre":10, + "noviembre":11, + "diciembre":12 +} + +s = "$date".lower() + +try: + day, _, month, _, year = s.split() + print(f"{year}{months[month]:02d}{int(day):02d}") +except: + print("00000000") +EOF + ) + + printf "%s\t%s\t%s\t%s\t%s\n" \ + "$order_date" "$dir" "$title" "$date" "$author|$excerpt" \ + >> "$TMP" + +done + +sort -r "$TMP" | while IFS=$'\t' read -r _ dir title date rest +do + author=${rest%%|*} + excerpt=${rest#*|} + + cat <<EOF +<a href="./$dir/" class="article"> + <p class="title">$title</p> + <p class="info">$date · $author</p> + <p>$excerpt...</p> +</a> + +EOF + +done + +rm "$TMP" +\ No newline at end of file diff --git a/blog/index.html b/blog/index.html @@ -1 +0,0 @@ -<p>Primer commit</p> diff --git a/index.html b/index.html @@ -5,43 +5,55 @@ <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Bernardo de Borgoña</title> <link rel="icon" type="image/png" href="favicon.png" /> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> +<link rel="stylesheet" type="text/css" href="style.css" /></head> <body> <header> <img class="logo" src="logo.png" alt="Bernardo de Borgoña"> <h1 class="title">Bernardo de Borgoña</h1> <p class="subtitle">Caballero. Cristiano Viejo. Unixismo.</p> <nav class="menu"> - <a href="./git">git</a> +<a href="./git">git</a> </nav> </header> <section class="blog"> - <a href="./archlinux/" class="article"> - <p class="title">Entrada 1</p> - <p class="info">20/12/2021 · Autor</p> - <p>Lorem ipsum dolor sit amet...</p> - </a> - - <a href="#" class="article"> - <p class="title">Entrada 2</p> - <p class="info">20/12/2021 · Autor</p> - <p>Lorem ipsum dolor sit amet...</p> - </a> - - <a href="#" class="article"> - <p class="title">Entrada 3</p> - <p class="info">20/12/2021 · Autor</p> - <p>Lorem ipsum dolor sit amet...</p> - </a> - - <a href="#" class="article"> - <p class="title">Entrada 4</p> - <p class="info">20/12/2021 · Autor</p> - <p>Lorem ipsum dolor sit amet...</p> - </a> +<a href="./anillos-poder/" class="article"> + <p class="title">La perversión de los personajes de J.R.R. Tolkien</p> + <p class="info">27 de septiembre de 2023 · fjbalon • fjbalon</p> + <p>Sinceramente, no comprendo el afán de protección ante las malas críticas hacia este producto de Amazon. ¿Tanto miedo hay a que se catalogue como un mal producto? ¿vamos a primar el marketing y la...</p> +</a> + +<a href="./secretos-matrimonio/" class="article"> + <p class="title">Secretos de un matrimonio (1973), de Ingmar Bergman</p> + <p class="info">2 de enero de 2023 · fjbalon</p> + <p>Formalmente, como todo lo que hace Bergman es refinado y pulcro. De los diálogos sobreviene una educación y una elegancia que lo separa de cualquier telenovela o serie, y que al dividirlo en capítu...</p> +</a> + +<a href="./browser-sucks/" class="article"> + <p class="title">Todos los navegadores web son basura</p> + <p class="info">2 de enero de 2023 · fjbalon</p> + <p>Me he inspirado en el artículo every web browser absolutely sucks, de Luke Smith, con el que -debo decir- estoy radicalmente de acuerdo, tanto que he querido hacer mi propio «browser sucks»....</p> +</a> + +<a href="./dd/" class="article"> + <p class="title">Sobre el tamaño de bloque en dd</p> + <p class="info">16 de marzo de 2021 · fjbalon</p> + <p>dd es una de las herramientas invaluables de cualquier arsenal Unix, y quizás una de las herramientas más potentes que existen en esta familia. Forma parte de las core utils y su objetivo principal ...</p> +</a> + +<a href="./aquino/" class="article"> + <p class="title">De las cinco vías de Tomás de Aquino</p> + <p class="info">29 de marzo de 2016 · fjbalon</p> + <p>Tiempo llevo analizando y contemplando, si ese verbo puede ser usado al respecto, la gigantesca obra de Tomás de Aquino. Y tiempo llevo comprobando, casi experimentalmente, que el vulgo no conoce rea...</p> +</a> + +<a href="./archlinux/" class="article"> + <p class="title">Guía de instalación de arch linux base</p> + <p class="info">22 de marzo de 2016 · fjbalon</p> + <p>Adentrándonos en el vasto universo de Unix y GNU/Linux, en especial en su distributismo característico; Arch Linux se presenta como una distro recomendada a usuarios avanzados y con cierto conocimie...</p> +</a> + </section> </body> </html>