- complete vCard 4.0 (RFC 6350) support
 - jCard compatibility
 - hCard compatibility
 
- can parse vCards.
 - generates (roughly) jCards.
 
- implement more attributes.
 - test with output from various software.
 - implement: generate vcards from jcards
 - implement: generate hcards (there’s a start in https://github.com/mattt/vcard.js’s toHtml() method)
 - jCard <-> JSON-LD “http://json-ld.org/contexts/person” conversion
 
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));
});<!DOCTYPE html>
<html>
  <head>
    <script src="../src/vcard.js"></script>
    <script src="../src/vcf.js"></script>
  </head>
  <body>
    <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>
</body>