mulog
hiccup
mulog | hiccup | |
---|---|---|
4 | 17 | |
471 | 2,636 | |
- | - | |
4.6 | 6.6 | |
about 1 month ago | 3 months ago | |
Clojure | Clojure | |
Apache License 2.0 | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mulog
-
Tracing: Structured Logging, but better in every way
There are logging libraries that include syntactically scoped timers, such as mulog (https://github.com/BrunoBonacci/mulog). While a great library, we preferred timbre (https://github.com/taoensso/timbre) and rolled our own logging timer macro that interoperates with it. More convenient to have such niceties in a Lisp of course.
- A History of Clojure (2020) [pdf]
- Logging verbosely into a ring buffer?
-
Debugging in Clojure
Assuming the crash doesn't cause the process to completely exit, you could indeed use `scope-capture` for this. This works well for local dev. In theory, you could use `sc.api/spy` in production code, and then attach a remote repl to diagnose any crashes. I wouldn't recommend this though, I think it would be best to use a good logging library like Mulog: https://github.com/BrunoBonacci/mulog
hiccup
-
Writing HTML by Hand
Not equivalent, but arguably more useful for manual authoring: Emmet [0] was all the range a while back, and I still use it to write HTML. It comes naturally if you're used to writing CSS-like selectors, and mostly gets out of the way.
DSL-wise, I've rather enjoyed Clojure's Hiccup [1].
[0] https://emmet.io/
[1] https://github.com/weavejester/hiccup
-
A History of Clojure (2020) [pdf]
* Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).
-
Clojure Bites - Render HTML, introducing selmer template library
I'd prefer hiccup.
-
That people produce HTML with string templates is telling us something
That is why I like Hiccup/ Clojure so much: https://github.com/weavejester/hiccup It is very natural to produce something resembling a document in pure Clojure data structures and then just convert it to valid HTML. I think, Reagent has some hiccup extensions that are nice like writing the class or id with a . or # notation right in the keyword describing the tag. So there probably still is some space to improve the ergonomics and probably performance. Concatenating strings still wins performance wise by a lot.
-
Building a website like it's 1999... in 2022
Clojure people have been doing this for a decade or so. It’s really so much better to work with. All started with Hiccup and when React came along you got Reagent and many more developments building on the idea.
-
Rux: A JSX-inspired way to render view components in Ruby
You’re halfway to Clojure’s hiccup syntax[1] there.
[1]: https://github.com/weavejester/hiccup/blob/master/doc/syntax...
-
I taught the chat bot an alternative syntax for HTML, called HBML, basically just braces instead of tags... we are so screwed
That, or Hiccup.
-
[how to] Generate server-side HTML
I'm about to learn PureScript, coming from a functional TypeScript, Clojure and Elm background. To get a first taste for the language I thought I'd rewrite my Clojure test-app which generates static HTML files from JSON input using the (hiccup templating library)[https://github.com/weavejester/hiccup]. Is there some similar library in PureScript which would provide functions to create an HTML document and its content? I could not find anything when searching pursuit, but I might be just be using the correct search terms.
-
what web framework do you use?
In Clojure thing are much more decentralised. We tend to use basic data structures along with data DSLs like Hiccup to build our software since this is the simplest way to convey meaning while retaining structure to perform additional data transformations.
- Hiccup: Fast library for rendering HTML in Clojure
What are some alternatives?
timbre - Pure Clojure/Script logging library
Selmer - A fast, Django inspired template system in Clojure.
re-frame-10x - A debugging dashboard for re-frame. X-ray vision as tooling.
reitit - A fast data-driven routing library for Clojure/Script
debug-repl - A Clojure debug repl as nrepl middleware
biff - A Clojure web framework for solo developers.
clj-otel - An idiomatic Clojure API for adding telemetry to your libraries and applications using OpenTelemetry.
re-frame - A ClojureScript framework for building user interfaces, leveraging React
cider - The Clojure Interactive Development Environment that Rocks for Emacs
clojure - Various Clojure exercises, utilities and demos.
spyscope - Trace-oriented debugging tools for Clojure
colisper - Check and transform Lisp code with Comby (beta)