add initial marp implementation with sample content and build configuration
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
import { createLocale } from '../locale.js';
|
||||
import { NUMBERS } from '../numbers/numbers_nemeth.js';
|
||||
import { identityTransformer } from '../transformers.js';
|
||||
const simpleEnglish = function (letter) {
|
||||
return letter.match(RegExp('^' + locale.ALPHABETS.languagePrefix.english))
|
||||
? letter.slice(1)
|
||||
: letter;
|
||||
};
|
||||
const postfixCombiner = function (letter, font, _number) {
|
||||
letter = simpleEnglish(letter);
|
||||
return font ? letter + font : letter;
|
||||
};
|
||||
const germanCombiner = function (letter, font, _cap) {
|
||||
return font + simpleEnglish(letter);
|
||||
};
|
||||
const embellishCombiner = function (letter, font, num) {
|
||||
letter = simpleEnglish(letter);
|
||||
return font + (num ? num : '') + letter + '⠻';
|
||||
};
|
||||
const doubleEmbellishCombiner = function (letter, font, num) {
|
||||
letter = simpleEnglish(letter);
|
||||
return font + (num ? num : '') + letter + '⠻⠻';
|
||||
};
|
||||
const parensCombiner = function (letter, font, _number) {
|
||||
letter = simpleEnglish(letter);
|
||||
return font + letter + '⠾';
|
||||
};
|
||||
let locale = null;
|
||||
export function nemeth() {
|
||||
if (!locale) {
|
||||
locale = create();
|
||||
}
|
||||
return locale;
|
||||
}
|
||||
function create() {
|
||||
const loc = createLocale();
|
||||
loc.NUMBERS = NUMBERS;
|
||||
loc.COMBINERS = {
|
||||
postfixCombiner: postfixCombiner,
|
||||
germanCombiner: germanCombiner,
|
||||
embellishCombiner: embellishCombiner,
|
||||
doubleEmbellishCombiner: doubleEmbellishCombiner,
|
||||
parensCombiner: parensCombiner
|
||||
};
|
||||
loc.FUNCTIONS.fracNestDepth = (_node) => false;
|
||||
loc.FUNCTIONS.fontRegexp = (font) => RegExp('^' + font);
|
||||
loc.FUNCTIONS.si = identityTransformer;
|
||||
loc.ALPHABETS.combiner = (letter, font, num) => {
|
||||
return font ? font + num + letter : simpleEnglish(letter);
|
||||
};
|
||||
loc.ALPHABETS.digitTrans = { default: NUMBERS.numberToWords };
|
||||
return loc;
|
||||
}
|
||||
Reference in New Issue
Block a user