Template:BookCat/doc

This template puts the page on which it's used ({{FULLPAGENAME}}) into appropriate categories, based on certain page-naming and page-categorization conventions.

Usage

edit

When used without parameters, it

  • places subpages of a book in the book's category (Category:Book:{{BOOKNAME}}) and sorts them by chapter name.
  • places a book's templates in the book's template category (Category:Book:{{BOOKNAME}}/Templates). This only does the right thing if a book's templates begin with  Template:{{BOOKNAME}} .
  • places a book's template category in the book's category and in  Category:Book-specific templates .
  • places any other category in its parent, sorted by the category's last name. The parent has the same name except removing everything from the last slash on; and the last name is the part that was removed after that last slash. For example, Category:My Book/Images  would go in  Category:My Book  with sort key  Images .

Parameters

edit

Optional parameter  filing=deep  changes the behavior on book pages, so that a book page with more than one slash in its name is placed in a subcategory of the category where its parent page would be placed, sorted by the page's last name. For example, using  {{BookCat|filing=deep}}  on page  My Book/Maps/Asia  would put that page in  Category:My Book/Maps  with sort key  Asia .

Optional parameter  template-filing=deep  changes the behavior on template pages to deep filing (so  Template:My book/Maps/Asia  would go in  Category:My book/Templates/Maps).

Optional parameter  sort or sortkey specifies a sort key to be used for categorization instead of relying on {{BOOKSORTKEY}}.

Optional first unnamed parameter is a full page name to use instead of the {{FULLPAGENAME}} of the current page.

An alternative template {{BookCat/diagnose}} reports the output of {{BookCat}} (with or without parameters) as an inert string, rather than categorizing the current page.

Examples

edit
page where called result
Taxi Tongue/Dialogue 4

[[Category:Book:Taxi Tongue|Dialogue 4 ]]

Chess/Puzzles/Directmates

[[Category:Book:Chess|Puzzles/Directmates ]]

Wikijunior:Biology

[[Category:Book:Wikijunior:Biology| ]]

Wikijunior:Dinosaurs/Apatosaurus

[[Category:Book:Wikijunior:Dinosaurs|Apatosaurus ]]

Wikijunior talk:Bugs/Shield Bug

Category:Horticulture/Templates/Boxes

[[Category:Horticulture/Templates|Boxes ]]

Category:Book:Wikijunior:Solar System/Templates

[[Category:Book:Wikijunior:Solar System|Templates ]] [[Category:Book-specific templates|Wikijunior:Solar System ]]

Template:Wikijunior:Solar System/coolfacts

[[Category:Book:Wikijunior:Solar System/Templates|coolfacts ]]

User:Pi zero/Conlang/Beginner/Sounds

[[Category:Book:User:Pi zero/Conlang|Beginner/Sounds ]]

User:Pi zero/sandbox/Conlang/Beginner/Sounds

[[Category:Book:User:Pi zero/sandbox/Conlang|Beginner/Sounds ]]

Category:User:Pi zero/sandbox/Conlang/Beginner/Sounds

[[Category:User:Pi zero/sandbox/Conlang/Beginner|Sounds ]]

Template:User:Pi zero/sandbox/Conlang/Beginner/Sounds

[[Category:Book:User:Pi zero/sandbox/Conlang/Templates|Beginner/Sounds ]]

Shelf:Physical sciences

[[Category:Book:Wikibooks Stacks/Shelves|Physical sciences ]]

Template:Shelf:Page

[[Category:Book:Wikibooks Stacks/Templates|Page ]]

Template:Shelf:Page/display

[[Category:Book:Wikibooks Stacks/Templates|Page/display ]]

Internals

edit

This template itself only contains the logic to sort out the identity of the target page; deducing the appropriate categorization is then delegated to {{BookCat/core}}. As of this writing, parameters assembled here are namespace, pagename, fullpagename, and sortkey; the first unnamed parameter is removed, and all other parameters are passed through to the subtemplate.

See also

edit