Code Monkey home page Code Monkey logo

website's Introduction

Página Web comunidad Python Barranquilla

Build Status

Instalación

Primero haz un Fork del proyecto en GitHub y luego clonalo en tu computador así:

SSH: git clone [email protected]:PyBAQ/django-quilla-web.git

HTTPS: git clone https://github.com/PyBAQ/django-quilla-web.git

Para poder ejecutar el proyecto localmente se requieren las siguientes dependencias:

A continuación siga la guía de instalación según su sistema operativo

Windows

Para Windows puedes descargar Python desde el siguiente enlace: https://www.python.org/downloads/windows/

Puedes instalar ImageMagick desde el siguiente enlace: https://imagemagick.org/

o usar chocolatey y ejecutar

choco install imagemagick

Para instalar Lektor puedes usar el siguiente comando:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://getlektor.com/install.ps1'))" && SET PATH=%PATH%;%LocalAppData%\lektor-cli

Pero también puede ser ejecutado directamente en powershell:

iex ((new-object net.webclient).DownloadString('https://getlektor.com/install.ps1'))

Windows 10: Windows Subsystem for Linux

Si quieres/debes mantener Windows instalado, pero prefieres mantener este proyecto en Linux, puedes usar el "Windows Subsystem for Linux" (subsistema de Windows para Linux). La forma rápida de habilitarlo es por powershell en modo de Administrador, ten presente que necesitas reinicar tu PC:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Luego, en la tienda de Microsoft encontrarás distintas distribuciones de Ubuntu que podrás instalar, ten presente que esto solo te da acceso por linea de comandos. Podrás encontrar mas detalles en el siguiente vínculo: https://docs.microsoft.com/en-us/windows/wsl/install-win10.

De allí continua los pasos según el instructivo para Linux.

Linux

En Ubuntu se pueden instalar las dependencias de Lektor usando el comando:

sudo apt install python3-dev libssl-dev libffi-dev imagemagick

Luego puedes instalar Lektor usando el siguiente comando:

curl -sf https://www.getlektor.com/installer.py | python3

MacOS

En Mac OS si se tiene instalado homebrew se pueden instalar las dependencias de Lektor usando el comando:

brew install imagemagick

Luego puede instalar Lektor usando el siguiente comando:

curl -sf https://www.getlektor.com/installer.py | python3

Verificar que las variables de entorno del formato UTF-8 en sus respectivos idiomas esten definidas en el archivo ~/.bash_profile de su sistema y en caso de no estar definidas agregarlas.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Docker

