WIP: setup astro as a test #13

Draft
hornwitser wants to merge 12 commits from astro into live
Owner

Eksemple på oppset av astro for nettsiden.

Eksemple på oppset av astro for nettsiden.
Owner

Syns ikke dette fikk så godt frem hvordan Astro funker. Jeg ryddet litt opp i det og la til litt ekstra funksjonalitet.

  1. CSS burde ikke være i layout, det burde være i global.css.
  2. Jeg lagde astro komponenter ut av header og footer for å vise hvordan enkle HTML/.astro komponenter kan brukes (og gjenbrukes).
  3. Ga eksempler på hvordan man kan passe rundt props gjennom frontmatter. (Typ title, description, og:graph data) og byttet layout for å være mer eksplisitt.
Syns ikke dette fikk så godt frem hvordan Astro funker. Jeg ryddet litt opp i det og la til litt ekstra funksjonalitet. 1. CSS burde ikke være i layout, det burde være i global.css. 2. Jeg lagde astro komponenter ut av header og footer for å vise hvordan enkle HTML/.astro komponenter kan brukes (og gjenbrukes). 3. Ga eksempler på hvordan man kan passe rundt props gjennom frontmatter. (Typ title, description, og:graph data) og byttet layout for å være mer eksplisitt.
Owner

Jeg er ikke den største fan'en av at vi bruker markdown for å lage sider som ikke er typ en bloggpost, styremøter eller noe. Det er ofte nyttig å integrere visuelle komponenter inn i innholdet for å få frem poenget sitt bedre.

Så jeg la til MDX med npx astro add mdx. Personlig er jeg stor fan av .mdx. Skal vi lage landingssider om tjenestene våre så er jeg helt sikker på at det har det godt av å ha litt mer enn bare en vegg av tekst i markdown.

Og så lagde en form komponent. Merk at det er vanilla CSS og stylen vi definerer i MemberForm scopes til den komponenten.

Og jeg importerte og la til <MemberForm /> i markdown filen.

image

Edit: Jeg er fullt klar over at et skjema her ikke gir helt mening.

Jeg er ikke den største fan'en av at vi bruker markdown for å lage sider som ikke er typ en bloggpost, styremøter eller noe. Det er ofte nyttig å integrere visuelle komponenter inn i innholdet for å få frem poenget sitt bedre. Så jeg la til MDX med `npx astro add mdx`. Personlig er jeg stor fan av .mdx. Skal vi lage landingssider om tjenestene våre så er jeg helt sikker på at det har det godt av å ha litt mer enn bare en vegg av tekst i markdown. Og så lagde en form komponent. Merk at det er vanilla CSS og stylen vi definerer i MemberForm scopes til den komponenten. Og jeg importerte og la til `<MemberForm />` i markdown filen. ![image](/attachments/ecd64553-f5c6-4ee9-aecb-37e84949f125) Edit: Jeg er fullt klar over at et skjema her ikke gir helt mening.
289 KiB
Author
Owner

Hvis det er slik dere vil utvikle websiden så vil jeg overlate arbeidet til dere og ønsker dere lykke til. Dette kommer ikke jeg til å ta del i.

Hvis det er slik dere vil utvikle websiden så vil jeg overlate arbeidet til dere og ønsker dere lykke til. Dette kommer ikke jeg til å ta del i.
Owner

Jeg la til Astro sin content collection for å vise hvordan en tjeneste indeks kan se ut. Åpenbart KI, poenget er å showcase Astro funksjonalitet. Dette er en killer feature, har Hugo noe i nærheten?

