GitHub - ColombiaPython/sitio-web: :snake: Sitio web de Python Colombia (Código Fuente)

🔀 Flujo de trabajo

Hay 2 ramas de git, develop y production.

⤴️ Develop

Es la rama por defecto y se despliega a través de gh-pages con Lektor a https://colombiapython.github.io/sitio-web-desarrollo/ (en http://develop.python.org.co)

⤴️ Production

Después de que se han ejecutado las pruebas de calidad (QA), los cambios realizados en la rama develop se unen con la rama production y son desplegados a través de gh-pages con Lektor a https://colombiapython.github.io/sitio-web-produccion/ (pronto en http://www.python.org.co)

🛠 Desarrollo local

✅ (Opcional) Entorno Virtual

Instalación

Activar virtual env

  • ⚠️️ Requiere previa instalación de Python ⚠️
python -m venv <nombre_entorno>

Activar entorno virtual

Windows

$ <nombre_entorno>\Scripts\activate

Linux

$ source <nombre_entorno>/bin/activate

✅ Instala Lektor

Usando pip:

$ pip install -U Lektor unidecode

Usando conda:

$ conda install lektor unidecode -c conda-forge

✅ Instala (reinstala) los plugins locales

$ lektor plugins reinstall

✅ Corre el servidor local

⁉️ Problemas comunes

  • 🔴 Si en algun momento luego de instalar python3 y crear tu virtualenv. haces lektor server y ves este error:
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCIas encoding for the environment.  Consult http://click.pocoo.org/python3/for mitigation steps.

Haz esto adentro de tu virtualenv:

export LC_ALL=en_us.UTF-8
export LANG=en_us.UTF-8
  • 🔴 Si ves jinja2.exceptions.UndefinedError: 'estimate_reading_time' is undefined significa que necesitas instalar o reinstalar los plugins de lektor. Puedes hacer esto ejecutando
$ lektor plugins reinstall

🚀 Despliegue

Gracias a Lektor Bot (Plugin de lektor conectado a Github), podemos desplegar nuestra web estática en diferentes repositorios (en la rama seleccionada en configuración - gh-pages en nuestro caso).

La configuración de dichos repositorios se encuentra en python-colombia.lektorproject

✔️ Desarrollo

Se desplegará el contenido de la rama develop en develop.python.org.co

✔️✔️ Producción

$ lektor deploy production

Se desplegará el contenido de la rama production en python.org.co

📑 Guía de Uso

A nivel de edición contenido hay que tener en cuenta una Guía de Uso del Sitio Web ya que algunos contenidos tienen reglas especiales para poder ser agregados.