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

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
versuchen wirs mal damit
Keine Bearbeitungszusammenfassung
 
(17 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='+encodeURLComponent(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 = {};


             alert(wgServer+wgScript+'action=render&title='+encodeURLComponent(args.wiki.title)+'&'+args.wiki.args);
             jQuery.ajax( {
            new Ajax.Request( wgServer+wgScript, {
                 url: wgServer+wgScript,
                 method:'get',
                 data: 'action=render&title='+encodeURIComponent(args.wiki.title)+'&'+args.wiki.args,
                 parameters: 'action=render&title='+encodeURLComponent(args.wiki.title)+'&'+args.wiki.args,
                 dataType: "html",
                 onSuccess: function( transport ) { args.wiki.HTML = transport.responseText; args.wiki.transport = transport; wiki.getHTML.continue(args) },
                success: function( transport ) { args.wiki.HTML = transport; wiki.getHTML.continue(args) },
                 onFailure: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
                 error: function() { args.wiki.HTML = null; wiki.getHTML.continue( args ) }
             })
             })
         },
         },
Zeile 61: 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='+encodeURLComponent(args.wiki.title)+'&wpTextbox1='+encodeURLComponent(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
    ])
};