Text to HTML: Difference between revisions

m
→‎{{header|Phix}}: syntax coloured
m (→‎{{header|Phix}}: syntax coloured)
Line 391:
=={{header|Phix}}==
The best thing to do here is to keep it utterly trivial.
<!--<lang Phix>(phixonline)-->
<lang Phix>constant {hchars,hsubs} = columnize({{"&","&amp;"},
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
{"<","&lt;"},
<span style="color: #008080;">constant</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">hchars</span><span style="color: #0000FF;">,</span><span style="color: #000000;">hsubs</span><span style="color: #0000FF;">}</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">columnize</span><span style="color: #0000FF;">({{</span><span style="color: #008000;">"&"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"&amp;"</span><span style="color: #0000FF;">},</span>
{">","&gt;"},
<span style="color: #0000FF;">{</span><span style="\color: #008000;">"&lt;"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"&quotlt;"</span><span style="color: #0000FF;">},</span>
<span style="color: #0000FF;">{</span><span style="color: #008000;">"&gt;"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"&gt;"</span><span style="color: #0000FF;">},</span>
{"\'","&apos;"}})
<span style="color: #0000FF;">{</span><span style="color: #008000;">"\""</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"&quot;"</span><span style="color: #0000FF;">},</span>
 
<span style="color: #0000FF;">{</span><span style="color: #008000;">"\'"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"&apos;"</span><span style="color: #0000FF;">}})</span>
constant fmt = """
<html>
<span style="color: #008080;">constant</span> <span style="color: #000000;">fmt</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"""
<head><title>%s</title></head>
&lt;html&gt;
<body>
&lt;head&gt;&lt;title&gt;%s&lt;/title&gt;&lt;/head&gt;
<pre>
&lt;body&gt;
%s
</ &lt;pre>&gt;
%s
</body>
&lt;/pre&gt;
</html>
&lt;/body&gt;
"""
&lt;/html&gt;
 
"""</span>
function text_to_html_page(string title, text)
title = substitute_all(title,hchars,hsubs)
<span style="color: #008080;">function</span> <span style="color: #000000;">text_to_html_page</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">title</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">text</span><span style="color: #0000FF;">)</span>
text = substitute_all(text,hchars,hsubs)
<span style="color: #000000;">title</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">substitute_all</span><span style="color: #0000FF;">(</span><span style="color: #000000;">title</span><span style="color: #0000FF;">,</span><span style="color: #000000;">hchars</span><span style="color: #0000FF;">,</span><span style="color: #000000;">hsubs</span><span style="color: #0000FF;">)</span>
return sprintf(fmt,{title,text})
<span style="color: #000000;">text</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">substitute_all</span><span style="color: #0000FF;">(</span><span style="color: #000000;">text</span><span style="color: #0000FF;">,</span><span style="color: #000000;">hchars</span><span style="color: #0000FF;">,</span><span style="color: #000000;">hsubs</span><span style="color: #0000FF;">)</span>
-- return substitute_all(sprintf(fmt,{title,text}),hchars,hsubs)
<span style="color: #008080;">return</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">fmt</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">title</span><span style="color: #0000FF;">,</span><span style="color: #000000;">text</span><span style="color: #0000FF;">})</span>
end function
<span style="color: #000080;font-style:italic;">-- return substitute_all(sprintf(fmt,{title,text}),hchars,hsubs)</span>
 
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
constant text = """
This is
<span style="color: #008080;">constant</span> <span style="color: #000000;">text</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"""
a paragraph
This is
a block ofparagraph
code
a block of
* A one-bullet list code
> With quoted text
* A one-bullet list
>
> &gt; With quoted and codetext
code&gt;
"""
&gt; and code
 
"""</span>
puts(1,text_to_html_page("my title",text))</lang>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">text_to_html_page</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"my title"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">text</span><span style="color: #0000FF;">))</span>
<!--</lang>-->
{{out}}
The last line of text_to_html() (as commented out) was used to generate the
7,830

edits