changed literal text operator from ' to (

This commit is contained in:
Julian Daube 2017-08-08 17:49:52 +02:00
parent a4674d7eee
commit 17da357871
2 changed files with 35 additions and 12 deletions

22
main.c
View File

@ -129,6 +129,12 @@ int parse_attr(FILE * stream, attr_set_t * output) {
isKey = 1; isKey = 1;
continue; continue;
} }
if (isKey && buffer == '.') {
isKey = 0;
current_attr.name.c_str = "class";
current_attr.name.len = 6;
continue;
}
if (buffer == '=') { if (buffer == '=') {
isKey = 0; isKey = 0;
continue; continue;
@ -146,12 +152,15 @@ int parse_attr(FILE * stream, attr_set_t * output) {
// append last attribute // append last attribute
attr_set_append(output, &current_attr); attr_set_append(output, &current_attr);
#ifdef DEBUG
printf("parsed attr: %s=%s\n", current_attr.name.c_str, current_attr.value);
#endif
//memset(output, 0, sizeof(attr_set_t)); //memset(output, 0, sizeof(attr_set_t));
return strip(stream); return strip(stream);
} }
int parse_text(FILE * stream, FILE * output) { int parse_text(int mode, FILE * stream, FILE * output) {
#ifdef DEBUG #ifdef DEBUG
printf("parse text\n"); printf("parse text\n");
#endif #endif
@ -163,12 +172,11 @@ int parse_text(FILE * stream, FILE * output) {
escaped = 1; escaped = 1;
continue; continue;
} }
if (!escaped && buffer == '"') { if (!escaped && buffer == mode) {
break; break;
} }
escaped = 0; escaped = 0;
if (mode == '"' && html_escape(buffer, output)) {
if (html_escape(buffer, output)) {
continue; continue;
} }
@ -247,8 +255,10 @@ enum node_type {
}; };
int parse_node(int current, FILE * stream, FILE * output) { int parse_node(int current, FILE * stream, FILE * output) {
if (current == '"') { if (current == '"' || current == '(') {
return parse_text(stream, output); if (current == '(') current = ')';
return parse_text(current, stream, output);
} }
// normal node // normal node

View File

@ -1,26 +1,39 @@
!DOCTYPE[html] !DOCTYPE[html]
head { head {
title { "was geht" } title { "Alle meine Entchen" }
meta[charset=utf-8] meta[charset=utf-8]
style {
(.strophe {
border-width:1px;
border-type:solid;
border-color:black;
background-color:gray;
font-type:italic;
color: white;
padding: 0.5em;
})
$index.html$
}
} }
body { body {
h1 { "Alle Meine Endchen schwimmen auf dem See" } h3{ "Alle meine Entchen" }
p { p[.strophe] {
"Alle meine Entchen schwimmen auf dem See, "Alle meine Entchen schwimmen auf dem See,
schwimmen auf dem See, schwimmen auf dem See,
Köpfchen in das Wasser, Schwänzchen in die Höh'." Köpfchen in das Wasser, Schwänzchen in die Höh'."
} }
p { p[.strophe] {
"Alle meine Täubchen gurren auf dem Dach, "Alle meine Täubchen gurren auf dem Dach,
gurren auf dem Dach, gurren auf dem Dach,
eins fliegt in die Lüfte, fliegen alle nach." eins fliegt in die Lüfte, fliegen alle nach."
} }
p { p[.strophe] {
"Alle meine Hühner scharren in dem Stroh, "Alle meine Hühner scharren in dem Stroh,
scharren in dem Stroh, scharren in dem Stroh,
finden sie ein Körnchen, sind sie alle froh." finden sie ein Körnchen, sind sie alle froh."
} }
p { p[.strophe] {
"Alle meine Gänschen watscheln durch den Grund, "Alle meine Gänschen watscheln durch den Grund,
watscheln durch den Grund, watscheln durch den Grund,
suchen in dem Tümpel, werden kugelrund." suchen in dem Tümpel, werden kugelrund."