yarle-evernote-to-md
Version:
Yet Another Rope Ladder from Evernote
20 lines (15 loc) • 801 B
text/typescript
import { yarleOptions } from '../../yarle';
import { OutputFormat } from './../../output-format';
import { filterByNodeName } from './filter-by-nodename';
import { getAttributeProxy } from './get-attribute-proxy';
export const taskItemsRule = {
filter: filterByNodeName('EN-TODO'),
replacement: (content: any, node: any) => {
const nodeProxy = getAttributeProxy(node);
// If <EN-TODO> is already in <LI> (it always is in newer Evernote builds),
// don't add an extra list bullet
const prefix = yarleOptions.outputFormat === OutputFormat.LogSeqMD ? '' :
node.parentElement?.nodeName?.toUpperCase() === 'LI' ? '' : '- ';
return `${prefix}${(nodeProxy.checked && nodeProxy.checked.value === 'true' ? '[x]' : '[ ]')} ${content}`;
},
};