| @@ -42,6 +42,28 @@ if ($VersionedAssetsReattachFileExtension == true) { | |||
| global $HTMLHeaderFmt; | |||
| $HTMLHeaderFmt[] = "<link rel='stylesheet' type='text/css' href='$versioned_path' />\n"; | |||
| ## Define a custom PageStore for bundled pages. | |||
| class PapyrusPageStore extends PageStore { | |||
| function pagefile($pagename) { | |||
| global $FarmD; | |||
| $dfmt = $this->dirfmt; | |||
| if ($pagename > '') { | |||
| $pagename = str_replace('/', '.', $pagename); | |||
| if ($dfmt == dirname(__FILE__).'/wikilib.d/{$FullName}') | |||
| return $this->PFE(dirname(__FILE__)."/wikilib.d/$pagename"); | |||
| if ($dfmt == '$FarmD/pub/skins/papyrus/wikilib.d/{$FullName}') | |||
| return $this->PFE("$FarmD/pub/skins/papyrus/wikilib.d/$pagename"); | |||
| } | |||
| return $this->PFE(FmtPageName($dfmt, $pagename)); | |||
| } | |||
| } | |||
| global $WikiLibDirs, $RecipeInfo; | |||
| $PageStorePath = dirname(__FILE__).'/wikilib.d/{$FullName}'; | |||
| $where = count($WikiLibDirs); | |||
| if ($where > 1) $where--; | |||
| if ($RecipeInfo['Sisterly']['Version'] != '') $where--; // If Sisterly is enabled, then the last PageStore is the SisterStore, not the PmWiki stuff. So we have to insert at an index 1 less. | |||
| array_splice($WikiLibDirs, $where, 0, array(new PapyrusPageStore($PageStorePath))); | |||
| ## Label the body element with a class indicating the current page action. | |||
| global $HTMLFooterFmt, $action; | |||
| $HTMLFooterFmt[] = "<script type='text/javascript'>document.querySelector('body').classList.add('action-{$action}');</script>"; | |||