What is HTMLe
You’ve just built a WordPress website for your client, or provided them with a custom CMS and then they say… “we want to add a feed on this page to cnn.com, and a feed on this page to yahoo.com.”  Or they say, “wow, this is great, but can we add our twitter feed to this page only” or “can we hook this up to our store database and show products for this category on this page, and a different category on this page?”  Unfortunately, clients do not seem to realize that these are database driven sites, meaning the content is simply being pulled out of the database and thrown into a single, templated page.

It was from this lack of understanding that HTMLe, the plugin engine was built.  Similar to Smarty’s plugin engine, HTMLe allows you to build a single plugin which is called by a “smart tag” and accepts unlimited attributes.  But HTMLe takes it one step further as it allows you to call sub-functions individually, as well as use a class instead of a function… giving you even more control over your plugin and allowing for even greater code reusability.

For example, by default the RSS READER plugin is included.  To add an RSS feed to a page you would simply add { rssreader url=”http://www.mikestowe.com/feed/” posts=”5″ words=”25″ endwith=”…” }  This would then display 5 posts (with upto 25 words) from the Mikestowe.com feed.  Of course you can take even greater advantage of this “HTMLe tag” by adding the skip attribute (skips the first # of words) and the style attribute (let’s you completely style how the individual posts are displayed).

Installing HTMLe

HTMLe can be installed as a WordPress plugin or standalone on any server running PHP 5.

WORDPRESS To install as a WordPress plugin:

  1. Install the HTMLe folder in the wp-content/plugins/ folder
  2. CHMOD the HTMLe/plugins folder and its contents to 777 to enable plugin creation and editing (this can be skipped for security purposes)
  3. Activate the plugin through the WordPress admin panel (under plugins)

PHPTo install as a stand alone plugin for a custom CMS/ DDW:

  1. Install the HTMLe folder somewhere in your site’s directory
  2. If you do not have autoload setup for this location, include the HTMLe.php file (you only need to do this once)
  3. Wrap your output code in the HTMLe function or class


Coding Restrictions

  1. HTMLe tags may not contain a space between the opening bracket and the HTMLe tag (for example, { rssreader} will not work
  2. You may only use quotations when referring to attributes, and they may not be used outside of defining an attribute.  It is recommended to use apostrophes (‘) inside of an attribute when needed.  For example, { rssreader style=”<a href=”">”} will not work.  However you may also use HTMLe smart tags to do this, so in the case of =” you can use (( and in the case of ” you can use )) or { rssreader style=”<a href((%link%))>”}
  3. You may only use attributes ({tag attribute="value"}) OR textarea style HTMLe tags ({tag}{/tag}). If a tag contains an ending tag ({/tag}), it will be assumed to be a textarea style tag and all attributes will be ignored, with only $params['_inner'] being returned (regardless if there is any text between the start and end tag or not). I am hoping to resolve this is a future release.




HTMLe is now being released under the GPL version 2 license. If you do find HTMLe to be useful, or have any suggestions or ideas, please let me know SMILE

Get Plugins/ Stay Updated

Visit http://www.mikestowe.com/HTMLe to subscribe to the HTMLe Updates Newsletter and to see new plugins for the HTMLe engine. Please feel free to contribute your own plugins by contacting me (information on MikeStowe.com as well).