Actualización
This commit is contained in:
parent
99719d3480
commit
00a5391546
|
@ -0,0 +1 @@
|
|||
.token
|
|
@ -3,7 +3,7 @@ image: alpine:latest
|
|||
pages:
|
||||
stage: deploy
|
||||
script:
|
||||
- echo 'Nothing to do...'
|
||||
- echo 'Deploying...'
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
|
|
|
@ -0,0 +1,264 @@
|
|||
/**************************************************/
|
||||
/******************* RESETEADOR *******************/
|
||||
/**************************************************/
|
||||
|
||||
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 */
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/* Old browsers / Para viejos exploradores */
|
||||
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
/**************************************************/
|
||||
|
||||
body * {
|
||||
font-family: AlegreyaSansRegular, sans-serif;
|
||||
line-height: 1.15;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body b {
|
||||
font-family: "AlegreyaSansBold", sans-serif;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body i {
|
||||
font-family: "AlegreyaSansItalic", sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
body span.icon {
|
||||
padding-right: .25rem;
|
||||
}
|
||||
|
||||
header {
|
||||
width: 100%;
|
||||
height: 20rem;
|
||||
background-image: url('../img/banner_color.jpg');
|
||||
background-position: bottom;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
header > img {
|
||||
display: block;
|
||||
height: 200px;
|
||||
width: auto;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
nav, footer {
|
||||
position: -webkit-sticky; /* Safari */
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background-color: #e5582d;
|
||||
color: white;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
margin-bottom: 2rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
nav a, footer a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
nav li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
nav li:not(:first-of-type) {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
nav input#search-bar {
|
||||
display: inline-block;
|
||||
border-radius: 1rem;
|
||||
padding: .15rem .5rem;
|
||||
border: none;
|
||||
width: 200px;
|
||||
box-sizing: border-box;
|
||||
color: #2e2e2e;
|
||||
}
|
||||
|
||||
nav input#search-bar:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
section {
|
||||
max-width: 40rem;
|
||||
margin: auto;
|
||||
padding: 0 1rem;
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
section > h1 {
|
||||
font-size: 2rem;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
section > h1 + p {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link {
|
||||
scroll-margin-top: 5rem;
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
li.link:not(:first-of-type) {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link + li.link {
|
||||
border-top: 1px dashed black;
|
||||
}
|
||||
|
||||
li.link h1 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
li.link a.anchor {
|
||||
font-size: 1rem;
|
||||
padding-right: .5rem;
|
||||
}
|
||||
|
||||
li.link summary {
|
||||
color: #e5582d;
|
||||
margin-left: -1rem;
|
||||
}
|
||||
|
||||
li.link p.description,
|
||||
li.link p.tags,
|
||||
li.link p.dates {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
li.link p.description:before,
|
||||
li.link p.tags:before,
|
||||
li.link p.dates:before,
|
||||
li.link summary:before {
|
||||
padding-right: .5rem;
|
||||
}
|
||||
|
||||
li.link p.description:before {
|
||||
content: "📝";
|
||||
}
|
||||
|
||||
li.link p.tags:before {
|
||||
content: "🏷️";
|
||||
}
|
||||
|
||||
li.link p.dates:before {
|
||||
content: "📅";
|
||||
}
|
||||
|
||||
li.link span.created:before {
|
||||
content: "Creado: ";
|
||||
}
|
||||
|
||||
li.link span.updated:before {
|
||||
content: "Actualizado: ";
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
li.link div.info {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link a.link {
|
||||
display: table-cell;
|
||||
padding-right: .5em;
|
||||
}
|
||||
|
||||
details {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
details h1, details h2 {
|
||||
margin: 1rem auto;
|
||||
}
|
||||
|
||||
details h1:before, details h2:before {
|
||||
color: #e5582d;
|
||||
}
|
||||
|
||||
details h1:before {
|
||||
content: "# ";
|
||||
}
|
||||
|
||||
details h2:before {
|
||||
content: "## ";
|
||||
}
|
||||
|
||||
details h3:before {
|
||||
content: "### ";
|
||||
}
|
||||
|
||||
details p + p {
|
||||
text-indent: 1rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 2rem;
|
||||
padding: 1em 25%;
|
||||
text-align: center;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 718 KiB |
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
Binary file not shown.
After Width: | Height: | Size: 583 KiB |
|
@ -0,0 +1,76 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<title>Blog del perro</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="application-name" content="Blog del perro">
|
||||
<meta name="description" content="Del Pacífico para el mundo: edición, software y culturas libres.">
|
||||
<meta name="keywords" content="blog, libros, licencias, software libre, acceso abierto, código abierto, edición, publicación, books, licenses, free software, open access, open source, edition, publishing">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=0">
|
||||
<link type="text/css" rel="stylesheet" href="css/styles.css">
|
||||
<link rel="shortcut icon" href="img/favicon.png">
|
||||
<link rel="stylesheet" media="screen" href="https://fontlibrary.org//face/alegreya-sans" type="text/css"/>
|
||||
<script src="js/list.min.js"></script>
|
||||
</head>
|
||||
<body id="content">
|
||||
<header>
|
||||
<img alt="Logotipo de perro tuerto" src="img/logo.png"/>
|
||||
</header>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><b>perro tuerto</b></li>
|
||||
<li><span class="icon">🦝 <a target="_blank" href="https://gitlab.com/perrotuerto">GitLab</a></span></li>
|
||||
<li><span class="icon">🐈 <a target="_blank" href="https://git.cuates.net/perro">Cuates</a></span></li>
|
||||
<li><span class="icon">🐁 <a target="_blank" href="https://es.wikipedia.org/wiki/Usuario:Perrotuerto">Wikipedia</a></span></li>
|
||||
<li><span class="icon">🐙 <a target="_blank" href="https://github.com/perrotuerto">GitHub</a></span></li>
|
||||
<li><span class="icon">✉️ <a target="_blank" href="mailto:hi@perrotuerto.blog">Correo</a></span></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<section id="acerca">
|
||||
<h1>Acerca</h1>
|
||||
Hola, soy perro tuerto. Mi formación académica es en Filosofía, mi profesión es la edición de publicaciones (libros, fanzines, revistas, etc.) y mi programación se enfoca en el desarrollo de metodologías libres para la publicación. Soy fan de las humanidades, la paleoantropología y las ciencias de la computación, así como soy voluntario en organizaciones sobre edición, <i>software</i> y cultura libres, como Miau, Cuates o Wikipedia. Doy soporte técnico a la Academia Mexicana de la Lengua y puedo ayudarte en tus proyectos. <b>En este espacio comparto enlaces que me parecen chéveres.</b>
|
||||
</section>
|
||||
<section id="links">
|
||||
<h1>Links</h1><ul class="list">
|
||||
<li class="link" id="91">
|
||||
<h1><a class="anchor" href="#91">⚓</a><a class="name" href="https://www.larramendi.es/i18n/consulta/libroselectronicos.do">Biblioteca Virtual de Polígrafos</a></h1>
|
||||
<p class="description">Obras de Menéndez Pelayo, Hernando de Larramendi y otros en ebook.</p>
|
||||
<p class="tags"><a><span class="tag">#esteticas</span></a> <a><span class="tag">#historia</span></a> <a><span class="tag">#ideas</span></a></p>
|
||||
<p class="dates"><span class="created">24/06/2023</span><span class="updated">25/06/2023</span></p>
|
||||
<details class="info">
|
||||
<summary>Leer más</summary><h1>Presentación</h1>
|
||||
<h2>Concepto de polígrafo y poligrafista</h2>
|
||||
<p>Menéndez Pelayo retratado por SorollaLa Fundación se propone, a partir de una idea de Menéndez Pelayo, creador del término polígrafo en el sentido que se emplea aquí, hacer accesible el pensamiento de polígrafos españoles, portugueses, brasileños e hispanoamericanos reuniendo digitalmente su obra. El proyecto se realiza en algunas de sus partes mediante la colaboración con otras instituciones.</p>
|
||||
<h2>Concepto de polígrafo</h2>
|
||||
<p>La palabra <i>polígrafo</i> se refiere en este contexto al creador polifacético cuya obra marcó un punto de inflexión en su campo.</p>
|
||||
<h2>El poligrafista</h2>
|
||||
<p>Llamamos <i>poligrafista</i> al profesos investigador especialista en alguno o algunos de los polígrafos que componen esta biblioteca virtual y que escribe un estudio sobre su figura y su obra. La Fundación Ignacio Larramendi encarga muchos de estos estudios.</p>
|
||||
<h2>El comienzo</h2>
|
||||
<p>La Biblioteca Virtual de Polígrafos es un proyecto que ideó y puso en marcha Ignacio Hernando de Larramendi en los años 90 del siglo XX, con la intención de aprovechar las posibilidades que las incipientes nuevas tecnologías ofrecían para la conservación y la difusión del conocimiento.</p>
|
||||
<p>Ignacio Larramendi centró esta Biblioteca Virtual en cuatro colecciones que recibieron el nombre de uno de los polígrafos más importantes de cada una de ellas: Marcelino Menéndez Pelayo, para la colección de polígrafos españoles, José de Anchieta, para la de brasileños, Francisco Manuel de Melo, para la de portugueses, y Andrés Bello, para la de hispanoamericanos. En recuerdo del aquellos comienzos figuran los cuatro polígrafos, por ese orden, en la cabecera de este micrositio.</p>
|
||||
<h2>Reconocimiento de la Biblioteca Virtual de Polígrafos por Europeana y el W3C</h2>
|
||||
<p>La Biblioteca Virtual de Polígrafos de la Fundación Ignacio Larramendi, denominada en inglés Polymath Virtual Library por el W3C, ha sido seleccionada por el clúster de Datos Bibliográficos de esta entidad como <a target="_blank" href="http://www.w3.org/2005/Incubator/lld/wiki/Use_Case_Polymath_Virtual_Library">Case Study</a>.</p>
|
||||
<p>También esta Biblioteca Virtual ha sido elegida por Europeana un <a target="_blank" href="https://pro.europeana.eu/page/polymath-edm">EDM Case Study</a>.</p>
|
||||
</details>
|
||||
</li></ul>
|
||||
</section>
|
||||
<footer>
|
||||
<p><b>perro tuerto</b></p>
|
||||
<p>Del Pacífico para el mundo: edición, <i>software</i> y culturas libres.</p>
|
||||
<p><span class="icon">🤖 <a target="_blank" href="https://perrotuerto.blog/perro.json">JSON</a></p>
|
||||
</footer>
|
||||
<script>
|
||||
var nav = document.querySelector("nav > ul"),
|
||||
li = document.createElement("li"),
|
||||
input = document.createElement("input"),
|
||||
options = { valueNames: [ 'name', 'description', 'tag' ] };
|
||||
input.id = "search-bar";
|
||||
input.placeholder = "Filtrar";
|
||||
input.classList.add("fuzzy-search");
|
||||
li.appendChild(input);
|
||||
nav.appendChild(li);
|
||||
new List('content', options);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
{"count":1,"next":null,"previous":null,"results":[{"id":91,"url":"https://www.larramendi.es/i18n/consulta/libroselectronicos.do","title":"Biblioteca Virtual de Polígrafos","description":"Obras de Menéndez Pelayo, Hernando de Larramendi y otros en ebook.","notes":"# Presentación\r\n\r\n## Concepto de polígrafo y poligrafista\r\n\r\nMenéndez Pelayo retratado por SorollaLa Fundación se propone, a partir de una idea de Menéndez Pelayo, creador del término polígrafo en el sentido que se emplea aquí, hacer accesible el pensamiento de polígrafos españoles, portugueses, brasileños e hispanoamericanos reuniendo digitalmente su obra. El proyecto se realiza en algunas de sus partes mediante la colaboración con otras instituciones.\r\n\r\n## Concepto de polígrafo\r\n\r\nLa palabra *polígrafo* se refiere en este contexto al creador polifacético cuya obra marcó un punto de inflexión en su campo.\r\n\r\n## El poligrafista\r\n\r\nLlamamos *poligrafista* al profesos investigador especialista en alguno o algunos de los polígrafos que componen esta biblioteca virtual y que escribe un estudio sobre su figura y su obra. La Fundación Ignacio Larramendi encarga muchos de estos estudios.\r\n\r\n## El comienzo\r\n\r\nLa Biblioteca Virtual de Polígrafos es un proyecto que ideó y puso en marcha Ignacio Hernando de Larramendi en los años 90 del siglo XX, con la intención de aprovechar las posibilidades que las incipientes nuevas tecnologías ofrecían para la conservación y la difusión del conocimiento.\r\n\r\nIgnacio Larramendi centró esta Biblioteca Virtual en cuatro colecciones que recibieron el nombre de uno de los polígrafos más importantes de cada una de ellas: Marcelino Menéndez Pelayo, para la colección de polígrafos españoles, José de Anchieta, para la de brasileños, Francisco Manuel de Melo, para la de portugueses, y Andrés Bello, para la de hispanoamericanos. En recuerdo del aquellos comienzos figuran los cuatro polígrafos, por ese orden, en la cabecera de este micrositio.\r\n\r\n## Reconocimiento de la Biblioteca Virtual de Polígrafos por Europeana y el W3C\r\n\r\nLa Biblioteca Virtual de Polígrafos de la Fundación Ignacio Larramendi, denominada en inglés Polymath Virtual Library por el W3C, ha sido seleccionada por el clúster de Datos Bibliográficos de esta entidad como [Case Study](http://www.w3.org/2005/Incubator/lld/wiki/Use_Case_Polymath_Virtual_Library).\r\n\r\nTambién esta Biblioteca Virtual ha sido elegida por Europeana un [EDM Case Study](https://pro.europeana.eu/page/polymath-edm).","website_title":"Biblioteca Virtual de Polígrafos > \r\n Obras\r\n ›\r\n Libros electrónicos","website_description":"","is_archived":false,"unread":false,"shared":true,"tag_names":["esteticas","historia","ideas","blog"],"date_added":"2023-06-24T23:31:04.671856Z","date_modified":"2023-06-25T21:59:05.406668Z"}]}
|
|
@ -0,0 +1,85 @@
|
|||
import re
|
||||
import sys
|
||||
import json
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
root = Path(__file__).parent.parent
|
||||
about = re.sub(r'\s+', ' ', """
|
||||
Hola, soy perro tuerto. Mi formación académica es en Filosofía, mi
|
||||
profesión es la edición de publicaciones (libros, fanzines, revistas, etc.)
|
||||
y mi programación se enfoca en el desarrollo de metodologías libres para la
|
||||
publicación. Soy fan de las humanidades, la paleoantropología y las
|
||||
ciencias de la computación, así como soy voluntario en organizaciones sobre
|
||||
edición, <i>software</i> y cultura libres, como Miau, Cuates o Wikipedia.
|
||||
Doy soporte técnico a la Academia Mexicana de la Lengua y puedo ayudarte
|
||||
en tus proyectos. <b>En este espacio comparto enlaces que me parecen
|
||||
chéveres.</b>
|
||||
""").strip()
|
||||
contact = {
|
||||
"site": "https://perrotuerto.blog",
|
||||
"gitlab": "https://gitlab.com/perrotuerto",
|
||||
"cuates": "https://git.cuates.net/perro",
|
||||
"wikipedia": "https://es.wikipedia.org/wiki/Usuario:Perrotuerto",
|
||||
"github": "https://github.com/perrotuerto",
|
||||
"email": "hi@perrotuerto.blog",
|
||||
}
|
||||
links = json.loads(Path(sys.argv[1]).read_text())
|
||||
data = {"acerca": about, "contacto": contact, "links": links["results"]}
|
||||
index = root / "public" / "index.html"
|
||||
template = (root / "src" / "template.html").read_text()
|
||||
body = ""
|
||||
|
||||
for key, val in data.items():
|
||||
if key == "contacto":
|
||||
for name, url in val.items():
|
||||
template = re.sub(f'#{name.upper()}#', url, template)
|
||||
continue
|
||||
body += f'\n<section id="{key}">'
|
||||
body += f'\n<h1>{key.capitalize()}</h1>'
|
||||
if isinstance(val, str):
|
||||
body += f'\n{val}'
|
||||
else:
|
||||
body += '<ul class="list">'
|
||||
for link in val:
|
||||
date = "%d/%m/%Y"
|
||||
url = link["url"]
|
||||
created = link["date_added"]
|
||||
updated = link["date_modified"]
|
||||
created = datetime.fromisoformat(created).strftime(date)
|
||||
updated = datetime.fromisoformat(updated).strftime(date)
|
||||
tags = filter(lambda x: x != "blog", link["tag_names"])
|
||||
tags = map(lambda x: f'<span class="tag">#{x}</span>', tags)
|
||||
tags = map(lambda x: f'<a>{x}</a>', tags)
|
||||
body += f'\n<li class="link" id="{link["id"]}">'
|
||||
body += f'\n<h1><a class="anchor" href="#{link["id"]}">⚓</a>'
|
||||
body += f'<a class="name" href="{url}">{link["title"]}</a></h1>'
|
||||
body += f'\n<p class="description">{link["description"]}</p>'
|
||||
body += f'\n<p class="tags">{" ".join(tags)}</p>'
|
||||
body += '\n<p class="dates">'
|
||||
body += f'<span class="created">{created}</span>'
|
||||
body += f'<span class="updated">{updated}</span></p>'
|
||||
if "notes" in link.keys():
|
||||
blocks = map(lambda x: x.strip(), link["notes"].split("\n"))
|
||||
blocks = list(filter(None, blocks))
|
||||
for i, block in enumerate(blocks):
|
||||
block = re.sub(r'\*\*\*(.+)\*\*\*', r'<b><i>\1</i></b>', block)
|
||||
block = re.sub(r'\*\*(.+)\*\*', r'<b>\1</b>', block)
|
||||
block = re.sub(r'\*(.+)\*', r'<i>\1</i>', block)
|
||||
block = re.sub(r'\[(.+)\]\((.+)\)', r'<a target="_blank" href="\2">\1</a>', block)
|
||||
header = r'(#+)\s*(.+)'
|
||||
if re.match(header, block):
|
||||
groups = re.match(header, block).groups()
|
||||
tag = "h" + str(len(groups[0]))
|
||||
blocks[i] = f"<{tag}>{groups[1]}</{tag}>"
|
||||
else:
|
||||
blocks[i] = f"<p>{block}</p>"
|
||||
body += '\n<details class="info">'
|
||||
body += '\n<summary>Leer más</summary>'
|
||||
body += "\n".join(blocks)
|
||||
body += '\n</details>'
|
||||
body += '\n</li>'
|
||||
body += "</ul>"
|
||||
body += '\n</section>'
|
||||
|
||||
index.write_text(re.sub('#LINKS#', body, template))
|
|
@ -0,0 +1,26 @@
|
|||
JSON=public/perro.json
|
||||
|
||||
# Va a la raíz del repo
|
||||
cd $(dirname $0)/..
|
||||
|
||||
# Limpia sitio
|
||||
rm -rf public
|
||||
mkdir public
|
||||
cp -r src/* public
|
||||
rm public/*.*
|
||||
|
||||
# Descarga info de GitLab
|
||||
curl --request GET \
|
||||
-s -o $JSON \
|
||||
-H "Authorization: Token $(<.token)" \
|
||||
"https://linkding.cuates.net/api/bookmarks/?q=%23blog"
|
||||
|
||||
# Rehace sitio y JSON
|
||||
python3 ./scripts/make.py $JSON
|
||||
|
||||
# Hace commit al repo si hubo cambios
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
git add .
|
||||
git commit -m "Actualización"
|
||||
git push
|
||||
fi
|
|
@ -0,0 +1,264 @@
|
|||
/**************************************************/
|
||||
/******************* RESETEADOR *******************/
|
||||
/**************************************************/
|
||||
|
||||
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 */
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/* Old browsers / Para viejos exploradores */
|
||||
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
/**************************************************/
|
||||
|
||||
body * {
|
||||
font-family: AlegreyaSansRegular, sans-serif;
|
||||
line-height: 1.15;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body b {
|
||||
font-family: "AlegreyaSansBold", sans-serif;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body i {
|
||||
font-family: "AlegreyaSansItalic", sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
body span.icon {
|
||||
padding-right: .25rem;
|
||||
}
|
||||
|
||||
header {
|
||||
width: 100%;
|
||||
height: 20rem;
|
||||
background-image: url('../img/banner_color.jpg');
|
||||
background-position: bottom;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
header > img {
|
||||
display: block;
|
||||
height: 200px;
|
||||
width: auto;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
nav, footer {
|
||||
position: -webkit-sticky; /* Safari */
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background-color: #e5582d;
|
||||
color: white;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
margin-bottom: 2rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
nav a, footer a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
nav li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
nav li:not(:first-of-type) {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
nav input#search-bar {
|
||||
display: inline-block;
|
||||
border-radius: 1rem;
|
||||
padding: .15rem .5rem;
|
||||
border: none;
|
||||
width: 200px;
|
||||
box-sizing: border-box;
|
||||
color: #2e2e2e;
|
||||
}
|
||||
|
||||
nav input#search-bar:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
section {
|
||||
max-width: 40rem;
|
||||
margin: auto;
|
||||
padding: 0 1rem;
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
section > h1 {
|
||||
font-size: 2rem;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
section > h1 + p {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link {
|
||||
scroll-margin-top: 5rem;
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
li.link:not(:first-of-type) {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link + li.link {
|
||||
border-top: 1px dashed black;
|
||||
}
|
||||
|
||||
li.link h1 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
li.link a.anchor {
|
||||
font-size: 1rem;
|
||||
padding-right: .5rem;
|
||||
}
|
||||
|
||||
li.link summary {
|
||||
color: #e5582d;
|
||||
margin-left: -1rem;
|
||||
}
|
||||
|
||||
li.link p.description,
|
||||
li.link p.tags,
|
||||
li.link p.dates {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
li.link p.description:before,
|
||||
li.link p.tags:before,
|
||||
li.link p.dates:before,
|
||||
li.link summary:before {
|
||||
padding-right: .5rem;
|
||||
}
|
||||
|
||||
li.link p.description:before {
|
||||
content: "📝";
|
||||
}
|
||||
|
||||
li.link p.tags:before {
|
||||
content: "🏷️";
|
||||
}
|
||||
|
||||
li.link p.dates:before {
|
||||
content: "📅";
|
||||
}
|
||||
|
||||
li.link span.created:before {
|
||||
content: "Creado: ";
|
||||
}
|
||||
|
||||
li.link span.updated:before {
|
||||
content: "Actualizado: ";
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
li.link div.info {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
li.link a.link {
|
||||
display: table-cell;
|
||||
padding-right: .5em;
|
||||
}
|
||||
|
||||
details {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
details h1, details h2 {
|
||||
margin: 1rem auto;
|
||||
}
|
||||
|
||||
details h1:before, details h2:before {
|
||||
color: #e5582d;
|
||||
}
|
||||
|
||||
details h1:before {
|
||||
content: "# ";
|
||||
}
|
||||
|
||||
details h2:before {
|
||||
content: "## ";
|
||||
}
|
||||
|
||||
details h3:before {
|
||||
content: "### ";
|
||||
}
|
||||
|
||||
details p + p {
|
||||
text-indent: 1rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 2rem;
|
||||
padding: 1em 25%;
|
||||
text-align: center;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 718 KiB |
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
Binary file not shown.
After Width: | Height: | Size: 583 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<title>Blog del perro</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="application-name" content="Blog del perro">
|
||||
<meta name="description" content="Del Pacífico para el mundo: edición, software y culturas libres.">
|
||||
<meta name="keywords" content="blog, libros, licencias, software libre, acceso abierto, código abierto, edición, publicación, books, licenses, free software, open access, open source, edition, publishing">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=0">
|
||||
<link type="text/css" rel="stylesheet" href="css/styles.css">
|
||||
<link rel="shortcut icon" href="img/favicon.png">
|
||||
<link rel="stylesheet" media="screen" href="https://fontlibrary.org//face/alegreya-sans" type="text/css"/>
|
||||
<script src="js/list.min.js"></script>
|
||||
</head>
|
||||
<body id="content">
|
||||
<header>
|
||||
<img alt="Logotipo de perro tuerto" src="img/logo.png"/>
|
||||
</header>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><b>perro tuerto</b></li>
|
||||
<li><span class="icon">🦝 <a target="_blank" href="#GITLAB#">GitLab</a></span></li>
|
||||
<li><span class="icon">🐈 <a target="_blank" href="#CUATES#">Cuates</a></span></li>
|
||||
<li><span class="icon">🐁 <a target="_blank" href="#WIKIPEDIA#">Wikipedia</a></span></li>
|
||||
<li><span class="icon">🐙 <a target="_blank" href="#GITHUB#">GitHub</a></span></li>
|
||||
<li><span class="icon">✉️ <a target="_blank" href="mailto:#EMAIL#">Correo</a></span></li>
|
||||
</ul>
|
||||
</nav>
|
||||
#LINKS#
|
||||
<footer>
|
||||
<p><b>perro tuerto</b></p>
|
||||
<p>Del Pacífico para el mundo: edición, <i>software</i> y culturas libres.</p>
|
||||
<p><span class="icon">🤖 <a target="_blank" href="https://perrotuerto.blog/perro.json">JSON</a></p>
|
||||
</footer>
|
||||
<script>
|
||||
var nav = document.querySelector("nav > ul"),
|
||||
li = document.createElement("li"),
|
||||
input = document.createElement("input"),
|
||||
options = { valueNames: [ 'name', 'description', 'tag' ] };
|
||||
input.id = "search-bar";
|
||||
input.placeholder = "Filtrar";
|
||||
input.classList.add("fuzzy-search");
|
||||
li.appendChild(input);
|
||||
nav.appendChild(li);
|
||||
new List('content', options);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue