use prism-tomorrow.css
This commit is contained in:
82
docs/_style/prism-master/components/index.js
Normal file
82
docs/_style/prism-master/components/index.js
Normal file
@ -0,0 +1,82 @@
|
||||
var components = require('../components.js');
|
||||
var peerDependentsMap = null;
|
||||
|
||||
function getPeerDependentsMap() {
|
||||
var peerDependentsMap = {};
|
||||
Object.keys(components.languages).forEach(function (language) {
|
||||
if (language === 'meta') {
|
||||
return false;
|
||||
}
|
||||
if (components.languages[language].peerDependencies) {
|
||||
var peerDependencies = components.languages[language].peerDependencies;
|
||||
if (!Array.isArray(peerDependencies)) {
|
||||
peerDependencies = [peerDependencies];
|
||||
}
|
||||
peerDependencies.forEach(function (peerDependency) {
|
||||
if (!peerDependentsMap[peerDependency]) {
|
||||
peerDependentsMap[peerDependency] = [];
|
||||
}
|
||||
peerDependentsMap[peerDependency].push(language);
|
||||
});
|
||||
}
|
||||
});
|
||||
return peerDependentsMap;
|
||||
}
|
||||
|
||||
function getPeerDependents(mainLanguage) {
|
||||
if (!peerDependentsMap) {
|
||||
peerDependentsMap = getPeerDependentsMap();
|
||||
}
|
||||
return peerDependentsMap[mainLanguage] || [];
|
||||
}
|
||||
|
||||
function loadLanguages(arr, withoutDependencies) {
|
||||
// If no argument is passed, load all components
|
||||
if (!arr) {
|
||||
arr = Object.keys(components.languages).filter(function (language) {
|
||||
return language !== 'meta';
|
||||
});
|
||||
}
|
||||
if (arr && !arr.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Array.isArray(arr)) {
|
||||
arr = [arr];
|
||||
}
|
||||
|
||||
arr.forEach(function (language) {
|
||||
if (!components.languages[language]) {
|
||||
console.warn('Language does not exist ' + language);
|
||||
return;
|
||||
}
|
||||
// Load dependencies first
|
||||
if (!withoutDependencies && components.languages[language].require) {
|
||||
loadLanguages(components.languages[language].require);
|
||||
}
|
||||
|
||||
var pathToLanguage = './prism-' + language;
|
||||
delete require.cache[require.resolve(pathToLanguage)];
|
||||
delete Prism.languages[language];
|
||||
require(pathToLanguage);
|
||||
|
||||
// Reload dependents
|
||||
var dependents = getPeerDependents(language).filter(function (dependent) {
|
||||
// If dependent language was already loaded,
|
||||
// we want to reload it.
|
||||
if (Prism.languages[dependent]) {
|
||||
delete Prism.languages[dependent];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
if (dependents.length) {
|
||||
loadLanguages(dependents, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = function (arr) {
|
||||
// Don't expose withoutDependencies
|
||||
loadLanguages(arr);
|
||||
};
|
Reference in New Issue
Block a user