improve tttml-html qualityness and replace markup->tttml again - tttml - conver… | |
git clone git://bitreich.org/tttml git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
--- | |
commit 83b0368ca37208587a5abadefd12628d80374ab4 | |
parent fd08ceaed88288f846c89bbb7b191379064625ee | |
Author: Josuah Demangeon <[email protected]> | |
Date: Fri, 11 May 2018 19:57:26 +0200 | |
improve tttml-html qualityness and replace markup->tttml again | |
In awk, even if a match() happen in an external funciton, it sets | |
RLENGTH an friends, so these variables needs to be saved before | |
calling other functions. | |
match(string, /patttttern/); | |
match_inside™(); | |
substr(string, 1, RLENGTH); | |
becomes: | |
match(string, /patttttern/); | |
len = RLENGTH; | |
match_inside™(); | |
substr(string, 1, len); | |
Diffstat: | |
M Makefile | 2 +- | |
M README | 56 ++++++++++++++++-------------… | |
M tttml-gopher | 2 +- | |
M tttml-html | 24 +++++++++++++++++++----- | |
M tttml.5 | 10 +++++----- | |
5 files changed, 54 insertions(+), 40 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
@@ -5,7 +5,7 @@ MAN5 = tttml.5 | |
all: | |
README: Makefile $(MAN1) $(MAN5) | |
- mandoc -T utf8 $(MAN5) $(MAN1) | col -bx >$@ | |
+ mandoc -T ascii $(MAN5) $(MAN1) | col -bx >$@ | |
install: | |
mkdir -p $(PREFIX)/bin | |
diff --git a/README b/README | |
@@ -1,14 +1,14 @@ | |
-MARKUP(5) File Formats Manual MARKUP(5) | |
+TTTML(5) File Formats Manual TTTML(5) | |
NAME | |
- markup simpler markup syntax than markdown | |
+ tttml - simpler markup syntax than markdown | |
SYNOPSIS | |
- markup.md | |
+ file.md | |
DESCRIPTION | |
- The markup format is a very simple format for writiing text that look | |
- good enough to be published without conversion. It lacks the markdown | |
+ The tttml format is a very simple format for writiing text that look good | |
+ enough to be published without conversion. It lacks the markdown | |
recursive syntax (such as recursive lists anb quotes) which also remove | |
markdown ambiguities. Each block of text is separated from anotherone by | |
an empty line. | |
@@ -20,22 +20,22 @@ DESCRIPTION | |
Second paragraph of text. | |
- title Block that ends by a line with only =: | |
+ title Block that ends by a line with only `=': | |
Title can therefore have multiple lines if required | |
although it is not advised. | |
====================================================== | |
heading | |
- Block that ends with a line with only -: | |
+ Block that ends with a line with only `-': | |
Heading can also have multiple lines | |
------------------------------------------------------ | |
subheading | |
- Block with a single line with at least 3 leading # characters | |
+ Block with a single line with at least 3 leading `#' characters | |
starting at subheading and going down the outline (subheading, | |
- subsubheading ...) every time an additionnal # is added: | |
+ subsubheading ...) every time an additionnal `#' is added: | |
### Subheading | |
@@ -56,7 +56,7 @@ DESCRIPTION | |
- Note that multi-paragraph lists are not handled | |
- quote Block that has a leading > on every line: | |
+ quote Block that has a leading `>' on every line: | |
> Mail-style quoting. Note that nested quotes | |
> are not handled. | |
@@ -71,14 +71,14 @@ DESCRIPTION | |
link Block that start with a label line and eventual subsequent | |
description lines: | |
- [label]: git://josuah.net/git/markup.git | |
- git repository for the markup set of tools | |
+ [label]: git://josuah.net/git/tttml | |
+ git repository for the tttml set of tools | |
[label2]: /url/without/description.txt | |
SEE ALSO | |
smu(1), simple markup - markdown like syntax: | |
- https://github.com/Gottox/smu | |
+ https://github.com/Gottox/smu | |
AUTHORS | |
Josuah Demangeon <[email protected]> | |
@@ -90,7 +90,7 @@ OpenBSD 6.3 April 19, 2018 … | |
TTTML-FMT(1) General Commands Manual TTTML-FMT(1) | |
NAME | |
- tttml-fmt format/pretty-print a tttml file | |
+ tttml-fmt - format/pretty-print a tttml file | |
SYNOPSIS | |
tttml-fmt [file...] | |
@@ -102,22 +102,22 @@ DESCRIPTION | |
Most markdown documents can be converted to tttml(5) with if they do not | |
have recursive elents such as nested lists or nested quotes. | |
- The paragraphs are being filled to 80 columns, | |
+ o The paragraphs are being filled to 80 columns, | |
- The empty lines are set as apropriate | |
+ o The empty lines are set as apropriate | |
- The blocks merged together are separated, such as lists without | |
+ o The blocks merged together are separated, such as lists without | |
separating blank spaces. | |
- The title and heading horizontal lines are expanded to 80 | |
+ o The title and heading horizontal lines are expanded to 80 | |
columns. | |
- The tags with the tagline merged with the paragraph are separated | |
+ o The tags with the tagline merged with the paragraph are separated | |
on their own line. | |
SEE ALSO | |
tttml-gopher(1), smu(1), tttml(5), simple tttml - markdown like syntax: | |
- https://github.com/Gottox/smu | |
+ https://github.com/Gottox/smu | |
AUTHORS | |
Josuah Demangeon <[email protected]> | |
@@ -129,7 +129,7 @@ OpenBSD 6.3 April 19, 2018 … | |
TTTML-GOPHER(1) General Commands Manual TTTML-GOPHER(1) | |
NAME | |
- tttml-gopher generate a gophermap from a tttml file | |
+ tttml-gopher - generate a gophermap from a tttml file | |
SYNOPSIS | |
tttml-gopher host port [file...] | |
@@ -140,17 +140,17 @@ DESCRIPTION | |
rest. host and port is used to set the host in links that do not have a | |
host, such as /path/to/file.txt | |
- All URI starting with a / and ending with a / are printed | |
- using the 1 entry type | |
+ o All URI starting with a `/' and ending with a `/' are printed | |
+ using the `1' entry type | |
- All URI starting with a / and not ending with a / are printed | |
- using the 0 | |
+ o All URI starting with a `/' and not ending with a `/' are printed | |
+ using the `0' | |
- All URI starting with 0, 1, 7, 8, 9, a, g, h or | |
- I followed by a / and all gopher:// URI are printed using | |
+ o All URI starting with `0', `1', `7', `8', `9', `a', `g', `h' or | |
+ `I' followed by a `/' and all "gopher://" URI are printed using | |
the corresponding entry type. | |
- All other URI are printed using the h entry type | |
+ o All other URI are printed using the `h' entry type | |
AUTHORS | |
Josuah Demangeon <[email protected]> | |
diff --git a/tttml-gopher b/tttml-gopher | |
@@ -13,7 +13,7 @@ | |
BEGIN { | |
if (ARGC < 3 || 4 < ARGC) { | |
- print("usage: markup-gph <host> <port> [<file>]"); | |
+ print("usage: tttml-gph <host> <port> [<file>]"); | |
exit(1); | |
} | |
HOST = ARGV[1]; | |
diff --git a/tttml-html b/tttml-html | |
@@ -6,12 +6,13 @@ function esc(str) | |
gsub("<", "\\<", str); | |
gsub(">", "\\>", str); | |
gsub("\"", "\\"", str); | |
+ gsub("'", "\\'", str); | |
return str; | |
} | |
function format(blk) | |
{ | |
- gsub("[*_]", "", blk); | |
+ gsub("[*_/]", "", blk); | |
for (out = ""; match(blk, /\[[^]]+\]/);) { | |
out = out substr(blk, 1, RSTART - 1); | |
@@ -29,6 +30,18 @@ function paragraph(blk) | |
print("<p>" format(esc(blk)) "</p>"); | |
} | |
+function blockquote(blk) | |
+{ | |
+ if (blk) | |
+ print("<blockquote>" format(esc(blk)) "</blockquote>"); | |
+} | |
+ | |
+function list(blk) | |
+{ | |
+ if (blk) | |
+ print("<ul><li>" format(esc(blk)) "</li></ul>"); | |
+} | |
+ | |
function title(blk) | |
{ | |
print("\n<h1>" esc(blk) "</h1>\n"); | |
@@ -48,8 +61,9 @@ function tag(blk) | |
{ | |
print(""); | |
match(blk, /^\*[^*]*\*:/); | |
- print("<dt>" esc(substr(blk, 1, RLENGTH)) "</dt>"); | |
- print("<dd>" esc(substr(blk, RLENGTH + 1)) "</dd>"); | |
+ len = RLENGTH; | |
+ print("<dt>" format(esc(substr(blk, 1, len - 2))) "</dt>"); | |
+ print("<dd>" format(esc(substr(blk, len + 2))) "</dd>"); | |
} | |
function link(blk) | |
@@ -78,8 +92,8 @@ function literal() | |
function printblk(blk) | |
{ | |
if (type == PARAGRAPH) paragraph(blk); | |
- else if (type == QUOTE) quote(blk, "> ", "> "); | |
- else if (type == LIST) list(blk, "- ", " "); | |
+ else if (type == QUOTE) blockquote(blk); | |
+ else if (type == LIST) list(blk); | |
else if (type == TAG) tag(blk); | |
else if (type == LINK) link(blk); | |
} | |
diff --git a/tttml.5 b/tttml.5 | |
@@ -1,17 +1,17 @@ | |
.Dd $Mdocdate: April 19 2018$ | |
-.Dt MARKUP 5 | |
+.Dt TTTML 5 | |
.Os | |
. | |
. | |
.Sh NAME | |
. | |
-.Nm markup | |
+.Nm tttml | |
.Nd simpler markup syntax than markdown | |
. | |
. | |
.Sh SYNOPSIS | |
. | |
-.Pa markup.md | |
+.Pa file.md | |
. | |
. | |
.Sh DESCRIPTION | |
@@ -115,8 +115,8 @@ Block that start with a label line and eventual subsequent … | |
lines: | |
. | |
.Bd -literal -offset 3n | |
-[label]: git://josuah.net/git/markup.git | |
-git repository for the markup set of tools | |
+[label]: git://josuah.net/git/tttml | |
+git repository for the tttml set of tools | |
[label2]: /url/without/description.txt | |
.Ed |