No description
Find a file
Jonathan Bernard 68554920e5 Fix bug in parsing TEL content. Rework unit tests.
- newVC3_Tel was not assigning the value provided to the constructed
  object.
- Private unit tests were run every time the code was compiled due to
  how the unittest library works. These now only run as part of the unit
  tests with `nimble test`.
2023-04-16 03:34:14 -05:00
doc Added RFC 6352 (CardDav). 2023-04-15 06:58:57 -05:00
examples Extract example from the README to a runnable location. 2023-04-16 03:31:37 -05:00
src Fix bug in parsing TEL content. Rework unit tests. 2023-04-16 03:34:14 -05:00
tests Fix bug in parsing TEL content. Rework unit tests. 2023-04-16 03:34:14 -05:00
.gitignore Initial VCard 3.0 implementation completed. 2023-04-04 14:31:44 -05:00
README.md Extract example from the README to a runnable location. 2023-04-16 03:31:37 -05:00
vcard.nimble Fix bug in parsing TEL content. Rework unit tests. 2023-04-16 03:34:14 -05:00

VCard

nim-vcard is a pure nim implementation of the VCard format defined in RFCs 2425, 2426, and 6350. It allows you to parse and serialize VCards, as well as create VCards programmatically. It aims to be a complete implememtation, supporting all of the features of the VCard3 standard. Because the standard provides many features that may be rarely used, this library also provides a simplified API for more typical use-cases.

Example Usage

BEGIN:VCARD
VERSION:3.0
UID: 5db6f100-e2d6-4e8d-951f-d920586bc069
N:Foster;Jack;Allen;;
FN:Allen Foster
REV:20230408T122102Z
EMAIL;TYPE=home;TYPE=pref:allen@fosters.test
EMAIL;TYPE=work:jack.foster@company.test
TEL;TYPE=CELL:+1 (555) 123-4567
END:VCARD

jdbernard/nim-vcard@4839ff64a8/examples/simple.nim (L1-L22)

Future Goals

  • VCard 4.0 support

Debugging

Need to clean up and organize

Run tvcard3 tests in gdb:

$ cd tests
$ nim --debuginfo --linedir:on c tvcard3
$ gdb --tui tvcard3