Si tienes Docker instalado (https://docs.docker.com/get-docker/) puedes hacer uso del Dockerfile en el directorio principal para crear una imagen y posteriormente ejecutar un contenedor con todas las dependencias necesarias. Desde el directorio principal del repositorio ejecuta:

# Bash o Powershell
docker build -t pybaq . # Tener presente el "."
docker run --rm -p 5000:5000 -v ${PWD}:/app --name pybaq-local pybaq

# Windows Command Line
docker build -t pybaq . # Tener presente el "."
docker run --rm -p 5000:5000 -v %cd%:/app --name pybaq-local pybaq

Al montar la carpeta con el código fuente (-v ${PWD}:/app o -v %cd%:/app) los cambios que se hagan al código se propagaran al contenedor y se veran reflejados immediatamente.

Nota: Verifica que el directorio donde tienes el código fuente puede ser montado como un Docker volume. En Linux no se requiere configuración extra, pero hay diferentes métodos para MacOS y Windows dependiendo del modo de instalación.

Ejecución del proyecto durante desarrollo

Para la ejecución del proyecto se debe ejecutar el comando:

lektor server

Al ejecutar Lektor, verás una lista de procesos que tienen lugar antes de generar la página estática. Si en tu edición cometes algún error, aparecerá escrito en la consola. Si se genera con éxito la página, ésta estará disponible en http://localhost:5000/.

Código de conducta

Los invitamos a leer el siguiente repositorio con el código de conducta de la comunidad.

Contribuciones

Necesitamos de tu ayuda para terminar este proyecto! ¿Cómo puedes contribuir? Mira las normas que hemos redactado en el archivo CONTRIBUTING.md para organizarnos mejor en el desarrollo. Esperamos tus Pull Requests e Issues. Gracias por tu apoyo.

Actualizar eventos

En un terminal bash ejecuta el siguiente script Python (debes instalar el paquete requests con pip)

python scripts/events.py

Se genera el archivo databags/meetup.json con los eventos actualizados. Recuerda adicionarlo al Pull Request con un commit.

Por favor actualiza los eventos solo si lo consideras estrictamente necesario, entre los metadatos incluidos incluye la fecha de actualización en un timestamp (propenso a conflictos)

Compilar CSS

El proyecto actualmente usa Sass para los estilos en cascada si deseas modificarlos es necesario que tengas instalado Node.js.

para instalar con npm las dependencias ejecuta:

npm install

Luego cada vez que actualices un estilo ejecuta:

npm run build

Tests

Instala los paquetes de pruebas con el comando

pip install -r test-requirements.txt

Validar HTML usando W3C validator

w3c se usa para validar la estructura de los archivos HTML y CSS

para validar los archivos html primero compila los fuentes en la carpeta build, luego ejecuta el validador w3c_validator usando los comandos:

lektor build --output-path ./build
cd build
w3c_validator $(find . -type f -name \*.html)

Selenium

Para usar selenium se requiere tener ejecutándose un webdriver instala el webdriver correspondiente a tu plataforma

Usando docker compose nos podemos ahorrar algo del tiempo de configuración de los distintos servicios

para ejecutar los test ejecuta los siguientes comandos

docker compose up
python -m pytest

Por defecto los test corren en chrome, si deseas escoger el navegador que quieres ejecutar, crea una variable de entorno llamada TEST_BROWSER con el navegador que deseas usar, en estos momentos soportamos firefox y chrome. La forma mas fácil de hacer esto es creando un archivo .env con el siguiente contenido

TEST_BROWSER=firefox

website's People

Contributors

andoresuperesu avatar bgarcia92 avatar caherdenez avatar dependabot[bot] avatar ederius avatar edgarmejia avatar gudarjs avatar guzmand avatar jaraujoduarte avatar javierdebug avatar jdaguilar avatar jdash99 avatar jorge-genial avatar jorueda avatar mherreradsci avatar pandrearro avatar pyjavo avatar scot3004 avatar xaraxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Personalizar 404

Se veria muy lindo si se crea un 404 personalizado en lugar de mostrar el de github pages, esto se logra creando un archivo llamado 404.html en el directorio raiz

screenshot_20171105_130216

Adicionar formulario de contacto.

Existen herramientas que permiten el envio de correos al recibirlo en un formulario, o bien un servicio sencillo corriendo en algun lugar con cors configurado para aceptar peticiones unicamente del sitio de pybaq

Error de instalación

Acabado de instalar lektor en Ubuntu 14.04

No se puede ejecutar usando lektor server -f webpack
imagen

imagen

Hacer sitio web accesible usando WAI-ARIA

Por favor leer los comentarios mas recientes donde se ve que las tareas a realizar son:

  • Corregir los puntos en los que fallan los checks de accesibilidad de page insighs
  • Corregir los puntos en los que falla el w3c validator
  • De ser posible ejecutar selenium axe en la página de inicio, o bien activar el plugin de page insights en netlify que nos dice en cada pull request como estamos en accesibilidad
  • Ejecutar el w3c validator en cada pull request para que no volvamos a romper la estructura del html

Mejoras en el CSS del blog

  • Subir el font-size a 16px para mejorar la lectura
  • Colocar un espaciado entre titulo (H2, H3) y texto. Como para que haya mas espacios en blanco y no se vea ladrilludo
  • Agregar un indentado a los elementos li de las
  • Colocar los blockquote en cursiva (Dejar la barra gris que aparece a la izquierda como está)

Redireccion DNS

Corregir redirección del DNS. Que www.pybaq.co redirija a pybaq.co

Actualizar imagen corporativa

En estos momentos los contenidos cargados estan enlazados con Django Barranquilla, y ahora la comunidad se llama Python Barranquilla

Como colaborar

Agregar instrucciones de como colaborar con el codigo

Tests de validación

Agregar tests para probar que las imagenes cargan bien o el HTML funciona correctamente.

Twitter handle no funciona correctamente

Cuando se adiciona el twitter handle en un post la compilación revienta

Build Failure :'(

Building of the artifact “blog/first-post/index.html” failed. This is what we know about the problem:

Traceback (most recent call last):
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/builder.py", line 797, in update
    yield ctx
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/builder.py", line 1042, in build_artifact
    build_func(artifact)
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/build_programs.py", line 183, in build_artifact
    self.source['_template'], this=self.source)
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/builder.py", line 652, in render_template_into
    this=this, **extra)
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/environment.py", line 517, in render_template
    return self.jinja_env.get_or_select_template(name).render(ctx)
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Volumes/Extended/frontend/Proyectos/scot3004/django-quilla-web/templates/blog-post.html", line 2, in top-level template code
    {% from "macros/blog.html" import render_blog_post %}
  File "/Volumes/Extended/frontend/Proyectos/scot3004/django-quilla-web/templates/layout.html", line 55, in top-level template code
    {% block body %}{% endblock %}
  File "/Volumes/Extended/frontend/Proyectos/scot3004/django-quilla-web/templates/blog-post.html", line 17, in block "body"
    <a href="https://twitter.com/{{ post.twitter_handle}}">
  File "/usr/local/lib/lektor/lib/python2.7/site-packages/jinja2/environment.py", line 430, in getattr
    return getattr(obj, attribute)
UndefinedError: 'post' is undefined

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.