Recent Changes - Search:

go to the forum

Contents

Site

Help

« jan 2024 · may 2024 »

add a calendar item

Help / Site Specific Markup

< PmWiki help index | Help | Search >


The HowTos


Howtos, keep that body moving, or freeze, a dream of productivity, frozen illusions.

Keep an eye on this page for all the site specifics that are not in the general PmWiki help pages.

Also keep an eye on The Dreams, the info is spread a bit over two places.

For bug reports or security issues please use the Discuss link (top right), for feature requests please use Help.Todo, feel free to add items, either in the (talk) page here or there.

The idea is to mostly have a manual for working stuff here and a wish list there as good as it goes ...



Creole cheat sheet

1. Creole

The Creole markup extensions have been switched on, this allows for some easier markup in places. See the cheat sheet on the right.

2. Talk pages

Every wiki page has an associated talk page which is meant to discuss the actual page. You can reach the talk page by using the Discuss link from the page menu in the top right corner of each page.

Talk pages can be edited by registered and logged-in forum members only. To make a link to a talk page just append -Talk to the page name. For instance use [[Help.SiteSpecificMarkup-Talk | this]] to get this.

It is considered to be polite to sign your messages on a Talk page. To sign a message you can just use three tildes in row (~~~) which will be expanded to your forum user name when the page is saved. To get a timestamped sign you can use four tildes instead (~~~~).

This currently does not work properly for user names having brackets in them, the underlying [[~user name]] markup breaks on that (this is an item in the Todo list already).

See below for a fix of this.

3. Embedding

Be sure to read the uploads help for the wiki at http://www.pmwiki.org/wiki/PmWiki/Uploads - especially the bit about no spaces in file names.

3.1. icons

Site wide icons are to be found in Site.Icons

To include a site wide icon use markup like

 Attach:Site.Icons/download.gif 

to get

Please upload icon like images to be used on many pages to Site.Icons

3.2. embed forum music

Use {track: xxxxx | track title} to link to music posted on the forums, xxxxx being the track ID.

For example the forum track http://electro-music.com/forum/download.php?id=33479 (from this page) has track ID 33479 and is called Muied Lumens - music for walkmen.

To get a listen and download link for this track use the markup

 {track: 33479 | Muied Lumens - music for walkmen}

which results in

Muied Lumens - music for walkmen

Where the first icon is a direct listen and the second a download - the direct listen seems to not work in chrome.

You can look up track IDs in the forum's media page by hovering your mouse over the track title or the speaker symbol in front of it.

By using links this way the listen counts on the forum will be maintained.

3.3. embed non forum (uploaded) audio

Use this sparingly, forum posts are preferred, yet local audio illustrations could make sense. Use the audio tags

 (:audio myaudio.mp3:) or 
 (:audio myaudio.ogg:) 

(where ogg is preferred over mp3 as it works in most browsers) to define an inline audio element. After that the audio file will need to be uploaded, it works the same way as an image attach / upload. Wav files should work too btw ... but they are getting large quickly ...

You can also not specify a file extension in the the argument, like

 (:audio myaudio:) 

and then upload both an mp3 and an ogg file, the user's browser will then select what it likes best.

For extra options have a look at http://www.pmwiki.org/wiki/Cookbook/Audio5 , please do not use auto starting audio.

the following setup is in confg.php:

 $AudioPreload  = 'auto';   // (auto|metadata|none)
 $AudioAutoplay = 0;
 $AudioControls = 1;
 $AudioLoop     = 0;

Audio uploaded to the wiki is not shared with the forum.

An example:

 (:audio test07.ogg:) - Blue Hell - test07

gives: - Blue Hell - test07

3.4. embed video

Just use a YouTube, Vimeo, GoogleVideo or FlickrVid link - it should expand into a player box. For an example see http://electro-music.com/wiki/pmwiki.php?n=Articles.FeedbackOrNoInputMixing - scroll down a bit.

3.5. embed a website

For an example see the NM Classic Archive. This works by first making a special page in the JavaScript section, in this case JavaScript.NordModularArchive and then including that page in the page that is to show the embedded site, i.e. that NM Classic Archive article mentioned before.

The special page builds an iFrame that is automatically resized depending on the contents of the frame. This special page can only be made by a wiki admin - so if you want something like this please ask an admin for support.

4. forum colors

forum color example


