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