Help / Site Specific Markup
< PmWiki help index | Help | Search >
The HowTos
Contents
1. Creole
2. Talk pages 3. Embedding 3.1. icons 3.2. embed forum music 3.3. embed non forum (uploaded) audio 3.4. embed video 3.5. embed a website 4. forum colors 5. Extensions 6. to break rfloat and lfloat thingies 7. use a random page 8. some special stuff 8.1. radio live schedule 8.2. radio playlist schedule 8.3. paypal donation form 8.4. user group list 8.5. user group info 8.6. GMT-local time clock 8.7. Now on the radio 8.8. Chat room link 9. Include HTML and JavaScript 10. RSS feeds 11. stubs - done 12. Simple image gallery 13. Time stamps 14. Page views 15. Smileys 16. Different table markup 17. Collapsible menus 18. Calendar special markup 19. Special characters 20. Radio Menu 21. Additional author markup 22. Page Template 23. Collapsible TOC 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 ( 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 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
The skin used is emwiki, an edit of the standard pmwiki skin - it is not complete yet.
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.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.4. user group list
use {_group_list_} to get a comma separated list of groups the user is a member of 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
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
![]() {_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 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:
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 :
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:
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:
(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:
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
instead of
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 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] - 1954 views