The following CSS styles have been added to the main style sheet:

 * electro_blue  is #255293 or rgb(  37,  82, 147) dark blue site color
 * electro_back  is #ffffff or rgb( 255, 255, 255) white
 * electro_light is #efefef or rgb( 239, 239, 239) lightest table cell color
 * electro_mid   is #dee3e7 or rgb( 222, 227, 231) a mid color for table cells
 * electro_dark  is #d2d6df or rgb( 210, 214, 223) the darker table cell color
 * electro_hover is #eb6f6f or rgb( 204, 111, 111) sort of red, link hover color

So, for instance, to make a bit of text electro_hover you can use

 %class=electro_hover%a bit of text electro_hover%% 

for the markup.


5. Extensions

The following extensions were installed 1

nameversionweb-linkcomment
AuthPhpbb2Sso080401http://www.pmwiki.org/wiki/Cookbook/AuthPhpbb2Sso2for coupling to forum accounts - for access control forum groups can be used, replace spaces in forum group names with underscores please.
debug130129not published 3for debugging to a file: also see http://www.pmwiki.org/wiki/Cookbook/Stopwatch for profiling stuff
Toggle2011-04-06http://www.pmwiki.org/wiki/Cookbook/Togglefor sections to be switched in or out
FootNotes1.0.0http://www.pmwiki.org/wiki/Cookbook/Footnotesfor footnotes e.g 4
SimplePageCounter2007-11-24http://www.pmwiki.org/wiki/Cookbook/SimplePageCounterfor page counts
SWFSites2011-06-16bhttp://www.pmwiki.org/wiki/Cookbook/Flash#swfsites5emebed YouTube, Vimeo, GoogleVideo, and FlickrVid video
Audio52012-11-01http://www.pmwiki.org/wiki/Cookbook/Audio56html5 audio support
WikiCalendar0.3.43http://www.pmwiki.org/wiki/Cookbook/WikiCalendar7Calendar functions - see Calendar
qdig81.2.9.4http://netcologne.dl.sourceforge.net/project/qdig/qdig/Qdig%201.2.9.4/qdig-1.2.9.4.zipfor viewing uploaded pics .. gallery like. See here
PowerTools2011-03-08http://www.pmwiki.org/wiki/Cookbook/PowerToolssome tools, see link - lots of new warnings too .. will need fixes
Discuss link2007-07-25http://www.pmwiki.org/wiki/Cookbook/SimpleDiscussLinkadds a discuss link to all pages to have auto talk pages. Only viewers with edit rights can actually see the talk pages, even when the link is always present.
Creole1.0http://www.wikicreole.org/ and http://www.pmwiki.org/wiki/Cookbook/Creolethe Creole markup is somewhat easier than the PmWiki standard stuff, see the cheat sheet near the top of this page
numtocV 0.7 - 2 dec. 2006http://www.pmwiki.org/wiki/Cookbook/NumberedHeaderssimple table of contents
HTML2013-02-23http://www.pmwiki.org/wiki/Cookbook/EnableHTML-Talk9to get HTML and JavaScript into pages
jQueryv1.9.1http://jquery.com/download/jQuery, also see previous item
Mini20121204http://www.pmwiki.org/wiki/Cookbook/MiniVery basic, but automatic, image gallery
Smileys23-Feb-2004http://www.pmwiki.org/wiki/Cookbook/WikiSmileyshappy smiley
DynTrailMenu2008-09-02http://www.pmwiki.org/wiki/Cookbook/DynTrailMenuCollapsible menus

The skin used is emwiki, an edit of the standard pmwiki skin - it is not complete yet.


6. to break rfloat and lfloat thingies

use [[<<]] or <br>


7. use a random page

look here, the config stuff needed is in place. Note that the Random Page link in the sidebar works differently (see here).


8. some special stuff

8.1. radio live schedule

use

 {_live_schedule_} 

to get in a table with the radio live schedule. There are no parameters currently.

8.2. radio playlist schedule

use

 {_playlist_schedule_} 

to get in a table with the radio playlist schedule. There are no parameters currently.

8.3. paypal donation form

use

 {_donate_} 

to get in the paypal donation form.

8.4. user group list

use

 {_group_list_} 

to get a comma separated list of groups the user is a member of

8.5. user group info

use

 {_user_info_} 

to type some user info

8.6. GMT-local time clock

use

  {_clock_}  

to display

. | .

This needs JavaScript to be enabled on the reader's computer.

8.7. Now on the radio

use

  {_now_playing_}

to get

waiting for song title ...

