Locally add prismjs
This commit is contained in:
parent
35af792c6a
commit
6aa044cf9b
701 changed files with 35787 additions and 0 deletions
110
node_modules/prismjs/plugins/custom-class/prism-custom-class.js
generated
vendored
Normal file
110
node_modules/prismjs/plugins/custom-class/prism-custom-class.js
generated
vendored
Normal file
|
@ -0,0 +1,110 @@
|
|||
(function () {
|
||||
|
||||
if (typeof Prism === 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @callback ClassMapper
|
||||
* @param {string} className
|
||||
* @param {string} language
|
||||
* @returns {string}
|
||||
*
|
||||
* @callback ClassAdder
|
||||
* @param {ClassAdderEnvironment} env
|
||||
* @returns {undefined | string | string[]}
|
||||
*
|
||||
* @typedef ClassAdderEnvironment
|
||||
* @property {string} language
|
||||
* @property {string} type
|
||||
* @property {string} content
|
||||
*/
|
||||
|
||||
// options
|
||||
|
||||
/** @type {ClassAdder | undefined} */
|
||||
var adder;
|
||||
/** @type {ClassMapper | undefined} */
|
||||
var mapper;
|
||||
/** @type {string} */
|
||||
var prefixString = '';
|
||||
|
||||
|
||||
/**
|
||||
* @param {string} className
|
||||
* @param {string} language
|
||||
*/
|
||||
function apply(className, language) {
|
||||
return prefixString + (mapper ? mapper(className, language) : className);
|
||||
}
|
||||
|
||||
|
||||
Prism.plugins.customClass = {
|
||||
/**
|
||||
* Sets the function which can be used to add custom aliases to any token.
|
||||
*
|
||||
* @param {ClassAdder} classAdder
|
||||
*/
|
||||
add: function (classAdder) {
|
||||
adder = classAdder;
|
||||
},
|
||||
/**
|
||||
* Maps all class names using the given object or map function.
|
||||
*
|
||||
* This does not affect the prefix.
|
||||
*
|
||||
* @param {Object<string, string> | ClassMapper} classMapper
|
||||
*/
|
||||
map: function map(classMapper) {
|
||||
if (typeof classMapper === 'function') {
|
||||
mapper = classMapper;
|
||||
} else {
|
||||
mapper = function (className) {
|
||||
return classMapper[className] || className;
|
||||
};
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Adds the given prefix to all class names.
|
||||
*
|
||||
* @param {string} string
|
||||
*/
|
||||
prefix: function prefix(string) {
|
||||
prefixString = string || '';
|
||||
},
|
||||
/**
|
||||
* Applies the current mapping and prefix to the given class name.
|
||||
*
|
||||
* @param {string} className A single class name.
|
||||
* @param {string} language The language of the code that contains this class name.
|
||||
*
|
||||
* If the language is unknown, pass `"none"`.
|
||||
*/
|
||||
apply: apply
|
||||
};
|
||||
|
||||
Prism.hooks.add('wrap', function (env) {
|
||||
if (adder) {
|
||||
var result = adder({
|
||||
content: env.content,
|
||||
type: env.type,
|
||||
language: env.language
|
||||
});
|
||||
|
||||
if (Array.isArray(result)) {
|
||||
env.classes.push.apply(env.classes, result);
|
||||
} else if (result) {
|
||||
env.classes.push(result);
|
||||
}
|
||||
}
|
||||
|
||||
if (!mapper && !prefixString) {
|
||||
return;
|
||||
}
|
||||
|
||||
env.classes = env.classes.map(function (c) {
|
||||
return apply(c, env.language);
|
||||
});
|
||||
});
|
||||
|
||||
}());
|
1
node_modules/prismjs/plugins/custom-class/prism-custom-class.min.js
generated
vendored
Normal file
1
node_modules/prismjs/plugins/custom-class/prism-custom-class.min.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
!function(){if("undefined"!=typeof Prism){var n,s,a="";Prism.plugins.customClass={add:function(s){n=s},map:function(n){s="function"==typeof n?n:function(s){return n[s]||s}},prefix:function(n){a=n||""},apply:t},Prism.hooks.add("wrap",(function(e){if(n){var u=n({content:e.content,type:e.type,language:e.language});Array.isArray(u)?e.classes.push.apply(e.classes,u):u&&e.classes.push(u)}(s||a)&&(e.classes=e.classes.map((function(n){return t(n,e.language)})))}))}function t(n,t){return a+(s?s(n,t):n)}}();
|
Loading…
Add table
Add a link
Reference in a new issue