hiccup
colisper
hiccup | colisper | |
---|---|---|
17 | 6 | |
2,634 | 21 | |
- | - | |
6.6 | 0.0 | |
3 months ago | almost 2 years ago | |
Clojure | Emacs Lisp | |
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.
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
colisper
-
Improving REPL experience in terminal?
Without Lem, how do you edit files? We need to edit and load files in the REPL. magic-ed could help. What if before loading the file, we added some style criticisms? The lisp-critic is waiting to be adopted and expanded (while colisper has too simple rules).
-
Rewrite (rule based Lisp (sort of))
Nice! Reminds me of Comby, which makes it easy to match & replace s-exprs too. https://comby.dev/ (I have this POC for predefined Lisp rules: colisper (warn: just a POC))
-
Anyone using code formatter for elisp?
It's also possible to run emacs in batch mode to indent a file: https://github.com/vindarel/colisper/blob/master/emacs-batch-indent.el I don't recall, maybe it won't fix very ill-indented files.
-
What are common mistakes or unidiomatic patterns you see beginners write in lisp ?
You can find examples here: https://github.com/g000001/lisp-critic (lisp-rules.lisp) and to a smaller extent, here: https://github.com/vindarel/colisper (src/catalogue directory). The lisp-critic is available by default on this custom readline REPL: https://ciel-lang.github.io/CIEL/#/repl?id=friendly-lisp-critic so it can be tried at the terminal (in conjunction with the %edit command). It would be nice if it had better editor integration though. (it shouldn't be too hard, there's one function (critique-file pathname) to call on a file).
-
TIL sort is destructive
This kind of stuff should be checked by static analysis tools. I added a rule in colisper (Comby underneath) to check that sort is followed by copy-seq. (best case right now, it doesn't match global vars with earmuffs). I looked at the lisp-critic, it has no check for sort but is a good candidate.
-
Common Lisp code quality assessment
I started colisper, based on Comby, whose goals are 1) to warn about code smells, according to rules you can also define (not unlike the lisp-critic) and 2) rewrite code, including from Emacs. So, it doesn't answer your examples (see sblint), but it might help for the "other metrics".
What are some alternatives?
Selmer - A fast, Django inspired template system in Clojure.
emacs-elisp-autofmt
reitit - A fast data-driven routing library for Clojure/Script
lisp-format - A tool to format lisp code. Designed to mimic clang-format.
biff - A Clojure web framework for solo developers.
aggressive-indent-mode - Emacs minor mode that keeps your code always indented. More reliable than electric-indent-mode.
re-frame - A ClojureScript framework for building user interfaces, leveraging React
slime-critic - SLIME extension for Lisp Critic
clojure - Various Clojure exercises, utilities and demos.
emacs-refactor - language-specific refactoring in Emacs
kit - Lightweight, modular framework for scalable web development in Clojure
cl-indentify - Automatic indentation for Common Lisp