Wiki source for PseudoFormatters
===== Pseudo-formatters: one-time generated content =====
>>**See also:**
~-SmartyPants
~-WantedFormatters
~-WikkaExtensibleMarkup
~-PreFormatter
>>::c::
I'd like to discuss the idea - already suggested in the WakkaWiki community - of adding to Wikka a set of **pseudo-formatters**, taking care of //one-time content generation//. Whereas **actual formatters** interpret Wikka markup stored in the DB, **pseudo-formatters** only interpret some specific markup //when a page is stored//: the content is generated on-the-fly and stored in the database as ordinary Wikka content.
A couple of examples:
**Short signature**
##:::##
//generates://
-- {{user}}
**Long signature**
##::::##
//generates://
-- {{user}} ##[2005-02-28 12:02]##
**Timestamp**
##::t::##
//generates://
##[2005-02-28 12:02]##
etc.
== The code ==
The modifications required for this to work are quite silly. We just need to modify ##""SavePage()""## in ##wikka.php##, before the call to ##Query()##
%%(php)
// one-time formatter: signature
if ($user) {
$longsignature = '-- '.$user.' [##'.date("Y-m-d H:i").'##]';
$shortsignature = '-- '.$user;
$body = preg_replace("/::::/",$longsignature,$body);
$body = preg_replace("/:::/",$shortsignature,$body);
}
// one-time formatter: timestamp
$timestamp = '[##'.date("Y-m-d H:i").'##]';
$body = preg_replace("/::t::/",$timestamp,$body);
%%
A similar hack has to be done in the //preview// section of ##handlers/page/edit.php##.
The timestamp markup is just an example, not something I would implement as such in Wikka (the format should be configurable).
== Issues ==
As usual, what we need is a good markup (easy to remember, distinctive, expressive). If we choose to adopt ##**::**## as a tag for [[WikkaExtensibleMarkup | extensible markup]], then the solution I propose here is not optimal.
Your thoughts?
== Related discussion ==
- MagicWords
----
CategoryDevelopmentFormatters
>>**See also:**
~-SmartyPants
~-WantedFormatters
~-WikkaExtensibleMarkup
~-PreFormatter
>>::c::
I'd like to discuss the idea - already suggested in the WakkaWiki community - of adding to Wikka a set of **pseudo-formatters**, taking care of //one-time content generation//. Whereas **actual formatters** interpret Wikka markup stored in the DB, **pseudo-formatters** only interpret some specific markup //when a page is stored//: the content is generated on-the-fly and stored in the database as ordinary Wikka content.
A couple of examples:
**Short signature**
##:::##
//generates://
-- {{user}}
**Long signature**
##::::##
//generates://
-- {{user}} ##[2005-02-28 12:02]##
**Timestamp**
##::t::##
//generates://
##[2005-02-28 12:02]##
etc.
== The code ==
The modifications required for this to work are quite silly. We just need to modify ##""SavePage()""## in ##wikka.php##, before the call to ##Query()##
%%(php)
// one-time formatter: signature
if ($user) {
$longsignature = '-- '.$user.' [##'.date("Y-m-d H:i").'##]';
$shortsignature = '-- '.$user;
$body = preg_replace("/::::/",$longsignature,$body);
$body = preg_replace("/:::/",$shortsignature,$body);
}
// one-time formatter: timestamp
$timestamp = '[##'.date("Y-m-d H:i").'##]';
$body = preg_replace("/::t::/",$timestamp,$body);
%%
A similar hack has to be done in the //preview// section of ##handlers/page/edit.php##.
The timestamp markup is just an example, not something I would implement as such in Wikka (the format should be configurable).
== Issues ==
As usual, what we need is a good markup (easy to remember, distinctive, expressive). If we choose to adopt ##**::**## as a tag for [[WikkaExtensibleMarkup | extensible markup]], then the solution I propose here is not optimal.
Your thoughts?
== Related discussion ==
- MagicWords
----
CategoryDevelopmentFormatters