Jaidyn Ann
c8890a1d22
Fold serialized vCards’ lines to ~70 characters
...
The spec recommends splitting at 75 octets, but
that’s hard. We assume that 70 characters is
more-or-less 75 octets (even though with
UTF-8 chars this might be passed).
2024-02-20 15:24:28 -06:00
Jaidyn Ann
612dde9533
Function documentation and re-organization
...
Purely for legibility; no functional changes.
2024-02-20 00:54:45 -06:00
Jaidyn Ann
099e74cc38
Fix mistakenly adding “./” when uri->string’ing
...
This is due to weird/mistakenly input URLs…
like Matrix ones, which uri-common doesn’t like.
¯\_(ツ)_/¯
2024-02-18 21:46:55 -06:00
Jaidyn Ann
58f6fd70b8
Add WRITE-VCARD function to complement READ-VCARD
2024-02-18 19:22:55 -06:00
Jaidyn Ann
dabda67b33
Start adding serializing vCard alists into strings
2024-02-15 01:08:56 -06:00
Jaidyn Ann
076fe6f24b
Better checks for EOF
2024-02-13 17:59:20 -06:00
Jaidyn Ann
1bf429571f
Signal exception if input isn’t vCard
...
… with a somewhat naïve check. Also, also count
horizontal-tab characters as starters of folded
lines (as per spec).
2024-02-13 14:13:33 -06:00
Jaidyn Ann
5de1c57b18
Parse data URIs into bytevector+mimetype lists
2024-02-11 09:22:32 -06:00
Jaidyn Ann
6c744928f8
Create vcarded module and egg
2024-02-07 00:44:46 -06:00
Jaidyn Ann
1e202b3c55
Fix truncating of last vcard-property
2024-02-06 22:34:34 -06:00
Jaidyn Ann
aaa6d5b292
Add parser for datetime property values
2024-02-06 22:33:02 -06:00
Jaidyn Ann
79f8c34c6c
Clean up and refactor value-parsing
2024-02-06 22:04:49 -06:00
Jaidyn Ann
246cec13ad
Change parsed-alist structure
...
Changes the format from
((PROP TRAIT1 TRAIT2 …) (VALUE1 VALUE2 …))
to
(PROP (TRAIT1 TRAIT2 …) VALUE1 VALUE2 …)
Also makes the line-splitting functions more
generic and efficient.
2024-02-06 18:07:18 -06:00
Jaidyn Ann
e3d181fee8
Add basis for value-parsing
...
URIs and CSVs are parsed, somewhat.
2024-02-06 17:47:42 -06:00
Jaidyn Ann
8e73f121be
Fix broken property-splitting
...
Also, now we avoid using regex, which is apparently
more efficient, According to TIME.
2024-02-06 12:11:26 -06:00
Jaidyn Ann
7af1c41b35
Fix line-splitting function (remove extraneous “:”)
2024-02-05 22:27:30 -06:00
Jaidyn Ann
ff259fe683
Much more efficient line-splitting
2024-02-05 22:08:25 -06:00
Jaidyn Ann
0a5ef01169
Switch to port-based reading/parsing
2024-02-05 21:55:57 -06:00
Jaidyn Ann
916ebdbea2
More reliable splitting of properties
2024-02-05 21:02:24 -06:00
Jaidyn Ann
67f35806b8
Init
2024-02-05 11:24:30 -06:00