<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikem.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavbar</id>
	<title>Module:Navbar - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikem.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavbar"/>
	<link rel="alternate" type="text/html" href="https://wikem.org/w/index.php?title=Module:Navbar&amp;action=history"/>
	<updated>2026-04-21T10:53:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wikem.org/w/index.php?title=Module:Navbar&amp;diff=16985&amp;oldid=prev</id>
		<title>Ostermayer: Created page with &quot;local p = {}  local HtmlBuilder = require('Module:HtmlBuilder')  function trim(s)     return mw.ustring.match( s, &quot;^%s*(.-)%s*$&quot; ) end  function error(s)     local span = Html...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wikem.org/w/index.php?title=Module:Navbar&amp;diff=16985&amp;oldid=prev"/>
		<updated>2014-02-07T23:58:43Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local HtmlBuilder = require(&amp;#039;Module:HtmlBuilder&amp;#039;)  function trim(s)     return mw.ustring.match( s, &amp;quot;^%s*(.-)%s*$&amp;quot; ) end  function error(s)     local span = Html...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local HtmlBuilder = require('Module:HtmlBuilder')&lt;br /&gt;
&lt;br /&gt;
function trim(s)&lt;br /&gt;
    return mw.ustring.match( s, &amp;quot;^%s*(.-)%s*$&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function error(s)&lt;br /&gt;
    local span = HtmlBuilder.create('span')&lt;br /&gt;
&lt;br /&gt;
    span&lt;br /&gt;
        .addClass('error')&lt;br /&gt;
        .css('float', 'left')&lt;br /&gt;
        .css('white-space', 'nowrap')&lt;br /&gt;
        .wikitext('Error: ' .. s)&lt;br /&gt;
&lt;br /&gt;
    return tostring(span)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getTitle( pageName )&lt;br /&gt;
    pageName = trim( pageName );&lt;br /&gt;
    local page_title, talk_page_title;&lt;br /&gt;
    &lt;br /&gt;
    if mw.ustring.sub(pageName, 1, 1) == ':' then&lt;br /&gt;
        page_title = mw.title.new( mw.ustring.sub(pageName, 2) );&lt;br /&gt;
    else&lt;br /&gt;
        page_title = mw.title.new( pageName, 'Template' );&lt;br /&gt;
    end    &lt;br /&gt;
    &lt;br /&gt;
    if page_title then &lt;br /&gt;
        talk_page_title = page_title.talkPageTitle;&lt;br /&gt;
    else&lt;br /&gt;
        talk_page_title = nil;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return page_title, talk_page_title;    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function _navbar( args )&lt;br /&gt;
    if not args[1] then&lt;br /&gt;
        return error('No name provided')&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    local good, title, talk_title;&lt;br /&gt;
    good, title, talk_title = pcall( getTitle, args[1] );&lt;br /&gt;
    if not good then&lt;br /&gt;
        return error(title);&lt;br /&gt;
    end    &lt;br /&gt;
&lt;br /&gt;
    if not title then&lt;br /&gt;
        return error('Page does not exist')&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    local mainpage = title.fullText;&lt;br /&gt;
    local talkpage = talk_title and talk_title.fullText or ''&lt;br /&gt;
    local editurl = title:fullUrl( 'action=edit' ); &lt;br /&gt;
 &lt;br /&gt;
    local viewLink, talkLink, editLink = 'view', 'talk', 'edit'&lt;br /&gt;
    if args.mini then&lt;br /&gt;
        viewLink, talkLink, editLink = 'v', 't', 'e'&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    local div = HtmlBuilder.create( 'div' )&lt;br /&gt;
    div&lt;br /&gt;
        .addClass( 'plainlinks' )&lt;br /&gt;
        .addClass( 'hlist' )&lt;br /&gt;
        .addClass( 'navbar')&lt;br /&gt;
        .cssText( args.style )&lt;br /&gt;
 &lt;br /&gt;
    if args.mini then div.addClass('mini') end&lt;br /&gt;
 &lt;br /&gt;
    if not (args.mini or args.plain) then&lt;br /&gt;
        div&lt;br /&gt;
            .tag( 'span' )&lt;br /&gt;
                .css( 'word-spacing', 0 )&lt;br /&gt;
                .cssText( args.fontstyle )&lt;br /&gt;
                .wikitext( args.text or 'This box:' )&lt;br /&gt;
                .wikitext( ' ' )&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    if args.brackets then&lt;br /&gt;
        div&lt;br /&gt;
            .tag('span')&lt;br /&gt;
                .css('margin-right', '-0.125em')&lt;br /&gt;
                .cssText( args.fontstyle )&lt;br /&gt;
                .wikitext( '&amp;amp;#91;' )&lt;br /&gt;
                .newline();&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    local ul = div.tag('ul');&lt;br /&gt;
 &lt;br /&gt;
    ul&lt;br /&gt;
        .tag( 'li' )&lt;br /&gt;
            .addClass( 'nv-view' )&lt;br /&gt;
            .wikitext( '[[' .. mainpage .. '|' )&lt;br /&gt;
            .tag( 'span ' )&lt;br /&gt;
                .attr( 'title', 'View this template' )&lt;br /&gt;
                .cssText( args.fontstyle or '' )&lt;br /&gt;
                .wikitext( viewLink )&lt;br /&gt;
                .done()&lt;br /&gt;
            .wikitext( ']]' )&lt;br /&gt;
            .done()&lt;br /&gt;
        .tag( 'li' )&lt;br /&gt;
            .addClass( 'nv-talk' )&lt;br /&gt;
            .wikitext( '[[' .. talkpage .. '|' )&lt;br /&gt;
            .tag( 'span ' )&lt;br /&gt;
                .attr( 'title', 'Discuss this template' )&lt;br /&gt;
                .cssText( args.fontstyle or '' )&lt;br /&gt;
                .wikitext( talkLink )&lt;br /&gt;
                .done()&lt;br /&gt;
            .wikitext( ']]' );&lt;br /&gt;
 &lt;br /&gt;
    if not args.noedit then &lt;br /&gt;
        ul&lt;br /&gt;
            .tag( 'li' )&lt;br /&gt;
                .addClass( 'nv-edit' )&lt;br /&gt;
                .wikitext( '[' .. editurl .. ' ' )&lt;br /&gt;
                .tag( 'span ' )&lt;br /&gt;
                    .attr( 'title', 'Edit this template' )&lt;br /&gt;
                    .cssText( args.fontstyle or '' )&lt;br /&gt;
                    .wikitext( editLink )&lt;br /&gt;
                    .done()&lt;br /&gt;
                .wikitext( ']' );&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    if args.brackets then&lt;br /&gt;
        div&lt;br /&gt;
            .tag('span')&lt;br /&gt;
                .css('margin-left', '-0.125em')&lt;br /&gt;
                .cssText( args.fontstyle or '' )&lt;br /&gt;
                .wikitext( '&amp;amp;#93;' )&lt;br /&gt;
                .newline();&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    return tostring(div)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(frame)&lt;br /&gt;
    local origArgs&lt;br /&gt;
    -- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
    -- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
    if frame == mw.getCurrentFrame() then&lt;br /&gt;
        origArgs = frame:getParent().args&lt;br /&gt;
    else&lt;br /&gt;
        origArgs = frame&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    -- ParserFunctions considers the empty string to be false, so to preserve the previous &lt;br /&gt;
    -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider&lt;br /&gt;
    -- them false too.&lt;br /&gt;
    args = {}&lt;br /&gt;
    for k, v in pairs(origArgs) do&lt;br /&gt;
        if v ~= '' then&lt;br /&gt;
            args[k] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    return _navbar(args)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Ostermayer</name></author>
	</entry>
</feed>