This needs JavaScript to be enabled on the reader's computer. If you want to change the looks .. it looks like you'll have to change JavaScript.StreamInfo (you need be a WikiAdmin for that).

8.8. Chat room link

use

  {_chat_room_}

to get

Chat Room, a link to the chat room ... the actual link is set in local/config.php - it might point to a wiki chatroom page later to have all chat information in one place.

9. Include HTML and JavaScript

HTML and JavaScript are restricted to be used by WikiAdmins and forum admins only.

When regular users will enter HTML markup it will be broken into something innocent on save. So this leaves the problem that when there is direct HTML markup on a user editable page the page will get broken after an edit. To avoid this problem I made a new group called JavaScript which is world readable but editable by WikiAdmins and forum admins only. To get the contents on a user editable page the wiki include mechanism can be used:

 (:include JavaScript.SomePageWithHtml:)

The group name JavaScript may be confusing, as it will allow for HTML to be used directly in a wiki page ... however the primary reason for this was to allow for user defined JavaScript to be present in wiki pages.

Please note that it is still possible for admin leveled users to write HTML and JavaScript into almost every wiki page, it is just that as soon as a less privileged user will edit and save such a page the code will be broken (it is easy to fix, but still).

I made an example page JavaScript.TestPage that has a canvas element with some basic drawing on it. This page can be included in other pages with (:include JavaScript:TestPage:) to get the image on the right (oh how nicely it floats there ...). This, of course, needs javaScript to be enabled on the client computer. Anyway ... you can draw and you can animate happy smiley


One starts a HTML code section with

 (:html:) 

and ends it with

 (:htmlend:) 

and in between goes arbitrary HTML code including <script> elements; edit the test page to see an example.

When a JavaScript code library is needed it can be included with code like

 {script: common.js}

The library will have to be uploaded to the server before being able to do this - only admins can perform the upload. This way the Wiki software will keep track of the included files and will include them only once.

This one just supports multiple "onPageLoad" callbacks to be present in a page and some helper stuff for date and time translations, something more elaborate will be needed later on (see next pargraph). When you need code to be uploaded to the server please ask Blue Hell - it is preferred to not link to external scripts, but to have them uploaded to the server rather.

jQuery JavaScript Library v1.9.1 is available already as http://electro-music.com/wiki/pub/jquery-1.9.1.js for the uncompressed (debug) version and http://electro-music.com/wiki/pub/jquery-1.9.1.min.js for the compressed (production) version. Not sure how well this combines with the GMT / local clock, we'll see. Cooperation between various JavaScript includes seems to be working ok now.

Some help on canvas stuff can be found here


10. RSS feeds

can be used to indicate an RSS feed. RSS feeds can be made for every page by making an action=rss link for it. To get an RSS feed on this page use markup like
 {_rss_}

or when you want to specify some details 10

 Attach:Site.Icons/feed-icon-14x14.png [[Help.SiteSpecificMarkup?action=rss | RSS]]

or with the large icon

 Attach:Site.Icons/feed-icon-28x28.png [[Help.SiteSpecificMarkup?action=rss | RSS]]

which then looks like

RSS, RSS or RSS

Not that RSS is too useful for this specific page, but for an example see Articles, which uses an unnumbered list. Wiki trails can also be used as an RSS source, for help on this see PmWiki.WebFeeds and RSS links work on Category pages too, see the Category / DIY page for instance (which has automatically generated contents and an RSS feed on those contents).

11. stubs - done

Something along these lines ... added {_stub_} markup ... I will not add that as an example here as I do not see this page as a stub, you can find examples through the Stub List.

There is a {_stubs_} macro as well, it points to the Stub List without opening a new browser window.

12. Simple image gallery

I mainly needed this to get an overview of the images in Site.Icons, but it may be useful elsewhere too. Help about this can be found at http://www.pmwiki.org/wiki/Cookbook/Mini. In it's most basic form just use Mini:* to get a thumbnail view of all image attachments present on the page - when the images should not be downloadable apparently mini:* (lowercase M) can be used; I did not test this, and it may need some other changes too.

When you change thumbnail settings the cached thumbnails need be purged with an action like PageName?action=purgethumbs.

To get a good looking layout you probably will want to place the uploaded images into a different page than the one you put the Mini:* in, otherwise the Attachments will show outside the gallery as well. For Site.Icons this was not needed.

13. Time stamps

