Guide · Webbutveckling område 1
Kom igång med GitHub och VS Code
Din uppslagsbok för allt som har med inlämningar att göra. Slå upp här när något krånglar i stället för att gissa. Guiden fungerar utan att du varit på lektionen.
- Skapa ditt eget repo från kursens mall och hitta tillbaka till det
- Klona repot till din dator och öppna det i VS Code
- Spara ditt arbete så att läraren faktiskt ser det
- Lämna in på rätt sätt: länken i itslearning
- Publicera din sajt på en riktig adress
- Läsa av vad som gick fel när något inte syns
1. Orden du behöver
| Ord | Vad det betyder |
|---|---|
| Repo (repository) | En mapp som kommer ihåg allt du gjort med den. Ditt projekt |
| Mallrepo | Kursens färdiga startpunkt. Du kopierar den till ett eget repo |
| Klona | Hämta ner ditt repo från github.com till en mapp på din dator |
| Commit | En sparpunkt. Du beskriver vad du ändrat och varför |
| Sync (push) | Skickar dina sparpunkter till github.com så att de syns för andra |
| VS Code | Programmet du skriver kod i. Ligger installerat på skoldatorn |
| GitHub Pages | Gratis publicering av ditt repo som en riktig webbplats |
| main | Namnet på huvudgrenen i ditt repo. Det är den som publiceras |
Det viktigaste att förstå direkt: spara, committa och synka är tre olika saker. Ctrl+S sparar filen på din dator. En commit är en sparpunkt i historiken. Först när du synkar hamnar arbetet på github.com.
2. Skapa ditt repo från mallen
Varje uppgift börjar med en länk till ett mallrepo i itslearning.
- Logga in på GitHub. Använd samma konto varje gång.
- Öppna mallrepot från länken i itslearning.
- Klicka Use this template → Create a new repository.
- Namnge repot. Använd uppgiftens namn, gemener och bindestreck:
sa-fungerar-webben. - Välj Public.
- Klicka Create repository.
Nu har du en egen kopia av mallen under ditt eget användarnamn. Adressen ser ut så här:
https://github.com/dittanvandarnamn/sa-fungerar-webben
Välj Public, inte Private. GitHub Pages fungerar inte på privata repon med ett gratiskonto, och det märks först när du ska publicera. Har du redan valt Private går det att ändra i Settings längst ner under Danger Zone.
Har du inget GitHub-konto? Skapa ett på github.com först. Välj ett användarnamn du kan tänka dig att visa upp – det syns i adressen till allt du publicerar.
Gå till github.com och leta upp ditt repo under Your repositories. Ligger det inte där har du skapat det med ett annat konto. Logga in med rätt konto och gör om steg 2–6.
3. Öppna repot i VS Code
Du arbetar i VS Code på din egen dator, inte i webbläsaren. Filerna ligger i en mapp du själv väljer, och du behöver hitta tillbaka till den varje pass.
- Gå till ditt repo på github.com.
- Klicka på den gröna knappen Code och kopiera HTTPS-adressen.
- Öppna VS Code.
- Tryck Ctrl+Shift+P och skriv
Clone. Välj Git: Clone. - Klistra in adressen och tryck enter.
- Välj en mapp du hittar tillbaka till. Lägg den inte i Hämtade filer.
- Logga in på GitHub när VS Code frågar. Det gör du en gång.
- Klicka Open när VS Code frågar om du vill öppna det klonade repot.
Skriv upp sökvägen till mappen. Nästa pass ska du öppna den, inte klona igen.
Förhandsvisa din sida
Du behöver se sidan i en webbläsare medan du arbetar. Vi använder Live Server.
- Klicka på tilläggsikonen i VS Codes vänstermarginal.
- Sök på
Live Server, välj tillägget av Ritwick Dey och klicka Install. - Högerklicka i
index.htmloch välj Open with Live Server. Du kan också klicka Go Live längst ner till höger i VS Code.
Sidan öppnas i din vanliga webbläsare och laddas om av sig själv varje gång du sparar. Adressen ser ut så här:
http://127.0.0.1:5500/index.html
Att adressen börjar med http:// och inte file:/// är hela
poängen. Live Server är en riktig server som körs på din egen dator, så sökvägar och
filnamn beter sig som de gör på GitHub Pages. Öppnar du filen genom att dubbelklicka
på den i mappen får du file:///, och då kan saker fungera som sedan går
sönder vid publicering.
Stänga av: klicka Port: 5500 längst ner i VS Code.
Webbläsarens egna verktyg
Utöver Live Server behöver du inga fler tillägg. Resten sitter redan i webbläsaren:
| Vad | Hur |
|---|---|
| Öppna utvecklarverktygen | F12 |
| Ladda om utan att använda sparad kopia | Ctrl+F5 |
| Se sidans kod som webbläsaren tolkat den | DevTools, fliken Elements |
| Se vad som hämtades och vad som misslyckades | DevTools, fliken Nätverk |
Nätverksfliken går vi igenom på lektionen om protokoll och adresser. Den beskrivs också i guiden Så växte webben fram.
Förhandsvisningen är ändå inte samma sak som den publicerade sidan. Kontrollera alltid den publicerade sidan innan du är klar.
4. Spara arbete: commit och sync
Det här är det enda i guiden du måste kunna utantill.
- Spara filen med Ctrl+S. Det räcker inte, men utan det syns ingenting.
- Klicka på källkontroll i vänstermarginalen – ikonen med tre punkter och streck. Siffran visar hur många filer du ändrat.
- Skriv ett meddelande i rutan högst upp. Beskriv vad du gjort, inte att du gjort
något:
Lade till avsnittet om DNS, inteändringar. - Klicka Commit.
- Klicka Sync Changes (kan heta Push).
Ladda sedan om ditt repo på github.com. Ser du din ändring där är den sparad på riktigt.
Det som inte syns på github.com finns bara på din dator. Läraren tittar på github.com, inte i mappen hos dig.
Hur ofta ska du committa?
Varje gång du blir klar med något som fungerar. En bra tumregel är tre till fem commits per lektion. Många små commits är bättre än en stor, av två skäl: du kan gå tillbaka till en punkt där det fungerade, och din commit-historik visar att du arbetat löpande – det ingår i bedömningen av slutprojektet.
Ändra en rad i README.md, committa med ett beskrivande meddelande,
synka, och kontrollera att texten syns på github.com. Gör det nu, medan du inte har
något att förlora.
5. Lämna in: länken i itslearning
Att synka räcker inte för att uppgiften ska vara inlämnad. Läraren har ingen lista över era repon – ni skapar dem själva under era egna konton.
Klistra in länken till ditt repo i uppgiften i itslearning. Adressen är den du ser i adressfältet när du står på ditt repo.
https://github.com/dittanvandarnamn/sa-fungerar-webben
Det gör du en gång per uppgift, så snart repot finns. Sedan fortsätter du arbeta och synka som vanligt – läraren följer samma länk och ser dina senaste ändringar. Du behöver inte lämna in igen varje gång du ändrat något.
Har du också publicerat med GitHub Pages: lämna båda adresserna, repot och den publicerade sidan.
6. Publicera med GitHub Pages
- Gå till ditt repo på github.com.
- Klicka Settings överst.
- Välj Pages i vänstermenyn.
- Under Source, välj Deploy from a branch.
- Välj grenen main och mappen / (root). Klicka Save.
- Vänta en till två minuter. Ladda om sidan – adressen visas överst.
Adressen ser ut så här:
https://dittanvandarnamn.github.io/repots-namn/
Publiceringen sker om automatiskt varje gång du synkar. Det tar upp till en minut, så en ändring syns inte direkt.
Krav för att det ska fungera
- Repot måste vara Public.
- Startsidan måste heta
index.htmloch ligga i repots rot. - Sökvägar måste vara relativa:
bilder/logga.png, inte/bilder/logga.pngoch inteC:\Users\.... - Filnamn måste stämma exakt, inklusive stora och små bokstäver.
Den sista punkten är den vanligaste orsaken till att en bild försvinner vid publicering.
Din egen dator bryr sig inte om skillnaden mellan Logga.png och
logga.png. Servern gör det.
7. Arbeta över flera pass
Ditt arbete ligger i en mapp på din dator. Bara det du synkat finns på github.com.
Så här återupptar du:
- Öppna VS Code.
- File → Open Recent och välj mappen. Eller File → Open Folder och leta upp den.
- Klona inte igen. Klonar du en gång till får du två mappar och tappar bort vilken som är den riktiga.
Först på passet: öppna mappen, kontrollera att du är i rätt repo.
Sista fem minuterna: committa och synka. Alltid, även om du inte är klar.
Byter du dator – lånedator, hemmadator, ny skoldator – klonar du repot på nytt där enligt avsnitt 3. Allt du synkat följer med. Det du inte synkat gör det inte. Det är därför sista-fem-minuterna-regeln finns.
8. Ta det längre
Det här behöver du inte, men det gör arbetet smidigare.
Läs din historik. På github.com, klicka på commits ovanför fillistan. Du ser varje sparpunkt, vem som gjorde den och exakt vilka rader som ändrades. Klicka på en commit för att se skillnaden rad för rad.
Ångra till en tidigare version. Har du förstört en fil kan du hämta tillbaka den gamla: öppna filen på github.com, klicka History, välj en tidigare version och kopiera innehållet.
Arbeta i terminalen. Allt i källkontrollpanelen går att göra med kommandon. Öppna terminalen i VS Code med Ctrl+ö:
git status # vad har ändrats?
git add . # ta med alla ändringar
git commit -m "Lade till DNS-avsnittet"
git push # skicka till github.com
Du behöver inte kunna det här i kursen, men i slutprojektet går det fortare.
En .gitignore talar om vilka filer som inte ska följa med.
Skräpfiler som .DS_Store och Thumbs.db hör inte hemma i ett
repo.
9. Felsökning
15 rader
| Symptom | Trolig orsak | Åtgärd |
|---|---|---|
| Läraren ser inte mitt arbete | Du har committat men inte synkat | Klicka Sync Changes. Kontrollera på github.com |
| Läraren hittar inte mitt repo alls | Du har inte lämnat länken i itslearning | Klistra in repots adress i uppgiften. Se avsnitt 5 |
| Det finns ingen källkontrollpanel | Git är inte installerat på datorn | Säg till läraren. Utan Git går det inte att committa |
| Go Live syns inte längst ner i VS Code | Live Server är inte installerat | Installera tillägget. Se avsnitt 3 |
| Sidan uppdateras inte när jag sparar | Du tittar på file:/// i stället för Live Servers adress | Stäng fliken, högerklicka i index.html, Open with Live Server |
| VS Code frågar efter inloggning om och om igen | Du loggade in med fel GitHub-konto | Ctrl+Shift+P → Sign Out, logga in med rätt konto |
| Mitt repo finns inte under Your repositories | Du skapade det med ett annat konto | Logga in med rätt konto, eller gör om steg 2–6 i avsnitt 2 |
| Mina filer är borta | Du öppnade fel mapp, eller klonade en andra gång | File → Open Recent och leta rätt på mappen du arbetat i |
| Jag sitter vid en annan dator | Repot är klonat på den förra | Klona på nytt enligt avsnitt 3. Allt du synkat finns kvar |
| Bilden syns lokalt men inte publicerat | Fel skiftläge i filnamnet eller absolut sökväg | Ändra till exakt samma namn, gemener, relativ sökväg |
| Sidan visar 404 efter publicering | Startsidan heter inte index.html, eller ligger i en undermapp | Byt namn eller flytta filen till repots rot |
| Pages-fliken saknas i Settings | Repot är Private | Ändra till Public i Settings → Danger Zone |
| Ändringen syns inte på den publicerade sidan | Publiceringen tar upp till en minut, eller så cachar webbläsaren | Vänta, ladda sedan om med Ctrl+F5 |
| Sidan är helt tom | Du tittar på repot, inte på Pages-adressen | Använd adressen från Settings → Pages |
| "Your changes would be overwritten" | Du har ändrat samma fil på två ställen | Fråga läraren. Committa inte över det |
10. Snabbreferens
Vägen från idé till publicerad sida
mallen → ditt repo → klona till VS Code → skriv kod
↓
publicerad sida ← GitHub Pages ← commit + sync
↓
länken i itslearning
Knappar och var de finns
| Vad du vill göra | Var |
|---|---|
| Skapa ditt repo | Mallrepot → Use this template → Create a new repository |
| Kopiera repots adress | Repo → Code → HTTPS |
| Klona till din dator | VS Code → Ctrl+Shift+P → Git: Clone |
| Förhandsvisa sidan | Högerklicka i index.html → Open with Live Server |
| Öppna utvecklarverktygen | F12 i webbläsaren |
| Öppna repot nästa pass | VS Code → File → Open Recent |
| Committa | Källkontroll i vänstermarginalen |
| Synka | Samma panel → Sync Changes |
| Lämna in | itslearning → uppgiften → klistra in repots adress |
| Slå på publicering | Repo → Settings → Pages |
| Se din historik | Repo → commits ovanför fillistan |
Kommandon i terminalen
| Kommando | Gör |
|---|---|
git status | Visar vad som ändrats |
git add . | Tar med alla ändringar |
git commit -m "text" | Skapar en sparpunkt |
git push | Skickar till github.com |
git log --oneline | Visar historiken kortfattat |
Kursens filkonventioner
| Regel | Exempel |
|---|---|
Startsidan heter index.html | index.html |
| Gemener i filnamn | om-oss.html, inte Om-Oss.html |
| Bindestreck i stället för mellanslag | min-sida.html, inte min sida.html |
| Inga å, ä, ö i filnamn | bageri.html, inte bageri-å.html |
| Bilder i egen mapp | bilder/logga.png |
| Relativa sökvägar | bilder/logga.png, inte /bilder/logga.png |
| Indentering | 2 mellanslag |