SMOLNET PORTAL home about changes
ibasic fmt program using fmtc - tttml - converters for a simpler syntax than markdown	Err	bitreich.org	70
hgit clone git://bitreich.org/tttml git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tttml	URL:git://bitreich.org/tttml git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tttml	bitreich.org	70
1Log	/scm/tttml/log.gph	bitreich.org	70
1Files	/scm/tttml/files.gph	bitreich.org	70
1Refs	/scm/tttml/refs.gph	bitreich.org	70
1Tags	/scm/tttml/tag	bitreich.org	70
1README	/scm/tttml/file/README.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit dfd29d4237158b9699334bbab6d22e4285e4a8a4	/scm/tttml/commit/dfd29d4237158b9699334bbab6d22e4285e4a8a4.gph	bitreich.org	70
1parent b9898661168d039dc96cb69c093089fde465cbbe	/scm/tttml/commit/b9898661168d039dc96cb69c093089fde465cbbe.gph	bitreich.org	70
hAuthor: Josuah Demangeon <mail@josuah.net>	URL:mailto:mail@josuah.net	bitreich.org	70
iDate:   Thu, 31 May 2018 23:36:36 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
ibasic fmt program using fmtc	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  A a.out                               |       0 	Err	bitreich.org	70
i  A a.out.core                          |       0 	Err	bitreich.org	70
i  A t                                   |      70 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  M tttml-gopher.1                      |      27 +++++++++++++++++++--------	Err	bitreich.org	70
i  A tttml.c                             |      73 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i5 files changed, 162 insertions(+), 8 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/a.out b/a.out	/scm/tttml/file/a.out.gph	bitreich.org	70
iBinary files differ.	Err	bitreich.org	70
1diff --git a/a.out.core b/a.out.core	/scm/tttml/file/a.out.core.gph	bitreich.org	70
iBinary files differ.	Err	bitreich.org	70
1diff --git a/t b/t	/scm/tttml/file/t.gph	bitreich.org	70
i@@ -0,0 +1,69 @@	Err	bitreich.org	70
i+   TTTML(5)                      File Formats Manual                     TTTML(5)	Err	bitreich.org	70
i+   NAME      tttml - simpler markup syntax than markdown  SYNOPSIS      file.md	Err	bitreich.org	70
i+   DESCRIPTION      The tttml format is a very simple format for writiing text	Err	bitreich.org	70
i+   that look good      enough to be published without conversion.  It lacks the	Err	bitreich.org	70
i+   markdown      recursive syntax (such as recursive lists anb quotes) which	Err	bitreich.org	70
i+   also remove      markdown ambiguities.  Each block of text is separated from	Err	bitreich.org	70
i+   anotherone by      an empty line.       paragraph              Any	Err	bitreich.org	70
i+   non-special block of text:                  First paragraph of text.	Err	bitreich.org	70
i+   Second paragraph of text.       title   Block that ends by a line with only	Err	bitreich.org	70
i+   `=':                  Title can therefore have multiple lines if required	Err	bitreich.org	70
i+   although it is not advised.	Err	bitreich.org	70
i+   ======================================================       heading	Err	bitreich.org	70
i+   Block that ends with a line with only `-':                  Heading can also	Err	bitreich.org	70
i+   have multiple lines	Err	bitreich.org	70
i+   ------------------------------------------------------       subheading	Err	bitreich.org	70
i+   Block with a single line with at least 3 leading `#' characters	Err	bitreich.org	70
i+   starting at subheading and going down the outline (subheading,	Err	bitreich.org	70
i+   subsubheading ...) every time an additionnal `#' is added:	Err	bitreich.org	70
i+   ### Subheading                  #### Subsubheading                  #####	Err	bitreich.org	70
i+   Subsubsubheading       tag     Block that start with a tag line:	Err	bitreich.org	70
i+   *tagline with asterisks and a column*:                 Body of the tag block	Err	bitreich.org	70
i+   that can span over multiple                 lines like regular paragraphs.	Err	bitreich.org	70
i+   list    Block that start with a dash:                  - List item.  The	Err	bitreich.org	70
i+   following lines might not have                   leading space.	Err	bitreich.org	70
i+   - Note that multi-paragraph lists are not handled       quote   Block that	Err	bitreich.org	70
i+   has a leading `>' on every line:                  > Mail-style quoting.  Note	Err	bitreich.org	70
i+   that nested quotes                 > are not handled.       literal	Err	bitreich.org	70
i+   Block that has a leading tab on every line:                          Nothing	Err	bitreich.org	70
i+   gets interpreted in these blocks.                         They get printed	Err	bitreich.org	70
i+   as-is.                                 They may contain extra tabs.	Err	bitreich.org	70
i+   link    Block that start with a label line and eventual subsequent	Err	bitreich.org	70
i+   description lines:                  [label]: git://josuah.net/git/tttml	Err	bitreich.org	70
i+   git repository for the tttml set of tools                  [label2]:	Err	bitreich.org	70
i+   /url/without/description.txt  SEE ALSO      smu(1), simple markup - markdown	Err	bitreich.org	70
i+   like syntax:      https://github.com/Gottox/smu  AUTHORS      Josuah	Err	bitreich.org	70
i+   Demangeon <mail@josuah.net>  OpenBSD 6.3                     April 19, 2018	Err	bitreich.org	70
i+   OpenBSD 6.3	Err	bitreich.org	70
i+   ------------------------------------------------------------------------------	Err	bitreich.org	70
i+   TTTML-FMT(1)                General Commands Manual	Err	bitreich.org	70
i+   TTTML-FMT(1)  NAME      tttml-fmt - format/pretty-print a tttml file	Err	bitreich.org	70
i+   SYNOPSIS      tttml-fmt [file...]  DESCRIPTION      The tttml-fmt utility	Err	bitreich.org	70
i+   reformat a tttml(5) and print valid format to      stdout.       Most	Err	bitreich.org	70
i+   markdown documents can be converted to tttml(5) with if they do not      have	Err	bitreich.org	70
i+   recursive elents such as nested lists or nested quotes.       o       The	Err	bitreich.org	70
i+   paragraphs are being filled to 80 columns,       o       The empty lines are	Err	bitreich.org	70
i+   set as apropriate       o       The blocks merged together are separated,	Err	bitreich.org	70
i+   such as lists without              separating blank spaces.       o       The	Err	bitreich.org	70
i+   title and heading horizontal lines are expanded to 80              columns.	Err	bitreich.org	70
i+   o       The tags with the tagline merged with the paragraph are separated	Err	bitreich.org	70
i+   on their own line.  SEE ALSO      tttml-gopher(1), smu(1), tttml(5), simple	Err	bitreich.org	70
i+   tttml - markdown like syntax:      https://github.com/Gottox/smu  AUTHORS	Err	bitreich.org	70
i+   Josuah Demangeon <mail@josuah.net>  OpenBSD 6.3                     April 19,	Err	bitreich.org	70
i+   2018                     OpenBSD 6.3	Err	bitreich.org	70
i+   ------------------------------------------------------------------------------	Err	bitreich.org	70
i+   TTTML-GOPHER(1)             General Commands Manual	Err	bitreich.org	70
i+   TTTML-GOPHER(1)  NAME      tttml-gopher - generate a gophermap from a tttml	Err	bitreich.org	70
i+   file  SYNOPSIS      tttml-gopher host port [file...]  DESCRIPTION      The	Err	bitreich.org	70
i+   tttml-gopher utility convert file to a gophermap format, simply by	Err	bitreich.org	70
i+   converting all link entries, converting tabs into spaces and printing the	Err	bitreich.org	70
i+   rest.  host and port is used to set the host in links that do not have a	Err	bitreich.org	70
i+   host, such as /path/to/file.txt       o       All URI starting with a `/' and	Err	bitreich.org	70
i+   ending with a `/' are printed              using the `1' entry type       o	Err	bitreich.org	70
i+   All URI starting with a `/' and not ending with a `/' are printed	Err	bitreich.org	70
i+   using the `0'       o       All URI starting with `0', `1', `7', `8', `9',	Err	bitreich.org	70
i+   `a', `g', `h' or              `I' followed by a `/' and all "gopher://&; URI	Err	bitreich.org	70
i+   are printed using              the corresponding entry type.       o	Err	bitreich.org	70
i+   All other URI are printed using the `h' entry type  AUTHORS      Josuah	Err	bitreich.org	70
i+   Demangeon <mail@josuah.net>  OpenBSD 6.3                     April 19, 2018	Err	bitreich.org	70
i+   OpenBSD 6.3	Err	bitreich.org	70
i+\ No newline at end of file	Err	bitreich.org	70
1diff --git a/tttml-gopher.1 b/tttml-gopher.1	/scm/tttml/file/tttml-gopher.1.gph	bitreich.org	70
i@@ -90,17 +90,28 @@ entry type	Err	bitreich.org	70
i .\" For sections 1, 4, 6, 7, 8, and 9 printf/stderr messages only.	Err	bitreich.org	70
i .\" .Sh ERRORS	Err	bitreich.org	70
i .\" For sections 2, 3, 4, and 9 errno settings only.	Err	bitreich.org	70
i-.\" .Sh SEE ALSO	Err	bitreich.org	70
i-.\" .Xr foobar 1	Err	bitreich.org	70
i-.\" .Sh STANDARDS	Err	bitreich.org	70
i-.\" .Sh HISTORY	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+.Sh SEE ALSO	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+.Xr tttml-fmt 1	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+.Sh STANDARDS	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i+.Rs	Err	bitreich.org	70
i+.%A Anklesari	Err	bitreich.org	70
i+.%A McCahill	Err	bitreich.org	70
i+.%A Lindner	Err	bitreich.org	70
i+.%A Johnson	Err	bitreich.org	70
i+.%A Torrey	Err	bitreich.org	70
i+.%A Alberti	Err	bitreich.org	70
i+.%D March 1993	Err	bitreich.org	70
i+.%T The Internet Gopher Protocol	Err	bitreich.org	70
i+.%R RFC 1436	Err	bitreich.org	70
i+.Re	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .Sh AUTHORS	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .An Josuah Demangeon	Err	bitreich.org	70
i .Aq Mt mail@josuah.net	Err	bitreich.org	70
i-.	Err	bitreich.org	70
i-.	Err	bitreich.org	70
i-.\" .Sh CAVEATS	Err	bitreich.org	70
i-.\" .Sh BUGS	Err	bitreich.org	70
1diff --git a/tttml.c b/tttml.c	/scm/tttml/file/tttml.c.gph	bitreich.org	70
i@@ -0,0 +1,73 @@	Err	bitreich.org	70
i+#include <string.h>	Err	bitreich.org	70
i+#include <stdio.h>	Err	bitreich.org	70
i+#include <ctype.h>	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+#define WORD_MAX        1024	Err	bitreich.org	70
i+#define MIN(x, y)        ((x) < (y) ? (x) : (y))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+/*	Err	bitreich.org	70
i+ * Put the character c to stdout, and if the line is too long, insert	Err	bitreich.org	70
i+ * a newline.  If c == EOF, flush the last word out of fmtc's static	Err	bitreich.org	70
i+ * buffer.	Err	bitreich.org	70
i+ *	Err	bitreich.org	70
i+ * It preserve the double space after a punctuation mark [.!?] if any.	Err	bitreich.org	70
i+ */	Err	bitreich.org	70
i+int	Err	bitreich.org	70
i+fmtc(char c, char *prefix, int max)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        static int pos = 0, nspaces = 0, wlen = 0, was_space = 1, was_punct = 0, first = 1;	Err	bitreich.org	70
i+        static char word[WORD_MAX], *w = word;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        if (c != ' ' && c != '\n' && c != EOF) {	Err	bitreich.org	70
i+                if (wlen + 1 < WORD_MAX) {	Err	bitreich.org	70
i+                        *w++ = c;	Err	bitreich.org	70
i+                        wlen++;	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                was_space = 0;	Err	bitreich.org	70
i+                was_punct = !!strchr(".!?", c);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        } else {	Err	bitreich.org	70
i+                if (!was_space) {	Err	bitreich.org	70
i+                        was_space = 1;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                        if (pos + nspaces + wlen > max) {	Err	bitreich.org	70
i+                                pos = strlen(prefix);	Err	bitreich.org	70
i+                                fputc('\n', stdout);	Err	bitreich.org	70
i+                                fputs(prefix, stdout);	Err	bitreich.org	70
i+                        } else if (!first) {	Err	bitreich.org	70
i+                                pos += nspaces;	Err	bitreich.org	70
i+                                while (nspaces-- > 0)	Err	bitreich.org	70
i+                                        fputc(' ', stdout);	Err	bitreich.org	70
i+                        }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                        pos += wlen;	Err	bitreich.org	70
i+                        word[wlen] = '\0';	Err	bitreich.org	70
i+                        fputs(word, stdout);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                        w = word;	Err	bitreich.org	70
i+                        wlen = 0;	Err	bitreich.org	70
i+                        nspaces = 1;	Err	bitreich.org	70
i+                } else {	Err	bitreich.org	70
i+                        nspaces = was_punct ? 2 : 1;	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                if (c == EOF)	Err	bitreich.org	70
i+                        fputc('\n', stdout);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+                first = 0;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        return c;	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+int	Err	bitreich.org	70
i+main(void)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        int c;	Err	bitreich.org	70
i+        char *prefix;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        prefix = "   |";	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        fputs(prefix, stdout);	Err	bitreich.org	70
i+        while (fmtc(fgetc(stdin), prefix, 80) != EOF);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/tttml/commit/dfd29d4237158b96...
Content-Typetext/plain; charset=utf-8