Comments (4)
Seqs are only allowed in the contents of element vectors. It doesn't make syntactic sense to encase attributes in a seq.
So it's intentional :)
from hiccup.
I think I distilled too much the example, losing my intention :), I was trying to use the seq expanding facility to return attributes + element content from a function, like:
(defn myf [] (seq '({:bgcolor "red"} "p content")))
(html [:p (myf)])
;=> I expected "<p bgcolor=red>p content</p>" but got "<p>{:bgcolor \"red\"}p content</p>"
Obviously I can fix this by passing the tag name to myf and making myf return all the element vector, but would be nice if the seq expansion worked in the same way it do with elements. So consider this as a suggestion, not as a bug report :)
from hiccup.
This seems an fairly rare use-case, and it feels semantically wrong to group the attributes and content together in a seq. It will also impact performance, as it prevents some compiler optimisations.
For those reasons I think I'll keep the current behaviour the way it is. I'm afraid you'll need to pass the tag name to your myf function.
from hiccup.
I understand, thanks for the reply!
from hiccup.
Related Issues (20)
- Replace license.html with license.txt (for artifact scanners) HOT 9
- Passing nil query param values to to url-encode throws exception
- New version? HOT 15
- :script async HOT 1
- Clojerl support HOT 2
- Historical question: Why is hiccup called hiccup? HOT 2
- link to api docs in project description is broken HOT 3
- Please remove.
- Fragment equivalent for the back end. HOT 2
- *escape-strings?* HOT 1
- hiccup.core/h not backward-compatible HOT 1
- Getting RuntimeException: no such var util/raw-string HOT 2
- Parameters for iframe src attribute HOT 8
- clj-kondo exported config HOT 4
- void-tags might not be complete HOT 3
- "Method code too large!" when compiling the hiccup2.core/html macro HOT 1
- Exponential increase in generated code when there are multiple nested hiccup2.core/html calls HOT 4
- Style attribute with a map as value: doesn't evaluate code within the map
- Sentence needed in readme.md to clarify status of original hiccup namespaces, when using hiccup2? HOT 3
- API docs to update to RC3?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hiccup.