Benedicte lager egen Gatsby-plugin

- Sinnssykt gøy at folk bidrar fra hele verden, forteller Benedicte Raae bak "gatsby-remark-oembed".

Benedicte Raae er 36 år gammel, og har jobbet som selvstendig full stack-utvikler i nesten ti år. 📸: Privat
Benedicte Raae er 36 år gammel, og har jobbet som selvstendig full stack-utvikler i nesten ti år. 📸: Privat Vis mer

Hvem er egentlig alle disse folkene som bidrar til open source-miljøet? Hver dag skriver utviklere over hele kloden gratis programvare, som de deler med resten av internett.

En av de store JavaScript-prosjektene om dagen, heter Gatsby. En statisk sidebygger som vi har skrevet litt om før på kode24.

Men Gatsby er ikke bare ett produkt. Det finnes et kobbel av plugins, utviklet av open source-miljøet for å gjøre Gatsby enda bedre.

En av dem som har laget en slik plugin er 36 år gamle, selvstendige full stack-utvikler Benedicte Raae.

kode24 tok en prat med Benedicte om hva hun har bygget, og hvordan hun fikk det til.

#1. Hva har du bygd, og hvorfor?

Jeg har bygget @raae/gatsby-remark-oembed!

Dette er en plugin til Gatsby som erstatter Twitter, YouTube, Instagram, Reddit og andre oembed lenker i markdown med embed kode som faktisk viser frem innholdet det lenkes til.

Ved hjelp av denne pluginen slipper innholdskaperne å forsøple markdown filene sine med embed kode kopiert fra de forskjellige tilbyderne av innebygbart innhold.

For mange år siden ble jeg veldig imponert da jeg limte inn en lenke til YouTube lenke i WordPress editoren og så svupp var den byttet ut med en faktisk innebygd video. Jeg måtte selvfølgelig finne ut hva dette var og det var slik jeg lærte om oembed. Oembed er en standarisert måte for tilbydere av innhold å tilby et endepunkt hvor en konsument kan be om embed kode versjonen av en lenke.

Da jeg begynte å leke med Gatsby i fjor dukket spørsmålet opp om dette på noen måte lot seg overføre. Og når tanken først var der måtte jeg bare prøve!

Benedicte er 36 år gammel, og har tidligere jobbet hos Iterate og studert Datateknikk ved NTNU. 📸: Jørgen Jacobsen
Benedicte er 36 år gammel, og har tidligere jobbet hos Iterate og studert Datateknikk ved NTNU. 📸: Jørgen Jacobsen Vis mer

#2. Hvor lenge har du jobbet med dette hobbyprosjektet?

Idéen kom en gang på forsommeren 2018. Kodet litt her og litt der frem til den var klar til bruk i oktober.

Dessverre introduserte Gatsby en bug akkurat da som gjorde at pluginen ikke lenger fungerte. Heldigvis kan man jo også si. Hadde jeg sluppet pluginen rett før denne bugen ville det nok kommet en god del klager. I Januar ble bugen fikset og jeg slapp mitt aller første open source-prosjekt ut i verden.

#3. Hvordan henger prosjektet sammen?

Gatsby er en såkalt “static site” eller “progressive web app” generator. Rammeverket er basert på React. I en slik modell genereres alle sidene i appen som statiske html sider før appen deployes. Når en av disse sidene når nettleseren “hydreres” siden og blir til en client side web app.

Min plugin slår inn når Gatsby generer alle HTML-sidene. Den ber først oembed.com om en liste over alle tilbydere og hvordan lenkene til hver tilbyder arter seg. Deretter hver gang Gatsby prosesserer en markdown fil finner pluginen alle lenker som står alene, og sjekker om disse matcher en tilbyders lenkestruktur. Gjør den det ber den tilbyderens oembed endepunkt om embed-kode versjonen av lenken og bytter ut lenken med denne.

For dette prosjektet har jeg også lekt med Jest, Prettier og Travis.

Slik ser arbeidsplassen til Benedicte ut. 📸: Privat
Slik ser arbeidsplassen til Benedicte ut. 📸: Privat Vis mer

#4. Hva har vært den største utfordringen hittil?

Det var å forstå at det fantes en cache mulighet for Gatsby-plugins, og så at Gatsby introduserte en bug ca da jeg oppdaget dette. Dermed tok en stund og et videomøte med en Gatsby-ansatt for å innse at det faktisk var introdusert en bug og ikke at jeg hadde kodet feil.

#5. Hva er du mest stolt av i forbindelse med prosjektet?

At jeg har kastet meg ut i open source-verdenen. Det har vært et ønske lenge og med Gatsby føler jeg at jeg har funnet et meget støttende og vennligsinnet miljø.

#6. Bruker du prosjektet til noe spesielt i dag?

Pluginen brukes nok mest av utviklere som har laget seg en blogg med Gatsby. Personlige nettsider og det å eie sitt eget innhold er igjen i vinden.

Slik ser det ut når Benedicte utvikler på Macen sin. 📸: Privat
Slik ser det ut når Benedicte utvikler på Macen sin. 📸: Privat Vis mer

#7. Hva er fordelene med å ha et hobbyprosjekt?

Å kunne jobbe når og hvordan man vil. Og kunne teste ut teknologi og idéer som kanskje ikke er modne nok for kundeprosjekter. I tillegg, siden dette er et open source-prosjekt, er det sinnsykt gøy at folk bidrar fra hele verden med alt fra fiks av stavefeil til større omskrivingsarbeid.

#8. Har du noen planer for prosjektet ditt fremover?

Det er noen små planer om en utvidelse som gjør det enklere å konvertere fra andre lignende plugins som kun støtter en og en tilbyder av innhold.