summaryrefslogtreecommitdiff
path: root/html-jen.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'html-jen.lisp')
-rw-r--r--html-jen.lisp70
1 files changed, 0 insertions, 70 deletions
diff --git a/html-jen.lisp b/html-jen.lisp
deleted file mode 100644
index 6074888..0000000
--- a/html-jen.lisp
+++ /dev/null
@@ -1,70 +0,0 @@
-(in-package :html-jen)
-
-(defparameter *indent* 0)
-(defparameter *indent-increment* 2)
-(defparameter *yeni-satır* t)
-
-(defgeneric node->html (node &optional stream)
- (:method (node &optional (stream *standard-output*))
- (write-string node stream))
- (:documentation "NODE u STREAM e yazar"))
-
-(defun tag-yeni-satır? (tag)
- (case tag
- ((:html :head :body :div :ol :ul) t)
- ((:title :p :b :i :code :li) nil)))
-
-(defun tag-inline? (tag)
- (case tag
- ((:html :head :body :div :ol :ul :li :p) nil)
- ((:title :b :i :code) t)))
-
-(defmethod node->html :before ((node node) &optional (stream *standard-output*))
- (unless (not *yeni-satır*)
- (loop :for i :from 0 :below *indent*
- :do (write-char #\Space stream)))
- (if (null (props node))
- (format stream "<~a>" (tag node))
- (loop :initially (format stream "<~a" (tag node))
- :for (k v) :on (props node) :by #'cddr
- :do (format stream " ~a=\"~a\"" k v)
- :finally (write-char #\> stream)))
- (setf *yeni-satır* nil)
- (when (tag-yeni-satır? (tag node))
- (write-char #\Newline stream)
- (setf *yeni-satır* t)))
-
-(defmethod node->html ((node node) &optional (stream *standard-output*))
- (if (null (children node))
- (format stream "~a" (value node))
- (let ((*indent* (+ *indent* *indent-increment*)))
- (loop :for child :in (children node)
- :do (node->html child stream)))))
-
-(defmethod node->html :after ((node node) &optional (stream *standard-output*))
- (unless (not *yeni-satır*)
- (loop :for i :from 0 :below *indent*
- :do (write-char #\Space stream)))
- (if (tag-inline? (tag node))
- (format stream "</~a>" (tag node))
- (progn (format stream "</~a>~%" (tag node))
- (setf *yeni-satır* t))))
-
-
-(defun node->cons (node)
- "node u listeye çevirir."
- (if (stringp node)
- node
- (if (null (children node))
- (list (tag node) (props node) (value node))
- (append (list (tag node) (props node))
- (mapcar #'node->cons (children node))))))
-
-(defparameter bir-node
- (node! :html (list (node! :head
- (list (node! :title nil nil "başlık"))
- nil nil)
- (node! :body
- (list (node! :p nil '(:color "red") "içerik"))
- nil nil))
- nil nil))