When a user has JavaScript enabled all time stamps should be in user local time, when JavaScript is not enabled they are in server time. This was made to work on Blue Hell's versions of FF, IE, Chrome and Safari. This works by changing all server supplied time stamps on the client side with some JavaScript, for pages with many timestamps this may take some time.

Timestamp specs can now be specified with a time zone offset. The Wiki generated time stamps are in server time which is [UTC-7], but the replacement code will see other offsets from UTC as well. The technical (regular expression) specification is :

 \d\d\d\d-\d\d-\d\d\s\d\d:\d\d\s\[UTC[+-]?\d{0,2}\]

or more informally:

  dddd-dd-dd dd:dd [UTCspec] where UTC spec is an optional  + or - followed by zero to two digits.

Which is a standard date and time specified like yyyy-mm-dd hh:mm followed by an UTC offset spec, the spec must start with [UTC then an optional + or - and then zero, one or two digits. For example [UTC] is valid and specifies a zero offset from UTC; [UTC+1] is valid and it specifies central european time.

Specifically this will make it possible to use UTC times in the wiki and have them presented to readers in their local time (use a notation like 2013-01-01 00:00 [UTC] to get 2013-01-01 00:00 [UTC]).

To prevent automatic translations you can add an extra space between date and time or between time and timezone offset.

Note that this rule will also accept [UTC+] or [UTC99] which are not too useful.

The system can not support timezone specs like [AST] as such specifications are ambiguous (African Standard Time, Asian, Australian?, summer time?).

14. Page views

Use {_page_views_} to get a list of page views for the whole site, see Site.PageViews for an example.

15. Smileys

The complete set of defined smileys is:

 happy smiley          :-)
 winking smiley          ;-)          
 frowning smiley          :-(          
 laughing smiley           :p           
 embarrassed smiley           :o           
 grinning smiley           :D           
 cool smiley       {cool}       
 confused smiley   {confused}   
 shrieking smiley        {eek}        
 angry smiley      {angry}      
 rolling eyes smiley   {rolleyes}   

16. Different table markup

I've made a new table markup based on comma separated (CSV) lists. The notation is like

  (:data:)
    "the", "headers"
    "and", "data"
    "for", "the"
    "thing", "."
  (:dataend:)

it then makes :

the

headers

and

data

for

the

thing

.

There is some special stuff in this in that these tables can be used as data lookup tables. The column header values can be used to set a class for the table elements in each column. There is some special markup like 'port=Radio.PortData' which causes a translation of the port column values from definitions in Radio.PortData (in this example).

Like :

  (:data:)
    "the"  , "port=Radio.PortData"
    "and"  , "p8052"
    "for"  , "public_1"
    "thing", "8056"
  (:dataend:)

makes:

the

port

and

8052 playlist DJ1 [sc_trans 9876] - switched

for

8130 public 1 (connect info)

thing

8056 open [public]

I needed this for event pages.

Oh, and it will do row separators too:

  (:data:)
    "the"  , "port=Radio.PortData"
    "and"  , "p8052"
    "for"  , "public_1"

    "thing", "p8056"
  (:dataend:)

makes:

the

port

and

8052 playlist DJ1 [sc_trans 9876] - switched

for

8130 public 1 (connect info)

  

thing

8056 open [public]

(as long as vspace markup is on).

17. Collapsible menus

In the SideBar you can now enter markup like

  (:pagelist trail=Site.MenuRadio fmt=dyntrailmenu:)

to get a collapsible menu, see Site.MenuRadio for an example of how to create the menu.

18. Calendar special markup

In addition to the standard calendar markup there now is

 (:wikilogsidebar:)  

Which is the calendar entry used in the sidebar with a 1 - 2 month look ahead

 (:wikilogoverview:)

Which basically is the same thing with 11-12 months of look ahead

19. Special characters

These are not really site specific .. a list is handy anyway:

&trade;
&copy;©
&reg;®
&micro;µ
&sect;§
&euro;
&pound;£
&yen;¥
&nbsp;non-breaking space
&forall;
&part;
&exist;
&empty;
&nabla;
&isin;
&notin;
&ni;
&prod;
&sum;
&minus;
&lowast;
&radic;
&prop;
&infin;
&ang;
&and;
&or;
&cap;
&cup;
&int;
&there4;
&sim;
&cong;
&asymp;
&ne;
&equiv;
&le;
&ge;
&sub;
&sup;
&nsub;
&sube;
&supe;
&oplus;
&otimes;
&perp;
&sdot;
&Alpha;Α
&Beta;Β
&Gamma;Γ
&Delta;Δ
&Epsilon;Ε
&Zeta;Ζ
&Eta;Η
&Theta;Θ
&Iota;Ι
&Kappa;Κ
&Lambda;Λ
&Mu;Μ
&Nu;Ν
&Xi;Ξ
&Omicron;Ο
&Pi;Π
&Rho;Ρ
&Sigma;Σ
&Tau;Τ
&Upsilon;Υ
&Phi;Φ
&Chi;Χ
&Psi;Ψ
&Omega;Ω
&alpha;α
&beta;β
&gamma;γ
&delta;δ
&epsilon;ε
&zeta;ζ
&eta;η
&theta;θ
&iota;ι
&kappa;κ
&lambda;λ
&mu;μ
&nu;ν
&xi;ξ
&omicron;ο
&pi;π
&rho;ρ
&sigmaf;ς
&sigma;σ
&tau;τ
&upsilon;υ
&phi;φ
&chi;χ
&psi;ψ
&omega;ω
&thetasym;ϑ
&upsih;ϒ
&piv;ϖ
&OElig;Œ
&oelig;œ
&Scaron;Š
&scaron;š
&Yuml;Ÿ
&fnof;ƒ
&circ;ˆ
&tilde;˜
&ndash;
&mdash;
&lsquo;
&rsquo;
&sbquo;
&ldquo;
&rdquo;
&bdquo;
&dagger;
&Dagger;
&bull;
&hellip;
&permil;
&prime;
&Prime;
&lsaquo;
&rsaquo;
&oline;
&euro;
&larr;
&uarr;
&rarr;
&darr;
&harr;
&crarr;
&lceil;
&rceil;
&lfloor;
&rfloor;
&loz;
&spades;
&clubs;
&hearts;
&diams;

Some more to be typed over are @ http://www.w3schools.com/tags/ref_symbols.asp, http://www.utexas.edu/learn/html/spchar.html & http://www.nobledesktop.com/html-special-characters/ maybe

20. Radio Menu

To add, remove, move or rename a page or menu.. it requires a modification on a Site.MenuXXX? page (Site.MenuRadio for instance).

This is the format for a new Page or Menu. Add or remove * to adjust the level you want the Page or Menu on.

**[[Radio.Temp | Name of New Page or Menu]]

This is the markup you need to place on a new page to create a new Radio Menu.

===Name of New Menu===
(:include Site.MenuRadio:) 

21. Additional author markup

User names with brackets were not handled properly, so made and alternative for it.

 ??~Author??

can be used for Author names with a ] in it.

