vcardjs
v0.3.0
Published
** Goals - complete vCard 4.0 (RFC 6350) support - jCard compatibility - hCard compatibility
Downloads
56
Readme
#+TITLE: vCardJS - a vCard 4.0 implementation in JavaScript.
** Goals
- complete vCard 4.0 (RFC 6350) support
- jCard compatibility
- hCard compatibility
** Features
- can parse vCards.
- generates (roughly) jCards.
** TODOs
- implement more attributes.
- test with output from various software.
- implement: generate vcards from jcards
- implement: generate hcards (there's a start in [[vcard.js][https://github.com/mattt/vcard.js]]'s toHtml() method)
- jCard <-> JSON-LD "http://json-ld.org/contexts/person" conversion
** Examples *** parse a vcard from a string:
#+BEGIN_SRC javascript
VCF.parse(input, function(vcard) { // this function is called with a VCard instance. // If the input contains more than one vCard, it is called multiple times. console.log("Formatted name", vcard.fn); console.log("Names", JSON.stringify(vcard.n)); });
#+END_SRC
*** load vcard from a file:
#+BEGIN_SRC html
<script>
function loadVCard() {
var fileReader = new FileReader();
fileReader.onloadend = function() {
document.getElementById('input').innerText = fileReader.result;
VCF.parse(fileReader.result, function(vc) {
document.getElementById('output').innerText = JSON.stringify(vc);
});
};
fileReader.readAsText(document.getElementById('upload').files[0]);
}
</script>
<input type="file" id="upload">
<button onclick="loadVCard()">Load vCard</button>
<h1>IN:</h1>
<pre id="input"></pre>
<h1>OUT:</h1>
<pre id="output"></pre>
** References
- [[http://datatracker.ietf.org/doc/rfc6350/?include_text%3D1][RFC 6350 - vCard Format Specification (Proposed Standard)]]
- [[http://microformats.org/wiki/jCard][jCard]]
- [[http://microformats.org/wiki/json][ufJSON - JSON representation of microformats]]
- [[http://docs.jquery.com/QUnit][QUnit]]