<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-CH">
	<id>https://www.muri-gries.ch/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3ALuaWiki</id>
	<title>Modul:LuaWiki - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.muri-gries.ch/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3ALuaWiki"/>
	<link rel="alternate" type="text/html" href="https://www.muri-gries.ch/mediawiki/index.php?title=Modul:LuaWiki&amp;action=history"/>
	<updated>2026-04-21T05:50:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Muri</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://www.muri-gries.ch/mediawiki/index.php?title=Modul:LuaWiki&amp;diff=52671&amp;oldid=prev</id>
		<title>Beda: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="https://www.muri-gries.ch/mediawiki/index.php?title=Modul:LuaWiki&amp;diff=52671&amp;oldid=prev"/>
		<updated>2021-03-22T14:34:02Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de-CH&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 22. März 2021, 14:34 Uhr&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wikidb:diff::1.12:old-52670:rev-52671 --&gt;
&lt;/table&gt;</summary>
		<author><name>Beda</name></author>
	</entry>
	<entry>
		<id>https://www.muri-gries.ch/mediawiki/index.php?title=Modul:LuaWiki&amp;diff=52670&amp;oldid=prev</id>
		<title>de&gt;PerfektesChaos: update</title>
		<link rel="alternate" type="text/html" href="https://www.muri-gries.ch/mediawiki/index.php?title=Modul:LuaWiki&amp;diff=52670&amp;oldid=prev"/>
		<updated>2013-05-08T19:25:57Z</updated>

		<summary type="html">&lt;p&gt;update&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[=[ 2013-05-07&lt;br /&gt;
LuaWiki - Support Lua programming in Wiki environment&lt;br /&gt;
* .getArg()&lt;br /&gt;
* .initVariables()&lt;br /&gt;
* .getVariable()&lt;br /&gt;
* .isExisting()&lt;br /&gt;
* .setFrame()&lt;br /&gt;
* .transclude()&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Module globals&lt;br /&gt;
local wikiVariables&lt;br /&gt;
local LuaWiki = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.error = function ( about )&lt;br /&gt;
    -- Enclose errorMsg with &amp;lt;span&amp;gt;&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     about  -- string&lt;br /&gt;
    local r = about&lt;br /&gt;
    if type( about ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
        if #about == 0 then&lt;br /&gt;
            r = &amp;quot;Error in Lua&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        r = tostring( about )&lt;br /&gt;
    end&lt;br /&gt;
    return &amp;quot;&amp;lt;span class=&amp;#039;error&amp;#039;&amp;gt;&amp;quot; .. error( r, 3 ) .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
end -- LuaWiki.error()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.getArg = function ( arg, assign )&lt;br /&gt;
    -- Retrieve template argument&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     arg     -- string or number; argument identifier&lt;br /&gt;
    --     assign  -- any, optional; default value&lt;br /&gt;
    -- Uses:&lt;br /&gt;
    --     mw.getCurrentFrame()&lt;br /&gt;
    local r = mw.getCurrentFrame().args[ arg ]&lt;br /&gt;
    if type( r ) ~= &amp;quot;string&amp;quot; then&lt;br /&gt;
        if type( assign ) == nil then&lt;br /&gt;
            r = &amp;quot;{{{&amp;lt;&amp;quot; .. arg .. &amp;quot;&amp;gt;}}}&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            r = assign&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- LuaWiki.getArg()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.getVariable = function ( seek, numeric )&lt;br /&gt;
    -- Retrieve item from wikiVariables; populate if not yet present&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     seek     -- string; name of variable&lt;br /&gt;
    --     numeric  -- true: seek is numeric (else string)&lt;br /&gt;
    -- Uses:&lt;br /&gt;
    --     &amp;gt;&amp;lt; wikiVariables&lt;br /&gt;
    --     mw.getCurrentFrame()&lt;br /&gt;
    local g, i, n&lt;br /&gt;
    local r = false&lt;br /&gt;
    if type( wikiVariables ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
        n = #wikiVariables&lt;br /&gt;
        for i = 1, n do&lt;br /&gt;
            g = wikiVariables[ i ]&lt;br /&gt;
            if g then&lt;br /&gt;
                if g[ 1 ] == seek then&lt;br /&gt;
                    r = g[ 2 ]&lt;br /&gt;
                    break;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end -- for i&lt;br /&gt;
    else&lt;br /&gt;
        wikiVariables = { }&lt;br /&gt;
        n = 0&lt;br /&gt;
    end&lt;br /&gt;
    if not r then&lt;br /&gt;
        g = mw.getCurrentFrame():preprocess( &amp;quot;{{&amp;quot; .. seek .. &amp;quot;}}&amp;quot; )&lt;br /&gt;
        r = mw.ustring.match( g, &amp;quot;^(.*)$&amp;quot; )&lt;br /&gt;
        if numeric then&lt;br /&gt;
            r = tonumber( g )&lt;br /&gt;
        end&lt;br /&gt;
        table.insert( wikiVariables,  n + 1,  { seek, r } )&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- LuaWiki.getVariable()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.initVariables = function ( request )&lt;br /&gt;
    -- Initialize wikiVariables&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     request  -- table; every element either&lt;br /&gt;
    --                        * string; name of variable&lt;br /&gt;
    --                        * table; name string and true, if numeric&lt;br /&gt;
    -- Uses:&lt;br /&gt;
    --      &amp;lt; wikiVariables&lt;br /&gt;
    --     mw.getCurrentFrame()&lt;br /&gt;
    local g, i, n, s&lt;br /&gt;
    local src = &amp;quot;|&amp;quot;&lt;br /&gt;
    wikiVariables = { }&lt;br /&gt;
    for i = 1, #request do&lt;br /&gt;
         s = request[ i ]&lt;br /&gt;
         if type( s ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
             s = s[ 1 ]&lt;br /&gt;
         end&lt;br /&gt;
         src = src .. s .. &amp;quot;={{&amp;quot; .. s .. &amp;quot;}}|&amp;quot;&lt;br /&gt;
    end -- for i&lt;br /&gt;
    src = mw.getCurrentFrame():preprocess( src )&lt;br /&gt;
    for i = 1, #request do&lt;br /&gt;
        s = request[ i ]&lt;br /&gt;
        n = ( type( s ) == &amp;quot;table&amp;quot; )&lt;br /&gt;
        if n then&lt;br /&gt;
            n = s[ 2 ]&lt;br /&gt;
        end&lt;br /&gt;
        if n then&lt;br /&gt;
            g = &amp;quot;-?%d+&amp;quot;&lt;br /&gt;
            s = s[ 1 ]&lt;br /&gt;
        else&lt;br /&gt;
            g = &amp;quot;[^|]*&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        g = mw.ustring.match( src,  &amp;quot;|&amp;quot; .. s .. &amp;quot;=(&amp;quot; .. g .. &amp;quot;)|&amp;quot; )&lt;br /&gt;
        if n then&lt;br /&gt;
            g = tonumber( g )&lt;br /&gt;
        end&lt;br /&gt;
        table.insert( wikiVariables,  i,  { s, g } )&lt;br /&gt;
    end -- for i&lt;br /&gt;
end -- LuaWiki.initVariables()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.isExisting = function ( seek )&lt;br /&gt;
    -- Return true if page exists, else false&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     seek  -- string; full page name&lt;br /&gt;
    -- Uses:&lt;br /&gt;
    --     mw.getCurrentFrame()&lt;br /&gt;
    local g = mw.getCurrentFrame():callParserFunction( &amp;quot;#ifexist&amp;quot;,&lt;br /&gt;
                                                       { seek,&lt;br /&gt;
                                                         &amp;quot;1&amp;quot;,&lt;br /&gt;
                                                         &amp;quot;0&amp;quot; } )&lt;br /&gt;
    return ( g == &amp;quot;1&amp;quot; )&lt;br /&gt;
end -- LuaWiki.isExisting()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LuaWiki.transclude = function ( s, args )&lt;br /&gt;
    -- Save transclusion of a page, or error message&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     s     -- string; page name&lt;br /&gt;
    --     args  -- table or nil; arguments&lt;br /&gt;
    -- Uses:&lt;br /&gt;
    --     mw.getCurrentFrame()&lt;br /&gt;
    --     error()&lt;br /&gt;
    local r = { s, &amp;quot;1&amp;quot; }&lt;br /&gt;
    local frame = mw.getCurrentFrame()&lt;br /&gt;
    if frame:callParserFunction( &amp;quot;#ifexist&amp;quot;, r ) == &amp;quot;1&amp;quot; then&lt;br /&gt;
        if args then&lt;br /&gt;
            r = frame:expandTemplate{ title = s, args = args }&lt;br /&gt;
        else&lt;br /&gt;
            r = frame:expandTemplate{ title = s }&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        r = error( &amp;quot;No transclude page &amp;#039;&amp;quot; .. s .. &amp;quot;&amp;#039;&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- LuaWiki.transclude()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return LuaWiki&lt;/div&gt;</summary>
		<author><name>de&gt;PerfektesChaos</name></author>
	</entry>
</feed>