History of LibertyFormats
LibertyPackage allows developers to specify various formats for data.
A plugin can be defined to allow and process data in a certain format. The formats can be enabled by an administrator on the Liberty>Plugins page.
Available formats:
* Tiki Wiki format is the default.
* HTML format
Common tags:
since some tags do more than just make it easy to edit text, we want to allow the usage of specific tags in any plugin. these include:
!!!please edit and comment!
* ~np~{toc}~/np~ - creates a table of contents from a given structure.
* ~np~{maketoc}~/np~ - creates a table of contents from the headings within a page.
* ~np~((WikiWords))~/np~ - might be useful as well, since these wouldn't be recognised otherwise.
* ~np~{rss id=x}~/np~ - RSS streams
* ~np~{cookie}~/np~ - not entirely sure what this is used for, but it certaily wouldn't be accessible through css.
Plugins have three standard functions the LibertyEngine attempts to call at various times. You must name these functions using your format_guid as a prefix, followed by three possible endings. For example, if your format is 'bbcode', then your functions declared in liberty/plugins/format.bbcode.php must look like:
^!!!bbcode_save_data
called automatically during object call to LibertyContent::store if the LibertyContent object has the format 'bbcode'^
^!!!bbcode_parse_data
called automatically during object call to LibertyContent::load if the LibertyContent object has the format 'bbcode'^
^!!!bbcode_verify_data( &$pParamHash )
The function called automatically during object call to LibertyContent::store method to verify proper syntax if the LibertyContent object has the format 'bbcode'.
It needs to copy the edit field to the 'content_store''data' hash for proper storage. For example:
{CODE(in=>php)}
function bbcode_verify_data( &$pParamHash ) {
$errorMsg = NULL;
$pParamHash['content_store']['data'] = bbcode_check_syntax( $pParamHash['edit'] );
return( $errorMsg );
}
{CODE}
returns an errorMsg if there was a syntax error with the format, else returns null.^
A plugin can be defined to allow and process data in a certain format. The formats can be enabled by an administrator on the Liberty>Plugins page.
Available formats:
* Tiki Wiki format is the default.
* HTML format
Common tags:
since some tags do more than just make it easy to edit text, we want to allow the usage of specific tags in any plugin. these include:
!!!please edit and comment!
* ~np~{toc}~/np~ - creates a table of contents from a given structure.
* ~np~{maketoc}~/np~ - creates a table of contents from the headings within a page.
* ~np~((WikiWords))~/np~ - might be useful as well, since these wouldn't be recognised otherwise.
* ~np~{rss id=x}~/np~ - RSS streams
* ~np~{cookie}~/np~ - not entirely sure what this is used for, but it certaily wouldn't be accessible through css.
Plugins have three standard functions the LibertyEngine attempts to call at various times. You must name these functions using your format_guid as a prefix, followed by three possible endings. For example, if your format is 'bbcode', then your functions declared in liberty/plugins/format.bbcode.php must look like:
^!!!bbcode_save_data
called automatically during object call to LibertyContent::store if the LibertyContent object has the format 'bbcode'^
^!!!bbcode_parse_data
called automatically during object call to LibertyContent::load if the LibertyContent object has the format 'bbcode'^
^!!!bbcode_verify_data( &$pParamHash )
The function called automatically during object call to LibertyContent::store method to verify proper syntax if the LibertyContent object has the format 'bbcode'.
It needs to copy the edit field to the 'content_store''data' hash for proper storage. For example:
{CODE(in=>php)}
function bbcode_verify_data( &$pParamHash ) {
$errorMsg = NULL;
$pParamHash['content_store']['data'] = bbcode_check_syntax( $pParamHash['edit'] );
return( $errorMsg );
}
{CODE}
returns an errorMsg if there was a syntax error with the format, else returns null.^