diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..81ed7f26 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,33 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +# Matches multiple files with brace expansion notation +# Set default charset +[*.{js,py}] +charset = utf-8 + +# 4 space indentation +[*.py] +indent_style = space +indent_size = 4 + +# Tab indentation (no size specified) +[Makefile] +indent_style = tab + +# Indentation override for all JS under lib directory +[lib/**.js] +indent_style = space +indent_size = 2 + +# Matches the exact files either package.json or .travis.yml +[{package.json,.travis.yml}] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..5e8884a8 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: pythonecuador +open_collective: pythonecuador diff --git a/.github/ISSUE_TEMPLATE/chage_request.md b/.github/ISSUE_TEMPLATE/chage_request.md new file mode 100644 index 00000000..dd6beb8a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/chage_request.md @@ -0,0 +1,22 @@ +--- +name: Sugerencia de cambio +about: "¿Encontraste una sección que se puede mejorar o cambiar?" +title: '' +labels: + - enhancement + - good first issue +assignees: '' + +--- + +**Descripción** + +Una descripción clara y concisa indicando + +- ¿Cuál sección es? +- Motivación de lo que se puede mejorar o cambiar + +--- + +Si estás interesada/o en hacer esta tarea, coméntalo, así otras personas lo saben. +¿Tienes dudas? pregúntanos en [telegram](https://t.me/pythonecuador) o en este issue. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 00000000..fc08a130 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,17 @@ +--- +name: Feature +about: "¿Tienes una idea de una nueva funcionalidad o mejora?" +title: '' +labels: 'enhancement' +assignees: '' + +--- + +**Descripción de la nueva funcionalidad o mejora** + +Una descripción clara y concisa de la nueva funcionalidad + +--- + +Si estás interesada/o en hacer esta tarea, coméntalo, así otras personas lo saben. +¿Tienes dudas? pregúntanos en [telegram](https://t.me/pythonecuador) o en este issue. \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..ac9bfc93 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,32 @@ +name: CI +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-22.04 + env: + NIKOLA_DEPLOY: python.ec + steps: + - uses: actions/checkout@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Install requirements + run: | + python -m pip install --upgrade pip + python -m pip install nox + - name: Tests + run: python -m nox -s tests + - name: Lint + run: python -m nox -s lint_rst lint_yaml lint_python + - name: Deploy + if: ${{ github.ref == 'refs/heads/main' }} + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./output diff --git a/.rstcheck.cfg b/.rstcheck.cfg new file mode 100644 index 00000000..2ef39b19 --- /dev/null +++ b/.rstcheck.cfg @@ -0,0 +1,3 @@ +[rstcheck] +ignore_roles= + ref diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b67e2b05..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: python -python: - - "3.6" -env: - - NIKOLA_DEPLOY=python.ec -install: - - pip install -r requirements.txt -script: - - rstcheck -r . - - nikola build --strict - -deploy: - provider: pages - skip_cleanup: true - github_token: $GITHUB_TOKEN - local_dir: output - keep_history: true - target_branch: master - on: - branch: src diff --git a/.yamllint.yaml b/.yamllint.yaml new file mode 100644 index 00000000..c6c0a3f0 --- /dev/null +++ b/.yamllint.yaml @@ -0,0 +1,4 @@ +extends: default + +rules: + document-start: disable diff --git a/Makefile b/Makefile index 5742592d..c9b3643c 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,10 @@ serve: deploy: NIKOLA_DEPLOY=python.ec nikola github_deploy +lint: + python -m nox -r -s lint_python + +format: + python -m nox -r -s format_python + .PHONY: clean serve diff --git a/README.md b/README.md index c994cd91..4c1322ac 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Python Ecuador -[![Build Status](https://travis-ci.org/PythonEcuador/PythonEcuador.github.io.svg?branch=src)](https://travis-ci.org/PythonEcuador/PythonEcuador.github.io) +[![Build Status](https://github.com/pythonecuador/pythonecuador.github.io/actions/workflows/ci.yaml/badge.svg)](https://github.com/pythonecuador/pythonecuador.github.io/actions/workflows/ci.yaml) Código fuente del sitio de [Python Ecuador](https://python.ec/) diff --git a/conf.py b/conf.py index 5def0386..293ba140 100644 --- a/conf.py +++ b/conf.py @@ -1,6 +1,5 @@ -# -*- coding: utf-8 -*- - import os +import subprocess import time # !! This is the configuration of Nikola. !! # @@ -21,16 +20,18 @@ BLOG_TITLE = "Python Ecuador" # (translatable) # This is the main URL for your site. It will be used # in a prominent link. Don't forget the protocol (http/https)! -deploy_site = os.environ.get('NIKOLA_DEPLOY') +deploy_site = os.environ.get("NIKOLA_DEPLOY") if deploy_site: - SITE_URL = 'https://{}/'.format(deploy_site.rstrip('/')) + SITE_URL = "https://{}/".format(deploy_site.rstrip("/")) else: - SITE_URL = 'http://localhost:8000/' + SITE_URL = "http://localhost:8000/" # This is the URL where Nikola's output will be deployed. # If not set, defaults to SITE_URL # BASE_URL = "https://pythonecuador.github.io/" BLOG_EMAIL = "ecuadorpython@gmail.com" -BLOG_DESCRIPTION = "Comunidad Pythonista de Ecuador" # (translatable) +BLOG_DESCRIPTION = ( + "Comunidad de Python, Open Source y Software Libre de Ecuador" # (translatable) +) # Nikola is multilingual! # @@ -148,6 +149,7 @@ ("/coc/", "Código de Conducta"), ("/quiero-ayudar/", "Quiero ayudar"), ("/guias/", "Guías"), + ("/eventos/", "Eventos"), ("/becas/", "Becas"), ("/sponsors/", "Sponsors"), ), @@ -156,16 +158,14 @@ # Alternative navigation links. Works the same way NAVIGATION_LINKS does, # although themes may not always support them. (translatable) # (Bootstrap 4: right-side of navbar, Bootblog 4: right side of title) -NAVIGATION_ALT_LINKS = { - DEFAULT_LANG: {} -} +NAVIGATION_ALT_LINKS = {DEFAULT_LANG: {}} # Name of the theme to use. THEME = "custom" # Primary color of your theme. This will be used to customize your theme. # Must be a HEX value. -THEME_COLOR = '#5670d4' +THEME_COLOR = "#5670d4" # Theme configuration. Fully theme-dependent. (translatable) # Examples below are for bootblog4. @@ -175,18 +175,18 @@ THEME_CONFIG = { DEFAULT_LANG: { # Show the latest featured post in a large box, with the previewimage as its background. - 'featured_large': False, + "featured_large": False, # Show the first (remaining) two featured posts in small boxes. - 'featured_small': False, + "featured_small": False, # Show featured posts on mobile. - 'featured_on_mobile': True, + "featured_on_mobile": True, # Show image in `featured_large` on mobile. # `featured_small` displays them only on desktop. - 'featured_large_image_on_mobile': True, + "featured_large_image_on_mobile": True, # Strip HTML from featured post text. - 'featured_strip_html': False, + "featured_strip_html": False, # Contents of the sidebar, If empty, the sidebar is not displayed. - 'sidebar': '' + "sidebar": "", } } @@ -257,7 +257,7 @@ # Date format used to display post dates. (translatable) # Used by babel.dates, CLDR style: http://cldr.unicode.org/translation/date-time # You can also use 'full', 'long', 'medium', or 'short' -DATE_FORMAT = 'YYYY-MM-dd' +DATE_FORMAT = "YYYY-MM-dd" # Date format used to display post dates, if local dates are used. (translatable) # Used by moment.js: https://momentjs.com/docs/#/displaying/format/ @@ -296,18 +296,18 @@ # 'markdown' is Markdown # 'html' assumes the file is HTML and just copies it COMPILERS = { - "rest": ('.rst', '.txt'), - "markdown": ('.md', '.mdown', '.markdown'), - "textile": ('.textile',), - "txt2tags": ('.t2t',), - "bbcode": ('.bb',), - "wiki": ('.wiki',), - "ipynb": ('.ipynb',), - "html": ('.html', '.htm'), + "rest": (".rst", ".txt"), + "markdown": (".md", ".mdown", ".markdown"), + "textile": (".textile",), + "txt2tags": (".t2t",), + "bbcode": (".bb",), + "wiki": (".wiki",), + "ipynb": (".ipynb",), + "html": (".html", ".htm"), # PHP files are rendered the usual way (i.e. with the full templates). # The resulting files have .php extensions, making it possible to run # them without reconfiguring your server to recognize them. - "php": ('.php',), + "php": (".php",), # Pandoc detects the input from the source filename # but is disabled by default as it would conflict # with many of the others. @@ -392,7 +392,7 @@ # If you do not want to display a tag publicly, you can mark it as hidden. # The tag will not be displayed on the tag list page and posts. # Tag pages will still be generated. -HIDDEN_TAGS = ['mathjax'] +HIDDEN_TAGS = ["mathjax"] # Only include tags on the tag list/overview page if there are at least # TAGLIST_MINIMUM_POSTS number of posts or more with every tag. Every tag @@ -533,7 +533,12 @@ Python developer, Neovim, free & open source software 🐍. https://stsewd.dev """ - ) + ), + "Seburath": ( + """ + https://seburath.github.io + """ + ), }, } @@ -541,7 +546,7 @@ # If you do not want to display an author publicly, you can mark it as hidden. # The author will not be displayed on the author list page and posts. # Tag pages will still be generated. -HIDDEN_AUTHORS = ['Guest'] +HIDDEN_AUTHORS = ["Guest"] # Final location for the main blog page and sibling paginated pages is # output / TRANSLATION[lang] / INDEX_PATH / index-*.html @@ -550,9 +555,7 @@ # Optional HTML that displayed on “main” blog index.html files. # May be used for a greeting. (translatable) -FRONT_INDEX_HEADER = { - DEFAULT_LANG: '' -} +FRONT_INDEX_HEADER = {DEFAULT_LANG: ""} # Create per-month archives instead of per-year # CREATE_MONTHLY_ARCHIVE = False @@ -646,11 +649,11 @@ # For more details, read the manual: # https://getnikola.com/handbook.html#deploying-to-github # You will need to configure the deployment branch on GitHub. -GITHUB_SOURCE_BRANCH = 'src' -GITHUB_DEPLOY_BRANCH = 'master' +GITHUB_SOURCE_BRANCH = "main" +GITHUB_DEPLOY_BRANCH = "gh-pages" # The name of the remote where you wish to push to, using github_deploy. -GITHUB_REMOTE_NAME = 'origin' +GITHUB_REMOTE_NAME = "origin" # Whether or not github_deploy should commit to the source branch automatically # before deploying. @@ -815,7 +818,7 @@ # (the thumbnail has ``.thumbnail`` added before the file extension by default, # but a different naming template can be configured with IMAGE_THUMBNAIL_FORMAT). -IMAGE_FOLDERS = {'images': 'images'} +IMAGE_FOLDERS = {"images": "images"} # IMAGE_THUMBNAIL_SIZE = 400 # IMAGE_THUMBNAIL_FORMAT = '{name}.thumbnail{ext}' @@ -938,7 +941,7 @@ # A small copyright notice for the page footer (in HTML). # (translatable) -CONTENT_FOOTER = ''' +CONTENT_FOOTER = """
@@ -961,16 +964,21 @@

