|  | @@ -14,6 +14,18 @@ var MAP_LANGUAGES = {
 | 
	
		
			
				|  |  |    'html': 'markup'
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +// Base languages syntaxes, extended by other syntaxes, need to be
 | 
	
		
			
				|  |  | +// required before all.
 | 
	
		
			
				|  |  | +var PRELUDE = ['clike', 'javascript', 'markup', 'c', 'ruby', 'css'];
 | 
	
		
			
				|  |  | +PRELUDE.map(requireSyntax);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Load the syntax definition for a language id
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +function requireSyntax(lang) {
 | 
	
		
			
				|  |  | +    require('prismjs/components/prism-' + lang + '.js');
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  function getAssets() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    var cssFiles = this.config.get('pluginsConfig.prism.css', []);
 | 
	
	
		
			
				|  | @@ -61,7 +73,7 @@ module.exports = {
 | 
	
		
			
				|  |  |        // Try and find the language definition in components folder
 | 
	
		
			
				|  |  |        if (!languages[lang]) {
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  | -          require('prismjs/components/prism-' + lang + '.js');
 | 
	
		
			
				|  |  | +            requireSyntax(lang);
 | 
	
		
			
				|  |  |          } catch (e) {
 | 
	
		
			
				|  |  |            console.warn('Failed to load prism syntax: ' + lang);
 | 
	
		
			
				|  |  |            console.warn(e);
 |