-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Comparing changes
Open a pull request
base repository: AllenDowney/ThinkPython
base: v3
head repository: midudev/ThinkPython
compare: v3
- 19 commits
- 84 files changed
- 2 contributors
Commits on May 19, 2026
-
Translate Think Python to Spanish
Translate the book notebooks and blank exercise notebooks to Spanish while preserving code cells, licensing, and original attribution. Add README instructions for building and running the notebooks, and credit the Spanish translation to midudev (Miguel Ángel Durán). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3c407c3 - Browse repository at this point
Copy the full SHA 3c407c3View commit details -
Merge pull request #1 from midudev/midudev/traducir-al-espanol
Traducir Think Python al español
Configuration menu - View commit details
-
Copy full SHA for 7775cde - Browse repository at this point
Copy the full SHA 7775cdeView commit details -
chore: ignorar carpeta de build de Jupyter Book
Añade `jb/_build/` al .gitignore para evitar versionar los artefactos generados (HTML, PDF, doctrees, jupyter_execute, etc.) por `jb build`.
Configuration menu - View commit details
-
Copy full SHA for 7a5cb8c - Browse repository at this point
Copy the full SHA 7a5cb8cView commit details -
build(jb): configurar Jupyter Book con baseurl y extensión PDF
- Apunta el repositorio al fork de midudev (rama v3) y añade `baseurl: https://libropython.es` para los enlaces canónicos. - Actualiza el footer con enlace a midu.dev en la atribución. - Migra la configuración de MathJax a `mathjax3_config`/`tex` para compatibilidad con MathJax 3. - Registra la extensión local `full_book_pdf`, que sustituye el menú de descarga por página por un botón único que enlaza al PDF del libro completo (`think-python-es.pdf`).
Configuration menu - View commit details
-
Copy full SHA for 044847b - Browse repository at this point
Copy the full SHA 044847bView commit details -
build(jb): reescribir script con symlinks, validación y PDF
- Usa `set -euo pipefail` y se posiciona en su propio directorio para poder ejecutarse desde cualquier ruta. - Sustituye el `cp` de notebooks desde `ThinkPythonSolutions` por symlinks a `../chapters/chap*.ipynb`, evitando duplicar archivos y manteniendo una única fuente de verdad. - Valida que `jupyter-book` y `playwright` estén disponibles antes de construir, con mensajes claros de instalación. - Genera además del HTML el PDF del libro completo (`pdfhtml`) y lo copia a `_build/html/think-python-es.pdf` para servirlo junto al sitio. - Elimina el paso de `ghp-import`, ya que la publicación se gestionará desde el output de `_build/html`.
Configuration menu - View commit details
-
Copy full SHA for ad0886f - Browse repository at this point
Copy the full SHA ad0886fView commit details -
feat(jb): añadir índice, página en blanco y capítulos del libro
- `jb/index.md`: portada del Jupyter Book con presentación, enlaces a las versiones impresa/electrónica y créditos de traducción. - `jb/blank.md`: página separadora usada por la maquetación. - `jb/chap00.ipynb`..`jb/chap19.ipynb`: symlinks a los notebooks traducidos en `../chapters/`, que son los que Jupyter Book consume para generar el HTML y el PDF.
Configuration menu - View commit details
-
Copy full SHA for 3634adf - Browse repository at this point
Copy the full SHA 3634adfView commit details -
docs: reescribir README con instalación, build y enlaces actualizados
- Añade sección de requisitos (Python 3, pip, Jupyter, Jupyter Book, Playwright) y comandos de instalación tanto para entorno completo como para solo build. - Documenta el flujo de construcción con `./build.sh` y la ubicación de los artefactos generados (HTML y PDF). - Describe la estructura del proyecto (`chapters/`, `jb/`, `jb/build.sh`, `jb/_build/html/`). - Incluye enlace al sitio publicado (libropython.es) y a la licencia Creative Commons BY-NC-SA 4.0.
Configuration menu - View commit details
-
Copy full SHA for 026384b - Browse repository at this point
Copy the full SHA 026384bView commit details
Commits on May 20, 2026
-
feat: update README, add deployment instructions, and configure Wrangler
- Updated README to include links to the public book page and the GitHub repository. - Added deployment instructions for Cloudflare Workers, detailing the build and deployment process. - Introduced `wrangler.toml` for managing static assets deployment. - Enhanced the build script to copy static site files to the `dist/` directory. - Updated the full book PDF extension to point site-level links to the public site.
Configuration menu - View commit details
-
Copy full SHA for e2dcbcc - Browse repository at this point
Copy the full SHA e2dcbccView commit details -
chore: update .gitignore to include Wrangler cache file
- Added `jb/.wrangler/cache/wrangler-account.json` to .gitignore to prevent versioning of Wrangler's cache files.
Configuration menu - View commit details
-
Copy full SHA for 6a76e3c - Browse repository at this point
Copy the full SHA 6a76e3cView commit details -
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1e186ce - Browse repository at this point
Copy the full SHA 1e186ceView commit details -
fix(jb): ocultar celdas iniciales en el HTML (#3)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5a7359f - Browse repository at this point
Copy the full SHA 5a7359fView commit details -
Configure Wrangler observability (#4)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 316cd75 - Browse repository at this point
Copy the full SHA 316cd75View commit details -
Update Spanish book cover (#5)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7d85bae - Browse repository at this point
Copy the full SHA 7d85baeView commit details -
chore: ignorar imagen fuente de portada en extra_html
Añade `jb/extra_html/cover-source.jpg` al .gitignore: es la imagen original sin optimizar usada para derivar la portada y la OG image, y no necesita versionarse junto al resto de assets ya optimizados.
Configuration menu - View commit details
-
Copy full SHA for 5edec74 - Browse repository at this point
Copy the full SHA 5edec74View commit details -
feat(jb): añadir favicons, OG image y manifest en extra_html
Incluye los assets estáticos servidos en la raíz del sitio publicado: - `favicon.ico`, `favicon.svg`, `favicon-16.png`, `favicon-32.png`, `favicon-32x32.png`: iconos de pestaña para distintos navegadores. - `apple-touch-icon.png` e `icon-512.png`: iconos para iOS y PWA. - `og-image.jpg`: imagen 1200x630 usada en metaetiquetas Open Graph y Twitter Card al compartir el libro en redes. - `site.webmanifest`: manifiesto web con nombre, iconos y colores. Estos archivos se copian tal cual al sitio gracias a `html_extra_path` en el config de Jupyter Book.
Configuration menu - View commit details
-
Copy full SHA for c02129d - Browse repository at this point
Copy the full SHA c02129dView commit details -
feat(jb): añadir extensión SEO con Open Graph, Twitter Card y JSON-LD
- Nueva extensión Sphinx `_extensions/seo.py` que inyecta en cada página un contexto `seo` con título, descripción, URL canónica, imagen, autor, traductor y locale. La home recibe un título sin sufijo y se mapea a la raíz del dominio. - Nuevo template `_templates/layout.html` que extiende el layout del tema y, usando ese contexto, añade en `<head>`: - `<title>` y `<meta name="description">`. - Etiquetas Open Graph (`og:title`, `og:description`, `og:image`, `og:url`, dimensiones e idioma) y Twitter Card (`summary_large_image`). - Enlaces a favicons (`.ico`, `.svg`, PNG), `apple-touch-icon` y `site.webmanifest`. - JSON-LD de tipo `Book` con autor, traductor, idioma, licencia y `isAccessibleForFree`, mejorando la indexación en buscadores.Configuration menu - View commit details
-
Copy full SHA for dce414c - Browse repository at this point
Copy the full SHA dce414cView commit details -
feat(jb): renombrar a "Think Python en español" y activar SEO/favicon
- Cambia el título del libro a "Think Python en español" en `_config.yml` e `index.md` (eliminando el sufijo "edición en español") para un branding más claro y mejor SEO. - Añade en `_config.yml`: - `html.favicon: extra_html/favicon.ico`. - Registro de la extensión local `seo` (`_extensions/seo.py`). - `language: es`, `html_title`, `html_short_title` y `html_extra_path: [extra_html]` para que Sphinx use el idioma correcto y publique los assets estáticos. - Añade frontmatter (`title`, `description`) a `index.md` para que la home aparezca con metadatos optimizados en buscadores.Configuration menu - View commit details
-
Copy full SHA for da59313 - Browse repository at this point
Copy the full SHA da59313View commit details -
fix(jb): sanear titles en metaetiquetas SEO para evitar HTML colado
El `title` que Sphinx pasa al contexto de cada capítulo incluye HTML (p. ej. `<span class="section-number">6. </span>Valores de retorno`). Al inyectarlo dentro de `<meta property="og:title" content="...">`, las comillas internas del `class="…"` rompían el atributo y el resto del título quedaba como texto suelto visible en la cabecera del sitio desplegado. Cambios: - `_extensions/seo.py`: nueva utilidad `_strip_html` que elimina las etiquetas y decodifica entidades antes de construir `page_title`, para que los hijos del contexto no contengan markup. - `_templates/layout.html`: - Aplica `|striptags|e` a `seo.page_title` y `seo.description` en `<title>` y en todas las meta de Open Graph y Twitter Card como defensa frente a regresiones. - Escapa el resto de valores con `|e`. - Reescribe el bloque JSON-LD usando `|tojson`, que es la forma correcta de serializar strings dentro de `application/ld+json` (evita romper el JSON con comillas o caracteres especiales).Configuration menu - View commit details
-
Copy full SHA for c851c6d - Browse repository at this point
Copy the full SHA c851c6dView commit details -
fix(jb): ocultar también la celda de imports cuando va en su propia c…
…elda `prep_notebooks.py` añadía `remove-cell` solo cuando una misma celda incluía a la vez `def download(url):` y `import thinkpython`. En chap04 esos dos bloques están repartidos en dos celdas consecutivas, por lo que ninguna de las dos cumplía la condición AND y el HTML desplegado mostraba el código de descarga y de configuración de autoreload al principio del capítulo. Ahora se detectan dos patrones independientes: - Celdas con `def download(url):` (setup de descarga). - Celdas con `import thinkpython` y `%autoreload` (setup de autoreload). Cualquier celda que coincida con alguno de los dos recibe los tags `remove-cell` y `keep`, así que se ocultan tanto cuando van juntas (resto de capítulos) como cuando van separadas (chap04). Verificado reconstruyendo el HTML: ya no aparecen los bloques en chap04 y el resto de capítulos siguen igual.
Configuration menu - View commit details
-
Copy full SHA for a4ab297 - Browse repository at this point
Copy the full SHA a4ab297View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3...v3