Escrito durante la malhadada cuarentena durante la epidemia de coronavirus. Ya le dedicaré una filípica... ¡A la cuarentena, no al virus!
Allá por los oscuros años 2001, empecé a escribir y publicar mis opiniones en el viejo Geocities, ignorante aún del incipiente boom de los blogs. Escribir en Word y guardar las páginas en formato .htm bastaba.
Luego de varios años, como tantos, me mudé a Blogger, pero su rigidez en la manipulación del texto era frustrante: ¿párrafos divididos con etiquetas <div> y <br />? Seriously?
Luego instalé WordPress, pero el bloat era insoportable, como se leía ya en 2016 en The web is DOOM'd: Average page now as big as id's DOS classic,* el overhead requerido para mostrar un texto tan corto como unas cuantas oraciones ¡era más pesado que el videojuego Doom! Algo inaceptable.
Pero quería algo aún más minimalista. Por eso pensé en diseñar mi propio Content Management System, o CMS, básicamente copiando y pegando partes de código que entendía de PluXml y consultando constantemente internet.
Para hosting recomiendo 1dollar-webhosting.com, los uso desde hace 10 años y son eficientes y económicos. Eso sí, si el lector prevé que necesitará más servicio al cliente, le convendrá un servicio de mayor valor.
Lo adjunto como repositorio y por si a alguien le sirve. Comentaré el código y al final pondré un archivo descargable.
El núcleo del sistema
Este es “el motor bajo el capót” que actúa cuando el usuario visita la página:
ob_start("ob_gzhandler");?> //Esto dizque comprime la página
El encabezado
Esto se añade antes de cada página para facilitar la lectura.
/* la fuente Arvo me parece muy legible para pantallas especialmente, la recomiendo. Sugiero incluirla en el propio servidor, no pesa mucho, para que la página cargue más rápido sin tener que consultar servidor externo como Google fonts por ejemplo */
@font-face {
font-family : Arvo;
src : url(Arvo-Regular.ttf);
}
/* No suelo poner fuente negrita pues el navegador la muestra bien simulándola. */
@font-face {
font-family : Arvo;
src : url(Arvo-Italic.ttf);
font-style : italic;
}
body {
/* Ese color gainsboro es un tono suave de gris para eliminar el brillo excesivo de un fondo blanco. */
background-color : gainsboro;
/* Para añadir guiones al final de línea; especialmente útiles en móviles, pues son pantallas poco anchas. En general no me importan demasiado los guiones en títulos, lo que es considerado un faux pas tipográfico... */
overflow-wrap : break-word;
overflow-wrap : break-word;
hyphens : auto;
}
p {
font-size : 14pt;
color : black;
font-family : "Arvo", serif;
text-indent : 1em;
margin-top : 0.2em;
}
.subtitulo {
text-align : center;
font-size : 1.5em;
}
.quote {
display : block;
font-size : 93%;
margin-left : 1em;
margin-right : 0;
}
h1, h2, h3, h4 {
color : brown;
font-family : "Arvo", serif;
}
img {
margin-left : 0;
padding-left : 0;
max-width : 97vw;
height : auto;
}
table, th, td {
font-size : 12pt;
color : black;
font-family : "Arial", sans-serif;
border : black solid 1px;
border-collapse : collapse;
}
.navbar {
overflow : hidden;
background-color : rgb(255, 255, 255, 0.3);
position : fixed;
top : 0;
}
.navbar a {
font-family : "Arial Narrow", Arial, sans-serif;
font-stretch : condensed;
float : left;
display : block;
text-align : center;
padding : 5px 5px;
text-decoration : none;
}
/* Que en tablets y teléfonos no haya márgenes, pero en PCs de escritorio y laptops, sí */
@media only screen and (min-width: 18cm) {
body {
margin : 0 15% 0 15%;
}
img {
max-width : 70vw;
height : auto;
}
}
Si a alguien más le resulta de utilidad, me daré por bien servido.