Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Special pages
Random page
Wiki Discord
Contents
Neighbors
Galaxy
> Hexia
> Norvan
> Pashah
> Taffeh
Creatures
> Insects
> Fishes
> Shore-Dwellers
Items
> Dishes
> Furniture
Game Systems
> Dress Up
> Luca Arbor
> Loomix Footprints
> Loomix Vehicle Services
> Loomix Homes
Search
Search
Appearance
Log in
Personal tools
Log in
Editing
Module
:
Life Guide
Module
Discussion
English
Read
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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 lib = require('Module:Feature') local checkExists = require('Module:Exists').checkExists local getTemplateArgs = require('Module:Parser').getTemplateArgs -- [[Template:Life Guide]] function p.LifeGuide(frame, args) if args == nil then args = require('Module:Arguments').getArgs(frame, { parentFirst = true }) end local title = mw.title.getCurrentTitle() local standalone = not args.table and title.rootText == 'Life Guide' local html = mw.html.create() if args[1] and type(args[1]) == 'string' then for page in lib.gsplit(args[1], ';', { removeEmpty = true }) do local lifeguideArgs = getTemplateArgs('Life Guide/' .. page, { only = 'Life Guide' }) if lib.isEmpty(lifeguideArgs) then html:tag('strong'):addClass('error'):wikitext('The page [[Life Guide/', page, ']] is not a valid lifeguide.') else html :tag('div') :addClass('lifeguide') :addClass(standalone and 'lifeguide-standalone' or '') :tag('dl') :tag('dt'):wikitext(lifeguideArgs.title or page) :tag('dd'):node(p._LifeGuideFormat(lifeguideArgs)) end end else html :tag('div') :addClass('lifeguide') :addClass(standalone and 'lifeguide-standalone' or '') :node(p._LifeGuideFormat(args)) end return frame:preprocess(tostring(html)) end function p._LifeGuideFormat(args) local out = mw.html.create('') local title = mw.title.getCurrentTitle() if args.about then args.about = lib.split(args.about, ';') if title.rootText == 'Life Guide' then out:tag('i'):wikitext(require('Module:Hatnote').main(args.about)) end end local size = args.size or '200px' if (title.rootText == 'Life Guide') then size = '400px' end -- create format local I = 1 while (args['image' .. tostring(I)] or args['text' .. tostring(I)]) do local image = args['image' .. tostring(I)] local text = args['text' .. tostring(I)] if (image or text) then local row = out:tag('div'):addClass('lifeguide-detail') row:wikitext('[[File:', (image or 'Empty.png'), '|', size, ']]') row:tag('div'):wikitext((text or '<wbr>')) if (args['image' .. tostring(I+1)] or args['text' .. tostring(I+1)]) then row:tag('hr'):addClass('mobile-only') end end I = I + 1 end -- add categories if correct page local subpage = args.title or title.subpageText if (not args['table'] and title.baseText == 'Life Guide' and (subpage ~= nil and not lib.inArray({ 'Elements', 'Enemies', 'System', 'Adventure', 'Event', 'Quest', 'Uncategorized' }, subpage))) then local cat = mw.html.create() cat:wikitext('[[Category:Life Guides|', subpage, ']]') if args['sort'] then cat:wikitext('[[Category:Life Guide|', string.format('%05d', args['sort']), ']]') else cat:wikitext('[[Category:Life Guide]]') end if lib.inArray({ 'Elements', 'Enemies', 'System', 'Adventure' }, args['type']) then cat:wikitext('[[Category:', args['type'], ' Life Guides|', subpage, ']]') if not args['sort'] then cat:wikitext('[[Category:Life Guide Missing Sort]]') end elseif args['type'] == 'Event' or args['type'] == 'Quest' then cat:wikitext('[[Category:', args['type'], ' Life Guides|', subpage, ']]') else cat:wikitext('[[Category:Uncategorized Life Guides|', subpage, ']]') end if args.about then for _, v in pairs(args.about) do cat:wikitext('[[Category:', v, ' Life Guides]]') end end local I = 1 local exists = true while (args['image' .. tostring(I)] and exists) do if not checkExists('File:' .. args['image' .. tostring(I)]) then cat:wikitext('[[Category:Life Guide Missing Image]]') exists = false; end I = I + 1 end if not args.nocat then out:node(require('Module:Namespace detect')._main{main=cat, module=cat}) end end return out end -- [[Template:Life Guides by Category Table]] function p.Table(frame) local args = require('Module:Arguments').getArgs(frame, { parentFirst = true }) local result = mw.html.create('div'):addClass('lifeguide-table') local title = mw.title.getCurrentTitle().text if lib.isEmpty(args.pages) then result:tag('span'):wikitext('No [[Life Guide]]s ', (args[1] and 'that match the category selection' or 'are in ' .. title), '.') else local resultTable = mw.html.create('table'):addClass('article-table') local count = 0 for lifeguidePage in lib.gsplit(args.pages, ';;;', { noTrim = true, removeEmpty = true }) do local lifeguideArgs = getTemplateArgs(lifeguidePage, { only = 'Life Guide' }) for key, value in pairs(lifeguideArgs) do if value == '' then lifeguideArgs[key] = nil end end lifeguideArgs.PAGENAME = lifeguidePage resultTable:node(p._TableRow(frame, lifeguideArgs)) count = count + 1 end local header = result:tag('div'):addClass('lifeguide-header') if lib.isNotEmpty(args.header) then header:wikitext(tostring(tostring(args.header):gsub('%%PAGES%%', count))) else header:wikitext( 'There ', (count == 1 and 'is ' or 'are '), "'''", count, "'''", ' [[Life Guide]]', (count == 1 and ' ' or 's '), (args[1] and ('that match' .. (count == 1 and 'es' or '') .. ' the category selection:') or ' are in ' .. title) ) end result:node(resultTable) end return frame:preprocess(tostring(result)) end function p._TableRow(frame, args) local out = mw.html.create('') if args.title then local header = out:tag('tr'):tag('th') header:wikitext('[[', args.PAGENAME, '|', args.title, ']]') if args.subtitle then header:wikitext(' - ', args.subtitle) end if args.icon then header:wikitext(' [[File:', args.icon, '|25px|link=]]') end local row = out:tag('tr'):tag('td') args['table'] = true row:node(p.LifeGuide(frame, args)) end return out end return p
Summary:
Please note that all contributions to The Petit Planet Wiki are considered to be released under the Creative Commons Attribution-ShareAlike (see
Petit Planet Wiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Preview page with this template
Below are commonly used wikitext from
MediaWiki:Edittools
. Click on any to insert them in the edit box.
File Pages
==Summary==
==Licensing==
{{Fairuse}}
{{File|}}
Dynamic Page List
¦
²
«
»
²{¦}²
«»
«/»
«!----»
Array in DPL
¹
^2{
}^2
^2{¹}^2
Parser Functions
{{#if:||}}
{{#if:<condition>|<result if true>|<result if false>}}
{{#ifeq:|||}}
{{#ifeq:<text1>|<text2>|<result if text1=text2>|<result if text1≠text2>}}
{{#expr:}}
{{#expr:<mathematical expression>}}
{{#switch:||#default=}}
{{#switch:<text1>|<text2>=<result if text1=text2>|<text3>=<result if text1=text3>|#default=<result if no valid match>}}
{{#replace:||}}
{{#replace:<text1>|<plain text to find in text1>|<plain text to insert in place of the text found>}}
{{#titleparts:}}
{{#replace:<page name>}}
{{#tag:|}}
{{#tag:<name of html tag>|<content inside html tag>}}
Markup
{{}}
|
[]
[[]]
[[Category:]]
#REDIRECT [[]] [[Category:Redirect Pages]]
<code></code>
<includeonly></includeonly>
<noinclude></noinclude>
<nowiki></nowiki>
<!---->
<br>
§
Notices
{{Stub|}}
{{Stub Dialogue}}
{{Upcoming}}
{{Under Construction}}
{{Placeholder|}}
Magic Words
{{!}}
{{formatnum:}}
{{lc:}}
{{uc:}}
{{PAGENAME}}
{{FULLPAGENAME}}
{{ROOTPAGENAME}}
{{BASEPAGENAME}}
{{SUBPAGENAME}}
{{DISPLAYTITLE:|noreplace}}
__TOC__
__NOTOC__
__EXPECTUNUSEDCATEGORY__
__HIDDENCAT__
HTML Entities
—
,
­
Pages included on this page:
Template:Documentation/Header
(
edit
)
Template:Documentation/styles.css
(
edit
)
Template:T
(
edit
)
Template:TOC Right
(
edit
)
Module:Arguments
(
edit
)
Module:Arguments/i18n
(
edit
)
Module:Common/i18n
(
edit
)
Module:Config
(
edit
)
Module:Documentation
(
edit
)
Module:Documentation/config
(
edit
)
Module:Documentation/i18n
(
edit
)
Module:Entrypoint
(
edit
)
Module:Exists
(
edit
)
Module:Fallbacklist
(
edit
)
Module:Feature
(
edit
)
Module:Formatting
(
edit
)
Module:I18n
(
edit
)
Module:Languages
(
edit
)
Module:Life Guide/doc
(
edit
)
Module:TableTools
(
edit
)
Module:Yesno
(
edit
)
This page is a member of 2 hidden categories:
Category:Pages using DynamicPageList4 parser function
Category:Pages using DynamicPageList4
Search
Search
Editing
Module
:
Life Guide
Add topic