Convert Chome Bookmarks to Evernote .exex

Can parse Chrome (Netscape) bookmarks and convert to Evernote import format. FOlders are converted to tags

by jeffbarrera

HTML

<div>Migrate Chrome Bookmarks to Evernote</div>   
   <div>____</div>   
   <div>Export Chrome bookmarks - Go to Bookmarks > Bookmark manager > Organise > Export bookmarks to HTML file</div>   
   <div>Paste Chrome Bookmarks export output as html here</div>   
   <textarea id="bookmarkSource" rows="10" cols="50"></textarea>
   <div style="display:none" id="divToParse"></div>
   <div>
    <input type="button" id="parse" value="Click to convert to Evernote XML" /><div id="status"></div>  
    </div>
   
   <textarea id="result" rows="10" cols="50"></textarea>
<div>Copy, paste and save as *.enex file using notepad or similar - careful to use utf-8 encoding</div> </ br>
   <div>Import to evernote</div> </ br>
   <div>Move notes to a 'Synced' Notebook</div> </ br>

JavaScript

$("#parse").click(function(event) {
    $("#divToParse").html($("#bookmarkSource").val());
    result = "";
    number_parsed = 0;
    folders_parsed = 0;
    parseDL($("#divToParse").find('dl').first(), ['root']);

    result = "<" + "?xml version=\"1.0\" encoding=\"utf-8\"?" + ">" + "<!DOCTYPE en-export SYSTEM \"http://xml.evernote.com/pub/evernote-export.dtd\">" + "<en-export export-date=\"" + ISODateString(new Date()) + "\" application=\"Evernote/Windows\" version=\"4.x\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\" xmlns:myCustDate=\"urn:custDate\">" + result + "</en-export>";

    $("#result").text(result);
    $("#status").text("parsed: " + number_parsed + " bookmarks in " + folders_parsed + " subfolders");

});

function parseDL(context, folder_path) {
    context.children('dt').each(function(index) {
        if ($(this).children('h3').length) {
            folders_parsed++;
            var _path = folder_path.slice();
            var _new = $(this).children('h3:first').text();

            if (_path.length) {
                _new = _path[_path.length - 1] + '::' + _new;
            }
            _path.push(_new);
            parseDL($(this).children('dl'), _path);
        } else {
            createNote(this, folder_path);
        }
    });
}


function createNote(context, folder_path) {
    number_parsed++;
    var a = $(context).children('a:first');
    var url = a.attr('href').encodeHTML();
    var ADD_DATE = ISODateString(new Date(1000 * parseInt(a.attr('ADD_DATE'), 10)));
    var title = a.text().encodeHTML();
    var tags = "";
    
    var raw_tags = a.attr('TAGS').split(',');
    for (var i = 0, l = raw_tags.length; i < l; i++) {
        tags += "<tag>" + raw_tags[i].encodeHTML() + "</tag>";
    }
    
    var note = "<note><title>" + title + "</title><content> <" + "![CDATA[ <!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">  <en-note>" + title + "<br /><a href=\"" + url + "\">" + url + "</a></en-note>]" +...