Skip to content

Commit 3d1c4e2

Browse files
authored
Merge branch 'main' into 398-add-info-about-branch-names-and-commits
2 parents 8fb0d0f + 691eac3 commit 3d1c4e2

41 files changed

Lines changed: 815 additions & 181 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: CI
22
on:
33
push:
44
branches:
5-
- master
5+
- main
66
jobs:
77
deploy:
88
name: Deploy project

CONTRIBUTING.md

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,64 @@
1-
## Cómo contribuir a este proyecto
1+
## Contribuyendo a este proyecto
22

33
Si quieres contribuir a este proyecto, hay muchas cosas que puedes hacer.
44
Tenemos una etiqueta en los _issues_ del [repositorio de este
5-
proyecto](https://github.com/pythoncanarias/pycan-web/issues) para
5+
proyecto](https://github.com/pythoncanarias/pycan-web/issues) para
66
[aquellas tareas que pensamos que son un buen punto de partida](https://github.com/pythoncanarias/pycan-web/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
77
para empezar a contribuir
88
al desarrollo.
99

10+
Si es la primera vez que vas a contribuir a un proyecto de _software_ libre,
11+
quizá te sea de ayuda este documento: [cómo hacer tu primera contribución a
12+
Python Canarias](docs/first-contrib.md).
13+
1014
Además de las tareas propias de desarrollo, hay muchas otras formas de ayudar,
1115
una de las principales es aportar nuevas ideas para mejorar la web, así
12-
como avisarnos de cualquier error que encuentres en la misma.
13-
14-
Para contribuir como desarrollador, en el documento [README.md](README.md) se
15-
explica cómo montar un entorno de desarrollo propio usando _Docker_ y
16-
_Docker Compose_.
17-
18-
## Notas para los desarrolladores
19-
20-
El desarrollo consiste en una aplicación Django, y algunas partes de _frontend_
16+
como avisarnos de cualquier error que encuentres en la misma. Esto lo puedes hacer creando un nuevo _issue_ [en la sección correspondiente de GitHub](https://github.com/pythoncanarias/pycan-web/issues).
17+
18+
Para contribuir como desarrollador/a, hemos preparado un manual donde se explica [cómo montar un entorno de desarrollo](docs/dev.md) propio usando _Docker_ y _Docker Compose_.
19+
20+
## Sobre el idioma a usar en este proyecto
21+
22+
Estamos trabajando para definir los idiomas a usar en las distintas partes del
23+
proyecto, ya que ahora mismo hay una mezcla un poco aberrante entre inglés y
24+
español. Nuestro objetivo es ir migrando toda la documentación del proyecto a
25+
español, y reservar el inglés solo para las cuestiones que atañan al código
26+
directamente.
27+
28+
Por tanto, si quieres aportar en las secciones de documentación, aunque
29+
encuentres el texto en inglés, puedes incluir lo nuevo es español, ya que la
30+
idea es ir traduciendo todos esos documentos hasta conseguir el estado mostrado
31+
en la siguiente tabla:
32+
33+
| Área | Idioma |
34+
| --------------------- | ------ |
35+
| Variables en código | 🇬🇧 |
36+
| Comentarios en código | 🇬🇧 |
37+
| _Commits_ | 🇬🇧 |
38+
| README | 🇪🇸 |
39+
| Documentación | 🇪🇸 |
40+
| _Issues_ | 🇪🇸 |
41+
| Etiquetas de _issues_ | 🇪🇸 |
42+
| _Pull Requests_ | 🇪🇸 |
43+
| Texto de la web | 🇪🇸 |
44+
45+
## Notas para desarrolladores
46+
47+
El desarrollo consiste en un proyecto Django, y algunas partes de _frontend_
2148
escritas en _javascript_ plano. Por el momento no nos hemos decidido a usar
2249
ningún _framework_, aunque algunos del equipo tenemos una cierta preferencia
2350
por [vue.js](https://vuejs.org/).
2451

25-
Se ha intentado seguir en lo posible las prácticas habituales en Django, pero
52+
Se ha intentado seguir en lo posible las [buenas prácticas habituales de Django](https://django-best-practices.readthedocs.io/en/latest/), pero
2653
en algunos casos se han realizado modificaciones sobre lo que podría
2754
considerarse un proyecto Django _estándar_. Explicaremos estas divergencias en las
2855
siguientes secciones.
2956

3057
### Organización de código de las aplicaciones de Django
3158

3259
Como hay muchas aplicaciones o _apps_, las tenemos todas todas bajo una única
33-
carpeta `apps`, para reducir la cantidad de _ruido_ en
34-
la carpeta raíz. Si crees necesario añadir una nueva _app_, créala por favor al
35-
mismo nivel que las actuales.
60+
carpeta `apps`, para reducir la cantidad de _ruido_ en
61+
la carpeta raíz. Si crees necesario añadir una nueva _app_, [lee este documento con atención](docs/new-app.md).
3662

3763
### Estilo de código
3864

@@ -44,7 +70,9 @@ debajo de 96 caracteres por línea.
4470
Algunos de nosotros usamos la herramienta [black](https://github.com/psf/black)
4571
para formatear el código, pero no se considera obligatorio.
4672

47-
### Dependecias
73+
Así mismo, existen herramientas como [flake8](https://flake8.pycqa.org/en/latest/) que detectan divergencias del estilo de código frente a los estándares establecidos.
74+
75+
### Dependencias
4876

4977
Intentamos mantener el número de dependencias bajo. Un alto número de
5078
dependencias frena las actualizaciones generales, que es un objetivo que
@@ -65,8 +93,8 @@ Veamos, por ejemplo, la _app_ `notice`, que se usa para enviar notificaciones
6593
a los miembros ante determinados eventos, como por ejemplo el aviso un mes
6694
antes de que se venza su permanencia a la organización.
6795

68-
En la clase `apps.notice.models.Notice` se definen algunos métodos, pero
69-
solo aquellos que afectan o cambian el estado del propio modelo, sin
96+
En la clase `apps.notice.models.Notice` se definen algunos métodos, pero
97+
solo aquellos que afectan o cambian el estado del propio modelo, sin
7098
ninguna tercera parte implicada. En concreto, no existe un método
7199
para enviar la notificación en si.
72100

@@ -86,7 +114,7 @@ en un módulo aparte.
86114
Hay muchas razones para esto, pero veamos solo una. Si nos encontramos con una
87115
nueva clase mientras examinamos el código, lo deseable es que una búsqueda o un
88116
_grep_ por el nombre de la clase nos devuelva solo la definición y los usos de
89-
la misma. Cualquier otra cosa que aparezca será ruido. Si tengo dos clases con
117+
la misma. Cualquier otra cosa que aparezca será ruido. Si tengo dos clases con
90118
el mismo nombre en ficheros diferentes, esto solo complica el entender en que
91119
contextos y de que forma se usa cada una de las clases. Razones similares se
92120
pueden argumentar para las variables o constantes globales.
@@ -142,4 +170,4 @@ Scopes aceptados:
142170

143171
```bash
144172
git commit -m 'feat: add blog template'
145-
```
173+
```

README.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
<div align="center">
2-
3-
# Python Canarias
1+
<div align="center">
42

3+
# Python Canarias
54

6-
![Python Canarias Banner](docs/assets/python_canarias_banner.png)
5+
![Python Canarias Banner](docs/assets/python_canarias_banner.png)
76

8-
Website of [Python Canarias](https://pythoncanarias.es/) 🚀 &nbsp; happily made with [Django](https://www.djangoproject.com/).
7+
• Sitio Web de [Python Canarias](https://pythoncanarias.es/) 🚀 &nbsp; felizmente hecho con [Django](https://www.djangoproject.com/)
98

109
</div>
1110

1211
---
1312

14-
## Table of contents
13+
## Tabla de contenido
1514

16-
- [Contributing to this project](CONTRIBUTING.md).
17-
- [Development setup](docs/dev.md)
18-
- [Production setup](docs/prod.md)
19-
- [Adding new app](docs/new-app.md)
20-
- [API](docs/api.md)
15+
- [Contribuyendo a este proyecto](CONTRIBUTING.md).
16+
- [Configuración del entorno de desarrollo](docs/dev.md).
17+
- [Configuración del entorno de producción](docs/prod.md).
18+
- [Añadir una nueva app](docs/new-app.md).
19+
- [API](docs/api.md).
2120

22-
## License
21+
## Licencia
2322

24-
This project is licensed under [MIT](LICENSE.md).
23+
Este proyecto esta disponible bajo la licencia [MIT](LICENSE.md).

apps/about/admin.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.contrib import admin
2+
3+
from . import models
4+
5+
6+
@admin.register(models.Ally)
7+
class AllyAdmin(admin.ModelAdmin):
8+
list_display = (
9+
'name',
10+
'url',
11+
'twitter',
12+
'email',
13+
)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by Django 2.2.24 on 2021-10-12 17:37
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = [
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='Ally',
16+
fields=[
17+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('name', models.CharField(max_length=120, verbose_name='Nombre')),
19+
('description', models.CharField(max_length=220, verbose_name='Descripción')),
20+
('logo', models.ImageField(blank=True, upload_to='about/allies/')),
21+
('url', models.URLField(blank=True)),
22+
('twitter', models.URLField(blank=True)),
23+
('email', models.EmailField(blank=True, max_length=254)),
24+
],
25+
),
26+
]

apps/about/models.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from django.db import models
2+
3+
4+
class Ally(models.Model):
5+
'''Organizaciones/Asociaciones aliadas'''
6+
7+
name = models.CharField('Nombre', max_length=120)
8+
description = models.CharField('Descripción', max_length=220)
9+
logo = models.ImageField(upload_to='about/allies/', blank=True)
10+
url = models.URLField(blank=True)
11+
twitter = models.URLField(blank=True)
12+
email = models.EmailField(blank=True)
13+
14+
def __str__(self):
15+
return self.name
16+
17+
class Meta:
18+
ordering = ['name']
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.about-index {
2+
p {
3+
padding-top: 0.5rem;
4+
padding-bottom: 0.5rem;
5+
}
6+
7+
.dyn-anchor-link i:hover {
8+
color: tomato;
9+
}
10+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
.ally-block {
2+
margin-bottom: 3rem;
3+
img.logo {
4+
width: 5rem;
5+
vertical-align: middle;
6+
margin-right: 1rem;
7+
}
8+
p.description {
9+
i.quote {
10+
color: gray;
11+
}
12+
}
13+
ul {
14+
list-style-type: none;
15+
margin-left: 1rem;
16+
padding-left: 1rem;
17+
border-left: 2px solid lightgray;
18+
i {
19+
width: 1.5rem;
20+
}
21+
}
22+
}
Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
11
@import 'apps/commons/static/commons/css/base';
22

3-
.about-index {
4-
p {
5-
padding-top: .5rem;
6-
padding-bottom: .5rem;
7-
}
8-
9-
.message a.headerlink {
10-
color: cadetblue;
11-
text-decoration: none;
12-
}
13-
}
3+
@import './about-us';
4+
@import './allies';
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{% extends "about/base.html" %}
2+
{% load utils %}
3+
{% load static %}
4+
5+
{% block title %}Aliados - {{ block.super }}{% endblock %}
6+
7+
{% block content %}
8+
9+
<div class="content box">
10+
11+
<h1>Aliados</h1>
12+
13+
<p>
14+
Canarias es un territorio muy prolífico en el campo de las nuevas tecnologías. Las organizaciones y asociaciones de este sector constituyen un punto de entrada para muchos usuarios y usuarias. Aquello de que la unión hace la fuerza es un principio que seguimos desde Python Canarias. Si bien apostamos, como era de esperar, por nuestro lenguaje de programación favorito, somos una comunidad abierta y nos encanta construir sinergias con otros grupos. Aquí les dejamos un listado de nuestros <b>aliados</b>:
15+
</p>
16+
17+
{% for ally in allies %}
18+
<div class="ally-block" id="{{ ally.name|slugify }}">
19+
<h2 class="dyn-anchor-heading">
20+
<img class="logo" src="{{ ally.logo.url }}"> {{ ally.name }}
21+
<a class="dyn-anchor-link" href="#{{ ally.name|slugify }}"><i class="fas fa-link"></i></a>
22+
</h2>
23+
<p class="description"><i class="fas fa-quote-left quote"></i> {{ ally.description }} <i class="fas fa-quote-right quote"></i></p>
24+
<ul>
25+
{% if ally.url %}
26+
<li><i class="fas fa-home"></i> <a href="{{ ally.url }}">{{ ally.url }}</a></li>
27+
{% endif %}
28+
{% if ally.twitter %}
29+
<li><i class="fab fa-twitter"></i> <a href="{{ ally.twitter }}">{{ ally.twitter }}</a></li>
30+
{% endif %}
31+
{% if ally.email %}
32+
<li><i class="far fa-envelope"></i> <a href="mailto:{{ ally.email }}">{{ ally.email }}</a></li>
33+
{% endif %}
34+
</ul>
35+
</div>
36+
{% endfor %}
37+
38+
</div>
39+
40+
{% endblock content %}

0 commit comments

Comments
 (0)