itsv2agenda: support empty field with just [ \\n] - ics2txt - convert icalendar .ics file to plain text Err bitreich.org 70 hgit clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt URL:git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt bitreich.org 70 1Log /scm/ics2txt/log.gph bitreich.org 70 1Files /scm/ics2txt/files.gph bitreich.org 70 1Refs /scm/ics2txt/refs.gph bitreich.org 70 1Tags /scm/ics2txt/tag bitreich.org 70 1README /scm/ics2txt/file/README.md.gph bitreich.org 70 i--- Err bitreich.org 70 1commit fabc0ade1ea80ccf0f7e57b749676d5b976fd6ed /scm/ics2txt/commit/fabc0ade1ea80ccf0f7e57b749676d5b976fd6ed.gph bitreich.org 70 1parent f4e7114a3838d2bcd8b80fd946a5e4ada83e9b05 /scm/ics2txt/commit/f4e7114a3838d2bcd8b80fd946a5e4ada83e9b05.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Sun, 20 Jun 2021 19:57:34 +0200 Err bitreich.org 70 i Err bitreich.org 70 itsv2agenda: support empty field with just [ \\n] Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i R .site/head.gph -> .head.gph | 0 Err bitreich.org 70 i R .site/head.html -> .head.html | 0 Err bitreich.org 70 i D .site/style.css | 39 ------------------------------- Err bitreich.org 70 i M Makefile | 6 +++--- Err bitreich.org 70 i M README.md | 13 ++++++++----- Err bitreich.org 70 i Err bitreich.org 70 i5 files changed, 11 insertions(+), 47 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/.site/head.gph b/.head.gph /scm/ics2txt/file/.head.gph.gph bitreich.org 70 1diff --git a/.site/head.html b/.head.html /scm/ics2txt/file/.head.html.gph bitreich.org 70 1diff --git a/.site/style.css b/.site/style.css /scm/ics2txt/file/.site/style.css.gph bitreich.org 70 i@@ -1,39 +0,0 @@ Err bitreich.org 70 i-body { Err bitreich.org 70 i- padding: 5em 5ch; Err bitreich.org 70 i- font-family: sans; Err bitreich.org 70 i- max-width: 550pt; Err bitreich.org 70 i- margin: auto; Err bitreich.org 70 i- line-height: 1.4em; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-a { Err bitreich.org 70 i- text-decoration: none; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-h1 { Err bitreich.org 70 i- line-height: 3em; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-h2,h3,h4,h5,h6 { Err bitreich.org 70 i- line-height: 2em; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-pre, code { Err bitreich.org 70 i- background: #f6f6f6; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-pre { Err bitreich.org 70 i- padding: 1em 2ch; Err bitreich.org 70 i- line-height: 1.1em; Err bitreich.org 70 i- overflow: auto; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-blockquote { Err bitreich.org 70 i- padding-left: 1.4ch; Err bitreich.org 70 i- margin-left: 1ch; Err bitreich.org 70 i- border-left: solid 1px grey; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-img { Err bitreich.org 70 i- max-width: 100%; Err bitreich.org 70 i-} Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/ics2txt/file/Makefile.gph bitreich.org 70 i@@ -1,5 +1,5 @@ Err bitreich.org 70 i NAME = ics2txt Err bitreich.org 70 i-VERSION = 0.2 Err bitreich.org 70 i+VERSION = 1.0 Err bitreich.org 70 i Err bitreich.org 70 i W = -Wall -Wextra -std=c99 --pedantic Err bitreich.org 70 i D = -D_POSIX_C_SOURCE=200811L -D_BSD_SOURCE -DVERSION='"${VERSION}"' Err bitreich.org 70 i@@ -42,8 +42,8 @@ dist: clean Err bitreich.org 70 i tar -cf - ${NAME}-${VERSION} | gzip -c >${NAME}-${VERSION}.tar.gz Err bitreich.org 70 i Err bitreich.org 70 i site: dist Err bitreich.org 70 i- notmarkdown README.md | notmarkdown-html | cat .site/head.html - >index.html Err bitreich.org 70 i- notmarkdown README.md | notmarkdown-gph | cat .site/head.gph - >index.gph Err bitreich.org 70 i+ notmarkdown README.md | notmarkdown-html | cat .head.html - >index.html Err bitreich.org 70 i+ notmarkdown README.md | notmarkdown-gph | cat .head.gph - >index.gph Err bitreich.org 70 i sed -i "s/VERSION/${VERSION}/g" index.* Err bitreich.org 70 i Err bitreich.org 70 i .SUFFIXES: .awk Err bitreich.org 70 1diff --git a/README.md b/README.md /scm/ics2txt/file/README.md.gph bitreich.org 70 i@@ -3,14 +3,17 @@ ics2txt Err bitreich.org 70 i Set of tools to work with the popular iCalendar format and converting to even Err bitreich.org 70 i simpler TSV and text forms. Err bitreich.org 70 i Err bitreich.org 70 i-The current implementation uses [awk](//josuah.net/wiki/awk/) scripts, but a Err bitreich.org 70 i-rather complete implementation of iCalendar, without memory leak or crash, is Err bitreich.org 70 i-already there, and used for the `ics2tree` linting tool. Err bitreich.org 70 i+* `ics2tsv` converts the iCalendar data to an easier-to-parse TSV format. Err bitreich.org 70 i+* `ics2tree` lints exhaustively all iCalendar content for inspection. Err bitreich.org 70 i+* `tsv2ics` convert back the TSV format to iCalendar. Err bitreich.org 70 i+* `tsv2agenda` displays converted TSV data to readable output. Err bitreich.org 70 i Err bitreich.org 70 i-`ics2tsv` converts the iCalendar data to an easier-to-parse TSV format. Err bitreich.org 70 i+An ical.c/ical.h library walks through the icalendar structure and is Err bitreich.org 70 i+used by the various `ics2*` parsing tools above. Err bitreich.org 70 i Err bitreich.org 70 i-So far, Awk-based parsing have been tested with the following inputs: Err bitreich.org 70 i+So far, parsing have been tested with the following inputs: Err bitreich.org 70 i Err bitreich.org 70 i * Zoom meetings generated events Err bitreich.org 70 i * FOSDEM events, like Err bitreich.org 70 i * Google Calendar Err bitreich.org 70 i+* L'agenda du Libre: Err bitreich.org 70 .