This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-08
Channels
- # announcements (6)
- # atom-editor (1)
- # babashka (21)
- # beginners (70)
- # clerk (4)
- # clj-kondo (71)
- # clj-yaml (1)
- # clojure (54)
- # clojure-art (1)
- # clojure-denmark (1)
- # clojure-dev (1)
- # clojure-doc (1)
- # clojure-europe (31)
- # clojure-nl (1)
- # clojure-norway (41)
- # clojure-uk (15)
- # clojurescript (36)
- # conjure (1)
- # cursive (2)
- # datomic (14)
- # duct (10)
- # emacs (12)
- # etaoin (176)
- # gratitude (25)
- # hyperfiddle (17)
- # jobs (1)
- # juxt (5)
- # london-clojurians (1)
- # malli (3)
- # nbb (21)
- # off-topic (29)
- # reitit (12)
- # releases (2)
- # remote-jobs (7)
- # shadow-cljs (9)
- # testing (9)
Jeg har lenge gått med idéen å lage “devcards ++“. Etter å ha kikka litt på Storybook JS i høst ble det til “(nesten) storybook for cljs”. Vi har nå hatt en POC på dette i bruk på jobb en stund, og nå begynner det å nærme seg noe som kan brukes av flere: https://github.com/cjohansen/portfolio Jeg har satt opp en liten demo av verktøyet, selvom den beste måten å bruke det på er å koble det til et REPL: https://cjohansen.github.io/ Her er et snapshot av noen av tingene du kan gjøre:
bruker storybook på VIERLIVE (hvordan klarer folk seg uten?), veldig fin den oppdelinga med sidebar til storybook og portifolio 😄
med javascript. I tradisjonell NPM-stil er det ganske enkelt å bruke ut av boksen, den fisker i filsystemet etter alle filer som heter *.stories.(js|ts)
og smeller dem inn
Jeg har ikke laget noe sånt enda. Har aktivt voktet meg for å lage de tingene først, og heller fokusert på å lage API-er. Kan bygge sånn “finn på filsystemet”-magi til slutt,
for å få denne opp og gå trenger man bare koden i skjermbildet så er man good 2 go. Litt lol at den driver og automagisk fisker ut alt som er exporta, men siden det kun gjelder .stories-filer synes jeg egentlig det funker ganske greit
Jeg har også en POC på en codemirror-editor med enkel paredit for å tukle med parameterne til komponentene 😄
I tilfelle du ikke ønsker å gjøre alt fra scratch: https://nextjournal.github.io/clojure-mode/
jeg fant faktisk en implementasjon av paredit, så jeg har gjort veldig lite selv på denne biten
men det ble fort tydelig at paredit i en nettleser er vrient, pga eksisterende keybindings osv, så jeg endte med å bare hente ut noen få ting - autoparens, raise, slurp, barf og et par ting til
jeg kommer heller til å tilrettelegge for REPL-ing mot UI-et en å bygge fancy input-UI
Men det er litt gøy at når man støtter bittelitt Clojure kan man ofte slippe å tenke på filtrering, nesting, etc. Hvis du bare kan lime inn et lite "nested Clojure map" i et inputfelt, slipper man å lage en megakomplisert editor for generelle trær.
clojure er jo et ordentlig språk og har metadata f.eks, så figwheel style metadata enten på et helt namespace eller på enkelte symboler er mye mere winning
Og mulighet for å tap>
-e verdier til UI-et for å bruke dem i komponenter osv. Men jeg har ikke helt landa disse enda.
Jeg bruker Storybook med cljs. Der er ganske mye strikk og binders for å få det opp. Ser fram til å kjippe det ut!
ja, har ikke helt klart/orka å sette opp parameter-fikling, her har jeg jo endt opp med å bare lage det sjæl, storybook har noe innebygget for å typ vise en slider som representerer props inn til render
ja, jeg starta med å kopiere det, men så landa jeg på at jeg nok heller ønsker meg et stort tekstfelt, Clojure-data og litt paredit
da kan man jo lage generative testing men for GUI-komponenter, hvis man vet om props. Rendre automatisk med alle mulige parametere i rare rekkefølger og mount og unmount komponentet og se at det ikke kræsjer? 😄
veldig kult med mobilvisning, side-by-side, osv. Da tilfører man en god del mere verdi enn devcards
På jobb bruker vi det også til å rendre hele screens (data-drevne UI-er med stateless komponenter FTW), og har custom menyer for å bytte språk og theme:
Har vært veldig nyttig både til utvikling og til samarbeid med designere og folk som oversetter til språk jeg ikke prater
ah, godt poeng med oversetting. Stories/scenes kan jo være en slags spec nesten, hvor oversetterene kan se alle endringene i kontekst og vite at alt blir riktig osv
apropos: av nysgjerrighet, er det noen her som ikke bruker devcards eller storybook? Hvordan går man frem for å teste rare/sjeldne GUI-states uten? 😅
@christian767 du har lagd en tiling window manager i nettleseren, du! 😁