jcard-to-vcard
A jCard to vCard converter with both a CLI and a programmatic module interface.
Heads Up!
This is still very much a WIP project and is not feature complete.
Install
$ yarn global add jcard-to-vcard # Or alternatively: `npm install --global jcard-to-vcard`
Usage
Programmatically
'use strict';
const fs = require('fs');
const jcardToVcard = require('jcard-to-vcard');
let source = fs.readFileSync('jcard.json').toString();
let jcard = JSON.parse(source);
let vcard = jcardToVcard(jcard);
CLI
$ jcard-to-vcard jcard.json > vcard.vcf
Testing
$ yarn test # Or alternatively: `npm test`
To-Do
- [ ] Property Parsing
- [x]
ADR
- [x]
ANNIVERSARY
- [x]
BDAY
- [x]
BEGIN
- [x]
CALADRURI
- [x]
CALURI
- [x]
CATEGORIES
- [ ]
CLIENTPIDMAP
- [x]
EMAIL
- [x]
END
- [ ]
FBURL
- [x]
FN
- [x]
GENDER
- [ ]
GEO
- [x]
IMPP
- [x]
KEY
- [x]
KIND
- [x]
LANG
- [ ]
LOGO
- [ ]
MEMBER
- [x]
N
- [x]
NICKNAME
- [x]
NOTE
- [x]
ORG
- [x]
PHOTO
- [x]
PRODID
- [x]
RELATED
- [x]
REV
- [x]
ROLE
- [ ]
SOUND
- [x]
SOURCE
- [x]
TEL
- [x]
TITLE
- [x]
TZ
- [ ]
UID
- [x]
URL
- [ ]
VERSION
- [ ]
XML
- [x]
- [ ] Parameter Parsing
- [ ]
ALTID
- [ ]
CALSCALE
- [ ]
GEO
- [ ]
LANGUAGE
- [ ]
MEDIATYPE
- [ ]
PID
- [ ]
PREF
- [ ]
SORT-AS
- [ ]
TYPE
- [ ]
TZ
- [ ]
VALUE
- [ ]
- [ ] Refactor Codebase
Reference
- Augmented BNF for Syntax Specifications: ABNF
- vCard Format Specification
- Parameter Value Encoding in iCalendar and vCard
- jCard: The JSON Format for vCard
- vCard Elements (IANA Protocol Registry)
License
This project is licensed under the terms of the MIT License (Expat). You can view the full license here.