Bygg en webbplats för öppet källkodsprojekt med community‑input
Lär dig planera, bygga och underhålla en webbplats för öppet källkodsprojekt som välkomnar community‑bidrag med tydliga arbetsflöden, granskningssteg och tillförlitlig publicering.

Klargör webbplatsens syfte och målgrupp
Innan du väljer tema eller skissar en startsida, var tydlig med vad sidan ska göra. Öppna källkodswebbplatser försöker ofta vara allt på en gång—docs‑portal, marknadssida, community‑nav, blogg, donationssida—och gör i slutändan inget av dem särskilt bra.
Definiera de primära målen
Skriv ner de 1–3 viktigaste uppgifterna webbplatsen måste lösa. Vanliga exempel:
- Dokumentation: hjälp användare att lyckas snabbt (installation, tutorials, API‑referens).
- Nedladdningar: gör det tydligt var man hittar releases, paket eller container‑bilder.
- Community: visa hur man ställer frågor, går med i chat, hittar issues eller deltar i möten.
- Uppdateringar: publicera release‑noteringar, annonser och roadmap‑ändringar.
Om du inte kan förklara webbplatsens syfte i en mening, kommer inte heller besökarna kunna det.
Identifiera målgrupperna (och vad de behöver)
Lista dina huvudmålgrupper och det “första klick” du vill att varje grupp ska göra:
- Användare vill ha en snabbstart, felsökning och versionspecifika docs.
- Bidragsgivare vill ha tydliga bidragssteg och “good first issues.”
- Underhållare vill ha ett friktionsfritt publiceringsflöde och förutsägbara granskningar.
- Sponsorer vill ha bevis på påverkan och ett enkelt sätt att stödja projektet.
En användbar övning: för varje målgrupp, skriv de tre vanligaste frågorna de kommer med (t.ex. “Hur installerar jag?”, “Underhålls det här aktivt?”, “Var rapporterar jag en bugg?”).
Välj mätvärden du faktiskt kan mäta
Välj enkla mätpunkter som kopplar till dina mål och är realistiska att följa upp:
- Docs‑mål → trafik till nyckelsidor, sökfrågor, tid till första framgångsguide.
- Community‑mål → antal förstegsbidragsgivare, triggade issues, mergade PR:er.
- Uppdateringsmål → nyhetsbrevsprenumerationer, RSS‑prenumeranter, visningar av release‑inlägg.
Ange icke‑mål för att undvika scope creep
Lista uttryckligen vad webbplatsen inte ska göra (för nu): egna webbappar, komplexa kontosystem, tunga integrationer eller skräddarsydda CMS‑funktioner. Detta skyddar underhållarnas tid och håller projektet levererbart.
Bestäm vad community får redigera kontra underhållar‑endast
Dela upp innehållet i två hinkar:
- Community‑redigerbart: docs, FAQ, tutorials, översättningar, exempel, stavfel.
- Endast underhållare: säkerhetssidor, juridisk/policy‑text, styrningsbeslut, officiella uttalanden.
Detta enda beslut kommer att forma dina verktygsval, granskningsflöde och bidragsupplevelse senare.
Planera sidstruktur och innehållsmodell
En community‑webbplats blir rörig snabbt om du inte bestämmer vad som “hör hemma” på sidan kontra vad som bör ligga i repot. Innan verktyg och teman, kom överens om en enkel struktur och en tydlig innehållsmodell—så vet bidragsgivare var de ska lägga saker och underhållare hur de ska granska dem.
Börja med en sitemap som matchar hur folk tänker
Håll huvudnavigeringen medvetet enkel. En bra standard‑sitemap för en öppen källkodswebbplats är:
- Hem: vad projektet är, varför det finns, snabblänkar
- Docs: komma igång, guider, API/referens, FAQ
- Blogg/Nyheter: releases, annonser, community‑höjdpunkter
- Community: chat/forum‑länkar, event, uppförandekod
- Contribute: “hur hjälpa till,” nybörjar‑issues, bidragssteg
- Governance: beslutsfattande, underhållare, policies
Om en sida inte passar någon av dessa är det en signal att det kanske hör hemma i repot eller behöver en egen innehållstyp.
Bestäm vad som hör hemma på webbplatsen vs. repo‑README
Använd README för utvecklar‑centriska väsentligheter: bygginstruktioner, lokal dev‑setup, tester och snabb projektstatus. Använd webbplatsen för:
- Onboarding för nya användare och bidragsgivare
- Längre guider och tutorials
- Publika policyer (Code of Conduct, governance)
- Release‑noteringar och annonser
Denna separation förhindrar duplicerat innehåll som glider isär över tid.
Definiera ägarskap, ton och versionshantering från start
Tilldela innehållsägare per område (docs, blogg/nyheter, översättningar). Ägarskapet kan vara en liten grupp med tydligt granskningsansvar, inte en ensam grindvakt.
Skriv en kort ton‑ och stilguide som är vänlig mot en global community: enkelt språk, konsekvent terminologi och vägledning för icke‑modersmålstalare.
Om ditt projekt släpper versioner, planera för versionerade docs tidigt (t.ex. “latest” plus stödda versioner). Det är mycket enklare att designa strukturen nu än att retrofitera efter flera releaser.
Välj en teknikstack som stöder bidrag
Din webbplatsstack bör göra det enkelt för någon att rätta ett stavfel, lägga till en sida eller förbättra docs utan att bli byggingenjör. För de flesta projekt betyder det: Markdown‑först innehåll, snabb lokal setup och ett smidigt PR‑flöde med förhandsgranskningar.
Om du förväntar dig att iterera snabbt på layout och navigering, överväg att prototypa upplevelsen innan du låser en långlivad stack. Plattformar som Koder.ai kan hjälpa dig skissa en docs/marknadssida via chat, generera en fungerande React‑baserad UI med backend vid behov och sedan exportera källkoden till ditt repo—nyttigt för att utforska informationsarkitektur och bidragsflöden utan veckors setup.
Statisk‑site generators som fungerar bra för community‑ändringar
Här är hur vanliga alternativ ställer sig för bidragsvänliga docs och projektwebbplatser:
- Docusaurus: Utmärkt för docs med versionering, sidokolumn och inbyggd sökning. Lokal setup är enkel (Node) och den är optimerad för PR‑baserad dokumentation.
- MkDocs (särskilt med Material): Mycket tillgängligt för bidragsgivare—skriv Markdown, ändra
mkdocs.ymloch kör ett kommando. Sökfunktionen är ofta stark. - Hugo: Extremt snabba byggen och flexibla innehållstyper. Lite mer tematik/templating‑komplexitet, men utmärkt när du vill ha både docs och en rikare marknadssida.
- Jekyll: Fungerar sömlöst med GitHub Pages, men kan kännas mindre ergonomiskt än nyare verktyg. Fortfarande bra för enklare sidor.
- Astro: Utmärkt för moderna, innehållstunga sidor och komponentbaserade sidor. Bäst när du förväntar dig mer anpassat UI bortom docs.
Hosting och förhandsgranskningar: prioritera “PR → preview → merge”
Välj hosting som stödjer preview‑byggen så att bidragsgivare kan se sina ändringar live innan publicering:
- GitHub Pages / GitLab Pages: Enkelt och välbekant; förhandsgranskningar kan kräva extra CI‑konfiguration.
- Netlify / Cloudflare Pages: Stark PR‑preview‑support direkt ur boxen, plus enkla återställningar.
Om möjligt, gör standardvägen “öppna en PR, få en preview‑länk, begär granskning, merge.” Det minskar underhållarnas fram‑och‑tillbaka och ökar bidragsgivares förtroende.
Skriv ner beslutet så nykomlingar slipper gissa
Lägg till en kort docs/website-stack.md (eller en sektion i README.md) som förklarar vad ni valt och varför: hur man kör sidan lokalt, var förhandsgranskningar visas och vilka typer av ändringar som hör hemma i webbplatsrepoet.
Sätt upp repot för samarbete
Ett välkomnande repo gör skillnaden mellan “snabba ändringar” och hållbara community‑bidrag. Sikta på en struktur som är lätt att navigera, förutsägbar för granskare och enkel att köra lokalt.
Rekommenderad repo‑layout
Håll webb‑relaterade filer grupperade och tydligt namngivna. Ett vanligt upplägg är:
/
/website # marknadssidor, landningssida, navigation
/docs # dokumentationskälla (referens, guider)
/blog # release‑noteringar, annonser, berättelser
/static # bilder, ikoner, nedladdningsbara tillgångar
/.github # issue‑mallar, workflows, CODEOWNERS
README.md # repo‑översikt
Om projektet redan har applikationskod, överväg att placera webbplatsen i /website (eller /site) så att bidragsgivare inte behöver gissa var de ska börja.
Lägg till en fokuserad README i /website
Skapa /website/README.md som svarar på: “Hur förhandsgranskar jag min ändring?” Håll den kort och copy‑paste‑vänlig.
Exempel quickstart (anpassa efter din stack):
# Website quickstart
## Requirements
- Node.js 20+
## Install
npm install
## Run locally
npm run dev
## Build
npm run build
## Lint (optional)
npm run lint
Inkludera också var nyckelfiler ligger (navigation, footer, redirects) och hur man lägger till en ny sida.
Ge innehållsmallar som folk kan kopiera
Mallarna minskar diskussioner om format och snabbar upp granskningar. Lägg till en /templates‑mapp (eller dokumentera mallar i /docs/CONTRIBUTING.md).
/templates
docs-page.md
tutorial.md
announcement.md
En minimal docs‑sidemall kan se ut så här:
---
title: "Sidans titel"
description: "Enmeningssammanfattning"
---
## Vad du lär dig
## Steg
## Felsökning
Routed granskningar med CODEOWNERS (när tillämpligt)
Om du har underhållare för specifika områden, lägg till /.github/CODEOWNERS så att rätt personer begärs automatiskt:
/docs/ @docs-team
/blog/ @community-team
/website/ @web-maintainers
Håll konfiguration minimal och välkommenterad
Föredra en kanonisk konfigfil per verktyg och lägg till korta kommentarer som förklarar “varför” (inte varje val). Målet är att en ny bidragsgivare säkert ska kunna ändra en meny eller fixa ett stavfel utan att behöva lära sig hela byggsystemet.
Skapa bidragsriktlinjer folk faktiskt följer
En webbplats får en annan typ av bidrag än kodbasen: textändringar, nya exempel, skärmbilder, översättningar och små UX‑justeringar. Om din CONTRIBUTING.md bara är skriven för utvecklare, tappar du mycket potentiell hjälp.
Gör CONTRIBUTING.md “webbplats‑först”
Skapa (eller separera ut) en CONTRIBUTING.md som fokuserar på webbplatsändringar: var innehåll finns, hur sidor genereras och vad som räknas som klart. Lägg till en kort tabell med “vanliga uppgifter” (fixa stavfel, lägga till en sida, uppdatera navigation, publicera ett blogginlägg) så nykomlingar kan börja på några minuter.
Om du redan har djupare vägledning, länka tydligt från CONTRIBUTING.md (t.ex. en genomgångssida under /docs).
Förklara hur man föreslår ändringar (issues vs PR)
Var tydlig om när man ska öppna en issue först kontra skicka en direkt PR:
- Öppna en issue först för nya sidor, strukturella förändringar eller allt som behöver diskussion (ton, positionering, större designändringar).
- Direkta PR:er välkomnas för stavfel, brutna länkar, små förtydliganden och uppenbara uppdateringar.
Inkludera en “bra issue‑mall”‑snippet: vilken sid‑URL, vilken ändring, varför det hjälper läsare och eventuella källor.
Sätt förväntningar för granskning som folk kan lita på
Mest frustration kommer från tystnad, inte från feedback. Definiera:
- Typisk responstid (t.ex. “vi bekräftar inom 3 arbetsdagar”)
- Nödvändiga godkännanden (t.ex. en underhållare + en docs‑granskare för nya sidor)
- Stilkontroller (linters, formatering, länk‑kontroll, stavningskontroll) och om bidragsgivare förväntas köra dem lokalt
Lägg till en innehålls‑checklista för varje PR
En lättviktig checklista förhindrar fram‑och‑tillbaka:
- Länkar fungerar (föredra relativa länkar för interna sidor)
- Skärmbilder är aktuella och har alt‑text
- Rubriker är läsbara; tonen matchar befintliga docs
- Grundläggande tillgänglighet: färgkontrast, tangentbordsvänliga mönster, beskrivande länktekst
- Changelog‑notering om ändringen påverkar användare
Designa gransknings‑ och publiceringsflödet
En community‑webbplats mår bra när bidragsgivare vet exakt vad som händer efter att de öppnat en PR. Målet är ett förutsägbart, låg‑friktions och säkert flöde.
Börja med en PR‑mall som minskar fram‑och‑tillbaka
Lägg till en pull request‑mall (t.ex. .github/pull_request_template.md) som bara frågar det granskaren behöver:
- Vad ändrades? (en eller två meningar)
- Varför? (issue‑länk eller sammanhang)
- Skärmbilder (för visuella ändringar—före/efter)
- Innehållschecklista (stavning, länkar, frontmatter)
Denna struktur snabbar upp granskningar och lär bidragsgivare vad som är “bra”.
Gör varje PR klickbar med preview‑deployment
Aktivera preview‑deployment så granskare kan se ändringen som en riktig sida. Det är särskilt användbart för navigationsändringar, styling och brutna layouter som inte syns i en textdiff.
Vanligt mönster:
- PR öppnas → CI bygger sidan
- Hosting‑leverantören postar en preview URL tillbaka till PR:en
- Granskare klickar, verifierar och begär ändringar vid behov
Automatisera tråkiga (och felbenägna) kontroller
Använd CI för att köra lätta grindar på varje PR:
- Link checker för att fånga brutna interna/externa länkar
- Markdown lint för konsekvent formatering
- Formattering (Prettier eller liknande) för att undvika stilgräl
Faila snabbt, med tydliga felmeddelanden, så bidragsgivare kan åtgärda utan underhållarens inblandning.
Håll publicering enkel: merge till main deployar
Dokumentera en regel: när en PR är godkänd och mergad till main, deployas sidan automatiskt. Inga manuella steg, inga hemliga kommandon. Lägg exakt beteende i /contributing så förväntningarna är klara.
Om din plattform stödjer snapshots/rollback (vissa hosts gör det, liksom Koder.ai vid deploy), dokumentera var man hittar “senast kända goda” build och hur man återställer den.
Skriv ner rollback‑steg innan du behöver dem
Deployments kan gå fel. Dokumentera en kort rollback‑playbook:
- Återställ merge‑commit (eller återställ senaste kända bra tag)
- Bekräfta att deploy körs om
- Öppna en uppföljningsissue som förklarar vad som hände och hur det förhindras
Bygg ett konsekvent designsystem för innehåll
En community‑webbplats känns välkomnande när sidorna hör ihop. Ett lättviktigt designsystem hjälper bidragsgivare arbeta snabbare, minskar nitpick‑granskningar och håller läsarna orienterade—även när sidan växer.
Börja med återanvändbara sidlayouter och navigationsregler
Definiera ett litet antal sidtyper och håll dig till dem: docs‑sida, blogg/nyhetsinlägg, landningssida och referenssida. För varje typ, bestäm vad som alltid syns (titel, sammanfattning, senast uppdaterad, innehållsförteckning, footer‑länkar) och vad som aldrig bör finnas.
Sätt navigationsregler som skyddar tydlighet:
- Behåll toppnivå‑kategorier stabila; lägg nya sidor i befintliga grupper först.
- Undvik mer än 3 nivåer av nestning i sidokolumner.
- Kräv att nya sidor deklarerar var de hör hemma i hierarkin (t.ex.
sidebar_positionellerweight).
Skapa innehållskomponenter som folk kan återanvända
Istället för att be bidragsgivare “få det att se konsekvent ut”, ge dem byggstenar:
- Callouts för noteringar, varningar och tips
- Standardiserade kodblock med språk‑taggar, radbrytningsregler och kopieraknapp (om stödd)
- Mönster för API‑referenser (endpointtabell, parametrar, svar, exempel)
Dokumentera dessa i en kort “Content UI Kit”‑sida (t.ex. /docs/style-guide) med copy‑paste‑exempel.
Håll varumärkning lättviktig
Definiera minimum: logotypanvändning (var den inte får sträckas eller färgändras), 2–3 grundfärger med tillgänglig kontrast och ett till två typsnitt. Målet är att göra “tillräckligt bra” enkelt, inte att polisa kreativitet.
Gör skärmbilder och diagram lätta att underhålla
Kom överens om konventioner: fasta bredder, konsekvent padding och namngivning som feature-name__settings-dialog.png. Föredra källfiler för diagram (t.ex. Mermaid eller redigerbar SVG) så uppdateringar inte kräver en designer.
Skydda informationshierarkin
Lägg till en enkel check i PR‑mallar: “Finns det redan en sida för detta?”, “Matchar titeln sektionen den ligger i?”, och “Skapar detta en ny toppnivå‑kategori?” Detta förhindrar innehållsspridning samtidigt som det uppmuntrar bidrag.
Gör sidan tillgänglig, snabb och sökbar
En community‑webbplats fungerar bara om folk verkligen kan använda den—med hjälpmedel, på långsamma uppkopplingar och genom sökning. Behandla tillgänglighet, prestanda och SEO som standard, inte som efterhandsputs.
Tillgänglighet: håll dig till basen varje gång
Börja med semantisk struktur. Använd rubriker i ordning (H1 på sidan, sedan H2/H3), och hoppa inte nivåer bara för att få större text.
För icke‑textinnehåll, kräva meningsfull alt‑text. En enkel regel: om en bild förmedlar information, beskriv den; om den är rent dekorativ, använd tom alt (alt="") så skärmläsare kan hoppa över den.
Kontrollera färgkontrast och fokusstater i dina design‑token så bidragsgivare inte behöver gissa. Säkerställ att alla interaktiva element kan nås via tangentbord och att fokus inte fastnar i menyer, dialoger eller kodexempel.
Prestanda: håll sidan lätt
Optimera bilder som standard: ändra storlek till maximal visningsstorlek, komprimera och föredra moderna format när din byggkedja stödjer dem. Undvik stora klientbundlar för sidor som mest är text.
Håll tredjepartsskript till ett minimum. Varje widget lägger vikt och kan sakta ner sidan för alla.
Lita på caching‑standarder från din host (t.ex. immutabla assets med hashes). Om din static site generator stödjer det, generera minifierad CSS/JS och inläs endast vad som är absolut kritiskt.
Upptäckbarhet: enkel SEO som fungerar
Ge varje sida en tydlig titel och en kort meta‑beskrivning som matchar sidans innehåll. Använd rena, stabila URL:er (inga datum om de inte spelar roll) och konsekventa kanoniska sökvägar.
Generera en sitemap och en robots.txt som tillåter indexering av publika docs. Om du publicerar flera versioner av dokumentation, undvik duplicerat innehåll genom att markera en version som “current” och länka tydligt till andra.
Analytics och licensiering: var transparent
Lägg bara till analytics om du kommer agera på datan. Om du gör det, förklara vad som samlas in, varför och hur man väljer bort på en dedikerad sida (t.ex. /privacy).
Slutligen, inkludera en tydlig licensnotis för webbplatsinnehåll (separat från kodlicensen om det behövs). Placera den i sidfoten och i repots README så bidragsgivare vet hur deras text och bilder kan återanvändas.
Skapa kärnsidor som hjälper folk att gå med
Webbplatsens kärnsidor är “receptionsdisken” för nya bidragsgivare. Om de snabbt svarar på de uppenbara frågorna—vad projektet är, hur man testar det och var hjälp behövs—kommer fler gå från nyfikenhet till handling.
Börja med onboarding: “Vad är det här projektet?” och “Quickstart”
Skapa en lättförståelig översiktssida som förklarar vad projektet gör, vem det är för och vad framgång ser ut som. Inkludera konkreta exempel och en kort “Är detta för dig?”‑sektion.
Lägg sedan till en Quickstart‑sida optimerad för momentum: en väg till ett första lyckat körning, med copy‑paste‑kommandon och en kort felsökningsruta. Om setup skiljer sig per plattform, håll huvudvägen kort och länka till detaljerade guider.
Föreslagna sidor:
- /docs/overview — “Vad är det här projektet?”
- /docs/quickstart — den kortaste fungerande vägen
Skapa en “Contribute”‑hub som dirigerar folk rätt
En enda /contribute‑sida bör peka till:
- Good first issues (länk till filtrerad issue‑lista)
- Dokumentationsuppgifter (märkt issue‑kö eller
/docs/contributing) - Översättning/lokalisering (hur lägga till en locale, var strängar ligger)
Håll det specifikt: namnge 3–5 uppgifter du faktiskt vill ha gjort den här månaden och länka till exakta issues.
Community‑sidor som sätter förväntningar
Publicera det grundläggande som förstaklasssidor, inte gömt i ett repo:
- Code of Conduct (och hur man rapporterar problem)
- Chat/community‑länkar (Discord/Matrix/Slack) och svarstidsförväntningar
- Mötesanteckningar (en enkel arkiv:
/community/meetings)
Release notes/changelog med en upprepbar mall
Lägg till /changelog (eller /releases) med ett konsekvent format: datum, höjdpunkter, uppgraderingsnoter och länkar till PR:er/issues. Mallar minskar underhållsarbetet och gör community‑skrivna anteckningar enklare att granska.
Visa upp användare/plugins—bara om du kan hålla det aktuellt
En showcase‑sida kan motivera bidrag, men utdaterade listor skadar trovärdigheten. Om du lägger till /community/showcase, sätt en lätt regel (t.ex. “granska kvartalsvis”) och erbjud ett enkelt insändningsformulär eller PR‑mall.
Stöd löpande community‑uppdateringar och lokalisering
En community‑sida hålls frisk när uppdateringar är enkla, säkra och belönande—även för först‑gånger‑bidragsgivare. Målet är att minska “var klickar jag?”‑friktionen och göra små förbättringar meningsfulla.
Gör varje sida redigerbar med ett klick
Lägg till en tydlig “Redigera denna sida”‑länk på docs, guider och FAQ. Peka den direkt till filen i ditt repo så den öppnar ett PR‑flöde med minimalt antal steg.
Håll länktexten vänlig (t.ex.: “Rätta ett stavfel” eller “Förbättra den här sidan”) och placera den nära toppen eller botten av innehållet. Om du har en contributing‑guide, länka dit också (t.ex. /contributing).
Stöd översättningar med enkel, förutsägbar struktur
Lokalisering fungerar bäst när mappstrukturen svarar på frågor vid en blick. Ett vanligt tillvägagångssätt är:
- /docs/en/…
- /docs/es/…
- /docs/ja/…
Dokumentera granskningsstegen: vem kan godkänna översättningar, hur hanterar ni partiella översättningar och hur spårar ni vad som är inaktuellt. Överväg att lägga till en kort notis högst upp på översatta sidor när de ligger efter källspråket.
Lägg till “latest vs stable”‑vägledning (och versionerade docs vid behov)
Om ditt projekt har releaser, gör det tydligt vad användare bör läsa:
- “Latest” för pågående utveckling
- “Stable” för senaste release
Även utan full docs‑versionering kan en liten banner eller en väljare som förklarar skillnaden förebygga förvirring och minska support‑bördan.
Håll FAQ och felsökning enkla att uppdatera
Lägg FAQs i samma innehållssystem som dina docs (inte gömda i issue‑kommentarer). Länka till dem tydligt (t.ex. /docs/faq) och uppmuntra folk att bidra med fixar när de stöter på problem.
Uppmuntra små, hög‑påverkans‑bidrag
Bjud uttryckligen in till snabba vinster: rätta stavfel, tydligare exempel, uppdaterade skärmbilder och “det här fungerade för mig”‑felsökningsnoter. Dessa är ofta bästa ingången för nya bidragsgivare—och förbättrar sidan stadigt.
Om du vill belöna skrivande och underhåll, var transparent med vad som belönas och varför. Exempelvis erbjuder vissa team små sponsringsbelopp eller krediter; Koder.ai har ett “tjäna krediter”‑program för att skapa innehåll om plattformen, vilket kan anpassas som inspiration för lättviktiga belöningssystem.
Vanliga frågor
Hur bestämmer jag vad min webbplats för ett öppet källkodsprojekt faktiskt ska göra?
Skriv ett enradigt syftesuttalande och lista sedan de viktigaste 1–3 uppgifterna webbplatsen måste utföra (till exempel: dokumentation, nedladdningar, community, uppdateringar). Om en sida eller funktion inte stödjer dessa uppgifter, betrakta det som en icke-mål för nu.
Ett enkelt test: om du inte kan förklara webbplatsens syfte i en mening, kommer besökare inte heller kunna det.
Vilka målgrupper bör sidan vända sig till, och hur designar jag för dem?
Lista dina huvudmålgrupper och definiera det första klicket du vill att varje grupp ska ta:
- Användare → Quickstart, installation, felsökning
- Bidragsgivare → steg för att bidra, “good first issues”
- Underhållare → publiceringsflöde, granskningsexpektanser
- Sponsorer → bevis på påverkan, hur man stödjer
För varje målgrupp, skriv de tre vanligaste frågor de kommer med (t.ex. “Underhålls detta aktivt?”, “Var rapporterar jag en bugg?”) och se till att din navigering svarar på dem snabbt.
Vad är en bra standard‑sitemap för en öppen källkodssida?
Börja med en "tråkigt avsiktlig" sitemap som matchar hur folk söker:
- Hem
- Docs
- Blogg/nyheter
- Community
- Contribute
- Governance
Om nytt innehåll inte passar in är det en signal att du antingen behöver en ny innehållstyp (sällan) eller att informationen hör hemma i repot istället för på webbplatsen.
Vad bör ligga på webbplatsen vs. i repository README?
Behåll developer‑workflow i README och publikt onboarding‑material på webbplatsen.
Använd repots README för:
- Bygg‑ och testinstruktioner
- Lokal utvecklingssetup
- Kort projektstatus
Använd webbplatsen för:
- onboarding‑guider och tutorials
- publika policys (Code of Conduct, governance)
- release notes/annonser
Detta förhindrar duplicerat innehåll som med tiden glider isär.
Vilken static site generator är bäst för community‑bidrag?
Välj en stack som stöder “Markdown‑first” ändringar och snabb lokal förhandsgranskning.
Vanliga val:
- Docusaurus: bra för docs‑versionering och sidokolumn
- MkDocs (Material): enkelt för bidragsgivare; stark sökning
- Hugo: snabba byggen; flexibla innehållstyper
- Jekyll: fungerar väl med GitHub Pages för enklare sidor
- Astro: bra för innehållstunga sidor som behöver anpassat UI
Välj det enklaste verktyget som uppfyller dina behov idag, inte det mest flexibla du kanske behöver senare.
Hur sätter jag upp förhandsgranskningar så att bidragsgivare kan se ändringar innan publicering?
Sikta på standarden PR → preview → review → merge.
Praktiskt tillvägagångssätt:
- Aktivera preview‑byggen med en host som postar en preview‑URL till PR:en
- Dokumentera var förhandsgranskningar visas och hur man begär granskning
- Håll deploy‑regler enkla (till exempel: “merge till
maindeployar”)
Detta minskar fram‑och‑tillbaka med granskare och ger bidragsgivare förtroende att deras ändring ser rätt ut.
Vilken repo‑struktur gör webbplatsbidrag enklare?
Använd struktur och mallar för att minska formatdiskussioner.
Användbara grunder:
- En tydlig layout som
/website,/docs,/blog,/.github - En kort
/website/README.mdmed copy‑paste‑kommandon för att köra lokalt - En
/templates‑mapp (docs‑sida, tutorial, announcement) CODEOWNERSför att styra granskningar per område
Målet är att någon ska kunna rätta ett stavfel eller lägga till en sida utan att bli byggexpert.
Vad bör en CONTRIBUTING‑guide innehålla för en community‑webbplats?
Gör den “webbplats‑först” och specifik.
Inkludera:
- Var innehållet ligger och hur sidor genereras
- När man ska öppna issue vs när en direkt PR är välkommen
- Förväntade svarstider och nödvändiga godkännanden
- En liten PR‑checklista (länkar, skärmbilder/alt‑text, ton, grundläggande tillgänglighet)
Håll den kort nog för att folk faktiskt ska läsa den—länka till djupare dokumentation vid behov.
Hur håller jag sidan tillgänglig, snabb och sökbar?
Behandla dessa som standard, inte valfri finish:
- Använd semantiska rubriker i rätt ordning (hoppa inte nivåer)
- Säkerställ tangentbordsnavigering (synliga fokusytor, ingen instängd fokus)
- Ge meningsfull alt‑text för informativa bilder; använd tom alt för dekorativa
- Optimera bilder (storleksanpassa + komprimera) och minimera tredjepartsskript
- Lägg till tydliga titlar och meta‑beskrivningar; håll URL:er stabila
Lägg till automatiska kontroller där det går (link checker, Markdown lint, formatering) så att granskare inte behöver göra allt manuellt.
Hur stöder vi löpande uppdateringar, översättningar och långsiktigt underhåll utan utbrändhet?
Gör uppdateringar enkla och underhåll förutsägbart.
För community‑uppdateringar:
- Lägg till en “Redigera den här sidan”‑länk som pekar direkt på källfilen
- Håll FAQ/felsökning i samma docs‑system (t.ex.
/docs/faq) - Använd en förutsägbar översättningsstruktur som
/docs/en/...,/docs/es/...
För underhållarskydd:
- Automatisera veckovisa kontroller (bygg + länkar + grundläggande stavningskontroll)
- Gör en kort månatlig triage av öppna webbplats‑PR:er/issues
- Dokumentera rollback‑steg (återställ merge‑commit, bekräfta redo, skapa follow‑up‑issue)
- Om du lägger till analytics, publicera en tydlig
/privacy‑sida och förklara vad som samlas in och varför