Benutzer:J*/lib/wiki.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt.
 
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
wiki = {
var wiki = {
     /*
     /*
     * getSource: fragt wiki nach Seitenquelltexten
     * getSource: fragt wiki nach Seitenquelltexten
Zeile 14: Zeile 14:
                 args.wiki = {};
                 args.wiki = {};


             new Ajax.Request( wgServer+wgScript, {
             jQuery.ajax( {
                 method:'get',
                 url: wgServer+wgScript,
                 parameters: 'action=raw&title='+escape(args.wiki.title)+'&'+args.wiki.args,
                 data: 'action=raw&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
                 onSuccess: function( transport ) { args.wiki.source = transport.responseText; wiki.getSource.continue(args) },
                 dataType: "text",
                 onFailure: function() { args.wiki.source = null; wiki.getSource.continue( args ) }
                success: function( transport ) { args.wiki.source = transport; wiki.getSource.continue(args) },
                 error: function() { args.wiki.source = null; wiki.getSource.continue( args ) }
             })
             })
         },
         },
Zeile 37: Zeile 38:
                 args.wiki = {};
                 args.wiki = {};


             new Ajax.Request( wgServer+wgScript, {
             jQuery.ajax( {
                 method:'get',
                 url: wgServer+wgScript,
                 parameters: 'action=render&title='+escape(args.wiki.title)+'&'+args.wiki.args,
                 data: 'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
                 onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; args.wiki.transport = transport; wiki.getHTML.continue(args) },
                 dataType: "html",
                 onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
                success: function( transport ) { args.wiki.HTML = transport; wiki.getHTML.continue(args) },
                 error: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
             })
             })
         },
         },
Zeile 60: Zeile 62:
                 args.wiki = {};
                 args.wiki = {};


             filter1='<div id="wikilibajaxfilterdiv1"></div>';
             jQuery.ajax( {
            filter2='<div id="wikilibajaxfilterdiv2"></div>';
                 url: wgServer+"/api.php",
 
                 data: 'action=parse&format=xml&text='+encodeURIComponent(args.wiki.source)+"&title="+encodeURIComponent(args.wiki.title),
            new Ajax.Request( wgServer+wgScript, {
datatype: "xml",
                 method:'post',
                 success: function( transport ) { console.log("wiki.parse:success", args); args.wiki.HTML = jQuery(transport).find("api parse text").text(); wiki.parse.continue(args); },
                 parameters: 'action=submit&wpPreview=true&live=true&title='+escape(args.wiki.title)+'&wpTextbox1='+escape(filter1+args.wiki.source+filter2),
                 error: function() { args.wiki.HTML = null; wiki.parse.continue( args ) }
                 onSuccess: function( transport ) { args.wiki.HTML = transport.responseText.replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, "\"").replace(/&amp;/gi,"&").replace(new RegExp("^(.|\n)*"+filter1),"").replace(new RegExp(filter2+"(.|\n)*$"),""); wiki.parse.continue(args) },
                 onFailure: function() { args.wiki.HTML = null; wiki.parse.continue( args ) }
             })
             })
         },
         },

Aktuelle Version vom 22. Mai 2015, 07:12 Uhr

var wiki = {
    /*
     * getSource: fragt wiki nach Seitenquelltexten
     * Argumente und Rückgabewerte als Objekt:
     * objekt.wiki.title = Seitentitel (benötigtes Argument)
     * objekt.wiki.source = Seitenquelltext (Rückgabewert)
     * objekt.wiki.args = Seitenargumente
     */
    getSource: new Async([
        function ( args ) { 
            if (args == null)
                args = {};
            if (args.wiki == null)
                args.wiki = {};

            jQuery.ajax( {
                url: wgServer+wgScript,
                data: 'action=raw&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
                dataType: "text",
                success: function( transport ) { args.wiki.source = transport; wiki.getSource.continue(args) },
                error: function() { args.wiki.source = null; wiki.getSource.continue( args ) }
            })
        },
        null
    ]),
    /*
     * getHTML: fragt wiki nach gerenderten Seiten
     * Argumente und Rückgabewerte als Objekt:
     * objekt.wiki.title = Seitentitel (benötigtes Argument)
     * objekt.wiki.HTML = SeitenHTML (Rückgabewert)
     * objekt.wiki.args = Seitenargumente
     */
    getHTML: new Async([
        function ( args ) { 
            if (args == null)
                args = {};
            if (args.wiki == null)
                args.wiki = {};

            jQuery.ajax( {
                url: wgServer+wgScript,
                data: 'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
                dataType: "html",
                success: function( transport ) { args.wiki.HTML = transport; wiki.getHTML.continue(args) },
                error: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
            })
        },
        null
    ]),
    /*
     * parse: lässt Wiki beliebigen Wiki-Quelltext rendern
     * Argumente und Rückgabewerte als Objekt:
     * objekt.wiki.source = Quelltext (benötigtes Argument)
     * objekt.wiki.title = Seitentitel (für {{PAGENAME}} oder ähnliches)
     * objekt.wiki.HTML = SeitenHTML (Rückgabewert)
     */
    parse: new Async([
        function ( args ) { 
            if (args == null)
                args = {};
            if (args.wiki == null)
                args.wiki = {};

            jQuery.ajax( {
                url: wgServer+"/api.php",
                data: 'action=parse&format=xml&text='+encodeURIComponent(args.wiki.source)+"&title="+encodeURIComponent(args.wiki.title),
		datatype: "xml",
                success: function( transport ) { console.log("wiki.parse:success", args); args.wiki.HTML = jQuery(transport).find("api parse text").text(); wiki.parse.continue(args); },
                error: function() { args.wiki.HTML = null; wiki.parse.continue( args ) }
            })
        },
        null
    ])
};