Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakub-stastny/oso
My site landing pages.
https://github.com/jakub-stastny/oso
clojurescript webcomponents
Last synced: 21 days ago
JSON representation
My site landing pages.
- Host: GitHub
- URL: https://github.com/jakub-stastny/oso
- Owner: jakub-stastny
- Created: 2024-06-22T10:53:48.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-09-25T16:38:21.000Z (about 1 month ago)
- Last Synced: 2024-10-02T06:44:13.436Z (about 1 month ago)
- Topics: clojurescript, webcomponents
- Language: Clojure
- Homepage: https://jakubstastny.guru?utm_source=gh
- Size: 2.59 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
* About
Source code of [[https://jakubstastny.guru?utm_source=gh][jakubstastny.guru]] written in ClojureScript using web components and generated by [[https://github.com/squint-cljs/cherry][Cherry]].The compiled code that is actually deployed is in the [[https://github.com/jakub-stastny/oso/tree/rel][rel branch]].
* Development
#+begin_src shell
./bin/serve # Serve locally.
./bin/watch # Watch for changes, compile (runs bin/build-cljs, build-css & build-html).
./bin/release # Compile & push to the rel branch.
#+end_src* Tasks
** V1
*** TODO Consider CSS generation
- Babashka Toolbox mentions https://github.com/paraseba/cssgen and https://github.com/cdaddr/gaka (Clj).*** TODO Newsletter
*** TODO Design
- Do something in Procreate. It should show my personality. Aquarius MC.*** TODO WebComponents README
- Also polish the components, namely fa-icon.*** TODO Ping @borkdude
Hey @borkdude. I have a real-world example of a project that uses Cherry to write WebComponents: https://github.com/jakub-stastny/oso/tree/master/src/components It's my personal site, like whatever, the point is there are some Cherry-written WebComponents, they work, they are deployed and can be played with and inspected and there's a README where I documented various aspects of writing them.If it serves you as an example, I can add the link to https://github.com/squint-cljs/cherry?tab=readme-ov-file#examples to send you a PR. If not, no worries, but I haven't seen too many WebComponents examples around.
*** TODO Sponsorships
- Buy me a coffee? I already have.
- Patreon.
- PayPal.
- All these are in Reddit, add in the [[https://www.reddit.com/settings/profile?rdt=54962][settings]].** TODO Version with a blog
*** TODO Override the back button behaviour
So things don't get reloaded.*** TODO Dynamic page URLs
We either:
- No longer have all the various static HTML pages and only have 1 SPA-style HTML like index.html that links app.js.
- Or we handle the blog as a separate app on a separate subdomain. This would be preferable for speed and other concerns.** Maybe consider
*** Telegram contact
- There's an icon in FA.*** Dark mode
*** Set up build based on CLJ or Babashka
- Squint works from CLJ, so Cherry should too (I asked @borkdude in #Cherry Slack).
- Do I need separate repos for main/blog/wiki (think Netlify deploy).
- If so, I need a shared package that has config, components, CSS vars and whatnot.
- Minify/Uglify JS & CSS on build. Possibly add timestamp to reload cache ?t=timestamp.
- GA only in the production build (./bin/release passes an argument to the build scripts like ./bin/compile --release)
- like abbr, but more interactive, consider desktop/mobile.
- Build-time checks: make sure the components exists, compile it.
- Move Cherry code into a ~component~ macro that will write the Cherry component on the disk. Keep everything in src, pages should be all generated (CSS? SVG?)* Links
- [[https://github.com/jakub-stastny/jakubstastny/tree/rel?tab=readme-ov-file#links][Production links]] such as Netlify and Google Analytics console as well as links to pages that link the site (YouTube Studio and my Reddit).