Tools
Pm Wiki

See also Wikis in general
pump-up your Wiki-Fu !
From personal use (thus generally Own Wikis Network)
- add an icon to every link of the intermap with $IMapLinkFmt , cf PmWiki:LinkVariables
- $IMapLinkFmt['Wikipedia:'] = "<a class='wikipedialink urllink' href='\$LinkUrl'>\$LinkText<img src=\"http://upload.wikimedia.org/wikipedia/commons/f/f1/Wikipedia-logo_kucuk.png\" border=\"0\" /></a>";
- backlink(s) to a page
- (:pagelist link=ReadingNotes.InformationRules:)
- [[Path:?action=search&q=link=ReadingNotes.InformationRules|wiki (:pagelist link=ReadingNotes.InformationRules fmt=count:) pages linking to notes on the book]]
- search redirection
- using Redirect section of PmWiki:PageListTemplates
- currently working with with person search in http://Self (e.g. Cobra jumps directly to Person:CobraCommander)
- page counts
- [[Site/AllRecentChanges|(:pagelist group=-PmWiki*,-Site fmt=count:) pages]]
- PmWiki:Categories
- example of usage http://wiki.mybusinesseducation.fr/Livres/
- PmWiki:Uploads
- PmWiki:UploadsAdmin to enable it
- don't forget URL rewriting (could have to add a specific /uploads/ line)
- PmWiki:UploadsAdmin to enable it
- Cookbook:SpeedOptimizations
- Copy all the program files, skins, css... into the RAM of the server and run the wiki from there.
- Wikipedia:Tmpfs
- df -h | grep tmpfs; cat /proc/meminfo; mount; free;
- du -sh /var/log/ /home/utopiah/web/benetou.fr/fabien/ /home/utopiah/web/wiki/
- http://www.howtoforge.com/storing-files-directories-in-memory-with-tmpfs
- http://serverfault.com/questions/43383/caching-preloading-files-on-linux-into-ram
- http://forum.ovh.com/showthread.php?t=49409
- AR RAM Disk by Andreas Roth, discontinued in 2009
- E:\xampplite\htdocs\
- df -h | grep tmpfs; cat /proc/meminfo; mount; free;
- memcached distributed memory object caching system
- Wikipedia:Tmpfs
- consider fake forced caching by periodically querying the system (through crontab
- see ObjectsExoBrain#SystematicStudy to generalize it
- include the datasets to run tests and compare
- Copy all the program files, skins, css... into the RAM of the server and run the wiki from there.
- Cookbook:Stopwatch
- RSS feed on every single page of the wiki
- add <link rel="alternate" type="application/rss+xml" title="RSS" href="{$PageUrl}&action=pagefeed&minor=0" /> to the header of the skin.tmpl
- http://www.w3.org/QA/Tips/use-links
- PmWiki:PageList
- (:pagelist group=Events order=-time count=3 list=normal fmt=#titlespaced:)
- also useful for menus, updates, etc... a key function to know to keep a wiki scalable
- logical links
- ln -s old.page new.page works but posing problems to the update page
- sign an edit
- ~~~ Fabien
- ~~~~ Fabien June 25, 2010, at 10:57 AM
- found in scripts/author.php
- extended locally with
~~#thanks to Cookbook:ROSPatterns
- titlespaced : Outputs wiki page titles with spaces between the words in the title.
- URL rewrite
- ookbook:CleanUrls#URL_rewriting + PmWiki:LayoutVariables#EnablePathInfo
- see also Lighttpd (also for Lighttpd#Apache)
- backlinks
- use a template page per group for new pages
- $EditTemplatesFmt = '{$Group}.Template';
- force list number
- # %item value=0% Blabla (cf cf PmWiki:ListStyles )
- force author field
suggested at PmWiki:InitialSetupTasks$EnablePostAuthorRequired= 1;
- internationalization (cf :PmWiki:Internationalizations )
- simply download the localization archive, unpack, edit the configuration file
- parenthesis within the name of a link
- example [[Wikipedia:Flow (psychology)]] returns Wikipedia:Flow (psychology)
- example [[Wikipedia:Flow (psychology)]] returns Wikipedia:Flow (psychology)
- access to pmWiki variables from within a recipe
- global
$FarmD,$WikiTitle,$ScriptUrl;
- global
- personalized edition page
- PmWiki:SkinTemplates
- per user, per action
- e.g. Fabien||Utopiah editing a page = special mode
- skin.php .= if ($GLOBALS['action'] == 'edit' && ( $GLOBALS['Author'] == 'Fabien' || $GLOBALS['Author'] == 'Utopiah' ) ) LoadPageTemplate($pagename, "$SkinDir/edit.tmpl");
- edit.php .= dedicated menu including documentation, shortcuts using insMarkup to add links, useful pmWiki code, etc
- e.g. Fabien||Utopiah editing a page = special mode
- per group?
- ReadingNotes/ would show dedicated good practices including startrecall PTV
- per platform?
- mobile browser (to try with http://www.testiphone.com/ ), ...
- Cookbook:DetectMobile
- $FarmD : directory for an entire farm according to PmWiki:PathVariables
- display updates
- (:include Site.AllRecentChanges lines=5:) (found by Person:Franck )
- instead of (:pmfeed feed='Path:Site/AllRecentChanges?action=rss' max_count=5 showtitle=false showpubdate=true newwin=false itemspace=0 showitemdescr=true:) which doesn't display authors and summaries
- display updates within this group only
- !!News [--([[{$Group}.RecentChanges]])--]
- (:include {$Group}.RecentChanges lines=5:)
- spaces or ":" in page name are automatically removed
- this can be used to keep nice presentation without using complex links
- per page or per group skin
- example per page of MisterRoboto
- for ./wiki.d/Content.MisterRoboto create ./pub/css/Content.MisterRoboto.css
- example per group of Seedea:Oimp/Oimp
- for ./wiki.d/OIMP.* create ./pub/css/OIMP.css
- see also http://www.pmwiki.org/wiki/PmWiki/Skins#modify
- example per page of MisterRoboto
- AddUrlSchemes Add the desired schemes as new InterMap
- PageTextVariables (PTV) will be assigned/evaluated before any conditional markup is evaluated. That means you can use page text variables with conditional markup, but not conditional markup within page text variables.
- PageDirectives
- (:redirect PageName:) Redirects to another wiki page.
- (:title text:) change the title of the page to
text
- pmWiki philosophy with a special key point on a modular design that keeps OUT of it what is not minimally required ! (and DesignNotes)
- pmWiki is dependable on PHP limitations : backtracking limit bug
- pmWiki allow the use of AccessKeys!
- how to query pmWiki using the EditingAPI
- PmWiki is designed like a library that can be called from PHP scripts -- not really.
- typically I (pmichaud) suggest that other packages use the HTTP interface to manipulate the wiki
- it's been very stable -- few changes over minor upgrades
- any "official" effort to use nicely DataPortability formats?
- PmWiki can output RSS and RDF but beyond that, no.
- creating custom Markup()
- preventing escaping thanks to Keep()
- getting pages thanks to ListPages("Pattern.");
- use of
(:table border=1 cellpadding=5 cellspacing=0:) (:cellnr valign=top:)'''Title''' (:cell:)'''Lesson learned''' (:tableend:)
for more complex tables. - Get pages and remove the system ones
// update with content $cleandata = ListPages("/Oimp\./e"); //General cleaning $cleandata = MatchPageNames($cleandata,array('-*.*RecentChanges,-*.GroupFooter,-*.GroupHeader')); - PmWiki Markup Master Index : Everything you wanted to know about wiki markup but were afraid to ask.
- Read the content of a page
$pagename = "MyGroup.MyPage"; //getting the content of the page $pagecontent = RetrieveAuthPage($pagename, 'read', $authprompt = 'false', READPAGE_CURRENT); //focusing on content, not meta-data $content = $pagecontent['text']
- (:include Group.PageName#from#to:) : include the part of page
- don't forget to make fullpage in the included page or they won't get resolved properly on the including page
- when you manipulate account and password, remember that
- PmWiki remembers that and treats you as an admin from then on (thus not prompting for an edit password) it remembers you as an admin until you logout (?action=logout) or completely shut down the browser
Specific usage cookbooks
- rank content
- Cookbook:StarRanker
- consider Object/GroupHeader or Object/GroupFooter
- PageList for rated and yet non rater object
- rating per user
- page creation simplified
- Cookbook:NewPageBoxPlus
- especially useful for wiks aimed at newcomers
- handle slide shows
- Cookbook:SlideShow (see also my comment as I had problems during the installation)
- do not forget the little menu on the bottom right corner
- bugs regarding notes and link to separate slide ( #slideX )
- see the resulting Slideshows
- display graphs
- Cookbook:PmGraphViz leveraging Graphviz rendering
- display equations
- displaying wiki updates within another page
- from external wikis Cookbook:PmFeed
- for internal pages (:include Site.AllRecentChanges lines=5:)
- this can be done per group too (:include {$Group}.RecentChanges lines=5:)
Learning material in video form
- PmWiki
- Easy-to-Edit Website Instruction Videos by Eclectic Tech
Videos on wiki in general and their modules moved to Wikis
Starting point for Development section of the documentation
- ?action=source
- PmWiki:EditingAPI
- PmWiki:Variables
- PmWiki:Functions
- PmWiki:PageFileFormat
- this has often been discussed on the mailing list, also, so perhaps check the archives.
- Cookbook:Functions Brief description of some of PmWiki's internal functions available to cookbook recipe authors and custom markup developers.
- PmWiki:FunctionList simple list of the functions provided by PmWiki.
Recipes
- List of the pages that talk about pmWiki recipes
To do
- consider Cookbook:SkinAlternative Skin your pages within your wiki itself, rather than using downloadable skins
- read Cookbook:WikiRefactoring
- get PTV value per page version
- useful to see the evolution over time of current page, current chapter, last reading date in ReadingNotes
- check Cookbook:ViewDiff and Cookbook:PageHist
- To Add to my PmWiki:Profiles.Utopiah
- Chat module
- Tools.Vimperator autocommand
- Use post to query pmwiki tutorial to add data by SMS to Test.Test?
- else do a Recipe that would periodically check (easier but maybe more resources greedy and less responsive)
- clarify the MarkUp()/Keep() difficulties with Ajax
- list all the functionnalities required and see what recipe is the more adapted
- try to only do recipe that are Seedea-dependant
- modify the editor thanks to one of the several solutions
- write a MarkUp and modify Site.EditForm
- add javascript to handle the textarea which already has an id="text" (thus $('text') with scriptaculous) and use a pmwiki keyword for page listing (no need to write PHP then)
- modify
$HTMLHeaderFmt[]
- PmWiki:Subversion including fully-automated and hassle-free upgrade/backup process
Note
My notes on Tools gather what I know or want to know. Consequently they are not and will never be complete references. For this, official manuals and online communities provide much better answers.
CONTENT
CONTACT
UPDATES
LAST TWEET
CONTENT RIGHTS
RSS for this page only
