User:AKAAkira/SimpleNav: Difference between revisions
Jump to navigation
Jump to search
m Forgot to delete bracket |
m Slight detail |
||
| Line 525: | Line 525: | ||
{{#iferror: {{#expr: {{#sub: {{FULLPAGENAME}} | -2 }} + 0 }} | {{#iferror: {{#expr: {{#sub: {{FULLPAGENAME}} | -2 }} + 0 }} | ||
| | | {{#expr: {{#sub: {{FULLPAGENAME}} | -1 }} + 0 }} | ||
}} | }} | ||
produces the integer CHAPTER_NUM | produces the integer CHAPTER_NUM | ||
*returns | *returns the final character in PAGENAME if chapter number isn't the last thing in FULLPAGENAME | ||
*works only if chapter number does not exceed three or more digits | *works only if chapter number does not exceed three or more digits | ||
</pre> | </pre> | ||
</noinclude> | </noinclude> | ||
Revision as of 23:27, 26 May 2014
| Return to Main Page |
Sandbox page for this template. The real page is at Template:SimpleNav.
TODO:
Make it say "Volume" when on Volume page.Make it readableBetter than before, at least...Make it easy to tell what the arguments are asking forInsert "beforename" and "aftername"- Make it work even if there's something after the volume number aside from the usual (e.g. "Preview")
- Check whether this still works with * or ' in pagename
Make it tolerant to pages with space after colon- This thing is case-sensitive...
Edit notes (use a text editor to interchange code with capital letters to improve readability):
In case of multiple layers of argument defaulting (such as in the case of {{{b|{{{before|}}} }}} ),
it's important to make sure there's no space immediately after the pipe,
or else it may insert an unwanted one (usually right after the page title's colon)
{{#rpos: {{#sub: {{FULLPAGENAME}} | 0 | -3 }} | }}
produces the zero-based position of SPACE_BEFORE_LAST_WORD
*substring-ing -5 allows it to count out the potential space in "Chapter 1"
*also, it's important to use #rpos and not #pos here since the last space,
or the first space from the /right/, is being looked for
*returns -1 if there is no space in title (this is the product of using #rpos and not #pos)
{{#sub: {{FULLPAGENAME}} | 0 | {{#pos: {{FULLPAGENAME}} | : }} }}
produces the string SERIES_TITLE
*title should not have a colon in it for this helper function to work
*returns FULLPAGENAME if string ":" doesn't exist in title,
but /should/ be ignorable since it will return false on #ifexist
{{#sub: {{FULLPAGENAME}} | 0 | {{#pos: {{FULLPAGENAME}} | Volume }} }}
produces the string ALL_BEFORE_VOLUMES_V
*SERIES_TITLE should not have string "Volume" in it for this helper function to work
*SERIES_TITLE is not used because this retains the space after a colon, if there is one
*returns FULLPAGENAME if string "Volume" does not exist in title
but /should/ be ignorable since this is only used in ifexist cases with colon taken out
{{#sub: {{FULLPAGENAME}} | {{#pos: {{FULLPAGENAME}} | Volume }} }}
produces the string ALL_AFTER_VOLUMES_V
{{#if: {{#pos: {{FULLPAGENAME}} | Volume }} | {{#expr: {{#pos: {{FULLPAGENAME}} | Volume }} +6 }} }}
produces the zero-based position AFTER_VOLUMES_E
*SERIES_TITLE should not have string "Volume" in it for this helper function to work
*returns nothing if "Volume" does not exist in pagename
{{#iferror: {{#expr: {{#sub: {{#sub: {{FULLPAGENAME}} | AFTER_VOLUMES_E }} | 0 | 3 }} + 0 }}
| {{#iferror: {{#expr: {{#sub: {{#sub: {{FULLPAGENAME}} | AFTER_VOLUMES_E }} | 0 | 2 }} + 0 }} }}
}}
produces the integer VOL_NUMBER
*returns nothing if "volume" does not exist in FULLPAGENAME, or if volume number is not a pure integer
*heavily reliant on the fact that NO VOLUME NUMBER GOES INTO THREE DIGITS
*(kinda hard to search&replace in notepad, break it into two segments, and remember to turn the line breaks into spaces)
{{#sub: {{#sub: {{FULLPAGENAME}} | AFTER_VOLUMES_E }} | {{#len: VOL_NUMBER }} }}
produces the string ALL_AFTER_VOLUME_NUMBER
*including the space immediately after, though this /should/ be ignorable
*returns FULLPAGENAME if "Volume" is not in the FULLPAGENAME
*returns all after Volume's e if volume number is not a pure integer
{{#sub: {{FULLPAGENAME}} | 0 | {{#pos: {{FULLPAGENAME}} | ALL_AFTER_VOLUME_NUMBER }} }}
produces the string ALL_UP_TO_VOLUME_NUMBER
*here, while parsing the space included in ALL_AFTER_VOLUME_NUMBER is /ignored/,
which means there's a space included right after ALL_UP_TO_VOLUME_NUMBER instead,
though again this /should/ be ignorable
*returns nothing if "volume" does not exist in FULLPAGENAME
*returns all before Volume's e if volume number is not a pure integer
{{#iferror: {{#expr: {{#sub: {{FULLPAGENAME}} | -2 }} + 0 }}
| {{#expr: {{#sub: {{FULLPAGENAME}} | -1 }} + 0 }}
}}
produces the integer CHAPTER_NUM
*returns the final character in PAGENAME if chapter number isn't the last thing in FULLPAGENAME
*works only if chapter number does not exceed three or more digits