Introductie
Voordat je met de ontwikkeling begint, willen we graag dat je de volgende zaken begrijpt:- Overleaf wordt officieel ontwikkeld in een interne repository, en de community edition wordt gepubliceerd in overleaf/overleaf. Een copybot zorgt voor de synchronisatie van code tussen de interne en de publieke repository.
- Ayaka-notes/overleaf-pro is een fork van de Overleaf community edition. We hopen dat dit project lang meegaat, dus volg alsjeblieft de regels voordat je een bijdrage levert.
Regels voor commits
- Breng geen ingrijpende wijzigingen aan in de bestaande Overleaf-code. Concentreer zoveel mogelijk functionaliteit in de map
services/web/modules. Zo beperken we het werk bij het later mergen en bijwerken van de code. - Vibe coding is inderdaad een erg makkelijke manier van werken, maar het kan het project snel tot een rommeltje maken, waardoor het later onhoudbaar wordt. Gebruik het dus met de nodige voorzichtigheid.
- Voeg tijdens de ontwikkeling geen vertalingsgerelateerde inhoud toe; gebruik waar mogelijk bestaande vertalingen.
- Voeg geen nieuwe omgevingsvariabelen toe, tenzij het absoluut noodzakelijk is. Als het toch nodig is, zorg dan dat ze zo veel mogelijk aansluiten bij die in de Overleaf Toolkit of op docs.overleaf.com.
Regels voor branches
We gebruiken de volgende branches voor de ontwikkeling van overleaf-pro:main: Deze branch wordt uitsluitend gebruikt voor het synchroniseren van upstream-code, commit hier GEEN externe wijzigingen. In deze branch zetten we tags zoalsce-v[X.x.x], die aangeven dat dit overeenkomt metv[X.x.x]van de officiële Overleaf Community Edition. Let op: deze tag is onveranderlijk!server-pro: Dit is de standaardbranch voor de dagelijkse ontwikkeling.feature-X: Deze branch wordt gebruikt voor de ontwikkeling van een specifieke feature.release-vX.0.0: Een branch speciaal voor een release; hierin voeren we vóór de release nog enkele hotfixes uit.

Regels voor branches in Overleaf Pro
GitHub Action
GitHub Action is verantwoordelijk voor de automatische CI/CD, waaronder:- Nachtelijke update van de main-branch
- Docker-image bouwen voor ontwikkeling
- Docker-image releasen
Vragen en antwoorden
Hoe vind ik de commit-hash van Overleaf Community Edition X.0.0?
Hoe vind ik de commit-hash van Overleaf Community Edition X.0.0?
Allereerst moet je de Docker-image pullen en het volgende commando uitvoeren om de labels in deze Docker-image te bekijken:Daarna kun je controleren of de commit (b0d05c0) aanwezig is in de upstream master-branch.
bash
Waarom is de commit-hash in de CE-image hetzelfde voor 6.0.0 en 6.0.1?
Waarom is de commit-hash in de CE-image hetzelfde voor 6.0.0 en 6.0.1?
Dit is verwacht gedrag. De 6.0.1-release is een kleine patchrelease die is gebouwd bovenop de 6.0.0-image. De wijzigingen worden toegepast door de bestaande 6.0.0-image te patchen, in plaats van de image opnieuw te bouwen vanaf een nieuwe commit. Daarom is de commit-hash in de image identiek voor 6.0.0 en 6.0.1.Zie hotfix voor meer informatie.

