Hat Ihnen dieser Beitrag gefallen?

t3n Social News ist ein offenes News- und Link-Portal rund um die Themenbereiche Open Source, Web 2.0, Webentwicklung, Apple, Linux und TYPO3.

 

Twitter

Folgen Sie Jürg Langhard, dem Inhaber und Geschäftsführer von GreenBanana GmbH, bei Twitter.

Syntax Highlighter für TYPO3

GreenBanana GmbH hat für den Eigengebrauch eine TYPO3-Erweiterung programmiert, mit der Quelltext in verschiedenen Sprachen publiziert werden kann.

Websitebetreiber erhalten damit eine einfache Möglichkeit mit wenigen Klicks Quellcode lesbar und übersichtlich darzustellen.

Die Extension ist im offiziellen TYPO3 Extension Repository erhältlich.

Ein herzliches Dankeschen möchten wir an Herr Alex Gorbatchev richten. Er hat die verwendete JavaScript-Library programmiert.

  • Einfache Pflege des anzuzeigenden Quellcodes
  • Mehrwert für die Community dank einfachem Export

Beispiel: PHP

/**
 * initializes the flexform and all config options ;-)
 */
function init(){
    $this->pi_initPIflexForm(); // Init and get the flexform data of the plugin
    $this->lConf = array(); // Setup our storage array...
    // Assign the flexform data to a local variable for easier access
    $piFlexForm = $this->cObj->data['pi_flexform'];
    // Traverse the entire array based on the language...
    // and assign each configuration option to $this->lConf array...
    foreach ( $piFlexForm['data'] as $sheet => $data ) {
        foreach ( $data as $lang => $value ) {
            foreach ( $value as $key => $val ) {
                $this->lConf[$key] = $this->pi_getFFvalue($piFlexForm, $key, $sheet);
            }
        }
    }
}

Beispiel: JavaScript

/**
 * Creates new toolbar for a highlighter.
 * @param {Highlighter} highlighter    Target highlighter.
 */
create : function(highlighter)
{
	var div = document.createElement('DIV'),
		items = sh.toolbar.items
		;
	
	div.className = 'toolbar';
	for (var name in items) 
	{
		var constructor = items[name],
			command = new constructor(highlighter),
			element = command.create()
			;
		highlighter.toolbarCommands[name] = command;
		if (element == null)
			continue;
		if (typeof(element) == 'string')
			element = sh.toolbar.createButton(element, highlighter.id, name);	
		element.className += 'item ' + name;
		div.appendChild(element);
	}
	return div;
},

Beispiel: XML

<T3DataStructure>
    <sheets>
        <sheet1>
            <ROOT>
                <TCEforms>
                    <sheetTitle>Syntax-Highlighter</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <codesnippet>
                        <TCEforms>
                            <label>Code Snippet</label>
                            <config>
                                <type>text</type>
                                <cols>30</cols>
                                <rows>20</rows>
                            </config>
                        </TCEforms>
                    </codesnippet>
                    <language>
                        <TCEforms>
                            <label>Language</label>
							<config>
							 <type>select</type>
							 <items type="array">
							   <numIndex index="0" type="array">
							    <numIndex index="0">Plain</numIndex>
							    <numIndex index="1">plain</numIndex>
							   </numIndex>
							   <numIndex index="1" type="array">
							    <numIndex index="0">Bash</numIndex>
							    <numIndex index="1">bash</numIndex>
							    </numIndex>						   
							  </items>
							</config>
                        </TCEforms>
                    </language>
                </el>
            </ROOT>
        </sheet1>		
    </sheets>
</T3DataStructure>

Kommentare

einen Kommentar schreiben
Wenn Sie das Wort nicht lesen können, bitte hier klicken.
CAPTCHA Bild zum Spamschutz


Blog Netiquette

Dieses Blog ist eine offene Dialog-Plattform, auf der Mitarbeiter von GreenBanana Beiträge veröffentlichen.

Umgangston im Blog vom GreenBanana

  • Behandeln Sie andere hier im Blog immer so, wie Sie selbst behandelt werden möchten.
  • Jeder hat eine eigene Meinung und das Recht seine Meinung hier kundzutun. Sachliche Diskussionen, auch eine gesunde Streitkultur ist bei kritischen Themen wünschenswert. «Hart, aber fair», lautet die Devise hier im Blog.
  • In diesem Blog haben persönliche Angriffe, übertriebener Sarkasmus, Beleidigungen oder Beschimpfungen nichts zu suchen. 
  • Die Blog-Kommentarfunktion soll somit eine sachliche Diskussion ermöglichen. Um dies zu gewährleisten, behalten wir uns auch vor, Kommentare zu löschen, die einer Diskussion nicht dienlich sind und die sich nicht auf die Beiträge beziehen. Es besteht kein Anspruch auf Veröffentlichung.

Wir löschen bzw. sperren Kommentare bei:

  • Aufforderungen zu Gewalt gegen Personen, Institutionen oder Unternehmen
  • Pornografie
  • Missbrauch als Werbefläche für Webseiten oder Dienste
  • Rassismus und Hasspropaganda
  • Beleidigungen, Verletzungen, persönliche Angriffe oder Entwürdigungen von Personen oder Firmen in jeglicher Form.
  • Aufruf zu Demonstrationen und Kundgebungen jeglicher politischer Richtung
  • Kommentare, die sich nicht auf den kommentierten Beitrag beziehen

Ausschlussklausel für Haftung
Die Kommentare zu unseren Beiträgen spiegeln allein die Meinung einzelner Leser wider. Für die Richtigkeit und Vollständigkeit der Inhalte übernimmt GreenBanana keinerlei Gewähr.