Magician Wiki
Explore
Main Page
All Pages
Community
Interactive Maps
Recent Blog Posts
The Series
Arcs
Chapters
Characters
Edermask
Iremi
Enzu
Edan
Marie
Ryce
Duwei
Janus
Magic
Forest's Calm
Protection of the Forest
The Eye
Generate/Magic
Forest Magic
The Seal
Spirit Summoning
Location
Cantera
Adat
Generate/Location
Lano
Lydia
Theodore
Magic City
Community
Recent blog posts
All Pages
Wanted Pages
Animanga Hub
Magician
FANDOM
Fan Central
BETA
Games
Anime
Movies
TV
Video
Wikis
Explore Wikis
Community Central
Start a Wiki
Don't have an account?
Register
Sign In
Sign In
Register
α
256
pages
Explore
Main Page
All Pages
Community
Interactive Maps
Recent Blog Posts
The Series
Arcs
Chapters
Characters
Edermask
Iremi
Enzu
Edan
Marie
Ryce
Duwei
Janus
Magic
Forest's Calm
Protection of the Forest
The Eye
Generate/Magic
Forest Magic
The Seal
Spirit Summoning
Location
Cantera
Adat
Generate/Location
Lano
Lydia
Theodore
Magic City
Community
Recent blog posts
All Pages
Wanted Pages
Animanga Hub
Magician
Editing
Module:Navbar
Back to page
Edit source
View history
Talk (0)
Edit Page
Module:Navbar
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end local function _navbar( args ) if not args[1] then return htmlError('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '[' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( ']' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p
Summary:
Please note that all contributions to the Magician Wiki are considered to be released under the CC-BY-SA
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:Navbar
(
view source
)
Follow on IG
TikTok
Join Fan Lab