ソースを参照

Added support for bundled wikipages

master
Said Achmiz 6年前
コミット
c86b9ae0ab
1個のファイルの変更22行の追加0行の削除
  1. 22
    0
      papyrus.php

+ 22
- 0
papyrus.php ファイルの表示

@@ -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>";

読み込み中…
キャンセル
保存