Skip to content

Commit

Permalink
refactored markup macros, added basic Atom definitions.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim Burks committed Oct 9, 2010
1 parent 7ca2c0c commit f4eb828
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 18 deletions.
19 changes: 19 additions & 0 deletions nu/atom.nu
@@ -0,0 +1,19 @@
(load "NuMarkup:macros")

(set &feed (NuMarkupOperator operatorWithTag:"feed" prefix:<<-END
<?xml version="1.0" encoding="UTF-8"?>
END))

# add tags as needed
(markup title
subtitle
id
generator
link
updated
entry
author
published
content
name)

14 changes: 14 additions & 0 deletions nu/macros.nu
@@ -0,0 +1,14 @@
;;
;; macro to define markup operators
;; see xhtml.nu, rss.nu, etc. for examples
;;
(macro markup (*names)
`(progn
(',*names each:
(do (name)
(set stringName (name stringValue))
(set expression
(list 'global
((+ "&" stringName) symbolValue)
'(NuMarkupOperator operatorWithTag:stringName)))
(eval expression)))))
11 changes: 2 additions & 9 deletions nu/rss.nu
@@ -1,16 +1,9 @@
(load "NuMarkup:macros")

(set &rss (NuMarkupOperator operatorWithTag:"rss" prefix:<<-END
<?xml version="1.0" encoding="UTF-8"?>
END contents:(list)))

(macro markup (*names)
`(progn
(',*names each:
(do (name)
(set stringName (name stringValue))
(set expression
(list 'global ((+ "&" stringName) symbolValue) '(NuMarkupOperator operatorWithTag:stringName)))
(eval expression)))))

# add tags as needed
(markup channel
title
Expand Down
11 changes: 2 additions & 9 deletions nu/xhtml.nu
@@ -1,3 +1,5 @@
(load "NuMarkup:macros")

(global XMLNS "http://www.w3.org/1999/xhtml")

(set &html (NuMarkupOperator operatorWithTag:"html" prefix:<<-END
Expand All @@ -12,15 +14,6 @@ END contents:(list xmlns:XMLNS)))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
END contents:(list xmlns:XMLNS)))

(macro markup (*names)
`(progn
(',*names each:
(do (name)
(set stringName (name stringValue))
(set expression
(list 'global ((+ "&" stringName) symbolValue) '(NuMarkupOperator operatorWithTag:stringName)))
(eval expression)))))

# add tags as needed
(markup a
area
Expand Down

0 comments on commit f4eb828

Please sign in to comment.