Outils pour utilisateurs

Outils du site


playground:syntaxhighlighting

Test de coloration syntaxique

Tout d'abord, un peu de PHP:

<?php
/**
 * ODT Plugin: Exports to ODT
 *
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * @author     Andreas Gohr <andi@splitbrain.org>
 * @author     Aurelien Bompard <aurelien@bompard.org>
 */
// must be run within Dokuwiki
if(!defined('DOKU_INC')) die();
 
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
require_once(DOKU_PLUGIN.'syntax.php');
 
class syntax_plugin_odt extends DokuWiki_Syntax_Plugin {
 
    /**
     * return some info
     */
    function getInfo(){
        return confToHash(dirname(__FILE__).'/info.txt');
    }
 
    /**
     * What kind of syntax are we?
     */
    function getType(){
        return 'substition';
    }

Maintenant, un peu de python :

import tidy
from lxml import etree
from PIL import Image
 
#pylint#: disable-msg=C0301,C0111
 
INSTALL_PATH = "."
 
INCH_TO_CM = 2.54
CHARSET = "utf-8"
 
__version__ = 0.1
 
class HTMLFile(object):
    """
    This class contains the HTML document to convert to ODT. The HTML code
    will be run through Tidy to ensure that is is valid and well-formed
    XHTML.
    """
 
    def __init__(self, options):
        self.options = options
        self.html = ""
 
    def read(self):
        """
        Read the HTML file from :attr:`options`.input, run it through Tidy, and
        filter using the selected ID (if applicable).
        """
        in_file = open(self.options.input)
        self.html = in_file.read()
        in_file.close()
        self.cleanup()
        if self.options.htmlid:
            self.select_id()

Et pour finir, un peu de shell :

# Requires: unzip, tidy, xsltproc
 
INSTALL_PATH="."
 
if [ $# -ne 3 ]; then
    echo "Usage: $0 <html-input-file> <odt-output-file> <odt-template-file>"
    exit 2
fi
 
htmlfile="$1"
odtfile="$2"
templatefile="$3"
 
if [ ! -d "$INSTALL_PATH/xsl" ]; then
    echo "Can't find the stylesheets in $INSTALL_PATH/xsl. Aborting" >&2
    exit 1
fi
 
# Unzip the template
tmpdir=`mktemp -d --tmpdir xhtml2odt-XXXX`
trap "rm -rf $tmpdir" EXIT
unzip -q -d $tmpdir/odt $templatefile
 
# Clean up the HTML
tidy -quiet -asxhtml -utf8 $htmlfile > $tmpdir/tidied.html

Et voilà !

playground/syntaxhighlighting.txt · Dernière modification : 2010/08/13 16:32 de abompard