Hopp til innhold

Bulldocs lar deg skrive noe én gang og lese det overalt: nettside, e-post, terminalvindu, papir. Ett dokument, ingen kopier. Og det ser like bra ut alle stedene.

Hva det er

Dokumentet er data

En overskrift er en overskrift, ikke tolv piksler fet skrift. Dokumentet er blokker med mening, og de kan tegnes på enhver flate.

Hvorfor

Rett én setning, riktig overalt

Fordi dokumentet er data, kan hvem som helst, også en maskin, rette én setning og sette dokumentet opp et helt annet sted uten å ødelegge resten.

Du ser det i bruk nå: denne historien redigeres som blokker i Studio og tegnes av samme motor her som i leseren. Én kilde, mange flater.

Barkpark Studio med paperet scaffy-historien åpent i editoren: Papers-lista til venstre, typesatt brødtekst i midten, og dokumentskinnen til høyre med publiseringsstatus, slug, datasett og etiketter.
Redigeringssiden av det samme: en annen av historiene på dette nettstedet, åpen som blokker i Studio. Kilde: barkpark.jarl.no, Barkpark v0.2.25.2040 · skjermbilde 31. juli 2026.
Og lesesiden, i en annen flate: bp paper view henter dokumentet fra serveren og typesetter det med ANSI. Ingen terminalversjon å vedlikeholde, for det er det samme dokumentet. Kilde: guerrilla.barkpark.cloud · opptak 31. juli 2026.

Formen kom ikke lett. Jeg prøvde meg fram i to prosjekter samtidig, la ned begge, og slo dem sammen til ett. Det som ble igjen, heter Bulldocs.

Opphavet

To forfedre, to ulike piler

Det ene ga fra seg koden sin. Det andre ga fra seg ambisjonen, og lot koden ligge. En figur som tegnet pilene like, ville løyet.

Den tekniske forelderen

portable-doc-mvp

Fire dager i mai 2026 og én hard regel: formatet skulle være lukket. Ti blokktyper. Kunne noe ikke overleve i et smalt terminalvindu eller en e-post, ble det avvist.

Alle ti lever videre i dag. Den ene pilen går rett fram, kode for kode.

Forfaren

paperflow

En arbeidsflyt fra mål til ferdig endring, og en lesedrakt rundt den: smal spalte, serif på kremhvitt, en skinne som viste hvordan dokumentet ble til.

Koden ble ikke med videre. Ambisjonen ble det: et dokument skal være godt å lese, ikke bare gyldig. Den andre pilen er krokete, uten én kodelinje.

Sammenslåingen

Slik flyttet formatet inn

Hvert punkt er et sted der formatet skiftet kropp. Datoene er fra endringshistorikken.

  1. 8. mai 2026
    Det lukkede formatet
    10blokktyper
    portable-doc-mvp starter. Ti blokktyper, en validator som sier nei, og fem flater å tegne det samme innholdet på.
  2. 23. mai 2026
    Formatet flytter inn
    Motoren skrives om i Elixir og porteres inn i Barkpark. Samtidig kommer tvillingen som lar deg endre ett avsnitt uten å sende hele dokumentet på nytt.
  3. 5. juni 2026
    Bulldocs får navnet sitt
    En egen utvidelse overtar dokumenttypen og blir eier av den. Kort etter bytter den navn til bulldocs, navnet den har i dag.
  4. 22. juni 2026
    Navnet går, funksjonen blir
    Siste rest av paperflow-merkelappen skrubbes ut. Funksjonen ble værende. Den var ikke lenger et påheng, den var blitt en del av huset.
  5. 24. juli 2026
    Den siste gamle kroppen
    75blokktyper
    Begge de gamle prosjektene slettes fra maskinen. Registeret teller da 75 blokktyper: 29 elementer, 43 widgeter og 3 seksjoner.

Kildercommit:9a50a9bcommit:c612d63

Regnskapet

Hva som står igjen

Hvert tall her er hentet fra en navngitt kilde, ikke fra hukommelsen.

10 → 75
Registeret · Blokktyper, fra ti til 75
29 elementer, 43 widgeter, 3 seksjoner. Tallet holdes fast av en test, ikke av en opptelling. Alle de ti opprinnelige er fortsatt med.
2måneder
Sammenslåingen · Fra port til siste kropp
23. mai 2026 flyttet formatet inn i Barkpark. 24. juli var begge de gamle prosjektene borte fra maskinen.
13 527linjer
Gjengiving · Elixir som tegner dokumentet
Koden som gjør blokker om til noe et menneske kan lese, på hver enkelt flate.
603dokumenter
I bruk · Skrevet i formatet allerede
Bare på Guerrilla-instansen. Hvert av dem lagret som blokker med mening i seg, ikke som ferdig formatert tekst.

Kildercommit:ab62cc5commit:fdce53fcommit:cf35a54task:jarl-corpus-epic

Å bygge formatet var ikke det vanskeligste. Det vanskeligste var å legge ned to prosjekter jeg var glad i, og bli enig med meg selv om hva som fikk bli med videre.

Om sammenslåingen