diff --git a/config/web.py b/config/web.py index b324d6f..8869029 100644 --- a/config/web.py +++ b/config/web.py @@ -1,5 +1,7 @@ import random +import noticias + AUTHOR = 'Python España' SITENAME = 'PyConES23' @@ -306,18 +308,7 @@ # NOTICIAS -NOTICIAS = [ - { - "titulo": "¡Ya puedes comprar tus entradas!", - "fecha": "5/5/2023", - "contenido": "¡Por fin ha llegado el día! Ya están aquí las entradas del evento más esperado del año de la comunidad Python en España", - }, - { - "titulo": "¡Lanzamiento del sitio web!", - "fecha": "4/12/2023", - "contenido": "Os damos la bienvenida a la PyConES, la conferencia de Python más importante de España. Un evento que reunirá a cientos de entusiastas del lenguaje de programación Python, con una agenda increíble en la mejor localización posible. Si quieres formar parte de nuestros patrocinadores para hacer esta conferencia aún mas impresionante puedes disponer de espacio propio dentro del evento.", - }, -] +NOTICIAS = noticias.ultimas_noticias() ORG = [ { diff --git a/noticias.py b/noticias.py new file mode 100644 index 0000000..6c9cffc --- /dev/null +++ b/noticias.py @@ -0,0 +1,39 @@ +import glob +from datetime import date as Date +from dataclasses import dataclass + +import markdown + + +@dataclass +class Noticia: + titulo: str + fecha: Date + contenido: str + + +def _iter_noticias(): + news_parser = markdown.Markdown(extensions=['extra', 'meta']) + for filename in glob.glob('noticias/*.md'): + news_parser.reset() + with open(filename, 'r', encoding='utf-8') as f: + contenido = news_parser.convert(f.read()) + yield Noticia( + titulo=news_parser.Meta['titulo'][0], + fecha=Date.fromisoformat(news_parser.Meta['fecha'][0]), + contenido=contenido, + ) + + +def ultimas_noticias(max_noticias=5): + news = sorted(_iter_noticias(), reverse=True, key=lambda d: d.fecha) + return news[0:max_noticias] + + +def main(): + for noticia in ultimas_noticias(): + print(noticia.fecha, noticia.titulo) + + +if __name__ == "__main__": + main() diff --git a/noticias/entradas-2023-05-05.md b/noticias/entradas-2023-05-05.md new file mode 100644 index 0000000..d9ab733 --- /dev/null +++ b/noticias/entradas-2023-05-05.md @@ -0,0 +1,7 @@ +--- +titulo: ¡Ya puedes comprar tus entradas! +fecha: 2023-05-05 +--- + +**¡Por fin ha llegado el día!** Ya están aquí las entradas del evento más +esperado del año de la comunidad Python en España. diff --git a/noticias/web-2023-04-12.md b/noticias/web-2023-04-12.md new file mode 100644 index 0000000..ef2d25a --- /dev/null +++ b/noticias/web-2023-04-12.md @@ -0,0 +1,10 @@ +--- +titulo: ¡Lanzamiento del sitio web! +fecha: 2023-04-12 +--- + +Os damos la bienvenida a la PyConES, la conferencia de Python más importante de +España. Un evento que reunirá a cientos de entusiastas del lenguaje de +programación Python, con una agenda increíble en la mejor localización posible. +Si quieres formar parte de nuestros patrocinadores para hacer esta conferencia +aún mas impresionante puedes disponer de espacio propio dentro del evento. diff --git a/theme/pycones23/static/assets/css/main.css b/theme/pycones23/static/assets/css/main.css index a628b32..9f6fae6 100644 --- a/theme/pycones23/static/assets/css/main.css +++ b/theme/pycones23/static/assets/css/main.css @@ -894,3 +894,8 @@ a.boton-reserva { margin-top: 1rem; margin-bottom: 1rem; } + +.fecha { + font-size: 90%; + color: #edd3c5; +} diff --git a/theme/pycones23/templates/index.html b/theme/pycones23/templates/index.html index 37d2cd6..628000c 100644 --- a/theme/pycones23/templates/index.html +++ b/theme/pycones23/templates/index.html @@ -22,7 +22,10 @@

Noticias

{% for noticia in NOTICIAS %}
-
{{ noticia.titulo }} {{ noticia.fecha }}
+
{{ noticia.titulo }} +
+ {{ noticia.fecha.strftime('%d/%b/%Y') }} +
{{ noticia.contenido }}