Contributing#
SapienzaStudents.net is built by students, for students. It brings together practical information that is often scattered across many sources and turns it into guides, tools and shared resources that thousands of students can use. Keeping a project of this size accurate and useful takes a community: even a small correction can save many people time and confusion.
Project contributors
Visit the contributors page to see the people who have helped the wiki and the wider website grow. Every accepted contribution, large or small, becomes part of a resource the student community can keep improving together.
You do not need to be a developer, install anything or run the website locally to contribute. Fixing a typo, updating a deadline, clarifying a confusing paragraph, replacing a broken link or suggesting a missing guide are all valuable contributions.
Choose the simplest route
- Small content change: use the edit button on the page and GitHub’s web editor;
- Suggestion, outdated information or bug: open an issue. You do not need to know which file to change;
- Larger content or code change: use a fork and, when useful, run the site locally
A local development environment is an option, not an entry requirement.
Quick contribution: edit a page in your browser#
For most corrections to text and links, this is the recommended route. You only need a free GitHub account.
- Open the page you want to improve on SapienzaStudents.net;
- Use the edit page link or pencil button shown on the page. If the page is assembled from shared content, the site may offer more than one source file: choose the one containing the text you want to change;
- GitHub will open the correct Markdown file. Click Fork this repository if GitHub asks you to create a fork;
- Click the pencil icon, make the change and use the Preview tab to check the result;
- Select Propose changes, briefly explain what you changed and open the pull request
That is all. GitHub handles the fork, branch and pull request for you, and the maintainers can review the change before it is published. You do not need to clone the repository, use the command line, install Hugo or build the site for a small content edit.
A page may come from another repository
Some guides are shared through Git submodules. The page’s edit link points to the actual source repository, so follow that link rather than trying to locate the text manually in the main repository.
Report a problem or propose an idea#
If you are unsure how to correct something, or if your contribution is a proposal rather than a ready-made edit, open an issue in the main repository.
Please include:
- the URL of the affected page;
- what is missing, incorrect or unclear;
- the corrected information and an authoritative source, when relevant;
- screenshots or steps to reproduce the problem, for bugs
You can also ask the project staff for help or join the chat dedicated to the development of the website. A precise report is already a useful contribution.
What you can contribute#
Contributions are not limited to code. For example, you can:
- correct typos, grammar, formatting and broken links;
- update dates, procedures, contacts and course information;
- make an explanation clearer or improve the English or Italian version;
- add a useful resource, FAQ, internship report or missing guide;
- improve accessibility, design, templates, automations or data;
- report a problem and help verify information
When a page exists in both languages, update both versions when possible and keep their meaning aligned. Prefer natural, locally appropriate wording over a literal translation. If you can update only one language, say so in the pull request: someone else can help complete the localization.
Before you submit#
A good contribution is focused and easy to verify:
- keep unrelated changes in separate pull requests;
- explain what changed and why;
- preserve front matter, shortcodes and the surrounding Markdown structure;
- check links and preview the formatted text;
- do not add personal, confidential or copyrighted material without permission;
- cite an official or reliable source for time-sensitive or administrative information;
- use clear, welcoming and inclusive language
You can browse open pull requests for examples. If maintainers request changes, that is a normal part of collaborative review.
Full local workflow#
Use this workflow for larger edits, code changes, structural work or anything you want to test locally. Basic familiarity with Git, forks, commits and pull requests is useful, but you can learn as you go.
1. Fork and clone the repository#
- Open the website repository and select Fork;
- Clone your fork, including its submodules:
git clone --recurse-submodules https://github.com/<your-username>/sapienzastudentsnetwork.github.io.git
cd sapienzastudentsnetwork.github.ioIf you already cloned without submodules, initialize them with:
git submodule update --init --recursive- Create a descriptive branch:
git switch -c improve-contribution-guide- Make your changes, then review them before committing:
git status
git diff2. Run the site locally, if needed#
Local preview is strongly recommended for templates, styles, scripts, navigation and substantial formatting changes. It is usually unnecessary for a small text correction made through GitHub.
Docker Compose#
Install Docker with Docker Compose, then run:
docker compose up --buildOpen localhost:1313 in your browser. Stop the site with Ctrl+C; if you started it in detached mode, use docker compose down.
Docker generates source-aware page metadata automatically. To skip that step for one run:
GENERATE_SOURCE_METADATA=false docker compose up --buildHugo#
Install the Hugo version compatible with the repository, together with the project’s front-end dependencies. From the repository root, run:
npm install
npm run build
hugo serverOpen localhost:1313. Hugo reloads the page when files change; press Ctrl+C to stop it.
The site works with Hugo’s native Git metadata. To also verify edit links and last-change information for content included from other files or submodules, generate the optional local data file first:
python3 _scripts/generate-page-source-metadata.py
hugo serverThe generated data/page_source_metadata.json file is ignored by Git.
3. Commit and open a pull request#
git add <changed-files>
git commit -m "docs: improve contribution guide"
git push -u origin improve-contribution-guideOpen the link shown by Git, or visit your fork on GitHub, and create a pull request against the main repository’s main branch. In the description, summarize the change, explain how you checked it and link any related issue.
Need help?#
Do not let an unfamiliar tool stop you from improving the project. Open an issue, send the proposed wording, or ask the community for guidance. Maintainers can help turn a good observation into a complete contribution.
Come contribuire#
SapienzaStudents.net è un progetto costruito da studenti e studentesse, per studenti e studentesse. Riunisce informazioni pratiche spesso sparse tra molte fonti e le trasforma in guide, strumenti e risorse condivise usate da migliaia di persone. Per mantenere accurato e utile un progetto di queste dimensioni serve una comunità: anche una piccola correzione può evitare dubbi e far risparmiare tempo a moltissimi studenti.
Chi ha contribuito al progetto
Visita la pagina dei collaboratori per scoprire chi ha aiutato a far crescere la wiki e il sito nel suo insieme. Ogni contributo accettato, grande o piccolo, entra a far parte di una risorsa che la comunità studentesca può continuare a migliorare insieme.
Per contribuire non devi essere uno sviluppatore, installare programmi o avviare il sito in locale. Correggere un refuso, aggiornare una scadenza, chiarire un paragrafo poco comprensibile, sostituire un link non più valido o proporre una guida mancante sono tutti contributi preziosi.
Scegli il percorso più semplice
- Piccola modifica ai contenuti: usa il pulsante di modifica della pagina e l’editor web di GitHub;
- Segnalazione, informazione non aggiornata o bug: apri una issue. Non serve sapere quale file modificare;
- Modifica più ampia ai contenuti o al codice: usa un fork e, quando è utile, avvia il sito in locale
L’ambiente di sviluppo locale è una possibilità, non un requisito per iniziare.
Contributo rapido: modifica una pagina dal browser#
Per la maggior parte delle correzioni a testi e link, questo è il percorso consigliato. Serve soltanto un account GitHub gratuito.
- Apri su SapienzaStudents.net la pagina che vuoi migliorare;
- Usa il link modifica pagina o il pulsante con la matita presente nella pagina. Se il contenuto è composto da più file condivisi, il sito potrebbe mostrarti più sorgenti: scegli quella che contiene il testo da correggere;
- GitHub aprirà il file Markdown corretto. Se richiesto, premi Fork this repository per creare automaticamente una tua copia del progetto;
- Premi l’icona della matita, effettua la modifica e controlla il risultato nella scheda Preview;
- Seleziona Propose changes, descrivi brevemente cosa hai cambiato e apri la pull request
Hai finito. GitHub gestisce per te fork, branch e pull request; chi mantiene il progetto potrà controllare la modifica prima della pubblicazione. Per una piccola correzione ai contenuti non devi clonare il repository, usare il terminale, installare Hugo o compilare il sito.
Il contenuto può trovarsi in un altro repository
Alcune guide sono condivise tramite submodule Git. Il link di modifica della pagina porta al repository che contiene davvero il testo: seguilo invece di cercare manualmente il file nel repository principale.
Segnala un problema o proponi un’idea#
Se non sai come correggere un problema, oppure vuoi avanzare una proposta senza preparare direttamente la modifica, apri una issue nel repository principale.
Indica, se possibile:
- l’indirizzo della pagina interessata;
- cosa manca o risulta errato o poco chiaro;
- l’informazione corretta e una fonte autorevole, quando pertinente;
- screenshot o passaggi per riprodurre il problema, nel caso di un bug
Puoi anche chiedere aiuto allo staff del progetto oppure unirti alla chat dedicata allo sviluppo del sito. Una segnalazione precisa è già un contributo utile.
In che modo puoi contribuire#
I contributi non riguardano soltanto il codice. Puoi, ad esempio:
- correggere refusi, grammatica, formattazione e link non funzionanti;
- aggiornare date, procedure, contatti e informazioni sui corsi;
- rendere più chiara una spiegazione o migliorare la versione italiana o inglese;
- aggiungere una risorsa utile, una FAQ, una relazione di tirocinio o una guida mancante;
- migliorare accessibilità, grafica, template, automazioni o dati;
- segnalare un problema e aiutare a verificare le informazioni
Quando una pagina esiste in entrambe le lingue, se possibile aggiorna tutte e due le versioni mantenendone allineato il significato. Meglio una formulazione naturale e adatta al contesto che una traduzione letterale. Se puoi intervenire soltanto su una lingua, scrivilo nella pull request: qualcun altro potrà completare la localizzazione.
Prima di inviare il contributo#
Un buon contributo è mirato e facile da verificare:
- separa in pull request diverse le modifiche non collegate tra loro;
- spiega cosa hai cambiato e perché;
- conserva front matter, shortcode e struttura Markdown circostante;
- controlla i link e usa l’anteprima del testo formattato;
- non inserire dati personali, contenuti riservati o materiale protetto senza autorizzazione;
- per informazioni amministrative o soggette a scadenza, indica una fonte ufficiale o affidabile;
- usa un linguaggio chiaro, accogliente e inclusivo
Puoi consultare le pull request aperte per vedere alcuni esempi. Se durante la revisione ti vengono richieste modifiche, è una normale parte del lavoro collaborativo.
Procedura completa in locale#
Usa questa procedura per modifiche ampie, interventi sul codice o sulla struttura e per tutto ciò che vuoi verificare localmente. È utile conoscere le basi di Git, fork, commit e pull request, ma puoi impararle strada facendo.
1. Crea un fork e clona il repository#
- Apri il repository del sito e seleziona Fork;
- Clona il tuo fork includendo i submodule:
git clone --recurse-submodules https://github.com/<tuo-username>/sapienzastudentsnetwork.github.io.git
cd sapienzastudentsnetwork.github.ioSe hai già clonato il progetto senza submodule, inizializzali con:
git submodule update --init --recursive- Crea un branch dal nome descrittivo:
git switch -c migliora-guida-contributi- Effettua le modifiche e controllale prima del commit:
git status
git diff2. Avvia il sito in locale, se serve#
L’anteprima locale è fortemente consigliata per modifiche a template, stile, script, navigazione o formattazione complessa. Di solito non è necessaria per una piccola correzione testuale effettuata dall’editor di GitHub.
Docker Compose#
Installa Docker con Docker Compose, quindi esegui:
docker compose up --buildApri localhost:1313 nel browser. Ferma il sito con Ctrl+C; se lo hai avviato in modalità detached, usa docker compose down.
Docker genera automaticamente i metadati delle sorgenti delle pagine. Per saltare questo passaggio in una singola esecuzione:
GENERATE_SOURCE_METADATA=false docker compose up --buildHugo#
Installa una versione di Hugo compatibile con il repository e le dipendenze front-end del progetto. Dalla cartella principale esegui:
npm install
npm run build
hugo serverApri localhost:1313. Hugo aggiorna la pagina quando i file cambiano; premi Ctrl+C per fermarlo.
Il sito funziona con i metadati Git nativi di Hugo. Per verificare anche i link di modifica e le informazioni sull’ultimo aggiornamento dei contenuti inclusi da altri file o submodule, genera prima il data file locale facoltativo:
python3 _scripts/generate-page-source-metadata.py
hugo serverIl file generato data/page_source_metadata.json è ignorato da Git.
3. Crea il commit e apri una pull request#
git add <file-modificati>
git commit -m "docs: migliora la guida ai contributi"
git push -u origin migliora-guida-contributiApri il link mostrato da Git, oppure visita il tuo fork su GitHub, e crea una pull request verso il branch main del repository principale. Nella descrizione riassumi la modifica, spiega come l’hai verificata e collega eventuali issue correlate.
Hai bisogno di aiuto?#
Non lasciare che uno strumento che non conosci ti impedisca di migliorare il progetto. Puoi aprire una issue, inviare direttamente il testo che proponi o chiedere indicazioni alla comunità. Chi mantiene il sito può aiutarti a trasformare una buona osservazione in un contributo completo.