nodebook
Version:
Node.js • Apprendre par la pratique. Familiarisez-vous avec JavaScript, Node.js et l'écosystème de modules npm. Apprenez à concevoir et à déployer des *applications web* et des *outils en ligne de commande*.
25 lines (19 loc) • 568 B
JavaScript
;
const REGEX = /(\u00AB|\u2014)(?:\s+)|(?:\s+)([?!:;———–\u00BB])/g;
const microtypo = (line) => {
return REGEX.test(line)
? line.replace(REGEX, '$1{nbsp}$2')
: line;
};
module.exports = function microTypography () {
this.treeProcessor(function(){
this.process((doc) => {
doc.findBy({ context: 'paragraph' }).forEach(block => {
block.lines = block.lines.map(microtypo);
});
doc.findBy({ context: 'list_item' }).forEach(block => {
block.text = microtypo(block.text);
});
});
});
};