/** * Helper function for generating the CSS rules. * * @return string * String with the CSS rules. */ public static function generateLanguagesCssRules() { $output = ''; $geshi_library = libraries_load('geshi'); if ($geshi_library['loaded']) { $languages = GeshiFilter::getAvailableLanguages(); foreach ($languages as $langcode => $language_full_name) { // Create GeSHi object. $geshi = GeshiFilterProcess::geshiFactory('', $langcode); GeshiFilterProcess::overrideGeshiDefaults($geshi, $langcode); // Add CSS rules for current language. $output .= $geshi->get_stylesheet(FALSE) . "\n"; // Release GeSHi object. unset($geshi); } } else { drupal_set_message(t('Error while generating CSS rules: could not load GeSHi library.'), 'error'); } return $output; }
/** * {@inheritdoc} */ public static function overrideGeshiDefaults(\Geshi &$geshi, $langcode) { $config = \Drupal::config('geshifilter.settings'); parent::overrideGeshiDefaults($geshi, $langcode); $geshi->enable_classes(TRUE); $geshi->set_header_type((int) $config->get('code_container', GESHI_HEADER_PRE)); }