net.cgrand.enlive-html
enlive-html is a selector-based transformation and extraction engine.
*options*
dynamic
add-class
(add-class & classes)
Adds the specified classes to the selected element.
after
(after & values)
Inserts the values after the current selection (node or fragment).
alter-ns-options!
(alter-ns-options! f & args)
Sets the default options to use by all templates and snippets in the declaring ns.
annotate
(annotate node)
any
any-node
append
(append & values)
Appends the values to the content of the selected element.
append!
(append! t)
(append! t a)
(append! t a b)
(append! t a b c)
(append! t a b c d)
(append! t a b c d e)
(append! t a b c d e f)
(append! t a b c d e f g)
(append! t a b c d e f g & more)
as-nodes
(as-nodes node-or-nodes)
at
macro
(at node-or-nodes & rules)
at*
(at* node-or-nodes rules)
attr-contains
Selector predicate, tests if the specified attributes contain the specified values. See CSS *= .
attr-ends
Selector predicate, tests if the specified attributes end with the specified values. See CSS $= .
attr-has
(attr-has attr & values)
Selector predicate, tests if the specified whitespace-seperated attribute contains the specified values. See CSS ~=
attr-starts
Selector predicate, tests if the specified attributes start with the specified values. See CSS ^= .
attr-values
(attr-values node attr)
Returns the whitespace-separated values of the specified attr as a set or nil.
attr=
Selector predicate, tests if the specified attributes have the specified values.
attr?
(attr? & kws)
Selector predicate, tests if the specified attributes are present.
attr|=
Selector predicate, tests if the specified attributes start with the specified values. See CSS |= .
before
(before & values)
Inserts the values before the current selection (node or fragment).
but
(but selector-step)
Selector predicate, matches elements which are rejected by the specified selector-step. See CSS :not
but-node
(but-node selector-step)
Selector predicate, matches nodes which are rejected by the specified selector-step. See CSS :not
cacheable
(cacheable selector)
cacheable?
(cacheable? selector)
clone-for
macro
(clone-for comprehension & forms)
comment-node
content
(content & values)
Replaces the content of the element. Values can be nodes or collection of nodes.
defsnippet
macro
(defsnippet name source selector args & forms)
Define a named snippet – equivalent to (def name (snippet source selector args …)).
defsnippets
macro
(defsnippets source & specs)
deftemplate
macro
(deftemplate name source args & forms)
Defines a template as a function that returns a seq of strings.
do->
(do-> & fns)
Chains (composes) several transformations. Applies functions from left to right.
emit*
(emit* node-or-nodes)
emit-tag
(emit-tag tag t)
even
first-child
first-of-type
flatmap
(flatmap f node-or-nodes)
flatten-nodes-coll
(flatten-nodes-coll x)
fragment-selector?
(fragment-selector? selector)
get-resource
multimethod
(get-resource resource loader)
Loads a resource, using the specified loader. Returns a seq of nodes.
has
(has selector)
Selector predicate, matches elements which contain at least one element that matches the specified selector. See jQuery’s :has
has-class
(has-class & classes)
Selector predicate, :.foo.bar is as short-hand for (has-class “foo” “bar”).
html
(html & nodes-specs)
Allows to define inline fragments with a hiccup-like syntax.
html-content
(html-content & values)
Replaces the content of the element. Values are strings containing html code.
html-resource
(html-resource resource)
(html-resource resource options)
Loads an HTML resource, returns a seq of nodes.
html-snippet
(html-snippet & values)
Concatenate values as a string and then parse it with tagsoup. html-snippet doesn’t insert missing or tags.
id=
(id= id)
Selector predicate, :#foo is as short-hand for (id= “foo”).
intersection
(intersection preds)
last-child
last-of-type
left
(left selector-step)
Selector predicate, matches nodes whose immediate left sibling element is matched by the specified selector-step.
lefts
(lefts selector-step)
Selector predicate, matches nodes whose one left sibling element is matched by the specified selector-step.
let-select
macro
(let-select nodes-or-fragments bindings & body)
For each node or fragment, performs a subselect and bind it to a local, then evaluates body. bindings is a vector of binding forms and selectors.
lockstep-transform
(lockstep-transform nodes transformations-map)
lockstep-transformation
macro
(lockstep-transformation & forms)
move
(move src-selector dest-selector)
(move src-selector dest-selector combiner)
Takes all nodes (under the current element) matched by src-selector, removes them and combines them with the elements matched by dest-selector. By default, destination elements are replaced.
node-selector?
(node-selector? selector)
ns-options
(ns-options)
(ns-options ns)
nth-child
(nth-child b)
(nth-child a b)
Selector step, tests if the node has an+b-1 siblings on its left. See CSS :nth-child.
nth-last-child
(nth-last-child b)
(nth-last-child a b)
Selector step, tests if the node has an+b-1 siblings on its right. See CSS :nth-last-child.
nth-last-of-type
(nth-last-of-type b)
(nth-last-of-type a b)
Selector step, tests if the node has an+b-1 siblings of the same type (tag name) on its right. See CSS :nth-last-of-type.
nth-of-type
(nth-of-type b)
(nth-of-type a b)
Selector step, tests if the node has an+b-1 siblings of the same type (tag name) on its left. See CSS :nth-of-type.
odd
only-child
only-of-type
pred
(pred f)
Turns a predicate function on elements into a predicate-step usable in selectors.
prepend
(prepend & values)
Prepends the values to the content of the selected element.
re-pred
(re-pred re)
Turns a regex into a predicate-step on text nodes usable in selectors.
register-resource!
multimethod
remove-attr
(remove-attr & attr-names)
Dissocs attributes on the selected element.
remove-class
(remove-class & classes)
Removes the specified classes from the selected element.
replace-vars
(replace-vars m)
(replace-vars re m)
(replace-vars re m f)
By default, takes a map (or function) of keywords to strings and replaces all occurences of ${foo} by (m :foo) in text nodes and attributes. Does not recurse, you have to pair it with an appropriate selector. re is a regex whose first group will be passed to (comp m f) and f by default is #’keyword.
replace-words
(replace-words words-to-replacements)
Takes a map of words to replacement strings and replaces all occurences. Does not recurse, you have to pair it with an appropriate selector.
right
(right selector-step)
Selector predicate, matches nodes whose immediate right sibling element is matched by the specified selector-step.
rights
(rights selector-step)
Selector predicate, matches nodes whose one left sibling element is matched by the specified selector-step.
root
select
(select node-or-nodes selector)
Returns the seq of nodes or fragments matched by the specified selector.
select-fragments*
(select-fragments* nodes selector)
select-nodes*
(select-nodes* nodes selector)
self-closing-tags
set-attr
(set-attr & kvs)
Assocs attributes on the selected element.
set-ns-options!
(set-ns-options! options)
Sets the default options to use by all templates and snippets in the declaring ns.
set-ns-parser!
(set-ns-parser! parser)
Sets the default parser to use by all templates and snippets in the declaring ns.
snippet
macro
(snippet source selector args & forms)
A snippet is a function that returns a seq of nodes.
snippet*
macro
(snippet* nodes & body)
sniptest
macro
(sniptest source-string & forms)
A handy macro for experimenting at the repl
sniptest*
(sniptest* nodes f)
strict-mode
macro
(strict-mode & forms)
Adds xhtml-transitional DTD to switch browser in ‘strict’ mode.
strict-mode*
(strict-mode* node)
substitute
(substitute & values)
Replaces the current selection (node or fragment).
tag=
(tag= tag-name)
Selector predicate, :foo is as short-hand for (tag= :foo).
template
macro
(template source args & forms)
A template returns a seq of string.
text
(text node)
Returns the text value of a node.
text-node
text-pred
(text-pred f)
Turns a predicate function on strings (text nodes) into a predicate-step usable in selectors.
texts
(texts nodes)
Returns the text value of a nodes collection.
this-node
transform
(transform nodes selector transformation)
transform-content
macro
(transform-content & body)
transformation
macro
(transformation)
(transformation form)
(transformation form & forms)
union
(union preds)
unwrap
void
whitespace
with-options
macro
(with-options m & body)
wrap
(wrap tag)
(wrap tag attrs)
xml-parser
(xml-parser stream)
Loads and parse a XML resource and closes the stream.
xml-resource
(xml-resource resource)
Loads an XML resource, returns a seq of nodes.
zip-pred
(zip-pred f)
Turns a predicate function on elements locs into a predicate-step usable in selectors.
zip-select
(zip-select locs selector)
Returns the seq of locs matched by the specified selector.
zip-select-fragments*
(zip-select-fragments* locs state-from state-to)
zip-select-nodes*
(zip-select-nodes* locs state)