aboutsummaryrefslogtreecommitdiff
path: root/unhtml.lisp
blob: 18bab64f894c5820b518993d120754ab7629cff4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(in-package :phaser.unhtml)

(defun node-has-text (node)
  (let ((tag (plump:tag-name node))
	(has-text (not (string= (plump:text node) ""))))
    (and (string= tag "p")
	 has-text)))

(defun text-children (dom)
  (loop for c across (plump:child-elements dom)
	if (node-has-text c) collect c ))

(defun text-excerpt (content length)
  (let ((text-nodes (text-children (plump:parse content))))
    (plump:text (first text-nodes))))