diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2025-02-10 09:27:37 +0000 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2025-02-10 09:27:37 +0000 |
commit | da9a28e4cc9106a8eba89cc2bf99692c7b3a4baf (patch) | |
tree | cc6d561566e4c2754efac952a4652a36d97aa2d8 /output.c | |
parent | 9a9bd6657dc82662567b748434a8547acc7c0193 (diff) |
added new output formats
Diffstat (limited to 'output.c')
-rw-r--r-- | output.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/output.c b/output.c new file mode 100644 index 0000000..6f9b53b --- /dev/null +++ b/output.c @@ -0,0 +1,39 @@ +#include <stdio.h> + +#include "tokens.h" + +extern token tokens[1024]; +extern int tokcount; + +void printashtml(token t) { + char *start, *end; + switch (t.type) { + case HEADING: start = "<h1>"; end = "</h1>\n"; break; + case DATE: start = "<h2>"; end = "</h2>\n"; break; + case TODO: start = "<h3>"; end = "</h3>\n"; break; + case BULLET: start = "<p>"; end = "</p>\n"; break; + } + printf("%s%s%s", start, t.data, end); +} + +void printasgn(token t) { + char *start, *end; + switch (t.type) { + case HEADING: start = "* "; end = " *"; break; + case DATE: start = " ["; end = "]"; break; + case TODO: start = " {"; end = "}\n"; break; + case BULLET: start = "- "; end = "\n"; break; + } + printf("%s%s%s", start, t.data, end); +} + +void printasgroff(token t) { + char *start, *end; + switch (t.type) { + case HEADING: start = ".NH\n"; end = "\n"; break; + case DATE: start = ".LP\n"; end = "\n"; break; + case TODO: start = ".LP\n"; end = "\n"; break; + case BULLET: start = ".PP\n"; end = "\n"; break; + } + printf("%s%s%s", start, t.data, end); +} |