Comunidad Python Ecuador

© {date} Todos los derechos reservados. -

- - ¿Encontraste un error? - ¡Repórtalo! - -

+
+ + ¿Encontraste un error? + ¡Repórtalo! + +
+ + commit: + {commit} +
-''' +""" + # Things that will be passed to CONTENT_FOOTER.format(). This is done # for translatability, as dicts are not formattable. Nikola will @@ -985,6 +993,13 @@ # still needs to be a dict of this format. (it can be empty if you # do not need formatting) # (translatable) +def get_last_commit(): + encoding = "utf-8" + command = subprocess.run(["git", "rev-parse", "HEAD"], capture_output=True) + last_hash = command.stdout.decode(encoding) + return last_hash[0:8] + + CONTENT_FOOTER_FORMATS = { DEFAULT_LANG: ( (), @@ -992,15 +1007,16 @@ "email": BLOG_EMAIL, "author": BLOG_AUTHOR, "date": time.gmtime().tm_year, - "license": LICENSE - } + "license": LICENSE, + "commit": get_last_commit(), + }, ) } # A simple copyright tag for inclusion in RSS feeds that works just # like CONTENT_FOOTER and CONTENT_FOOTER_FORMATS RSS_COPYRIGHT = 'Contents © {date} {author} {license}' -RSS_COPYRIGHT_PLAIN = 'Contents © {date} {author} {license}' +RSS_COPYRIGHT_PLAIN = "Contents © {date} {author} {license}" RSS_COPYRIGHT_FORMATS = CONTENT_FOOTER_FORMATS # To use comments, you can choose between different third party comment @@ -1115,7 +1131,11 @@ # with the MarkdownExtension class and should not be added here. # Defaults are markdown.extensions.(fenced_code|codehilite|extra) # markdown.extensions.meta is required for Markdown metadata. -MARKDOWN_EXTENSIONS = ['markdown.extensions.fenced_code', 'markdown.extensions.codehilite', 'markdown.extensions.extra'] +MARKDOWN_EXTENSIONS = [ + "markdown.extensions.fenced_code", + "markdown.extensions.codehilite", + "markdown.extensions.extra", +] # Options to be passed to markdown extensions (See https://python-markdown.github.io/reference/) # Default is {} (no config at all) @@ -1247,15 +1267,9 @@ - - - + + + """ # Google Analytics or whatever else you use. Added to the bottom of # in the default template (base.tmpl). @@ -1324,11 +1338,11 @@ # Images displayed come from the `previewimage` meta tag. # You can specify the card type by using the `card` parameter in TWITTER_CARD. TWITTER_CARD = { - 'use_twitter_cards': True, # enable Twitter Cards + "use_twitter_cards": True, # enable Twitter Cards # Card type, you can also use 'summary_large_image', # see https://dev.twitter.com/cards/types - 'card': 'summary', - 'site': '@pyecuador', # twitter nick for the website + "card": "summary", + "site": "@pyecuador", # twitter nick for the website # 'creator': '@username', # Username for the content creator / author. } @@ -1391,7 +1405,18 @@ # Templates will use those filters, along with the defaults. # Consult your engine's documentation on filters if you need help defining # those. -# TEMPLATE_FILTERS = {} +TEMPLATE_FILTERS = {} + + +def time_to_date(text): + import datetime + + seconds = int(text) / 1000 + time = datetime.date.fromtimestamp(seconds) + return time.strftime("%d/%m/%Y") + + +TEMPLATE_FILTERS["time"] = time_to_date # Put in global_context things you want available on all your templates. # It can be anything, data, functions, modules, etc. diff --git a/data/ingresos-egresos/2018.yml b/data/ingresos-egresos/2018.yml index 257b0d6a..a204716b 100644 --- a/data/ingresos-egresos/2018.yml +++ b/data/ingresos-egresos/2018.yml @@ -62,7 +62,7 @@ ingresos: responsables: - Santos Gallegos descripcion: > - Beca para Ximena para el evento + Beca para Ximena para el evento https://www.meetup.com/es/python-ecuador/events/254871518/ - fecha: 13/10/2018 diff --git a/data/ingresos-egresos/2019.yml b/data/ingresos-egresos/2019.yml index 2ec73178..5b5ee63a 100644 --- a/data/ingresos-egresos/2019.yml +++ b/data/ingresos-egresos/2019.yml @@ -8,6 +8,10 @@ # - Descripción debe incluir link al evento si es posible. ingresos: + - fecha: 01/01/2019 + cantidad: 39 + descripcion: > + Sobrantes del año 2018 - fecha: 30/03/2019 cantidad: 248.20 responsables: diff --git a/data/ingresos-egresos/2020.yml b/data/ingresos-egresos/2020.yml new file mode 100644 index 00000000..5bb10ad6 --- /dev/null +++ b/data/ingresos-egresos/2020.yml @@ -0,0 +1,25 @@ +ingresos: + - fecha: 01/01/2020 + cantidad: 208.80 + descripcion: + Sobrantes del año 2019 + - fecha: 09/08/2020 + cantidad: 40 + responsables: + - Santos Gallegos + descripcion: + Sobrantes del Django Girls Cuenca 2020 + + - fecha: 09/08/2020 + cantidad: -40 + responsables: + - Santos Gallegos + descripcion: + Compra de cuenta en bitwarden + + - fecha: 09/08/2020 + cantidad: -70 + responsables: + - Christopher Tim + descripcion: + Renovación por dos años del dominio python.ec diff --git a/data/ingresos-egresos/2021.yml b/data/ingresos-egresos/2021.yml new file mode 100644 index 00000000..a7d36da9 --- /dev/null +++ b/data/ingresos-egresos/2021.yml @@ -0,0 +1,18 @@ +ingresos: + - fecha: 01/01/2021 + cantidad: 138.8 + descripcion: + Sobrantes del año 2020 + - fecha: 02/19/2021 + cantidad: 70 + responsables: + - Santos Gallegos + descripcion: + Donación de sponsor Verónica para la renovación por dos años del dominio + python.ec + - fecha: 02/19/2021 + cantidad: -70 + responsables: + - Santos Gallegos + descripcion: + Renovación por dos años del dominio python.ec diff --git a/data/ingresos-egresos/2022.yml b/data/ingresos-egresos/2022.yml new file mode 100644 index 00000000..95f05688 --- /dev/null +++ b/data/ingresos-egresos/2022.yml @@ -0,0 +1,23 @@ +ingresos: + - fecha: 01/01/2022 + cantidad: 138.80 + descripcion: + Sobrantes del año 2021 + - fecha: 29/03/2022 + cantidad: -40 + responsables: + - Christopher Tim + descripcion: + Subscripción anual de bitwarden + - fecha: 11/05/2022 + cantidad: -28 + responsables: + - Santos Gallegos + descripcion: + Stickers + - fecha: 26/09/2022 + cantidad: -40 + responsables: + - Christopher Tim + descripcion: + Subscripción anual de bitwarden diff --git a/data/ingresos-egresos/2023.yml b/data/ingresos-egresos/2023.yml new file mode 100644 index 00000000..28191b9c --- /dev/null +++ b/data/ingresos-egresos/2023.yml @@ -0,0 +1,11 @@ +ingresos: + - fecha: 01/01/2023 + cantidad: 30.80 + descripcion: + Sobrantes del año 2022 + - fecha: 26/09/2023 + cantidad: -40 + responsables: + - Christopher Tim + descripcion: + Subscripción anual de bitwarden diff --git a/images/events/2020/django-girls-01.png b/images/events/2020/django-girls-01.png new file mode 100644 index 00000000..07335895 Binary files /dev/null and b/images/events/2020/django-girls-01.png differ diff --git a/images/events/2020/django-girls-02.jpg b/images/events/2020/django-girls-02.jpg new file mode 100644 index 00000000..3f8bf3cd Binary files /dev/null and b/images/events/2020/django-girls-02.jpg differ diff --git a/images/events/2020/django-girls-03.png b/images/events/2020/django-girls-03.png new file mode 100644 index 00000000..7dc32826 Binary files /dev/null and b/images/events/2020/django-girls-03.png differ diff --git a/images/events/2020/organizacion-django-girls.jpg b/images/events/2020/organizacion-django-girls.jpg new file mode 100644 index 00000000..13db52f4 Binary files /dev/null and b/images/events/2020/organizacion-django-girls.jpg differ diff --git a/images/events/hacktoberfest.png b/images/events/hacktoberfest.png new file mode 100644 index 00000000..d57485dc Binary files /dev/null and b/images/events/hacktoberfest.png differ diff --git a/images/events/rtd_hacktober.png b/images/events/rtd_hacktober.png new file mode 100644 index 00000000..76e2c7c1 Binary files /dev/null and b/images/events/rtd_hacktober.png differ diff --git a/images/guias/colaborar/PR.png b/images/guias/colaborar/PR.png new file mode 100644 index 00000000..711e1e11 Binary files /dev/null and b/images/guias/colaborar/PR.png differ diff --git a/images/guias/colaborar/clone.png b/images/guias/colaborar/clone.png new file mode 100644 index 00000000..283e62b7 Binary files /dev/null and b/images/guias/colaborar/clone.png differ diff --git a/images/guias/colaborar/estrellita.png b/images/guias/colaborar/estrellita.png new file mode 100644 index 00000000..9b4de849 Binary files /dev/null and b/images/guias/colaborar/estrellita.png differ diff --git a/images/guias/colaborar/fork.png b/images/guias/colaborar/fork.png index 260a3a76..c27aa40e 100644 Binary files a/images/guias/colaborar/fork.png and b/images/guias/colaborar/fork.png differ diff --git a/images/guias/colaborar/listar_remotos.png b/images/guias/colaborar/listar_remotos.png new file mode 100644 index 00000000..75ffd586 Binary files /dev/null and b/images/guias/colaborar/listar_remotos.png differ diff --git a/images/guias/colaborar/newfork.png b/images/guias/colaborar/newfork.png new file mode 100644 index 00000000..aa061f32 Binary files /dev/null and b/images/guias/colaborar/newfork.png differ diff --git a/images/guias/colaborar/notice.png b/images/guias/colaborar/notice.png new file mode 100644 index 00000000..0a77b25a Binary files /dev/null and b/images/guias/colaborar/notice.png differ diff --git a/images/guias/colaborar/pull_upstream.png b/images/guias/colaborar/pull_upstream.png new file mode 100644 index 00000000..eccc541f Binary files /dev/null and b/images/guias/colaborar/pull_upstream.png differ diff --git a/images/guias/colaborar/push_origin_src.png b/images/guias/colaborar/push_origin_src.png new file mode 100644 index 00000000..9d6a1cc6 Binary files /dev/null and b/images/guias/colaborar/push_origin_src.png differ diff --git a/images/guias/colaborar/search_issue.png b/images/guias/colaborar/search_issue.png new file mode 100644 index 00000000..90a8b0d7 Binary files /dev/null and b/images/guias/colaborar/search_issue.png differ diff --git a/images/guias/colaborar/site.png b/images/guias/colaborar/site.png new file mode 100644 index 00000000..4dab3082 Binary files /dev/null and b/images/guias/colaborar/site.png differ diff --git a/images/guias/colaborar/tests.png b/images/guias/colaborar/tests.png new file mode 100644 index 00000000..524b25bc Binary files /dev/null and b/images/guias/colaborar/tests.png differ diff --git a/images/guias/git/git_install.png b/images/guias/git/git_install.png new file mode 100644 index 00000000..62070961 Binary files /dev/null and b/images/guias/git/git_install.png differ diff --git a/images/logos/python-ecuador-661x600.webp b/images/logos/python-ecuador-661x600.webp new file mode 100644 index 00000000..d453d03b Binary files /dev/null and b/images/logos/python-ecuador-661x600.webp differ diff --git a/images/logos/python-ecuador.svg b/images/logos/python-ecuador.svg new file mode 100644 index 00000000..ab1d8b74 --- /dev/null +++ b/images/logos/python-ecuador.svg @@ -0,0 +1,1268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/posts/hacktoberfest-2020/daniel.png b/images/posts/hacktoberfest-2020/daniel.png new file mode 100644 index 00000000..bc90d79c Binary files /dev/null and b/images/posts/hacktoberfest-2020/daniel.png differ diff --git a/images/posts/hacktoberfest-2020/epic_handshake.png b/images/posts/hacktoberfest-2020/epic_handshake.png new file mode 100644 index 00000000..28186c0d Binary files /dev/null and b/images/posts/hacktoberfest-2020/epic_handshake.png differ diff --git a/images/posts/hacktoberfest-2020/mr_robot_approves.png b/images/posts/hacktoberfest-2020/mr_robot_approves.png new file mode 100644 index 00000000..83024818 Binary files /dev/null and b/images/posts/hacktoberfest-2020/mr_robot_approves.png differ diff --git a/images/posts/hacktoberfest-2020/prs.jpg b/images/posts/hacktoberfest-2020/prs.jpg new file mode 100644 index 00000000..d925c5cc Binary files /dev/null and b/images/posts/hacktoberfest-2020/prs.jpg differ diff --git a/images/posts/hacktoberfest-2020/speak.gif b/images/posts/hacktoberfest-2020/speak.gif new file mode 100644 index 00000000..6f9aa955 Binary files /dev/null and b/images/posts/hacktoberfest-2020/speak.gif differ diff --git a/images/posts/hacktoberfest-2020/teams.jpg b/images/posts/hacktoberfest-2020/teams.jpg new file mode 100644 index 00000000..88224f12 Binary files /dev/null and b/images/posts/hacktoberfest-2020/teams.jpg differ diff --git a/images/posts/opencollective/opencollectivelogo.png b/images/posts/opencollective/opencollectivelogo.png new file mode 100644 index 00000000..d667babc Binary files /dev/null and b/images/posts/opencollective/opencollectivelogo.png differ diff --git a/images/sponsors/day2-group.png b/images/sponsors/day2-group.png new file mode 100644 index 00000000..086f4e3d Binary files /dev/null and b/images/sponsors/day2-group.png differ diff --git a/images/sponsors/django-danmark.png b/images/sponsors/django-danmark.png new file mode 100644 index 00000000..45d1c0c9 Binary files /dev/null and b/images/sponsors/django-danmark.png differ diff --git a/images/sponsors/globant.png b/images/sponsors/globant.png new file mode 100644 index 00000000..15b05d8b Binary files /dev/null and b/images/sponsors/globant.png differ diff --git a/images/sponsors/instituto-sudamericano.png b/images/sponsors/instituto-sudamericano.png new file mode 100644 index 00000000..7b3c1ed5 Binary files /dev/null and b/images/sponsors/instituto-sudamericano.png differ diff --git a/images/sponsors/logic-studio.png b/images/sponsors/logic-studio.png new file mode 100644 index 00000000..c9aff2f3 Binary files /dev/null and b/images/sponsors/logic-studio.png differ diff --git a/images/sponsors/netlife.png b/images/sponsors/netlife.png new file mode 100644 index 00000000..fc1727e3 Binary files /dev/null and b/images/sponsors/netlife.png differ diff --git a/images/sponsors/openlab.svg b/images/sponsors/openlab.svg new file mode 100644 index 00000000..1187b9e2 --- /dev/null +++ b/images/sponsors/openlab.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/sponsors/psf.png b/images/sponsors/psf.png new file mode 100644 index 00000000..74148778 Binary files /dev/null and b/images/sponsors/psf.png differ diff --git a/images/sponsors/psf.svg b/images/sponsors/psf.svg new file mode 100644 index 00000000..e4c9e971 --- /dev/null +++ b/images/sponsors/psf.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/sponsors/readthedocs.png b/images/sponsors/readthedocs.png new file mode 100644 index 00000000..f5bb3679 Binary files /dev/null and b/images/sponsors/readthedocs.png differ diff --git a/images/sponsors/sticker-mule.png b/images/sponsors/sticker-mule.png new file mode 100644 index 00000000..78ed29e7 Binary files /dev/null and b/images/sponsors/sticker-mule.png differ diff --git a/images/sponsors/ups-cuenca.png b/images/sponsors/ups-cuenca.png new file mode 100644 index 00000000..1d5da124 Binary files /dev/null and b/images/sponsors/ups-cuenca.png differ diff --git a/images/sponsors/veronica.png b/images/sponsors/veronica.png new file mode 100644 index 00000000..a742df25 Binary files /dev/null and b/images/sponsors/veronica.png differ diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 00000000..79be12bc --- /dev/null +++ b/noxfile.py @@ -0,0 +1,32 @@ +import nox + + +@nox.session +def tests(session): + session.install("-r", "requirements.txt") + session.run("nikola", "build", "--strict") + session.run("nikola", "check", "--check-links", "--check-files") + + +@nox.session +def lint_rst(session): + session.install("rstcheck") + session.run("rstcheck", "-r", ".") + + +@nox.session +def lint_yaml(session): + session.install("yamllint") + session.run("yamllint", "-s", "data") + + +@nox.session +def lint_python(session): + session.install("black") + session.run("black", "--check", ".") + + +@nox.session +def format_python(session): + session.install("black") + session.run("black", ".") diff --git a/pages/404.html b/pages/404.html index 830bc543..f079c269 100644 --- a/pages/404.html +++ b/pages/404.html @@ -4,25 +4,12 @@ - 404 - Página no encontrada! - - - -
-

404 - Página no encontrada

+ +

- ¿No encuentras lo que buscas? ¿Crees que es un error? - Repórtalo + + + Basic Snake HTML Game + +

- Basic Snake HTML Game
+ - \ No newline at end of file + diff --git a/pages/becas.rst b/pages/becas.rst index 8a2735bc..c5453d10 100644 --- a/pages/becas.rst +++ b/pages/becas.rst @@ -35,6 +35,7 @@ y con la siguiente información: - ¿Dónde y cuándo será el evento? - Enlace al evento - ¿Qué tipo de ayuda necesitas?: Transporte y/o hospedaje (u otro). +- ¿Por qué necesitas la beca? Detalles sobre tu situación económica. - Cuéntanos tu plan: Danos los detalles generales de tu viaje y las cantidades aproximadas sobre los gastos. @@ -66,6 +67,9 @@ Ejemplos https://flisol.info/FLISOL2019/Ecuador/Cuenca - ¿Qué tipo de ayuda necesitas? Transporte + - ¿Por qué necesitas la beca? + No cuento con un trabajo aún. Mi familia no cuenta con el dinero para + cubrir los gastos del viaje. - Cuéntanos tu plan: En caso de obtener la beca tengo planeado lo siguiente: Tomar un autobus de la cooperativa X a las 10 am del día 10 de Enero del 2018, diff --git a/pages/calendar.rst b/pages/calendar.rst new file mode 100644 index 00000000..ab8a9698 --- /dev/null +++ b/pages/calendar.rst @@ -0,0 +1,51 @@ +.. title: Calendario +.. template: pagina.tmpl + +`¡Únete a nuestros eventos! `__ +¡Comparte tus conocimientos! +`¡Aprende en comunidad! `__ + +.. note:: + Siempre que tengas preguntas puedes ir a `nuestro canal de telegram `__. + +.. _eventos: link://filename/pages/eventos/index.rst + +.. _comunidad: link://filename/pages/nuestra-comunidad.rst + +.. _telegram: https://t.me/pythonecuador + +.. raw:: html + + + +
+ +
+ +| diff --git a/pages/coc.rst b/pages/coc.rst index a780698a..9c68f427 100644 --- a/pages/coc.rst +++ b/pages/coc.rst @@ -7,6 +7,9 @@ .. type: text .. template: pagina.tmpl +.. contents:: Contenidos + :depth: 1 + Nuestro compromiso ------------------ @@ -67,4 +70,4 @@ Atribución ---------- Este Código de Conducta es una adaptación del Contributor Covenant, versión 1.4, -disponible en https://www.contributor-covenant.org/es/version/1/4/code-of-conduct.html +disponible en https://www.contributor-covenant.org/es/version/1/4/code-of-conduct/ diff --git a/pages/eventos/index.rst b/pages/eventos/index.rst index c0c75637..0c5c7152 100644 --- a/pages/eventos/index.rst +++ b/pages/eventos/index.rst @@ -9,5 +9,42 @@ Estos son los tipos de eventos que se realizan en la comunidad de Python Ecuador: -- `Charlas y Talleres (Meetups) `_ -- `pypizza `__ +.. contents:: Contenidos + :depth: 2 + +Calendario de Eventos +--------------------- + +Lista y horarios en nuestro `calendario de eventos `__. + +Sesiones +######## + +- **Lunes de Newbies**: Un espacio donde aprenderás a crear tu primer Pull Request, como funciona Git, un espacio divertido si eres un novato. +- **Linux/Automatización/Docker**: Aprenderás lo básico de Linux, automatizar sus procesos, crear espacios para desarrollo mediante Docker +- **Ejercicios de Programación**: Ejercicios para mejorar y practicar tu lógica en plataformas en linea como + `HackerEarth `__ y analizamos la complejidad computacional de las respuestas. +- **Bots**: Mejora y practica tus habilidades en Python mediante el uso y la creación de Bots. +- **V/Vi/Vim/Viernes**: Aprende Vim o NeoVim, practica y si te animas puedes hasta crear tus propios plugins. +- **¡Hasta que los Teclados Aguanten!**: Aprende a contribuir a un proyecto de Software Libre o propón tus proyectos favoritos. + +Charlas y Talleres (Meetups) +############################ + +Experimenta con la comunidad, participa de los talleres y conoce mas gente que es igual de apasionada por Python +en las reuniones de `charlas y talleres (meetups) `__. + +PyPizza +####### + +Evento informal en el que te ayudamos a colaborar a un proyecto de Software Libre y disfrutar de una pizza en `PyPizza `__. + +Eventos en Vivo +############### + +Charlas y conferencias impartidas por la comunidad síguenos en `eventos en vivo `__. + +Hacktoberfest +############# + +Llega Octubre y es hora de participar en el `Hacktoberfest `__, donde durante todo el mes podrás contribuir a proyectos Open Source. ¿Nunca los haz hecho? ¿Quieres participar? Anímate! Esta es tu oportunidad para ser parte de un evento a escala mundial. ¡Happy Hacking! diff --git a/pages/guias/colaborar.rst b/pages/guias/colaborar.rst index 0f5be23f..e01095d6 100644 --- a/pages/guias/colaborar.rst +++ b/pages/guias/colaborar.rst @@ -2,8 +2,6 @@ .. slug: colaborar .. tags: .. category: -.. link: -.. description: .. type: text .. template: pagina.tmpl @@ -33,11 +31,22 @@ Este proyecto usa Python 3, puedes descargarlo desde https://www.python.org/down Para verificar que tienes Python 3 en tu sistema ejecuta el siguiente comando en una terminal (ventana de comandos): +Si la versión descargada de python es para Windows, es conveniente marcar la opción PATH, +con la finalidad de que las variables de entorno se reconozcan en cualquier terminal abierto ya que +facilita la ejecución a futuro del comando ``pip install`` y no lo restringe al directorio de instalación. + .. code:: console $ python --version Python 3.6.5 +Si el comando anterior no funcionó en Windows puedes intentar: + +.. code:: console + + > py --version + Python 3.6.5 + Si la salida del comando es diferente, no te preocupes, sólo debes asegurarte que el primer número sea un ``3``. En caso que la salida haya sido algo como ``2.7.14``, intenta con el comando ``python3 --version``. @@ -54,7 +63,13 @@ Obteniendo el proyecto ###################### El proyecto está bajo el sistema de control de versiones Git y alojado en GitHub, -puedes descargar Git desde https://git-scm.com/download. +puedes descargar Git desde https://git-scm.com/download , o seguir nuestra `guía de instalación de Git `__. Para verificar que tienes Git en tu sistema ejecuta el siguiente comando en una terminal +(ventana de comandos): + +.. code:: bash + + $ git --version + git version 2.17.1 Luego de instalar Git se debe configurar el usuario y el correo electrónico con los siguientes comandos: @@ -66,23 +81,48 @@ los siguientes comandos: Debes tener una cuenta en `GitHub `_, inicia sesión, dirígete al `proyecto de Python Ecuador `_ -y presiona el botón ``Fork`` para hacer un fork del proyecto en tu cuenta. +y puedes darle una estrellita al `repositorio `__. + +.. image:: /images/guias/colaborar/estrellita.png + :align: center + +| + +Y luego presionar el botón ``Fork`` para hacer un fork del proyecto en tu cuenta. .. image:: /images/guias/colaborar/fork.png :align: center -Ejecuta el siguiente comando en una terminal para obtener el código. +Puedes dejar los ajustes por defecto y presionar el botón ``Create fork`` + +.. image:: /images/guias/colaborar/newfork.png + :align: center + +Para obtener el código puedes: + +Copiar el enlace del repositorio en el botón ``Clone`` y luego en el ícono de ``copiar`` + +.. image:: /images/guias/colaborar/clone.png + :align: center + +En una terminal ejecuta el comando: + +.. code:: bash + + git clone {pegar-enlace-con-ctrl+shift+v} + +O directamente ejecuta el siguiente comando en una terminal. Donde ``{tu-usuario}`` es tu usuario de GitHub. .. code:: bash - git clone https://github.com/{tu-usuario}/PythonEcuador.github.io.git + git clone https://github.com/{tu-usuario}/pythonecuador.github.io.git Por ejemplo, para el usuario ``Marlon5300``: .. code:: bash - git clone https://github.com/Marlon5300/PythonEcuador.github.io.git + git clone https://github.com/Marlon5300/pythonecuador.github.io.git Entra al directorio que contiene el código fuente con @@ -92,13 +132,13 @@ Entra al directorio que contiene el código fuente con .. note:: - El desarrollo se lleva a cabo sobre la rama ``src``. + El desarrollo se lleva a cabo sobre la rama ``main``. Por defecto tu repositorio debe estar en esta rama. Si tienes dudas ejecuta: .. code:: bash - git checkout src + git checkout main Ejecutando el proyecto ###################### @@ -130,10 +170,14 @@ Ahora necesitamos activar el entorno virtual # Para sistemas Windows, usando Git bash venv/Scripts/activate + # Si el comando anterior no funciona puedes probar: + source venv/Scripts/activate + Ahora ya podemos instalar Nikola y otras dependencias: .. code:: bash + pip install -U pip setuptools wheel pip install -r requirements.txt Finalmente, para ejecutar el sitio con Nikola @@ -145,12 +189,35 @@ Finalmente, para ejecutar el sitio con Nikola Si abres tu navegador e ingresas a http://127.0.0.1:8000/ podrás ver el sitio. +.. image:: /images/guias/colaborar/site.png + :align: center + +Ejecutando los tests +#################### + +Para ejecutar las pruebas instalamos `nox `__ en el entorno virtual creado, con el siguiente comando. + +.. code:: bash + + pip install nox + +Usamos el comando nox para ejecutar las pruebas configuradas en el archivo ``noxfile.py`` del proyecto. + +.. code:: bash + + nox + +Deberías obtener un resultado como este, indicando los posibles errores o tests fallidos: + +.. image:: /images/guias/colaborar/tests.png + :align: center + Reportando errores (bugs) ------------------------- GitHub usa ``issues`` para dar seguimiento a tareas y reportar bugs. Si encuentras un error o tienes una idea para mejorar el sitio, -`crea un nuevo issue `_ +`crea un nuevo issue `_ describiendo el bug/mejora. .. note:: @@ -166,20 +233,23 @@ para buscar tareas por hacer. Los issues contienen etiquetas (`labels `_) para clasificarlos por complejidad y/o tipo. -`Good First Issue`_ +.. image:: /images/guias/colaborar/search_issue.png + :align: center + + +| + + +`good first issue`_ Tareas de complejidad fácil que te ayudarán a familiarizarte con el proyecto. -`Bug`_, `Enhancement`_ +`bug`_, `enhancement`_ Si ya resolviste suficientes tareas fáciles y quieres pasar al siguiente nivel. -`Design`_ +`decision needed`_ + Indica que hace falta tomar una decisión para resolver el problema. +`design`_ Si lo tuyo es el diseño gráfico o web. -`duplicate`_ - Indica issues similares o pull requests `help wanted`_ Indica que uno de los administradores busca ayuda en un issue o pull request -`invalid`_ - Indica que el issue o pull request no es relevante -`question`_ - Indica que issues similares o pull request necesitan más información `ready`_ Indica que el issue esta listo `wip`_ @@ -189,14 +259,12 @@ para clasificarlos por complejidad y/o tipo. `sponsor`_ Indica que se debe agregar un nuevo sponsor mediante pull request -.. _Good First Issue: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/good%20first%20issue -.. _Bug: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/bug -.. _Enhancement: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/enhancement -.. _Design: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/design -.. _duplicate: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/duplicate +.. _good first issue: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/good%20first%20issue +.. _bug: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/bug +.. _enhancement: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/enhancement +.. _design: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/design +.. _decision needed: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/decision%20needed .. _help wanted: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/help%20wanted -.. _invalid: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/invalid -.. _question: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/question .. _ready: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/ready .. _wip: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/wip .. _wontfix: https://github.com/PythonEcuador/PythonEcuador.github.io/labels/wontfix @@ -228,6 +296,12 @@ Puedes ver los cambios en tu navegador mientras editas los archivos con el sigui nikola auto +Para visualizar los archivos modificados y el estado del area de trabajo usa el siguiente comando. + +.. code:: bash + + git status + Trata de hacer un commit por cada bloque de cambios relacionados que hagas .. code:: bash @@ -235,6 +309,10 @@ Trata de hacer un commit por cada bloque de cambios relacionados que hagas git add archivo-editado.rst git commit -m "Arreglada falta ortográfica" +.. tip:: + + En caso de redactar textos largos o simplemente necesitar una revisión ortográfica puedes utilizar la herramienta `LanguageTool `_. + Una vez que hayas hechos todos los cambios necesarios, súbelos a tu fork .. code:: bash @@ -243,7 +321,15 @@ Una vez que hayas hechos todos los cambios necesarios, súbelos a tu fork Dirígete a la `página del proyecto `_ y verás un mensaje sugiriéndote hacer un pull request (PR). -En la descripción del PR describe brevemente los cambios que hiciste. + +.. image:: /images/guias/colaborar/notice.png + :align: center + +En la descripción del PR describe brevemente los cambios que hiciste, no olvidar poner ``Close #n``, donde ``n`` es el número del issue que estás resolviendo. +Luego haces clic en ``Create pull request``. + +.. image:: /images/guias/colaborar/PR.png + :align: center Espera a que un miembro de la comunidad revise tu PR, si son necesarios más cambios, los puedes hacer en la misma rama @@ -254,7 +340,7 @@ y repetir el proceso de agregar más commits. git add archivo-editado.rst git commit -m "Más cambios" -Una vez que ya los tengas listos, vuelve a subirlos +Una vez que ya los tengas listos, vuelve a subirlos. Se agregarán al PR creado. .. code:: bash @@ -315,7 +401,7 @@ Ahora sólo necesitas editar el archivo ``.rst`` ¡y listo! Crear una nueva página ###################### -Pronto +Crea un archvivo ``.rst`` dentro del directorio ``pages/`` utiliza guiones medios para separar las palabras, guíate de las otras páginas para escribir los metadatos al principio del archivo o puedes simplemente copiar y pegar una página ya existente, edítala ¡y listo! Creando una nueva sección ######################### @@ -333,12 +419,12 @@ debes hacer un par de pasos para igualar tu fork con los últimos cambios del re Asegúrate de repetir este proceso antes de tomar una nueva tarea. -Primero debemos cambiarnos nuevamente a la rama principal (``src``). +Primero debemos cambiarnos nuevamente a la rama principal (``main``). .. code:: bash - git checkout src + git checkout main Asegúrate que no tengas cambios residuales de tu anterior PR antes de proceder con los siguientes pasos @@ -350,17 +436,38 @@ Necesitaremos hacerle saber a git del repo principal con el siguiente comando. git remote add upstream https://github.com/PythonEcuador/PythonEcuador.github.io.git +Podemos comprobar que se añadio el repo principal con: + +.. code:: bash + + git remote -v + +| + +.. image:: /images/guias/colaborar/listar_remotos.png + :align: center + Ahora ya podemos bajarnos los últimos cambios del repo principal. .. code:: bash - git pull upstream src + git pull upstream main + +| + +.. image:: /images/guias/colaborar/pull_upstream.png + :align: center Y los subimos a nuestro fork .. code:: bash - git push origin src + git push origin main + +| + +.. image:: /images/guias/colaborar/push_origin_src.png + :align: center Ahora si, puedes seguir los pasos indicados :ref:`arriba ` para continuar con tu próximo pull request. @@ -386,12 +493,3 @@ Es totalmente escalable y configurable. Se hizo una pequeña votación antes de empezar con el desarrollo del sitio en `#2 `__. - -¿Por qué no usamos las rama ``master``? -####################################### - -El sitio está alojado en GitHub Pages, -por lo que se requiere que en la rama ``master`` -estén los archivos finales a ser servidos (los archivos ``html`` resultado de hacer ``nikola build``). -Por ello el desarrollo con los archivos ``rst`` se lleva a cabo en la rama ``src``, -y los archivos *compilados* se encuentran en ``master``. diff --git a/pages/guias/deploy.rst b/pages/guias/deploy.rst index 817ba14f..08f27e89 100644 --- a/pages/guias/deploy.rst +++ b/pages/guias/deploy.rst @@ -8,6 +8,11 @@ Esta guía es para pesonas con permisos de escritura sobre el repositorio. Usarla con responsabilidad. +.. note:: + + Los deploys ahora se realizan de manera automática, cada vez que se realiza un merge + de un commit a la rama principal (main). + En esta guía aprenderemos a desplegar el sitio a producción usando `Nikola `__. .. contents:: Contenidos @@ -33,23 +38,23 @@ Desplegar Tenemos un archivo make para facilitar el deploy, úsalo. Asegúrate que: -#. Estés en la rama adecuada (``git checkout src``) +#. Estés en la rama adecuada (``git checkout main``) #. No tengas cambios locales (``git status`` debe estar limpio) -#. Tengas los últimos cambios del repositorio (``git pull origin src``) +#. Tengas los últimos cambios del repositorio (``git pull origin main``) #. El sitio está funcional Para desplegar el sitio, usamos el comando ``make deploy``. Debes ver un mensaje de éxito en caso que todo haya salido bien. -Puedes chequear la rama master_ para verificar que los archivos compilados se encuentran subidos. -Los cambios podrán ser vistos en https://pythonecuador.org en aproximadamente 5 minutos. +Puedes chequear la rama main_ para verificar que los archivos compilados se encuentran subidos. +Los cambios podrán ser vistos en https://python.ec en aproximadamente 5 minutos. -.. _master: https://github.com/PythonEcuador/PythonEcuador.github.io/tree/master +.. _main: https://github.com/PythonEcuador/PythonEcuador.github.io/tree/master Dominio ####### -El dominio usado actualmente es pythonecuador.org, +El dominio usado actualmente es python.ec, si necesitas acceso a las configuraciones del dominio, pregunta en el `grupo de Telegram`_. diff --git a/pages/guias/git.rst b/pages/guias/git.rst new file mode 100644 index 00000000..d25ebaed --- /dev/null +++ b/pages/guias/git.rst @@ -0,0 +1,59 @@ +.. title: Instalar Git +.. slug: git +.. type: text +.. template: pagina.tmpl + +Instalar Git en Ubuntu/Debian +----------------------------- + +Antes de instalar es recomendable ejecutar las actualizaciones de paquetes del sistema operativo, por ende abrimos una terminal y ejecutamos lo siguiente: + +Para actualizar los repositorios. + +.. code:: console + + $ sudo apt-get update + +Para actualizar los paquetes en el sistema. + +.. code:: console + + $ sudo apt-get upgrade + +Luego procedemos a instalar git con el comando install. + +.. code:: console + + $ sudo apt-get install git + +Este comando instalará git y sus paquetes necesarios. + +.. image:: /images/guias/git/git_install.png + :align: center + +| + +Comprobamos que se haya instalado correctamente con: + +.. code:: console + + $ git --version + git version 2.25.1 + +Instalar Git en Fedora +---------------------- + +Instalar mediante DNF (o Yum en versiones mas antiguas de Fedora) + +.. code:: console + + $ sudo dnf install git + o + $ sudo yum install git + +Comprobamos que se haya instalado correctamente con: + +.. code:: console + + $ git --version + git version 2.25.1 diff --git a/pages/guias/index.rst b/pages/guias/index.rst index c65b340d..3d255c5d 100644 --- a/pages/guias/index.rst +++ b/pages/guias/index.rst @@ -7,6 +7,7 @@ Guías escritas por la comunidad para la comunidad. Comunidad ######### +- `EL Zen de Python `__. - `Registrarte como miembro de la PSF `__ Desarrollo del sitio diff --git a/pages/guias/psf.rst b/pages/guias/psf.rst index a8e1e2d8..9881266b 100644 --- a/pages/guias/psf.rst +++ b/pages/guias/psf.rst @@ -42,7 +42,7 @@ Abierto el email nos dirigimos a la bandeja de entrada y verificamos el email de You're receiving this e-mail because user xxxxxx at python.org has given yours as an e-mail address to connect their account. - To confirm this is correct, go to http://www.python.org/accounts/confirm-email/your-email + To confirm this is correct, go to https://www.python.org/accounts/confirm-email/your-email/ Thank you from python.org!. .. diff --git a/pages/hacktoberfest.rst b/pages/hacktoberfest.rst new file mode 100644 index 00000000..444376db --- /dev/null +++ b/pages/hacktoberfest.rst @@ -0,0 +1,181 @@ +.. title: Hacktoberfest Ecuador +.. link: +.. description: +.. type: text +.. template: pagina.tmpl + +.. image:: /images/events/hacktoberfest.png + :align: center + +| + +Durante todo el mes de octubre estaremos teniendo sesiones donde podrás estar +en contacto con maintainers de diferentes proyectos Open Source que te ayudarán +a contribuir a estos proyectos. **No se requiere ningún conocimiento previo**, +¡sólo ganas de aprender! + +El evento *kickoff* será este **3 de octubre**, +registro en https://organize.mlh.io/participants/events/4583-hacktoberfest-ecuador-online. +Recuerda que **las sesiones serán a lo largo de todo el mes**, +suscríbete `a nuestros canales `__ para que mantengas informada/o de las fechas. + +Si eres maintainer, registra tus proyectos en https://forms.gle/dt9sgwkbYnfST9GPA + +.. tip:: + + No te olvides de postear en tus redes con el hashtag ``#HacktoberfestEC`` + +.. contents:: Contenido + +¿Qué es hacktoberfest? +---------------------- + +Hacktoberfest — traído gracias a DigitalOcean en conjunto con Dev & Intel +— es una celebración de un mes de software open source. +**Mantenedores son invitadas/os a promover sus proyectos**, +y **contribuidores tienen la oportunidad de retribuir a sus proyectos favoritos** u otros que hayan descubierto. +**Ninguna contribución es pequeña** — arreglos de bugs y actualización de documentación; +son ambas formas válidas de participar. + +Plataforma +---------- + +La plataforma que usaremos durante el evento es `element.io `__. +Crea tu cuenta en https://app.element.io/#/register. +Una vez que tengas tu cuenta creada, puedes unirte a nuestra comunidad en https://app.element.io/#/group/+hacktoberec:matrix.org. + +En la comunidad existen varios rooms: + +- General: El chat principal del evento +- Pull Requests: ¡Cada vez que termines un pull request, + puedes registrarla en esta sala! + Estaremos realizando un par de sorteos entre las personas que hayan creado un pull request. + + El mensaje debe contener el **enlace al pull request y con qué lo hiciste** (café, cerveza, horchata, agua, etc). + + .. code:: + + Link: https://github.com/PythonEcuador/PythonEcuador.github.io/pull/232 + Hecho con: cerveza 🍺 + +Reglas & Premios +---------------- + +Primero, regístrate en el sitio de Hacktoberfest en https://hacktoberfest.digitalocean.com. +Para que califiques para la camiseta de edición limitada del Hacktoberfest, +debes haberte registrado y **haber realizado cuatro pull requests entre el 1 y 31 de octubre**. +Pull requests deben ser hechas a cualquier repositorio público en GitHub, +no sólo los que tienen la etiqueta Hacktoberfest. +Si un mantenedor reporta tu pull request como spam o no está alineada con el código de conducta del evento, +no serás elegible para participar. + +Conéctate con otros participantes del Hacktoberfest usando @DigitalOcean, +@hacktoberfest, #hacktoberfest es tus redes sociales. + +¿Eres nueva/o en DigitalOcean? Recibe USD $100 en créditos en https://do.co/hacktoberfest100. + +Código de Conducta +------------------ + +Los eventos de Hacktoberfest son **amigables, abiertos, e inclusivos**. +Por favor **leer** nuestro `código de conducta `__ antes de asistir al evento. +Happy hacking! + +Proyectos +--------- + +Varios maintainers han propuesto sus proyectos, +en cada sesión podrás contar con la ayuda de algún maintainer de acuerdo a su disponibilidad. +Te aconsejamos elegir el proyecto que más te llame la atención, que uses, o que quieras aprender de. + +.. note:: + + Recuerda que puedes colaborar a cualquier proyecto open source de tu preferencia. + Con los proyectos listados tendrás la oportunidad de que alguien te ayude en el proceso. + +Python Ecuador +~~~~~~~~~~~~~~ + +Web de la comunidad de Python Ecuador. +Proyecto para todo tipo de contribuidores, especialmente para los que están iniciando en el mundo del open source. + +https://github.com/PythonEcuador/PythonEcuador.github.io/ + +Maintainers: + +- `@seburath `__ +- `@Danielrick88 `__ + +JavaScript +~~~~~~~~~~ + +- `javaScript Ecuador `__: + Web de la comunidad de JavaScript Ecuador. + Proyecto para niveles básico e intermedio, + la idea es que más personas interesadas en el lenguaje de JavaScript se unan a la comunidad open source. + + Maintainers: + + - `@israteneda `__ + - `@miguel_rios_r `__ + +- `Pettnaut `__: + es un proyecto en estado inicial que trata de conectar a las personas que quieren adoptar mascotas, + con las que mascotas que son rescatadas. + También ayudará a encontrar mascotas perdidas gracias a la comunidad. + + Maintainers: `@renatojobal `__ + +Python +~~~~~~ + +- `Traducción al español de la documentación de Python `__ + + Maintainers: `@gomezgleonardob `__ + +Vim/Neovim +~~~~~~~~~~ + +- `fzf-checkout.vim `__: + ¡Administra tus ramas y tags con fzf desde vim/neovim! + Proyecto para personas familiarizadas con lo básico de Vim/vimscript. + + Maintainers: `@stsewd `__ + +- `nvim-treesitter `__: + Integración de treesitter para Neovim. + Proyecto para personas familiarizadas con Neovim, también hay tareas que requieren Lua. + + Maintainers: `@stsewd `__ + +- `sphinx.nvim `__: + Integraciones de Sphinx para Neovim. + Proyecto para personas familiarizadas con Neovim y Python. + + Maintainers: `@stsewd `__ + +- `gx-extended.vim `__: + Extiende el comando gx para que funciones con más que sólo URLs. + Proyecto para personas familiarizadas con vim/vimscript. + + Maintainers: `@stsewd `__ + +Latino +~~~~~~ + +Lenguaje de programación inspirado en Python y Lua con sintaxis en español. +No es un psuedolenguaje, es un lenguaje de programación que esperamos crezca al nivel de los más importantes lenguajes, +y para ello nos gustaría darlo a conocer. + +https://www.lenguajelatino.org/ + +Maintainers: + +- `@MelvinG24 `__ +- Jorge Luis González + +Otros +~~~~~ + +¿No está tu proyecto favorito? +¡`Inscríbete como maintainer `__! diff --git a/pages/live.rst b/pages/live.rst new file mode 100644 index 00000000..f86c8a08 --- /dev/null +++ b/pages/live.rst @@ -0,0 +1,37 @@ +.. title: Eventos en vivo +.. template: pagina.tmpl + +.. raw:: html + + + +
+ +
+ +| + +Mira los eventos pasados en nuestro `canal de YouTube `__. diff --git a/pages/nuestra-comunidad.rst b/pages/nuestra-comunidad.rst index 0d011307..12d161be 100644 --- a/pages/nuestra-comunidad.rst +++ b/pages/nuestra-comunidad.rst @@ -12,6 +12,9 @@ con la filosofía común de que el **conocimiento debe ser libre**. `Leer más `__. +.. contents:: Contenidos + :depth: 2 + Eventos ------- @@ -43,10 +46,6 @@ con una pequeña descripción: Nuestra principal plataforma para la organización de eventos. Recibe notificaciones de los eventos más cercanos a tu ubicación. -- `Canal de Telegram (@pythonecuadoreventos) `__ - - Recibe notificaciones de nuestros últimos eventos. - - `Facebook (@pyecuador) `__ Contenido relacionado a la comunidad y Python. @@ -55,6 +54,10 @@ con una pequeña descripción: Contenido relacionado a la comunidad y Python. +- `Instagram (@pythonecuador) `__ + + Contenido relacionado a la comunidad y Python. + - `GitHub (@pythonecuador) `__ Nuestra organización de GitHub, @@ -65,7 +68,7 @@ con una pequeña descripción: ¿Te perdiste un meetup? Puede que esté en nuestro canal de YouTube. -- `Web `__ +- `Web `__ ¡La estás visitando ahora mismo! Encuentra información sobre la comunidad. @@ -83,11 +86,13 @@ con una pequeña descripción: Otras comunidades ----------------- -- `Django Girls Ecuador `__ +- `Django Girls Ecuador - Twitter `__ + +- `Django Girls Ecuador - Facebook `__ -- `PyladiesEc Twitter `__ +- `PyladiesEc - Twitter `__ -- `PyladiesEc Facebook `__ +- `PyladiesEc - Facebook `__ Comunidades amigas diff --git a/pages/quiero-ayudar.rst b/pages/quiero-ayudar.rst index fd39c5de..d1022cc2 100644 --- a/pages/quiero-ayudar.rst +++ b/pages/quiero-ayudar.rst @@ -22,7 +22,7 @@ De manera general las formas de apoyar a la comunidad son: * Reportando errores o sugerencias en `los proyectos de la comunidad `__ * Participando en `nuestras redes `__ * Impresión de material de difusión -* `Haciendo una donación o convirtiéndote en sponsor `__ +* `Haciendo una donación `__ o `convirtiéndote en sponsor `__ Si posees conocimientos técnicos: diff --git a/pages/reglas.rst b/pages/reglas.rst deleted file mode 100644 index 5e5ae208..00000000 --- a/pages/reglas.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. title: Reglas -.. slug: reglas -.. tags: -.. category: -.. link: -.. description: -.. type: text -.. template: ayuda.tmpl - -Esta página debe contener las relgas de la comunidad. -Como publicar avisos de trabajo, dónde hacer preguntas, etc -(enlazar a nuestro `Código de conducta `__ o mezclar ambas secciones). diff --git a/pages/resumen-2020.rst b/pages/resumen-2020.rst new file mode 100644 index 00000000..a676bffd --- /dev/null +++ b/pages/resumen-2020.rst @@ -0,0 +1,3 @@ +.. title: Python Ecuador 2020 +.. type: text +.. template: resumen-2020.tmpl diff --git a/pages/sponsors/aplicar.rst b/pages/sponsors/aplicar.rst index e0c4c42e..495f94d0 100644 --- a/pages/sponsors/aplicar.rst +++ b/pages/sponsors/aplicar.rst @@ -155,24 +155,22 @@ de esa manera pueden asistir a eventos de otras ciudades. Además parte del dinero será usado en material para promocionar los eventos, como: anuncios en redes sociales, materiales impresos, etc. -¿Cómo compruebo que mi dinero es usado correctamente? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Tendrás acceso a una hoja de cálculo de solo lectura donde podrás ver las transacciones -y una carpeta en Google Drive de sólo lectura con pruebas de esas transacciones. - ¿Cómo puedo hacer llegar el dinero? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Por ahora puedes hacerlo en efectivo a alguno de nuestros miembros organizadores, -si el monto es muy grande o cuando empecemos a recibir más sponsors, -podrás realizar una transferencia bancaria en la cuenta de un miembro de confianza, -luego trabajaremos en crear una cuenta bancaria dedicada. +Puedes realizar tu donación a través de Open Collective en https://opencollective.com/pythonecuador. + +¿Cómo compruebo que mi dinero es usado correctamente? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +El dinero de las donaciones es administrado via Open Collective https://opencollective.com/pythonecuador. +Ahí podrás encontrar el historial de todas las transacciones. ¿Puedo tener mi dinero de vuelta? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Si necesitas un reembolso del 100% de tu dinero, +Para las donaciones que hayan usando Open Collective nos adheriremos a las políticas de la plataforma. +Para donaciones realizadas por otro medio, háznoslo saber hasta 3 días después de haber hecho llegar el dinero. Pasado ese tiempo, puedes tener un reembolso del 50%. Para ambos casos, debes enviarnos un email explicando las razones del reembolso. @@ -181,7 +179,7 @@ Para ambos casos, debes enviarnos un email explicando las razones del reembolso. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ¡Si! En ciertas ocasiones esta es la mejor manera de ayudarnos. -Ya que así nos evitamos manejar dinero (impuestos, mantener seguimiento, etc). +Ya que así nos evitamos manejar dinero (impuestos, comisiones, etc). Licencias, refrigerios, material promocional son ejemplos. diff --git a/pages/sponsors/index.rst b/pages/sponsors/index.rst index e9cc3a25..8bd495e5 100644 --- a/pages/sponsors/index.rst +++ b/pages/sponsors/index.rst @@ -6,29 +6,44 @@ que usan **su tiempo libre y hasta su dinero**. A medida que la comunidad crece, esto se nos queda corto, pero gracias a la **generosa ayuda financiera de nuestros sponsors** la comunidad puede seguir creciendo. +*Realiza tu donación a través de Open Collective* https://opencollective.com/pythonecuador. + *¿Te interesa ser un sponsor de nuestra comunidad?* `aplicar `__. *¿Dudas o preguntas sobre esta sección?* `faq `__. +.. contents:: Contenidos + :depth: 1 + Sponsors recurrentes -------------------- Lista de sponsors que nos ayudan de manera recurrente: +.. class:: sponsor + +.. figure:: /images/sponsors/veronica.png + :alt: Verónica API + :height: 200px + :target: https://veronica.ec/ + + `Verónica API `__ | 2 años de renovación de nuestro dominio. + +.. class:: sponsor + .. figure:: /images/sponsors/jetbrains.png :alt: JetBrains - :width: 200 - :align: center + :height: 200px :target: https://www.jetbrains.com/ - `JetBrains `__, licencias en cada evento + `JetBrains `__ | licencias en cada evento. Sponsors no recurrentes ----------------------- Lista de sponsors que han hecho una donación: -- `EÓN CORP `__ (01/09/2018, $20) +- `EÓN CORP `__ (01/09/2018, $20) - `Leonardo Gómez `__ (01/09/2018, $20) Sponsors pasados diff --git a/pages/zen.rst b/pages/zen.rst new file mode 100644 index 00000000..ff1fa64f --- /dev/null +++ b/pages/zen.rst @@ -0,0 +1,30 @@ +.. title: El Zen de Python +.. slug: zen +.. type: text +.. template: pagina.tmpl + +El Zen de Python, por Tim Peters (:PEP:`20`). + +.. code:: python + + import this + +#. Bello es mejor que feo. +#. Explícito es mejor que implícito. +#. Simple es mejor que complejo. +#. Complejo es mejor que complicado. +#. Plano es mejor que anidado. +#. Disperso es mejor que denso. +#. La legibilidad cuenta. +#. Los casos especiales no son tan especiales como para quebrantar las reglas. +#. Aunque lo práctico gana a la pureza. +#. Los errores nunca deberían dejarse pasar silenciosamente. +#. A menos que hayan sido silenciados explícitamente. +#. Frente a la ambigüedad, rechaza la tentación de adivinar. +#. Debería haber una —y preferiblemente sólo una— manera obvia de hacerlo. +#. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés (Guido van Rossum). +#. Ahora es mejor que nunca. +#. Aunque nunca es a menudo mejor que ya mismo. +#. Si la implementación es difícil de explicar, es una mala idea. +#. Si la implementación es fácil de explicar, puede que sea una buena idea. +#. Los "namespaces" son una gran idea ¡Hagamos más de esas cosas!. diff --git a/plugins/__init__.py b/plugins/__init__.py index fd7e25d7..e45b1d87 100644 --- a/plugins/__init__.py +++ b/plugins/__init__.py @@ -1 +1 @@ -# Plugin modules go here. \ No newline at end of file +# Plugin modules go here. diff --git a/plugins/sphinx_roles/sphinx_roles.py b/plugins/sphinx_roles/sphinx_roles.py index 43f327a8..7146a18a 100644 --- a/plugins/sphinx_roles/sphinx_roles.py +++ b/plugins/sphinx_roles/sphinx_roles.py @@ -41,7 +41,6 @@ class Plugin(RestExtension): - name = "rest_sphinx_roles" def set_site(self, site): @@ -196,7 +195,7 @@ def emph_literal_role(typ, rawtext, text, lineno, inliner, options={}, content=[ retnode = nodes.literal(role=typ.lower(), classes=[typ]) for m in _litvar_re.finditer(text): if m.start() > pos: - txt = text[pos:m.start()] + txt = text[pos : m.start()] retnode += nodes.Text(txt, txt) retnode += nodes.emphasis(m.group(1), m.group(1)) pos = m.end() @@ -211,7 +210,7 @@ def emph_literal_role(typ, rawtext, text, lineno, inliner, options={}, content=[ def menusel_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) if typ == "menuselection": - text = text.replace("-->", u"\N{TRIANGULAR BULLET}") + text = text.replace("-->", "\N{TRIANGULAR BULLET}") spans = _amp_re.split(text) node = nodes.emphasis(rawtext=rawtext) @@ -510,7 +509,6 @@ def ref_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): else: class RefVisitor(nodes.NodeVisitor, object): - text = None def __init__(self, document, label): @@ -570,7 +568,6 @@ def depart_abbreviation(self, node): def abbr_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): - text = utils.unescape(text) m = _abbr_re.search(text) if m is None: diff --git a/posts/hacktoberfest-2020.rst b/posts/hacktoberfest-2020.rst new file mode 100644 index 00000000..5f80c7d9 --- /dev/null +++ b/posts/hacktoberfest-2020.rst @@ -0,0 +1,174 @@ +.. title: Hacktoberfest 2020 +.. date: 2020-11-11 +.. tags: hacktoberfestec, hacktoberfest +.. author: Seburath +.. description: Hacktoberfest Ecuador 2020, un resumen. + +LEVEL UP: ¡130 Pull Requests! +----------------------------- + +**27 personas, 2 comunidades, 9 maintainers, +10 repositorios durante 25 días de café y cerveza**, +dieron como resultado el evento de contribución +al Open Source más grande del que tengamos registro en Ecuador. + +.. image:: /images/posts/hacktoberfest-2020/epic_handshake.png + :align: center + :width: 450 + +| + +Puedes ver el post de `la convocatoria aquí `__, +el único proyecto que no está listado es `Lira `__, +el nuevo bebé de Python Ecuador, que nació durante todo este descontrol. + + "Un pequeño paso para el Open Source, + un gran paso para la comunidad Ecuatoriana." + +**En tan solo los 10 primeros días llegamos a 28 PRs**, +rompiendo completamente el récord de años anteriores. + +.. image:: /images/posts/hacktoberfest-2020/mr_robot_approves.png + :align: center + :width: 450 + +| + +Y si bien fuimos perdiendo gente a lo largo del mes... +¡Pudimos mantener y hasta mejorar el ritmo! +Como resultado esta fue la distribución de los 130 PRs a lo largo del mes. + +.. image:: /images/posts/hacktoberfest-2020/prs.jpg + :align: center + :width: 450 + +| + +Puedes ver los detalles de la actividad de cada proyecto aquí: + +.. _web: https://github.com/javascriptecuador/web/graphs/contributors?from=2020-10-01&to=2020-10-31&type=c +.. _webprs: https://github.com/pulls?page=2&q=is%3Amerged+is%3Apr+repo%3Ajavascriptecuador%2Fweb+created%3A2020-10-01..2020-10-31 + +.. _lira: https://github.com/PythonEcuador/lira/graphs/contributors?from=2020-10-01&to=2020-10-31&type=c +.. _liraprs: https://github.com/pulls?page=1&q=is%3Amerged+is%3Apr+repo%3Apythonecuador%2Flira+created%3A2020-10-01..2020-10-31 + +.. _pettnaut: https://github.com/pettnaut/frontend-code/graphs/contributors?from=2020-10-01&to=2020-10-31&type=c +.. _pettnautprs: https://github.com/pulls?q=is%3Amerged+is%3Apr+repo%3Apettnaut%2Ffrontend-code+created%3A2020-10-01..2020-10-31 + +.. _pyec: https://github.com/PythonEcuador/PythonEcuador.github.io/graphs/contributors?from=2020-10-01&to=2020-10-31&type=c +.. _pyecprs: https://github.com/pulls?page=1&q=is%3Amerged+is%3Apr+repo%3Apythonecuador%2Fpythonecuador.github.io+created%3A2020-10-01..2020-10-31 + + +- Web de JavaScript Ecuador `[Actividad] `__ `[PRs] `__ +- Lira `[Actividad] `__ `[PRs] `__ +- Pettnaut `[Actividad] `__ `[PRs] `__ +- Web de Python Ecuador `[Actividad] `__ `[PRs] `__ + +Solo llevamos el recuento de consumo de café y cerveza la primera semana, +pero estos porcentajes son estadísticamente significativos, +así que podemos extrapolarlos a todo el mes. + +.. image:: /images/posts/hacktoberfest-2020/teams.jpg + :align: center + :width: 450 + +| + +Arrancamos oficialmente el 3 de octubre, +pero **en Python Ecuador estábamos en esto desde mucho antes y +vamos a seguir indefinidamente**, desarrollando Lira, así que, si quieres ser parte +¡únete a `nuestro grupo de telegram! `__ +en `nuestro calendario `__ puedes ver los horarios. + +Nos reunimos casi todos los días y siempre hay espacio para uno más +y tal vez le pongamos un nombre fancy a diciembre aunque sigamos haciendo lo mismo. + +Salón de la fama +---------------- + +.. |cesardlinx| image:: https://avatars3.githubusercontent.com/u/25573926?s=400&u=a76a896747d580c36e9e70c7b465fddefe58f0ff&v=4 +.. |skcode7| image:: https://avatars2.githubusercontent.com/u/55223838?s=400&u=50a21a6445f8e8adcf25d178c8436702e6cd2526&v=4 +.. |jordanrjcode| image:: https://avatars0.githubusercontent.com/u/62086742?s=400&u=2d60aae03416ce1d7c2097b71d1b0e208a8fbeea&v=4 +.. |israteneda| image:: https://avatars2.githubusercontent.com/u/20668624?s=400&u=36866c8cb3a25b9a20e798d0d032c2ff8da4159a&v=4 +.. |rpalaciosg| image:: https://avatars0.githubusercontent.com/u/11642622?s=400&u=23592a526c873270b05f51b2d732fa90571f9647&v=4 +.. |EduardoAyora| image:: https://avatars3.githubusercontent.com/u/49033198?s=400&u=69fe0cc135c663bda9e1523b8e2cf43e2059888f&v=4 +.. |miguel-rios-r| image:: https://avatars1.githubusercontent.com/u/25510181?s=400&u=ebdb434d88c98a53384f2ecc6f46caa5a126aba8&v=4 +.. |albamaister| image:: https://avatars2.githubusercontent.com/u/20263594?s=400&u=45d0c724d6d8bf922e16f2948124b981e02ddbc8&v=4 +.. |klee214| image:: https://avatars2.githubusercontent.com/u/54453166?s=400&u=b07a320e0f976d2c91a4d7a5b4e12e4ec1510f2e&v=4 +.. |renatojobal| image:: https://avatars0.githubusercontent.com/u/35740463?s=400&u=24e013cf80e0559d5f2f2fac4739c527aae6ef2a&v=4 +.. |lenmorld| image:: https://avatars0.githubusercontent.com/u/14609656?s=400&u=e43b13c52ba35f3a323f71be4e3829f12a8bf5a8&v=4 +.. |ayush-git228| image:: https://avatars1.githubusercontent.com/u/66081505?s=400&u=6961b6470a9f85aeede4df58ef9e98184b98baff&v=4 +.. |InternetRamen| image:: https://avatars2.githubusercontent.com/u/66806100?s=400&u=152e152bb6c083abdbed6b47f48376dc78543314&v=4 +.. |gabygm| image:: https://avatars1.githubusercontent.com/u/31496947?s=400&u=7a72a61ec4c60d0c36b15a8dd99645c02d449f36&v=4 +.. |stsewd| image:: https://avatars0.githubusercontent.com/u/4975310?s=400&u=7f034d36be991cfb50520166f6d11a6044b7aa10&v=4 +.. |josselineperdomo| image:: https://avatars1.githubusercontent.com/u/9274112?s=400&u=0adff7046d6d059133c78d397a6841e9222dbbfd&v=4 +.. |Danielrick88| image:: https://avatars0.githubusercontent.com/u/70044225?s=400&v=4 +.. |csampedroc| image:: https://avatars3.githubusercontent.com/u/31772973?s=400&u=4166c9da58338bd39b445b48b61def6d40cfadb3&v=4 +.. |VadinV| image:: https://avatars2.githubusercontent.com/u/1224421?s=400&v=4 +.. |SantinoSuntaxi| image:: https://avatars0.githubusercontent.com/u/36805229?s=400&u=2425b5589129765e01d6aedd94397ae7a6ccadb0&v=4 +.. |wasabi666| image:: https://avatars3.githubusercontent.com/u/45923387?s=400&v=4 +.. |enri-nun| image:: https://avatars1.githubusercontent.com/u/32477494?s=400&u=4470983a4ea0304691d30fd7cfa3bf365b168fcf&v=4 +.. |y-martinez| image:: https://avatars1.githubusercontent.com/u/6761059?s=400&u=ffc7e86ac8109ad315594d176fc3eae8ccefe7ef&v=4 +.. |andresbermeoq| image:: https://avatars3.githubusercontent.com/u/24640851?s=400&u=0915c2cf4102ea440f9f00045262bbec570b6910&v=4 +.. |sebaF96| image:: https://avatars3.githubusercontent.com/u/48932423?s=400&u=bdf54df8bf593719918ed18af17e1b320cbde01a&v=4 +.. |sumitgupta7132| image:: https://avatars2.githubusercontent.com/u/61278456?s=400&v=4 +.. |Seburath| image:: https://avatars3.githubusercontent.com/u/22159934?s=460&u=7dc7f6caf11e905f57e91037ee89cf8101cf5cb0&v=4 + +.. list-table:: + :widths: 25 25 25 25 + :header-rows: 0 + + * - |cesardlinx| `@cesardlinx `__ + - |skcode7| `@skcode7 `__ + - |jordanrjcode| `@jordanrjcode `__ + - |israteneda| `@israteneda `__ + * - |rpalaciosg| `@rpalaciosg `__ + - |EduardoAyora| `@EduardoAyora `__ + - |miguel-rios-r| `@miguel-rios-r `__ + - |albamaister| `@albamaister `__ + * - |klee214| `@klee214 `__ + - |renatojobal| `@renatojobal `__ + - |lenmorld| `@lenmorld `__ + - |ayush-git228| `@ayush-git228 `__ + * - |InternetRamen| `@InternetRamen `__ + - |gabygm| `@gabygm `__ + - |stsewd| `@stsewd `__ + - |josselineperdomo| `@josselineperdomo `__ + * - |Danielrick88| `@Danielrick88 `__ + - |csampedroc| `@csampedroc `__ + - |VadinV| `@VadinV `__ + - |SantinoSuntaxi| `@SantinoSuntaxi `__ + * - |wasabi666| `@wasabi666 `__ + - |enri-nun| `@enri-nun `__ + - |y-martinez| `@y-martinez `__ + - |andresbermeoq| `@andresbermeoq `__ + * - |sebaF96| `@sebaF96 `__ + - |sumitgupta7132| `@sumitgupta7132 `__ + - |Seburath| `@Seburath `__ + - + +¡Muchas gracias a tod@s los participantes! <3 +--------------------------------------------- + +Felicidades a `@SantinoSuntaxi `__ +que ganó la licencia de JetBrains que se sorteó entre los pull requests aprobados, +vamos a sortear otra en los días que vienen. + +El comentario más popular del Hacktoberfest en redes: + +.. figure:: /images/posts/hacktoberfest-2020/daniel.png + :align: center + :width: 450 + :target: https://twitter.com/Daniel2v3/status/1315502674717151232 + +| + +¡Queremos saber cómo te fue! +---------------------------- + +Cuéntanos tu experiencia ¿Pudiste completar tus 4 PRs? +¿Tienes ideas para un mejor HacktoberfestEc 2021? **¡Déjanos tu comentario!** + +.. image:: /images/posts/hacktoberfest-2020/speak.gif + :align: center + :width: 450 diff --git a/posts/nuevo-dominio.rst b/posts/nuevo-dominio.rst index 70d2cb83..58d891fa 100644 --- a/posts/nuevo-dominio.rst +++ b/posts/nuevo-dominio.rst @@ -28,7 +28,7 @@ El antiguo dominio ``pythonecuador.org`` redireccionará el nuevo dominio ``pyth Usar el nuevo dominio es recomendable, ya que este será renovado cada año. -En caso que tengas curiosidad, el dominio está en https://nic.ec y el DNS administrado en https://cloudflare.com. +En caso que tengas curiosidad, el dominio está en https://nic.ec y el DNS administrado en https://www.cloudflare.com. Ahora la comunidad tiene un nombre más *pitónico*. Si deseas ayudarnos con la renovación del dominio para los siguientes años envíanos un email a ecuadorpython@gmail.com. diff --git a/posts/open-collective.rst b/posts/open-collective.rst new file mode 100644 index 00000000..4bb42d2e --- /dev/null +++ b/posts/open-collective.rst @@ -0,0 +1,37 @@ +.. title: Donaciones más transparentes con Open Collective +.. date: 2021-04-05 +.. tags: comunidad, donaciones +.. author: Santos Gallegos +.. description: Ahora podrás aportar económicamente a la comunidad de una manera más fácil y transparente. + +.. image:: /images/posts/opencollective/opencollectivelogo.png + :align: center + +| + +El manejo del dinero en comunidades siempre es algo difícil, +en especial hacerlo de manera transparente y que escale. + +Estamos felices de anunciar que hemos sido aprobados por `Open Collective`_ +para hacer uso de su plataforma para recibir y administrar donaciones. +Ahora podrás aportar económicamente a la comunidad de una manera más fácil y transparente +desde https://opencollective.com/pythonecuador/. + +Hasta ahora la administración de las donaciones había sido un `proceso manual`_, +y con el dinero esparcido en varias personas de la comunidad. +El 100% del dinero recaudado siempre será usado para la comunidad, en especial: + +- Renovación del dominio y herramientas para administrar la comunidad (como Bitwarden) +- `Organización y difusión de eventos `__ +- `Becas `__ + +.. note:: + + Open Collective cobra una comisión del 5%. + Cuando sea posible, se preferirá un pago directo hacia el servicio que desees donar, + como la renovación del dominio. + +Si tienes preguntas sobre el manejo del dinero ¡No dudes en escribirnos a ecuadorpython@gmail.com! + +.. _Open Collective: https://opencollective.com/ +.. _proceso manual: https://github.com/pythonecuador/pythonecuador.github.io/tree/main/data/ingresos-egresos diff --git a/requirements.txt b/requirements.txt index 2b295c49..7426ded2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1 @@ -# Base -nikola[extras]==8.0.2 - -# Testing -rstcheck +nikola[extras]==8.2.4 diff --git a/sorteo.py b/sorteo.py new file mode 100644 index 00000000..67030b2d --- /dev/null +++ b/sorteo.py @@ -0,0 +1,34 @@ +import random + +prs = [ + "https://github.com/pettnaut/frontend-code/pull/4 hecho con café, aún muy pronto para la biela jaja", + "https://github.com/pettnaut/frontend-code/pull/11 cerveza", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/239/files, with agua 🚰", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/242, with cafe", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/241 with cafe", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/244 #TeamCoffee ☕️☕️☕️", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/245 #TeamCerveza", + "https://github.com/pettnaut/frontend-code/pull/12 🍻#teamCerveza", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/248 #TeamAgua", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/252 #TeamCanelazo", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/256 con 🍺", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/254 con Jugo de Alfalfa. 🤣", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/253 con batido de machica XD, no aguante el power del #teambeer", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/259 con aguita de valeriana 😂😂", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/226 #TeamAgua", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/227 #TeamAgua", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/236 #TeamAgua", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/262 Hecho con papipollo 🍗🍟", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/263 #TeamCoffee ☕️☕️☕️", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/260 #TeamCoffee ☕️☕️☕️", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/265 #Team 🍺", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/266 #TeamAgua", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/267 #TeamJava... Java de biela :D", + "https://github.com/javascriptecuador/web/pull/29 #TeamMachica", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/268 🍺", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/269 ☕️☕️☕️", + "https://github.com/javascriptecuador/web/pull/34 café", + "https://github.com/PythonEcuador/PythonEcuador.github.io/pull/270 Hecho con papipollo 🍗🍟 😅😅", +] + +print(random.choice(prs)) diff --git a/themes/custom/assets/css/custom.css b/themes/custom/assets/css/custom.css index 196a3ecf..2e723d7a 100644 --- a/themes/custom/assets/css/custom.css +++ b/themes/custom/assets/css/custom.css @@ -4,6 +4,21 @@ background: #4584b6 !important; } +/* Tabla de contenidos local */ + +@media screen and (min-width: 108em) and (max-width: 200em) { + .contents.topic { + height: 100%; + width: 19%; + position: fixed; + z-index: 1; + top: 5em; + left: 10%; + overflow-x: hidden; + padding-top: 20px; + } +} + /* Header */ h1 > a { @@ -91,3 +106,11 @@ table thead { table thead th { padding: 1em; } + + +/* Figures & images */ + +div.figure.sponsor { + margin-right: 1em; + margin-right: 1em; +} diff --git a/themes/custom/assets/css/index.css b/themes/custom/assets/css/index.css index ab857b65..1e034778 100644 --- a/themes/custom/assets/css/index.css +++ b/themes/custom/assets/css/index.css @@ -64,7 +64,9 @@ body { max-height: 300px; display: block; opacity: 0.9; - margin: auto; + margin-top: 3.8em; + margin-left: auto; + margin-right: auto; right: 0; left: 0; } diff --git a/themes/custom/custom.theme b/themes/custom/custom.theme index a1e73448..1c462008 100644 --- a/themes/custom/custom.theme +++ b/themes/custom/custom.theme @@ -1,3 +1,3 @@ [Theme] -engine = mako -parent = bootstrap4 +engine = jinja +parent = bootstrap4-jinja diff --git a/themes/custom/templates/ayuda.tmpl b/themes/custom/templates/ayuda.tmpl index 6656c0a1..0f2c2cdd 100644 --- a/themes/custom/templates/ayuda.tmpl +++ b/themes/custom/templates/ayuda.tmpl @@ -1,8 +1,7 @@ -## -*- coding: utf-8 -*- -## Template usado para páginas que necesitan de tu ayuda -<%inherit file="pagina-base.tmpl"/> +{# Template usado para páginas que necesitan de tu ayuda #} +{% extends 'pagina-base.tmpl' %} -<%block name="contenido"> +{% block contenido %} @@ -17,7 +16,7 @@
¿Qué debe ir en esta página?
- ${post.text()} + {{ post.text() }}
@@ -40,4 +39,4 @@ canal de telegram o en algún otro de nuestros canales de comunicación.

- +{% endblock contenido %} diff --git a/themes/custom/templates/index.tmpl b/themes/custom/templates/index.tmpl index 46e613d7..81e3160b 100644 --- a/themes/custom/templates/index.tmpl +++ b/themes/custom/templates/index.tmpl @@ -1,16 +1,28 @@ -## -*- coding: utf-8 -*- -## Nuesta página principal -<%inherit file="pagina-base.tmpl"/> +{# Nuesta página principal #} +{% extends 'pagina-base.tmpl' %} + +{% block extra_head %} + {{ super() }} + + + + + + + + + + + + -<%block name="extra_head"> - ${parent.extra_head()} - +{% endblock extra_head %} -<%block name="content"> +{% block content %}
- +

Comunidad de Python del Ecuador @@ -24,10 +36,17 @@ Más sobre nosotros

+

- Mira lo que logramos este 2019. + Mira lo que la comunidad logró este 2020.

+ +
+ + +
+

- +{% endblock content %} diff --git a/themes/custom/templates/pagina-base.tmpl b/themes/custom/templates/pagina-base.tmpl index 29ba2113..2f855f0f 100644 --- a/themes/custom/templates/pagina-base.tmpl +++ b/themes/custom/templates/pagina-base.tmpl @@ -1,16 +1,15 @@ -## -*- coding: utf-8 -*- -## Template usado para nuestras paginas -<%inherit file="base.tmpl"/> +{# Template usado para nuestras paginas #} +{% extends 'base.tmpl' %} -<%block name="content"> - ## Insertar el contido de nuestros archivos +{% block content %} + {# Insertar el contido de nuestros archivos #}
- <%block name="contenido"> - ## Contenido - + {% block contenido %} + {# Contenido #} + {% endblock contenido %}
- +{% endblock content %} diff --git a/themes/custom/templates/pagina.tmpl b/themes/custom/templates/pagina.tmpl index 6a1f7b6e..1ceadc80 100644 --- a/themes/custom/templates/pagina.tmpl +++ b/themes/custom/templates/pagina.tmpl @@ -1,12 +1,11 @@ -## -*- coding: utf-8 -*- -## Template usado para nuestras paginas -<%inherit file="pagina-base.tmpl"/> +{# Template usado para nuestras paginas #} +{% extends 'pagina-base.tmpl' %} -<%block name="contenido"> +{% block contenido %}

- ${post.title()|h} + {{ post.title()|e }}

- ## Insertar el contenido de nuestros archivos - ${post.text()} - + {# Insertar el contenido de nuestros archivos #} + {{ post.text() }} +{% endblock contenido %} diff --git a/themes/custom/templates/post.tmpl b/themes/custom/templates/post.tmpl index 0f6065fa..ff2840e8 100644 --- a/themes/custom/templates/post.tmpl +++ b/themes/custom/templates/post.tmpl @@ -1,59 +1,57 @@ -## -*- coding: utf-8 -*- +{# Copiado y adaptado de https://github.com/getnikola/nikola/blob/master/nikola/data/themes/bootstrap4-jinja/templates/post.tmpl #} +{% import 'post_helper.tmpl' as helper with context %} +{% import 'post_header.tmpl' as pheader with context %} +{% import 'comments_helper.tmpl' as comments with context %} +{% import 'math_helper.tmpl' as math with context %} +{% import 'ui_helper.tmpl' as ui with context %} +{% extends 'pagina-base.tmpl' %} -## Copiado y adaptado de https://github.com/getnikola/nikola/blob/master/nikola/data/themes/bootstrap4/templates/post.tmpl -<%namespace name="helper" file="post_helper.tmpl"/> -<%namespace name="pheader" file="post_header.tmpl"/> -<%namespace name="comments" file="comments_helper.tmpl"/> -<%namespace name="math" file="math_helper.tmpl"/> -<%namespace name="ui" file="ui_helper.tmpl"/> -<%inherit file="pagina-base.tmpl"/> - -<%block name="extra_head"> - ${parent.extra_head()} - % if post.meta('keywords'): - - % endif - - %if post.prev_post: - - %endif - %if post.next_post: - - %endif - % if post.is_draft: +{% block extra_head %} + {{ super() }} + {% if post.meta('keywords') %} + + {% endif %} + + {% if post.prev_post %} + + {% endif %} + {% if post.next_post %} + + {% endif %} + {% if post.is_draft %} - % endif - ${helper.open_graph_metadata(post)} - ${helper.twitter_card_information(post)} - ${helper.meta_translations(post)} - ${math.math_styles_ifpost(post)} - + {% endif %} + {{ helper.open_graph_metadata(post) }} + {{ helper.twitter_card_information(post) }} + {{ helper.meta_translations(post) }} + {{ math.math_styles_ifpost(post) }} +{% endblock extra_head %} -<%block name="contenido"> -
- ${pheader.html_post_header()} +{% block contenido %} +
+ {{ pheader.html_post_header() }}
- ${post.text()} + {{ post.text() }}
- % if not post.meta('nocomments') and site_has_comments: + {% if not post.meta('nocomments') and site_has_comments %}
-

${messages("Comments")}

- ${comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path)} +

{{ messages("Comments") }}

+ {{ comments.comment_form(post.permalink(absolute=True), post.title(), post._base_path) }}
- % endif - ${math.math_scripts_ifpost(post)} + {% endif %} + {{ math.math_scripts_ifpost(post) }}
-${comments.comment_link_script()} - +{{ comments.comment_link_script() }} +{% endblock contenido %} -<%block name="sourcelink"> -% if show_sourcelink: - ${ui.show_sourcelink(post.source_link())} -% endif - +{% block sourcelink %} +{% if show_sourcelink %} + {{ ui.show_sourcelink(post.source_link()) }} +{% endif %} +{% endblock sourcelink %} diff --git a/themes/custom/templates/resumen-2019.tmpl b/themes/custom/templates/resumen-2019.tmpl index 867f8db9..49865a0c 100644 --- a/themes/custom/templates/resumen-2019.tmpl +++ b/themes/custom/templates/resumen-2019.tmpl @@ -1,16 +1,7 @@ -## -*- coding: utf-8 -*- -<%inherit file="pagina-base.tmpl"/> +{% extends 'pagina-base.tmpl' %} -<%! - def time(text): - import datetime - seconds = int(text)/1000 - time = datetime.date.fromtimestamp(seconds) - return time.strftime("%d/%m/%Y") -%> - -<%block name="extra_head"> - ${parent.extra_head()} +{% block extra_head %} + {{ super() }} @@ -19,9 +10,9 @@ - +{% endblock extra_head %} -<%block name="content"> +{% block content %}
@@ -84,20 +75,20 @@ @@ -142,20 +133,20 @@