|
Cookbook /
CMSBundleSummary: Some scripts that add features useful for a CMS-type installation.
Version: Sprout
Prerequisites: PmWiki 2.1.x
Status: Partial development
Maintainer: Hagan Fox
Discussion: CMSBundle-Talk
DescriptionThis recipe is an as-yet-incomplete set of scripts that add features useful for a site that is using PmWiki as a Content Management System. NotesWhen I create a new PmWiki site I nearly always install a certain few of my customized recipe scripts. I started a project to bundle those scripts together and publish them, but that project has slowed nearly to a halt. The scripts may be useful individually, so I've uploaded some of them to pmwiki.org (usually accompanying a post to the pmwiki-users list). CMS Mode scriptcmsb-cmsmode.phpΔ - This recipe script adds the following to a PmWiki site:
Blocklist Script (Deprecated)cmsb-blocklist.phpΔ - This script is a fork of the Blocklist2 script. At this point it's significantly different from the original. Some of the more noticeable differences:
As of PmWiki 2.2.0-beta7 a blocklist feature has been added to the PmWiki core. You should probably use PmWiki's bundled blocklist capability instead of cmsb-blocklist.php. That said, if cmsb-blocklist is installed and working there's no compelling reason to switch over -- at least not in a hurry. Addlink Bookmarklet scriptcmsb-addlink.phpΔ - This is a fork of an old version of the AddLinkBookmarklet recipe, which at the time seemed unmaintained and overlooked. At this point it's significantly different from the original. This recipe creates an "add link" bookmarklet that makes it easy save web site links in your wiki. It works like this:
Your browser will be taken to your site in edit mode. By default the page's title will become a definition term and the text you highlighted will become the definition for the term. A bookmark for pmwiki.org has markup that looks like this
and renders like this
Optionally you can have the recipe create "heading style" (a.k.a. Herber style) markup that looks like this
and renders like this PmWiki | Cookbook / CMSBundlehttp://www.pmwiki.org/wiki/Cookbook/CMSBundle Some scripts that add features useful for a CMS-type installation. Local configuration fileAdding the following to the end your configuration file (config.php) will turn PmWiki 2.1.10 or newer into a nice little CMS. (Global edit password required.)
/**
* Recipes
*/
## Put the wiki in "CMS Mode".
$pagename = ResolvePageName($pagename);
include_once("$FarmD/cookbook/cmsb-cmsmode.php");
## Enable the IP- and content-banning recipe.
if ($action == 'edit' || $action == 'comment' || $action == 'diff') {
include_once("$FarmD/cookbook/cmsb-blocklist.php"); }
## Enable the AddLink Bookmarklet recipe.
if ($action == 'edit' || $action == 'browse' || $action == 'addlink') {
include_once("$FarmD/cookbook/cmsb-addlink.php"); }
## Apply a CMS Look for non-authors (ver. 2.1.10 or newer PmWiki default skin).
if (! @$page['=auth']['edit']) {
$HTMLStylesFmt[CMSLook] = '
.headnav, #wikicmds, .pagegroup, .footnav { display:none }
.pagetitle { margin-top:8px; } div.lastmod { color:#cccccc; } ';
}
This will cause the PmWiki-related content on the sidebar to disappear unless you are an author Customize the sidebarFirst, let's hide Wiki-related content from non-authors. Underneath the top link, add an * [[Main/HomePage]] (:if auth edit:) * [[Main/WikiSandbox]] [<...the rest of the sidebar content...>] Next, let's add a Logout link. At the bottom of the sidebar page, add a "Log out" link. When you are done, it will look like this: [<...the rest of the sidebar content...>] %right% [-[[Site.SideBar?action=edit | edit SideBar]]-][[<<]] %right% [-[[Main.HomePage?action=logout | Log out]]-] Customize the Page Actions
When you are an editor and want to become an administrator or an "uploader", it helps to have a link to take you to the login page. Also, I don't like the anachronistic Print link and often find a sitewide AllRecentChanges link handy. To that end, the (Wide content should be narrowed.)
* %item class=browse accesskey='$[ak_view]'%[[{$FullName} | $[View] ]]
* %item rel=nofollow class=edit accesskey='$[ak_edit]'%[[{$FullName}?action=edit | $[Edit] ]]
* %item rel=nofollow class=diff accesskey='$[ak_history]'%[[{$FullName}?action=diff | $[History] ]]
(:if auth upload:)
* %item rel=nofollow class=upload accesskey='$[ak_attach]'%[[{$FullName}?action=upload | $[Attach] ]]
(:if:)
* %item rel=nofollow class=login accesskey='$[ak_login]'%[[{$FullName}?action=login | $[Log in] ]]
* %item rel=nofollow class=allrecent accesskey='$[ak_arc]'%[[{$SiteGroup}.AllRecentChanges | $[A.R.C.] ]]
When you are done, set new edit password of " Customize the logoGo to this site and create a logo. The background color is 247/247/247. A font with a slim upper margin looks best. Rename the file to something that makes sense, like site_logo.png, and configure PmWiki to use it by adding this line to your config.php file: $PageLogoUrl = "$PubDirUrl/skins/pmwiki/site_logo.png"; You can adjust the position of the searchbox and make the "Search" link text text match the links in the sidebar with this:
$HTMLStylesFmt['site_searchbox'] = '
#wikihead { margin-top:10px; }
#wikihead a { text-decoration:none; color:black; }
#wikihead a:hover { text-decoration:underline; color:blue; }
';
Release NotesContributors
CommentsSee discussion at CMSBundle-Talk User notes? : If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki. |