Proposal: split up hyperref.dtx and let it be build only as part of the publish process

Aperta
#173 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
latex
Ambito
build-system

Direzione di ricerca

Inizia esaminando hyperref.dtx e i file puenc.def e .drv estratti, quindi confronta l’organizzazione proposta con l3build e con l’esempio xint descritto nell’issue. Definisci come devono essere correlati i file del repository e il processo di pubblicazione, comprese le differenze tra gli header e i commenti nel codice. Il lavoro è completato quando i file estratti sono manutenibili singolarmente e il processo di pubblicazione continua a produrre hyperref.dtx e file di distribuzione utilizzabili.

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

Descrizione

Currently one can not do git log --follow puenc.def because it is embedded into massive titanosaur hyperref.dtx. For ease of maintenance and comfort of eavesdropper owning a local clone, it would be nice if all files were actually existing in the repo, and their combination into hyperref.dtx only done as part of the publish process. I do understand that this refactoring is a bit complicated. And that there will be difference between puenc.def in repo without the docstrip commented header but inclusive of the code comments, and the puenc.def extracted from hyperref.dtx ending up in people's texmf which has a header and is stripped of code comments.

Probably a ready-made solution has been integrated into l3build? I am not familiar with it; all I can say is that I have such an organization for xint. My repo's xintexpr.sty for example contains all code comments (and even private ones which never make it to the dtx, but here on a public repo this of course would make no sense); when pushing a new release to CTAN, a script assembles the xint.dtx. The CTAN-based TeX distros can then extract user xintexpr.sty with no code comments; actually I submit it in tds.zip form so my build ctan script does the docstrip phase itself (all of this happens in sub-directory which is added to .gitignore). The user manual is itself a separate file not using inconvenient doc format, so I can work on it as a perfectly standard latex file, but this is other matter unrelated.

I find this useful, and I have often used git log --follow in this context. Now hyperref has at least 64 extracted files (half of them about being ".drv" files), and I think in the long term such a refactoring will make maintenance easier.

Lingua principale
TeX
Stelle
210
Fork
41
Merge medio
18g 16h
PR unite (30g)
1

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 latex3/hyperref

Tutte le issue di latex3/hyperref

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.