added site files
This commit is contained in:
parent
a6f70a6c78
commit
329148c253
253 changed files with 30486 additions and 0 deletions
85
EnlighterJS/Source/LanguageManager.js
Normal file
85
EnlighterJS/Source/LanguageManager.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
---
|
||||
description: defines a key/value object with language aliases e.g. javascript -> js
|
||||
|
||||
license: MIT-style
|
||||
|
||||
authors:
|
||||
- Andi Dittrich
|
||||
|
||||
requires:
|
||||
- Core/1.4.5
|
||||
|
||||
provides: [EnlighterJS.LanguageManager]
|
||||
...
|
||||
*/
|
||||
EJS.LanguageManager = new Class({
|
||||
|
||||
Implements : Options,
|
||||
|
||||
options: {
|
||||
'language': 'generic'
|
||||
},
|
||||
|
||||
/**
|
||||
* @constructs
|
||||
* @param {Object} options The options object.
|
||||
*/
|
||||
initialize : function(options) {
|
||||
this.setOptions(options);
|
||||
},
|
||||
|
||||
// map of language aliases
|
||||
languageAliases: {
|
||||
'standard': 'generic',
|
||||
'js': 'javascript',
|
||||
'md': 'markdown',
|
||||
'c++': 'cpp',
|
||||
'c': 'cpp',
|
||||
'styles': 'css',
|
||||
'bash': 'shell',
|
||||
'py': 'python',
|
||||
'html': 'xml',
|
||||
'jquery': 'javascript',
|
||||
'mootools': 'javascript',
|
||||
'ext.js': 'javascript',
|
||||
'c#': 'csharp',
|
||||
'conf': 'ini'
|
||||
},
|
||||
|
||||
// get language name, process aliases and default languages
|
||||
getLanguage: function(languageName){
|
||||
// get default language
|
||||
var defaultLanguage = (this.options.language != null ? this.options.language.trim().toLowerCase() : '');
|
||||
|
||||
// alias available ?
|
||||
if (this.languageAliases[defaultLanguage]){
|
||||
defaultLanguage = this.languageAliases[defaultLanguage];
|
||||
}
|
||||
|
||||
// default language class available ?
|
||||
if (defaultLanguage.trim() == '' || !EJS.Language[defaultLanguage]){
|
||||
defaultLanguage = 'generic';
|
||||
}
|
||||
|
||||
// valid string ?
|
||||
if (languageName == null || languageName.trim() == ''){
|
||||
return defaultLanguage;
|
||||
}
|
||||
|
||||
// "clean" languge name
|
||||
languageName = languageName.trim().toLowerCase();
|
||||
|
||||
// alias available ?
|
||||
if (this.languageAliases[languageName]){
|
||||
languageName = this.languageAliases[languageName];
|
||||
}
|
||||
|
||||
// language class available ?
|
||||
if (EJS.Language[languageName]){
|
||||
return languageName;
|
||||
}else{
|
||||
return defaultLanguage;
|
||||
}
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue