PmWiki-derivative proposal: Slender

Introduction

This 'simple lender' is a WikiSphere derivative of PmWiki (distribution). Most prominently Slender departs from the standard PmWiki syntax, making it lighter.

Slender uses the same code-base as PmWiki. Cookbook recipies for Slender and PmWiki can run unchanged in both environments. Sometimes recipies need to be made aware of Slender first.

It will include a fully preconfigured setup with important functionality like toc, zap and automated membership. If at all possible blogging and galleries will be distributed ready to use.

Slender exists as a proposal. Everything said here is entirely fictional at this point.

Proposed changes

  • Line breaks are honoured and whitespace can be created. The (:linebreaks:) syntax is removed and replaced with a service page that'll convert your text to the required format. A pre (or likewise named) class to force preformatted text using >>pre<<.
  • \ (line-join), \\ (line-break), \\\ (more line-breaks) etc at the end of a line syntax is removed. Is a replacement required?
  • Text indented with spaces no longer generates preformatted text. Indented text connects to previous indents like lists or explicit indents where possible (as pmwiki does), otherwise indents as TABs would.
  • The standard link-format changes to use only dots (i.e. no Group/Page 'cut' syntax). Only the last part after the dot is used as the linktext if none is provided. This change frees up the / operator in page links.
  • No text extraction mechanism like [[(Big)Wiki]] is supported.
  • Link-suffixes may be optional. They're good for english, less usefull for other languages.
  • No support at all for wikiwords. You can add them yourself.
  • Link syntax changes to a lighter [group=Group, page=Page | text] format. Proposed shortcut-formats:
    [Group.Page | text] # like pmwiki
    [Group.Page] has Page as its linktext # like pmwiki
    [|Page], same as [page=Page] # hmmm, I need a differentiating mark ('|') from normal text, but Page? is easier to type
This syntax will most certainly evolve to include hovertext.
  • Header syntax changes changes to use:
A single ! to indicate a normal H3 sized header.
Smaller headers use !> (header indent, H4 size header)
Even smaller headers use !>> and so on (H5 etc)
Bigger headers use <! (header outdent, H2 size header)
  • GroupHeader, GroupFooter and GroupAttributes (and others!) are no longer are part of the group, but groups by themselves, possibly within another group. Only @advanced users will see them. Maybe the [Group::Header] syntax can be supported instead.
  • An option (on by default) forces pagenames to begin with an uppercase. This allows special groups like GroupHeader to differentiate themselves.
  • The PmWiki syntax will be probably still be available initially due to compatibility demands, including the PmWiki and Site groups... In the short term the presence of this robust pmwiki back-end allows the use scripts without change.
  • Homepages are in the HomePage.HomePage format and the groupname is suppressed in skin titles.
  • A Slender group contains the Slender documentation
A SlenderConfig group containing pages that affect site operation (the former Site group).

What continues as usual?

  • Pages are in groups and authuser controls access
  • * and # lists
  • >>div<< syntax.
  • WikiStyles?
  • Too much to name here :-)

Issues

  • What to do with regular inline markup (@@ ''' '+ [-, etc) which, when combined, can give source text such an ugly face?
  • If at all possible: remove the [=...=] syntax from being used often. Reenforce use of (:markup:) and an invisible stop (like the [==] in PmWiki) at strategic locations. More thinking this through is required and perhaps the opposite strategy (using this more commonly) is the answer.
  • Simple skin by default: good properties for smaller screens, cleaner visuals.
  • The link syntax as is needs to be aware of generated pagenames that turn out to be an empty string (a 'fart') in order not to interpret linktext as a pagename.
  • Typing [|Page], the most common format, is harder then [[Page]] (?)

Contribute

For now simply add proposals below (or to Slender-discussion). Or write to the PmWiki mailing-list as usual. Just mark the subject like "Slender: my subject".

Discussion:

Add your remarks here:

  • This is a starting point aiming towards a familiar syntax and a straightforward implementation. /jm
  • If people are going to overhaul PmWiki's markup syntax ... wouldn't it make sense to choose one of the already "standard" markups as the basis for the changes? Personally I like Markdown, but Textile (and many others) are equally valid choices. Over my years of using wiki's and blogs, one of my personal frustrations has been that my content is not easily portable from one project to another. -- Profile.AdamShand?
Good point. Yet I'm arguing for a syntax that avoids being YAWS (yet another wiki syntax). Note, AFAIK, Markdown is quite limited in its functionality. /jm

Please consider:

Add your proposals here:

  • What about support for clips (/jm)?
    (:cut clip:)
    Mainly textvariables here..
    (:end clip:)

Supporters

Page-maintainer: <your name goes here>
Supporters: <your name goes here>

Discussion

FAQ

Is this list of syntax changes relative to PmWiki conservative?

Yes, the more radical parts have been left out to preserve a recognizable wiki. Discussion may well find that such changes are indeed desirable.