Este es el repositorio del sitio web de la PyCon Colombia 2020 servido por Github, y construido utilizando lektor. Diseño original por Edwin Jerez (El Hijo) .
Hay 2 ramas de git, develop
y production
.
Es la rama por defecto y se despliega a través de gh-pages con Lektor a https://pyconcolombia.github.io/website-develop/ (en http://develop.pycon.co)
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://pyconcolombia.github.io/website-2020/
(pronto en http://www.pycon.co)
✅ (Prerequisito) Instalar Yarn o Npm
Prerequisitos
- Levantar servicios de web y preprocesador de webpack.
yarn docker:up:dev
Con lo anterior ya estamos listos para abrir http://localhost:5000
y empezar a codear!
- A continuación se describe brevemente todos los comandos disponibles para mayor control y debugging.
yarn docker:up:clean # Mocha tests
yarn docker:up:clean # Limpiar entorno (Esto limpia node_modules y carpeta dist)
yarn docker:up:dev # Correr servicios en modo desarrollo
yarn docker:up:prod # Correr servicios en modo producción - Esto compila los assets listos para subir al servidor
yarn docker:logs:website # Ver logs del contenedor web donde está lektor
yarn docker:logs:webpack # Ver logs del contenedor de webpack donde se preprocesan los archivos fuente de la carpeta assets.
yarn docker:restart # Reiniciar todos los servicios
yarn docker:restart:website # Reiniciar servicio se website (lektor)
yarn docker:restart:webpack # Reiniciar servicio de webpack
yarn docker:stop # Parar todos los servicios
yarn docker:stop:website # Parar servicio se website (lektor)
yarn docker:stop:webpack # Parar servicio de webpack
✅ (Opcional) Entorno Virtual
-
Instalar virtualenv
-
⚠️ ️ Requiere previa instalación de Python⚠️ -
⚠️ ️ Requiere previa instalación de Node⚠️
- Crear entorno
$ virtualenv <nombre_entorno>
- Activar entorno virtual
Windows
$ <nombre_entorno>\Scripts\activate
Linux
$ source <nombre_entorno>/bin/activate
- Usando pip:
$ pip install -U Lektor unidecode
- Usando conda:
$ conda install lektor unidecode -c conda-forge
$ lektor plugins reinstall
$ lektor server --no-prune
Instalar paquetes
yarn install
En modo desarrollo
yarn build:dev
En modo producción
yarn build:prod
- 🔴 Si en algun momento luego de instalar python3 y crear tu virtualenv. haces
lektor server --no-prune
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
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 pyconcolombia.lektorproject
Este repositorio cuenta con servicio de integración continua mediante TravisCI.
Cada vez que se hace un commit a develop
o production
el servicio despliega la página
siguiendo la configuración ubicada en el archivo .travis.yml
$ lektor deploy
Se desplegará el contenido de la rama develop
en develop.pycon.co
$ lektor deploy production
Se desplegará el contenido de la rama production
en pycon.co
La página utiliza Cloudfare como servicio de cache y manejo de dominios y reglas de direccionamiento.
Las estadísticas de visitas del sitio web utiliza Google Analytics.
Los servicios de búsqueda y optimización utilizan la Google Search Console
💪 Colaboradores
Gonzalo Peña |
Alejandro E. Rendon |
Sergio Alexander F. |
Jonathan Vallejo Muñoz |
---|