Skip to main content

Introduktion

Før du kaster dig ud i udviklingen, håber vi, at du vil sætte dig ind i følgende:
  • Overleaf udvikles officielt i et internt repository, og community-udgaven udgives i overleaf/overleaf. En copybot står for at synkronisere koden mellem det interne og det offentlige repository.
  • Ayaka-notes/overleaf-pro er en fork af Overleaf Community. Vi håber, at dette projekt kan blive langvarigt, så følg venligst reglerne, før du bidrager.

Regler for commits

  • Undlad at foretage omfattende ændringer i den eksisterende Overleaf-kode. Saml så meget funktionalitet som muligt i mappen services/web/modules. Det minimerer vores arbejde, når koden senere skal merges og opdateres.
  • Vibe coding er ganske vist en meget nem metode, men det kan nemt skabe rod i projektet og gøre det uvedligeholdeligt senere, så brug det med forsigtighed.
  • Tilføj ikke oversættelsesrelateret indhold under udviklingen; brug så vidt muligt eksisterende oversættelser.
  • Undgå at indføre miljøvariabler, medmindre det er absolut nødvendigt. Hvis det er påkrævet, så sørg for, at de er så konsistente som muligt med dem i Overleaf Toolkit eller docs.overleaf.com.

Regler for branches

Vi bruger følgende branches til udvikling af overleaf-pro:
  • main: Denne branch bruges kun til synkronisering af upstream-kode, så commit IKKE eksterne ændringer hertil. I denne branch sætter vi tags som ce-v[X.x.x], der angiver, at den svarer til v[X.x.x] i den officielle Overleaf Community Edition. Bemærk: disse tags er uforanderlige!
  • server-pro: Denne branch er standardbranchen til den daglige udvikling.
  • feature-X: Denne branch bruges til udvikling af en bestemt funktion.
  • release-vX.0.0: Branchen dedikeret til en udgivelse; her laver vi eventuelle hotfixes før udgivelsen.

Regler for branches i Overleaf Pro

GitHub Action

GitHub Action står for automatisk CI/CD, hvilket omfatter:
  • Natlig opdatering af main-branchen
  • Bygning af Docker-image til udvikling
  • Udgivelse af Docker-image

Spørgsmål og svar

Først skal du hente Docker-imaget og køre følgende kommando for at inspicere labels i Docker-imaget:
bash
Derefter kan du kontrollere, om committet (b0d05c0) findes i upstreams master-branch.
Dette er forventet adfærd. Udgivelse 6.0.1 er en mindre patch-udgivelse bygget oven på 6.0.0-imaget. Ændringerne anvendes ved at patche det eksisterende 6.0.0-image i stedet for at genopbygge imaget fra et nyt commit. Derfor er commit-hashen i imaget identisk mellem 6.0.0 og 6.0.1.Se hotfix for detaljerede oplysninger.
Sidst ændret 4. oktober 2026