promote: rule 7 makes Colab-friendly links relative, and a notebook opened outside the site cannot follow them

Aperta
#45 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
44/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
jupyter, python
Ambito
build-system

Direzione di ricerca

Start by reading rule 7 in tools/promote, especially the QE_URL_RE pattern and its comment, then trace the product build step that publishes pooled notebooks. Check how the two links in lectures/linear_algebra.md and lectures/linear_models.md are handled. Done means pooled files remain tracked and self-contained, while published notebooks contain working full links for their product site.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

question

Promote's rule 7 (tools/promote, the QE_URL_RE pattern, which its comment calls "the Colab-compatibility pattern") finds a link written as a published QuantEcon address, https://<site>.quantecon.org/_static/..., pools the file when the canonical series holds it, and rewrites the link to the pool path. It applied for the first time with intermediate's promotion (QuantEcon/lectures#44), to two links:

  • lectures/linear_algebra.md, line 842: [these notes](https://python.quantecon.org/_static/lecture_specific/linear_algebra/course_notes.pdf) became [these notes](_static/linear_algebra/course_notes.pdf).
  • lectures/linear_models.md, line 1046: the same, for iteration_notes.pdf.

The pooled PDFs are byte-identical to the published ones, and the relative links resolve on a site built from the pool. But the series write such links in full so that they work wherever the lecture is read: intermediate's _config.yml offers Colab launch buttons, and in a notebook opened in Colab, or downloaded, a relative _static/ link reaches nothing.

These two are the only such links in the estate at the current pins. Nothing breaks today, since the series still publish from their own repositories; it matters once a product's notebooks are built from the pool.

One way to settle it, at the build stage: keep rule 7, so the pool stays self-contained and the files are tracked, and have each product build write these links back in full, on the product's own site, into the notebooks it publishes. Leaving the links absolute in the pool instead would not hold after cutover: the pooled file lives at _static/<slug>/, so the old _static/lecture_specific/ address would no longer exist on a site built from the pool.

Lingua principale
Python
Stelle
1
Fork
0
Merge medio
1g 3h
PR unite (30g)
17

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di QuantEcon/lectures

Tutte le issue di QuantEcon/lectures

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.