Jeg la til Astro sin [content collection](https://docs.astro.build/en/guides/content-collections/) for å vise hvordan en tjeneste indeks kan se ut. Åpenbart KI, poenget er å showcase Astro funksjonalitet. Dette er en killer feature, har Hugo noe i nærheten?
Owner

@hornwitser wrote in #13 (comment):

Hvis det er slik dere vil utvikle websiden så vil jeg overlate arbeidet til dere og ønsker dere lykke til. Dette kommer ikke jeg til å ta del i.

Jeg har ikke bestemt meg om jeg foretrekker Astro eller Hugo, men jeg lurer på hvorfor du er så bestemt imot Astro?

@hornwitser wrote in https://forge.hornwitser.no/datakollektivet/datakollektivet.no/pulls/13#issuecomment-449: > Hvis det er slik dere vil utvikle websiden så vil jeg overlate arbeidet til dere og ønsker dere lykke til. Dette kommer ikke jeg til å ta del i. Jeg har ikke bestemt meg om jeg foretrekker Astro eller Hugo, men jeg lurer på hvorfor du er så bestemt imot Astro?
Author
Owner

Astro som teknologi og system er isolert sett ok. Problemet er at Astro har mange utvidelser, plugins, og ferdige løsninger som frister veldig å bare legge til med en npm install. Dette fører til at man lett legger til en modul til, og enda en, og enda en. Spesielt i et sammarbeidsprosekt med mange bidragsyttere som alle vil ha sin egen ting lagt til så vokser dette veldig fort til et skjørt og komplisert virvar.

Det tok ikke lange tiden før Astro demoen her plustselig hadde mdx også. Kompleksitet er fienden til stabilitet og enkel vedlikehold. Skal man klare å holde prosjektet vedlike over lang tid så man må være sterkt kritisk til enhver avhengihet og komplisert løsing man legger til. Det er hip å ha det seneste og feteste bibliotekene i prosjektet, men det er desverre ikke like kult å bygge kjedelige, stabile, enkle, lette, og dumme løsninger.

Med andre ord. Det jeg ser er at Astro kommer til å tiltrekke seg veldig mye press på å legge til atter mer komplisert kode og bibliotek til prosjektet, og at den som ønsker å ta ansvar for å holde kompleksitet nede vil ha en sisyfisk oppgave med å overbevise de andre at ikke er greit å legge til «bare en til npm pakke».

Astro som teknologi og system er isolert sett ok. Problemet er at Astro har mange utvidelser, plugins, og ferdige løsninger som frister veldig å bare legge til med en `npm install`. Dette fører til at man lett legger til en modul til, og enda en, og enda en. Spesielt i et sammarbeidsprosekt med mange bidragsyttere som alle vil ha sin egen ting lagt til så vokser dette veldig fort til et skjørt og komplisert virvar. Det tok ikke lange tiden før Astro demoen her plustselig hadde `mdx` også. Kompleksitet er fienden til stabilitet og enkel vedlikehold. Skal man klare å holde prosjektet vedlike over lang tid så man må være sterkt kritisk til enhver avhengihet og komplisert løsing man legger til. Det er hip å ha det seneste og feteste bibliotekene i prosjektet, men det er desverre ikke like kult å bygge kjedelige, stabile, enkle, lette, og dumme løsninger. Med andre ord. Det jeg ser er at Astro kommer til å tiltrekke seg veldig mye press på å legge til atter mer komplisert kode og bibliotek til prosjektet, og at den som ønsker å ta ansvar for å holde kompleksitet nede vil ha en sisyfisk oppgave med å overbevise de andre at ikke er greit å legge til «bare en til npm pakke».
Owner

Jeg er ikke uenig. Jeg ønsker færrest mulig pakker og dependencies også. Men det er en forskjell på å bruke en official extension av Astro med helt industristandard teknologi som ikke går noe sted (mdx) og det å legge til one-off javascript skrot. Det er også noe litt annerledes med pakker i build-stage vs. lastet straight inn i browseren til medlemmer.

MDX har jeg hatt svært god erfaring med når vi skrev dokumentasjon og læringsmateriale for front-end kurset IN5320 på UiO. At de som skriver en tjenesteside eller bloggartikkel kan legge til kode/komponenter rett i markdownen er verdifullt. Det skaper både consistency i templatingen for utviklere da vi kan tvinge frem markdown, men det gir også fleksibilitet til publisentene til å legge til litt mer detaljer. Nettsiden vår er ikke bare for utviklere, det er for innholdsprodusenter som ønsker å kommunisere og systemansvarlige å dokumentere systemene sine. De må vi designe for også.

Uten å være sikker på det tyder det på at en tilsvarende publiseringsflyt i Hugo bruker shortcodes? Jeg syns ikke det ser like ergonomisk ut (men det er nok en preferansesak).

Jeg anser to andre offisielle pakker som aktuelle:

Jeg blir gjerne med på et moratorium på flere pakker og strenge prosesser rundt det å legge dem til. Det høres hensiktsmessig ut.

Jeg er ikke uenig. Jeg ønsker færrest mulig pakker og dependencies også. Men det er en forskjell på å bruke en official extension av Astro med helt industristandard teknologi som ikke går noe sted (mdx) og det å legge til one-off javascript skrot. Det er også noe litt annerledes med pakker i build-stage vs. lastet straight inn i browseren til medlemmer. MDX har jeg hatt svært god erfaring med når vi skrev dokumentasjon og læringsmateriale for front-end kurset [IN5320](https://www.uio.no/studier/emner/matnat/ifi/IN5320/) på UiO. At de som skriver en tjenesteside eller bloggartikkel kan legge til kode/komponenter rett i markdownen er verdifullt. Det skaper både consistency i templatingen for utviklere da vi kan tvinge frem markdown, men det gir også fleksibilitet til publisentene til å legge til litt mer detaljer. Nettsiden vår er ikke bare for utviklere, det er for innholdsprodusenter som ønsker å kommunisere og systemansvarlige å dokumentere systemene sine. De må vi designe for også. Uten å være sikker på det tyder det på at en tilsvarende publiseringsflyt i Hugo bruker [shortcodes](https://gohugo.io/content-management/shortcodes/)? Jeg syns ikke det ser like ergonomisk ut (men det er nok en preferansesak). Jeg anser to andre offisielle pakker som aktuelle: * https://docs.astro.build/en/guides/integrations-guide/vue/ * https://docs.astro.build/en/guides/integrations-guide/sitemap/ Jeg blir gjerne med på et moratorium på flere pakker og strenge prosesser rundt det å legge dem til. Det høres hensiktsmessig ut.
Owner

Jeg lekte litt mer med dette.

  1. Jeg forenklet services implementasjonen så det får frem kjernen av hva jeg prøver å vise bedre.
  2. Jeg lagde kroniken til en .json backet content collection (for å vise at det må ikke bare være .md).
  3. Jeg flyttet nyheter inn i .mdx content collection og lagde en nyhetsside.
  4. Og til slutt så lagde jeg en komponent ut av tjenester slik at den kan lettere brukes både på /tjeneste/ og på forsiden.

Astro er content collections. De har identifisert at det virkelig handler om innholdet. Bygger man scaffoldingen rundt innholdet så får man en ganske bra publishing løsning.

Final notes:

  • Jeg tar meg ikke nær av at all denne koden kastes. Dette har tatt meg to timer.
  • Jeg har ingen ideer om at vi kommer til å bruke Astro sin SSR/Node runtime. Trenger vi et enkelt API er jeg åpen for Flask eller noe.

image

Jeg lekte litt mer med dette. 1. Jeg forenklet services implementasjonen så det får frem kjernen av hva jeg prøver å vise bedre. 2. Jeg lagde kroniken til en .json backet content collection (for å vise at det må ikke bare være .md). 3. Jeg flyttet nyheter inn i .mdx content collection og lagde en nyhetsside. 4. Og til slutt så lagde jeg en komponent ut av tjenester slik at den kan lettere brukes både på /tjeneste/ og på forsiden. Astro er content collections. De har identifisert at det virkelig handler om innholdet. Bygger man scaffoldingen rundt innholdet så får man en ganske bra publishing løsning. Final notes: * Jeg tar meg ikke nær av at all denne koden kastes. Dette har tatt meg to timer. * Jeg har ingen ideer om at vi kommer til å bruke Astro sin SSR/Node runtime. Trenger vi et enkelt API er jeg åpen for Flask eller noe. ![image](/attachments/bf257fd6-66f3-4e2e-b9de-b835489845cb)
300 KiB
Owner

@hornwitser wrote in #13 (comment):

Med andre ord. Det jeg ser er at Astro kommer til å tiltrekke seg veldig mye press på å legge til atter mer komplisert kode og bibliotek til prosjektet, og at den som ønsker å ta ansvar for å holde kompleksitet nede vil ha en sisyfisk oppgave med å overbevise de andre at ikke er greit å legge til «bare en til npm pakke».

Jeg tror hvis vi er i den luksussituasjonen at for mange vil bidra med for mye, så er det også noe bra. Enn så lenge føler jeg at vi har alt for få folk som faktisk gjør noe - kanskje derfor jeg ikke er så redd.

Jeg er litt enig med Alex i at jeg tror med retningslinjer skal det være mulig å styre unna for mye kompleksitet og npm pakker for alt mulig unødvendig, men jeg kan selvfølgelig da feil.

Fant noen artikler som Hugo med web components, men har ikke hatt tid til å lese gjennom. Kunne ellers kanskje vært et alternativ til shortcodes?

@hornwitser wrote in https://forge.hornwitser.no/datakollektivet/datakollektivet.no/pulls/13#issuecomment-461: > Med andre ord. Det jeg ser er at Astro kommer til å tiltrekke seg veldig mye press på å legge til atter mer komplisert kode og bibliotek til prosjektet, og at den som ønsker å ta ansvar for å holde kompleksitet nede vil ha en sisyfisk oppgave med å overbevise de andre at ikke er greit å legge til «bare en til npm pakke». Jeg tror hvis vi er i den luksussituasjonen at for mange vil bidra med for mye, så er det også noe bra. Enn så lenge føler jeg at vi har alt for få folk som faktisk gjør noe - kanskje derfor jeg ikke er så redd. Jeg er litt enig med Alex i at jeg tror med retningslinjer skal det være mulig å styre unna for mye kompleksitet og npm pakker for alt mulig unødvendig, men jeg kan selvfølgelig da feil. Fant noen artikler som Hugo med web components, men har ikke hatt tid til å lese gjennom. Kunne ellers kanskje vært et alternativ til shortcodes?
This pull request has changes conflicting with the target branch.
  • .gitignore
  • package.json
  • pnpm-lock.yaml
  • public/index.html
  • tsconfig.json
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin astro:astro
git switch astro
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
datakollektivet/datakollektivet.no!13
No description provided.