Rebol Programming/build-markup
Jump to navigation
Jump to search
USAGE:[edit | edit source]
BUILD-MARKUP content /quiet
DESCRIPTION:[edit | edit source]
Return markup text replacing <%tags%> with their evaluated results.
BUILD-MARKUP is a function value.
ARGUMENTS[edit | edit source]
- content -- (Type: string file url)
REFINEMENTS[edit | edit source]
- /quiet -- Do not show errors in the output.
SOURCE CODE[edit | edit source]
build-markup: func [ {Return markup text replacing <%tags%> with their evaluated results.} content [string! file! url!] /quiet "Do not show errors in the output." /local out eval value ][ content: either string? content [copy content] [read content] out: make string! 126 eval: func [val /local tmp] [ either error? set/any 'tmp try [do val] [ if not quiet [ tmp: disarm :tmp append out reform ["***ERROR" tmp/id "in:" val] ] ] [ if not unset? get/any 'tmp [append out :tmp] ] ] parse/all content [ any [ end break | "<%" [copy value to "%>" 2 skip | copy value to end] (eval value) | copy value [to "<%" | to end] (append out value) ] ] out ]