I'm trying to repoduce in Jade following output code (incluiding carriage returns) with no success:
Trying to output following:
<?xml version="1.0"?>
<!DOCTYPE j:jelly
[
<!ENTITY aacute "á">
<!ENTITY Aacute "Á">
<!ENTITY ordm "º">
<!ENTITY euro "€">
<!ENTITY amp "&">
<!ENTITY iquest "¿">
<!ENTITY iexcl "¡">
<!ENTITY copy "©">
]>
in Jade code I have:
<?xml version="1.0"?>
doctype j:jelly[<!ENTITY aacute "á"><!ENTITY Aacute "Á"><!ENTITY eacute "é"><!ENTITY ordm "º"><!ENTITY euro "€"><!ENTITY amp "&"><!ENTITY iquest "¿"><!ENTITY iexcl "¡"><!ENTITY copy "©"> ]
which outputs one-only line (working but messy, no carriage returns):
<?xml version="1.0"?>
<!DOCTYPE j:jelly [<!ENTITY aacute "á"><!ENTITY Aacute "Á"><!ENTITY ordm "º"><!ENTITY euro "€"><!ENTITY amp "&"><!ENTITY iquest "¿"><!ENTITY iexcl "¡"><!ENTITY copy "©">]>
so just add line breaks with raw text:
<?xml version="1.0"?>
| < doctype j:jelly
| [
| <!ENTITY aacute "á">
| <!ENTITY Aacute "Á">
| <!ENTITY eacute "é">
| <!ENTITY ordm "º">
| <!ENTITY euro "€">
| <!ENTITY amp "&">
| <!ENTITY iquest "¿">
| <!ENTITY iexcl "¡">
| <!ENTITY copy "©">
| ]>
to get
<?xml version="1.0"?>
< doctype j:jelly
[
<!ENTITY aacute "á">
<!ENTITY Aacute "Á">
<!ENTITY eacute "é">
<!ENTITY ordm "º">
<!ENTITY euro "€">
<!ENTITY amp "&">
<!ENTITY iquest "¿">
<!ENTITY iexcl "¡">
<!ENTITY copy "©">
]>
Because this is using only raw text you may consider to use the include statement.
With
start.jade:
include ./other.jade
and
other.jade:
<?xml version="1.0"?>
< doctype j:jelly
[
<!ENTITY aacute "á">
<!ENTITY Aacute "Á">
<!ENTITY eacute "é">
<!ENTITY ordm "º">
<!ENTITY euro "€">
<!ENTITY amp "&">
<!ENTITY iquest "¿">
<!ENTITY iexcl "¡">
<!ENTITY copy "©">
]>
You will get
/usr/lib/node_modules/jade/lib/runtime.js:240
throw err;
^
Error: other.jade:3
1| <?xml version="1.0"?>
2| < doctype j:jelly
> 3| [
4| <!ENTITY aacute "á">
5| <!ENTITY Aacute "Á">
6| <!ENTITY eacute "é">
unexpected text [
<!
at Object.Lexer.fail (/usr/lib/node_modules/jade/lib/lexer.js:887:11)
at Object.Lexer.next (/usr/lib/node_modules/jade/lib/lexer.js:947:15)
at Object.Lexer.lookahead (/usr/lib/node_modules/jade/lib/lexer.js:113:46)
at Parser.lookahead (/usr/lib/node_modules/jade/lib/parser.js:102:23)
at Parser.peek (/usr/lib/node_modules/jade/lib/parser.js:79:17)
at Parser.parse (/usr/lib/node_modules/jade/lib/parser.js:117:26)
at Parser.parseInclude (/usr/lib/node_modules/jade/lib/parser.js:616:22)
at Parser.parseExpr (/usr/lib/node_modules/jade/lib/parser.js:223:21)
at Parser.parse (/usr/lib/node_modules/jade/lib/parser.js:122:25)
at parse (/usr/lib/node_modules/jade/lib/index.js:104:21)
because the to be included file is interpreted as jade template. Just rename it.
With
start.jade:
include ./other.inc
and
other.inc:
<?xml version="1.0"?>
< doctype j:jelly
[
<!ENTITY aacute "á">
<!ENTITY Aacute "Á">
<!ENTITY eacute "é">
<!ENTITY ordm "º">
<!ENTITY euro "€">
<!ENTITY amp "&">
<!ENTITY iquest "¿">
<!ENTITY iexcl "¡">
<!ENTITY copy "©">
]>
You will get the expected
<?xml version="1.0"?>
< doctype j:jelly
[
<!ENTITY aacute "á">
<!ENTITY Aacute "Á">
<!ENTITY eacute "é">
<!ENTITY ordm "º">
<!ENTITY euro "€">
<!ENTITY amp "&">
<!ENTITY iquest "¿">
<!ENTITY iexcl "¡">
<!ENTITY copy "©">
]>