trilium/src/routes/api/other.js
2024-02-25 08:12:07 +02:00

40 lines
973 B
JavaScript

const becca = require('../../becca/becca');
const markdownService = require('../../services/import/markdown');
function getIconUsage() {
const iconClassToCountMap = {};
for (const {value: iconClass, noteId} of becca.findAttributes('label', 'iconClass')) {
if (noteId.startsWith("_")) {
continue; // ignore icons of "system" notes since they were not set by the user
}
if (!iconClass?.trim()) {
continue;
}
for (const clazz of iconClass.trim().split(/\s+/)) {
if (clazz === 'bx') {
continue;
}
iconClassToCountMap[clazz] = (iconClassToCountMap[clazz] || 0) + 1;
}
}
return { iconClassToCountMap };
}
function renderMarkdown(req) {
const { markdownContent } = req.body;
return {
htmlContent: markdownService.renderToHtml(markdownContent, '')
};
}
module.exports = {
getIconUsage,
renderMarkdown
};