1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00

export folder as md or text

This commit is contained in:
Maurits Lourens
2017-11-20 17:33:17 +01:00
parent d29d5105f1
commit 959b75bddd
6 changed files with 206 additions and 26 deletions

View File

@@ -0,0 +1,64 @@
const { findStorage } = require('browser/lib/findStorage')
const resolveStorageData = require('./resolveStorageData')
const resolveStorageNotes = require('./resolveStorageNotes')
const path = require('path')
const fs = require('fs')
/**
* @param {String} storageKey
* @param {String} folderKey
* @param {String} fileType
* @param {String} exportDir
*
* @return {Object}
* ```
* {
* storage: Object,
* folderKey: String,
* fileType: String,
* exportDir: String
* }
* ```
*/
function exportFolder (storageKey, folderKey, fileType, exportDir) {
let targetStorage
try {
targetStorage = findStorage(storageKey)
} catch (e) {
return Promise.reject(e)
}
return resolveStorageData(targetStorage)
.then(function assignNotes (storage) {
return resolveStorageNotes(storage)
.then((notes) => {
return {
storage,
notes
}
})
})
.then(function exportNotes (data) {
const { storage, notes } = data
notes
.filter(note => note.folder === folderKey && note.isTrashed === false && note.type === 'MARKDOWN_NOTE')
.forEach(snippet => {
const notePath = path.join(exportDir, `${snippet.title}.${fileType}`)
console.log(notePath)
fs.writeFile(notePath, snippet.content, (err) => {
if (err) throw err
})
})
return {
storage,
folderKey,
fileType,
exportDir
}
})
}
module.exports = exportFolder