Skip to content

Commit 4a8628e

Browse files
committed
feat: guia contribucion
1 parent 5f887b7 commit 4a8628e

File tree

1 file changed

+207
-0
lines changed

1 file changed

+207
-0
lines changed

CONTRIBUTING.md

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# Guía de Contribución 🐍✨
2+
3+
Gracias por tu interés en contribuir al blog de la comunidad Python Chile! 🚀
4+
5+
El sitio está hecho con el framework [Pelican](https://getpelican.com/) y los post están escritos ocupando **Markdown**.
6+
7+
Por favor sigue los siguientes puntos para contribuir con un nuevo post o para mejorar el sitio.
8+
9+
# Tabla de contenido
10+
11+
1. Primer Paso Fork de Proyecto
12+
2. Estructura del Proyecto
13+
3. Crear un Post
14+
4. Agregar Contenido de Post
15+
5. Ambiente de Desarrollo Local
16+
6. Pull Request Revisón
17+
18+
19+
---
20+
21+
# 1. 🍴 Primer Paso Fork de Proyecto
22+
23+
1. Crear un Fork
24+
25+
Dentro del proyecto, en el lado derecho a la altura del nombre de este, clickear **Fork** que debe estar entre los elementos **Watch** y **Star**.
26+
27+
2. Clonar proyecto
28+
29+
Por ejemplo:
30+
31+
```bash
32+
git clone https://github.com/<user-github>/blogpythonchile.git
33+
```
34+
35+
3. Crear una rama para post
36+
37+
```bash
38+
git checkout -b mi-primer-post
39+
```
40+
41+
4. Agregar post
42+
43+
Crea un archivo **Markdown** en `content/post/` y las imágenes a ocupar en `content/img/`.
44+
45+
Para más información dirigirse a punto **3** para crear un post y punto **4** para conocer el formato del contenido.
46+
47+
48+
# 2. 📂 Estructura del Proyecto
49+
50+
```bash
51+
.github/workflows/ # Configuración github actions
52+
content/ # Elementos para crear un post
53+
img/ # Imágenes que contiene un post incluyend la imagen de su prevista
54+
post/ # Markdown para el contenido de un post
55+
theme/
56+
static/ # Estáticos css,img, js.
57+
templates/ # HTML para construir sitio estático
58+
pelicanconf.py # Configuración para ambiente de desarrollo o ambiente local
59+
publishconf.py # Configuración para ambiente de producción
60+
```
61+
62+
63+
# 3. 📝 Crear un Post
64+
65+
1. Crea un nuevo archivo **Markdown** en `content/post`
66+
67+
Ejemplo:
68+
69+
```bash
70+
content/post/mi-post.md
71+
```
72+
73+
2. Agrega la metadata al principio del archivo
74+
75+
Sigue el siguiente formato
76+
77+
```bash
78+
---
79+
date: 2025-08-22
80+
title: Titulo Post
81+
summary: Resumen de Post
82+
author: Nombre
83+
image: img/otros/default.jpg
84+
tags: python, pelican, tutorial
85+
---
86+
87+
Contenido del post comienza aquí...
88+
```
89+
90+
>[!WARNING]
91+
> Toda la metadata es obligatoria como también el formato de esta.
92+
93+
Descripción de metada:
94+
95+
- **date**: fecha de la creación del post. Formato AAAA-dd-MM.
96+
- **title**: Título del post.
97+
- **summary**: Breve resumen del post.
98+
- **author**: Nombre de quién creó el post.
99+
- **image**: ruta de la imagen para la prevista del post.
100+
- **tags**: Conceptos que representen tu post. Máximo 5 y en minúsculas.
101+
102+
>[!NOTE]
103+
> Si no tienes una imagen para la prevista del post, puedes ocupar la imagen `img/otros/default.jpg`
104+
105+
Luego de crear la metadata y seguido de esta un **salto de línea**, ya puedes comenzar a escribir el contenido del post.
106+
107+
108+
# 4. 🎨 Agregar Contenido de Post
109+
110+
1. Texto
111+
112+
Solamente usar formato de **Markdown**.
113+
114+
2. Bloque de código
115+
116+
Para mostrar código seguir el siguiente formato:
117+
118+
```bash
119+
texto ...
120+
121+
```python
122+
def hello():
123+
print("Hello world!")
124+
```
125+
126+
text ...
127+
```
128+
129+
El bloque de código debe situarse en la **columna 0**, es decir, no se le debe aplicar ni un tab.
130+
Al momento de crear el sitio estático, todo bloque de código estará situadio centrado horizontalmente
131+
132+
Es importante también agregar un espacio en blanco antes y después del bloque de código.
133+
134+
El lenguaje que se utiliza en el bóque de código se debe definir al principio de este, como en el ejemplo que se ocupa **python** en **```python**.
135+
136+
3. Imágenes
137+
138+
Debe ser tipo **webpg** toda imagen ocupada en el contenido.
139+
140+
Para poder mostrar cualquier imagen ocupar el siguiente formato:
141+
142+
```bash
143+
144+
![texto alternativo]({static}/path/de/imagen/nombre-imagen.webp)
145+
146+
```
147+
148+
Toda imagen que se ocupe en el post debe estar guarda en la ruta `content/img/<sub-carpeta>/<año>`. Si `<sub-carpeta>` y/o `<año>` no existe, se puede
149+
crear en el momento de la contribución del post.
150+
151+
152+
# 5. ⚙️ Ambiente de Desarrollo Local
153+
154+
1. Instalación de dependencias
155+
156+
>[!NOTE]
157+
> Se recomienda ocupar un entorno virtual de python. Por ejemplo [virtualenv](https://virtualenv.pypa.io/en/latest/).
158+
159+
```bash
160+
pip install -r requirements.txt
161+
```
162+
163+
2. Build de Proyecto
164+
165+
```bash
166+
pelican content
167+
```
168+
169+
también puede ser
170+
171+
```bash
172+
pelican content -s pelicanconf.py -o output
173+
```
174+
175+
El comando anterior ocupa la configuración que se encuentra en el archivo **pelicanconf.py**
176+
para generar el sitio estático en la carpeta **output/**
177+
178+
3. Prevista en local
179+
180+
```bash
181+
pelican -l
182+
```
183+
184+
185+
# 6. 🔄 Pull Request Revisón
186+
187+
Cuando tengas tus cambios listos y pusheados en el fork creado anteriormente, debes abrir una pull request.
188+
189+
Considerar lo siguientes puntos para la revisión:
190+
191+
- Tiempo es de **una semana** por motivos de disposición del equipo.
192+
- Considerar toda sugerencia que pueda aparecer en la revisión.
193+
- La pull request se puede rechazar si no cumple con la normativa de la comunidad.
194+
195+
---
196+
197+
# ✅ Buenas Prácticas
198+
199+
- Texto con coherencia, buena ortografía y ordenada.
200+
- Usar ejemplos, códigos u diagramas para complementar.
201+
- Revisa cómo se muestra tu post en el sitio de forma local antes de la PR.
202+
203+
204+
# 💬 ¿Tienes Consultas?
205+
206+
En caso de cualquier duda, consulta o cualquier inconveniente, puedes escribir a la comunidad de Python Chile en
207+
el servidor oficial de Discord **Python Chile**.

0 commit comments

Comments
 (0)