Also introduced

 ??link | text??

as an alternative for

 [[link | text]]

where text would have a ] in it.

These mods needed a change in AuthPhpbb2so to check for the ] and generate the alternate format.

And when your user name has a ] please sign with

  %%% or %%%%

instead of

  ~~~ or ~~~~

22. Page Template

This may be helpful. This is a template to make a page that looks similar this page here.
Copy the markup from this page here and past it to your new page and save it. Your new page should look like this page here. Just delete the parts or sections you do not need. and add your info.

23. Collapsible TOC

This is an example with init=hide, to have the section visible rather by default use leave out the init=hide bit. The toc bit is the the ID. it needs be the same ID in for the rframe and for toggle.

To have a button instead of a text only link set button=1 instead of button=0.

 %rfloat% (:toggle toc init=hide hide="hide table of contents" show="show table of contents" button=0:)
 [[<<]]
 >>id=toc rframe font-size:smaller<<
 !!Contents
 (:num:)
 (:toc:)
 (:indent:)
 >><<

For more on this see http://www.pmwiki.org/wiki/Cookbook/Toggle

 

1 in the cookbook directory and/or the local config file

2 slightly modified, see it's talk page on the PmWiki site: http://www.pmwiki.org/wiki/Cookbook/AuthPhpbb2Sso-Talk

3 local development, to be sorted out

4 footnotes, yup, like this, just edit this page to see how

5 some small changes to get PHP undefined variable usage messages out

6 some bugs fixed on this one

7 some special needs programmed in, see calendar section

8 only the viewer - no admin interface - small modifications * suppressed a PHP warning * display image file names for captions when there are none

9 modified slightly to allow access by WikiAdmins

10 This syntax is likely to be made easier later on

Edit - History - Print - Recent Changes - Search Page last modified on 2013-04-14 21:12 [UTC-7] - 2645 views