diff --git a/main.js b/main.js index e95d592..4cd31cc 100755 --- a/main.js +++ b/main.js @@ -28,11 +28,10 @@ var convert = function(filePath, outputDir) { var note = parser(data); var output = serializer.serialize(note); - if (output.length == 1) { - var d = output[0]; - console.log(d[0]); + output.forEach(d => { + console.log(filePath, d[0]); fs.writeFileSync(outputDir + '/' + d[0], d[1]); - } + }); } var files = fs.readdirSync(inputDir); diff --git a/serializer.js b/serializer.js index 26fb47d..ae3558b 100644 --- a/serializer.js +++ b/serializer.js @@ -6,9 +6,14 @@ var uuidV4 = require('uuid/v4'); */ var serialize = function(note) { // FIXME: Serialize the attachments! - return [ - [generateFilename(note), generateOutputFile(note)] - ]; + var out = note.attachments.map(generateAttachment); + var mainOutput = generateOutputFile(note); + out.forEach(a => { + var fileName = a[0]; + mainOutput += '\n![](./' + fileName + ')\n'; + }); + out.push([generateFilename(note), mainOutput]); + return out; }; @@ -60,6 +65,15 @@ function generateFilename(note) { return sanitizeString(note.title || note.date || uuidV4()) + '.md'; } +function generateAttachment(a) { + var regex = /^data:.+\/(.+);base64,(.*)$/; + var matches = a.substr(0, 100).match(regex); + var ext = matches[1]; + var data = a.substr(a.indexOf('base64') + 7) + var buffer = new Buffer(data, 'base64'); + return [uuidV4() + '.' + ext, buffer]; +} + module.exports = { serialize: serialize };