Introduktion
Innan du dyker in i utvecklingen hoppas vi att du förstår följande:- Overleaf utvecklas officiellt i ett internt repository, och community-utgåvan publiceras i overleaf/overleaf. En copybot ansvarar för att synkronisera kod mellan det interna och det publika repositoryt.
- Ayaka-notes/overleaf-pro är en fork av Overleaf Community. Vi hoppas att projektet ska bli långlivat, så följ reglerna innan du bidrar.
Regler för commits
- Gör inga omfattande ändringar i den befintliga Overleaf-koden. Samla så mycket funktionalitet som möjligt i mappen
services/web/modules. Det minimerar vårt arbete när vi senare slår ihop och uppdaterar koden. - Vibe coding är visserligen ett mycket enkelt arbetssätt, men det kan lätt röra till projektet och göra det svårt att underhålla senare, så använd det med försiktighet.
- Lägg inte till något översättningsrelaterat innehåll under utvecklingen; använd befintliga översättningar när det är möjligt.
- Undvik att införa miljövariabler om det inte är absolut nödvändigt. Om det krävs, se till att de är så konsekventa som möjligt med dem i Overleaf Toolkit eller docs.overleaf.com.
Regler för grenar
Vi använder följande grenar för utvecklingen av overleaf-pro:main: Den här grenen används endast för synkronisering av upstream-kod, så committa INTE några externa ändringar. I den här grenen sätter vi taggar somce-v[X.x.x], vilket anger att den motsvararv[X.x.x]i Overleafs officiella Community Edition. Obs: den här taggen är oföränderlig!server-pro: Den här grenen är standardgrenen för den dagliga utvecklingen.feature-X: Den här grenen används för utveckling av en specifik funktion.release-vX.0.0: Grenen som är specifik för en release; vi gör vissa snabbkorrigeringar (hot-fix) före releasen.

Grenregler för Overleaf Pro
GitHub Action
GitHub Action ansvarar för automatisk CI/CD, vilket omfattar:- Nattlig uppdatering av main-grenen
- Bygge av Docker-image för utveckling
- Release av Docker-image
Frågor och svar
Hur hittar jag commit-hashen för Overleaf Community Edition X.0.0?
Hur hittar jag commit-hashen för Overleaf Community Edition X.0.0?
Först behöver du hämta Docker-imagen och köra följande kommando för att inspektera etiketterna i den:Sedan kan du kontrollera om commit(b0d05c0) finns i upstreams master-gren.
bash
Varför är commit-hashen densamma i CE-imagen för 6.0.0 och 6.0.1?
Varför är commit-hashen densamma i CE-imagen för 6.0.0 och 6.0.1?
Detta är förväntat beteende. Version 6.0.1 är en mindre patch-release som bygger på 6.0.0-imagen. Ändringarna tillämpas genom att patcha den befintliga 6.0.0-imagen i stället för att bygga om imagen från en ny commit. Därför är commit-hashen i imagen identisk mellan 6.0.0 och 6.0.1.Mer information finns i hotfix.

