Skip to content

Commit 61d0838

Browse files
authored
Merge pull request #15 from pythonpe/gravatar-magic
Adding gravatar images to the member index
2 parents 5ba95e3 + 5174e6d commit 61d0838

File tree

6 files changed

+46
-43
lines changed

6 files changed

+46
-43
lines changed

_static/css/markdown.css

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
width: 30vw;
77
}
88

9-
109
.head-title h1 {
1110
color: var(--sy-c-link-hover);
1211
text-align: center;
@@ -71,15 +70,13 @@ html.dark div.sketchviz-image {
7170
border-bottom: unset !important;
7271
}
7372

74-
section>div.member-gravatar {
75-
margin-bottom: 0;
76-
}
77-
78-
div.member-gravatar img {
73+
.member-gravatar {
7974
width: 200px;
8075
border-radius: 200px;
76+
display: block !important;
8177
}
8278

79+
8380
#eventos li .ablog-post-title {
8481
font-size: 1.8em;
8582
}
@@ -96,3 +93,6 @@ div.member-gravatar img {
9693
text-align: center;
9794
}
9895

96+
#miembros li p.i-icon:has(a) {
97+
display: none;
98+
}

about.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ y apoyo mutuo para impulsar el éxito colectivo de nuestros miembros.
2121
category: members
2222
format: "{title}"
2323
list-style: circle
24+
excerpts:
2425
---
2526
```

blog/members/draft-member.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ author: joe
44
location: Lima, Perú
55
category: members
66
lanaguage: Español
7+
image: 1
8+
excerpt: 1
79
---
810

9-
% NOTA: No olvidar poner la fecha de publicación
11+
% NOTA: No olvidar poner la fecha de publicación debajo de `blogpost: true`
1012

1113
# Joe Doe
1214

blog/members/hellhound.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ author: hellhound
55
location: Lima, Perú
66
category: members
77
lanaguage: Español
8+
image: 1
9+
excerpt: 1
810
---
911

1012
# Jean-Pierre Chauvel

blog/members/soloidx.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ author: soloidx
55
location: Lima, Perú
66
category: members
77
lanaguage: Español
8+
image: 1
9+
excerpt: 1
810
---
911

1012
# Ider Delzo
@@ -34,26 +36,39 @@ https://twitter.com/soloidx
3436

3537
### ¿Quién eres y a qué te dedicas?
3638

37-
Soy un desarrollador de software que empezó trabajando con PHP (hace mas de 15 años) y luego fue acogido por Python poco tiempo después.
39+
Soy un desarrollador de software que empezó trabajando con PHP (hace mas de 15
40+
años) y luego fue acogido por Python poco tiempo después.
3841

39-
Trabajo desde entonces principalmente como desarrollador web, mayormente backend pero aprendí a trabajar en frontend, devops, moviles y a barrer el piso de la oficina.
42+
Trabajo desde entonces principalmente como desarrollador web, mayormente backend
43+
pero aprendí a trabajar en frontend, devops, moviles y a barrer el piso de la
44+
oficina.
4045

41-
Como siguiente paso en mi carrera profesional me gustaria involucrarme en proyectos de inteligencia artificial y trato de tomar proyectos relacionados cada vez que puedo.
46+
Como siguiente paso en mi carrera profesional me gustaria involucrarme en
47+
proyectos de inteligencia artificial y trato de tomar proyectos relacionados
48+
cada vez que puedo.
4249

43-
Sobre mi experiencia, he trabajado en distintas compañias, algunos con proyectos desde cero, otras con código heredado, algunas ardiendo en llamas y pidiendo todo para ayer por lo que puedo tener una visiónn flexible de la situación.
50+
Sobre mi experiencia, he trabajado en distintas compañias, algunos con proyectos
51+
desde cero, otras con código heredado, algunas ardiendo en llamas y pidiendo
52+
todo para ayer por lo que puedo tener una visiónn flexible de la situación.
4453

4554

4655
### ¿Cómo programas en Python?
4756

48-
En hardware mayormente trabajo con una Macbook (Aunque las mayorias de mis herramientas son open source) una tablet para leer y diagramar y un microfono de youtuber frustrado.
57+
En hardware mayormente trabajo con una Macbook (Aunque las mayorias de mis
58+
herramientas son open source) una tablet para leer y diagramar y un microfono de
59+
youtuber frustrado.
4960

50-
En software VSCode es mi editor actual, aunque entre temporadas alterno con Vim y Emacs.
61+
En software VSCode es mi editor actual, aunque entre temporadas alterno con Vim
62+
y Emacs.
5163

52-
Sobre Python, trato de trabajar con entornos virtuales la mayor parte del tiempo (PDM, Poetry, venv), Pyenv para mi manejo de versiones y Docker para manejar servicios externos.
64+
Sobre Python, trato de trabajar con entornos virtuales la mayor parte del tiempo
65+
(PDM, Poetry, venv), Pyenv para mi manejo de versiones y Docker para manejar
66+
servicios externos.
5367

5468
### ¿Tienes algún aporte a la comunidad de Python?
5569

56-
Aún no tengo nada con la que pueda fanfarronear pero tengo en mente armar un canal de YouTube con contenido de Python en español.
70+
Aún no tengo nada con la que pueda fanfarronear pero tengo en mente armar un
71+
canal de YouTube con contenido de Python en español.
5772

5873
### ¿Estás disponible para hacer mentoring, consultorías, charlas?
5974

ext/gravatar.py

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,31 @@
33

44
from docutils import nodes
55
from docutils.parsers.rst import Directive
6-
from jinja2 import BaseLoader, Environment
76
from libgravatar import Gravatar
87
from sphinx.application import Sphinx
98
from sphinx.util import logging
109

1110
logger = logging.getLogger(__name__)
1211

13-
GRAVATAR_TEMPLATE = """
14-
<div class="{{ klass }}">
15-
<img src={{ url }}
16-
{% if align %} align="{{ align }}"{% endif %}
17-
{% if klass %} class="{{ klass }}"{% endif %}
18-
{% if style %} style="{{ style }}"{% endif %}
19-
{% if width %} width="{{ width }}" height="{{ width }}"{% endif %}>
20-
</div>
21-
"""
12+
13+
def _split(value: str) -> list:
14+
return [v.strip() for v in value.split(",")]
2215

2316

2417
class GravatarImage(Directive):
2518
arguments = 1
2619
has_content = True
2720
final_argument_whitespace = False
2821
option_spec = {
29-
"align": lambda a: a.strip(),
30-
"class": lambda a: a.strip(),
31-
"style": lambda a: a.strip(),
22+
"alt": lambda a: a.strip(),
23+
"class": _split,
3224
"width": lambda a: a.strip(),
3325
}
3426

3527
def run(self):
3628
email = self.content[0]
37-
align = self.options.get("align")
29+
alt = self.options.get("alt", "Python developer")
3830
klass = self.options.get("class")
39-
style = self.options.get("style")
4031
width = self.options.get("width")
4132

4233
logger.info(f"Getting Gravatar image for email: {email}")
@@ -45,20 +36,12 @@ def run(self):
4536
url = f"{url}?s={width}"
4637
logger.info(f"Got image URL: {url}")
4738

48-
template = Environment(
49-
loader=BaseLoader, trim_blocks=True, lstrip_blocks=True
50-
).from_string(GRAVATAR_TEMPLATE)
39+
data = {}
40+
if klass is not None:
41+
data['classes'] = klass
5142

52-
out = template.render(
53-
url=url,
54-
align=align,
55-
klass=klass,
56-
style=style,
57-
width=width,
58-
)
59-
# User a raw pass-through node
60-
para = nodes.raw("", out, format="html")
61-
return [para]
43+
image = nodes.image(alt=alt, classes=klass, uri=url)
44+
return [image]
6245

6346

6447
def setup(app: Sphinx):

0 commit comments

Comments
 (0)