PHP

WikklyText 0.99.22 Released

This is a major feature enhancement release for WikklyText, adding these features:

  • New script twextract converts a TiddlyWiki into a set of XML and HTML files. This is useful for ...
    • Serving your TiddlyWiki content as a lightweight set of pages instead of each user having to download the entire wiki.
    • Serving your TiddlyWiki content in a Javascript-restricted environment. The generated files are plain HTML.

You can view a demonstration here: TiddlyWiki Home Page, converted to HTML.

Other enhancements/fixes:
  • Wikitexts can use <<set $LINKS_NEW_WINDOW 0|1>> to determine if links open in a new window.
  • Improved CSS styling & document structure for standalone documents.
  • Bugfixes in tables, allowing the PeriodicTable sample to work again.
  • Lots of internal fixes and reorganization.

Downloads & instructions can be found at the WikklyText Home Page.

Written in WikklyText.

WikklyText 0.99.18 - Released

This is a bugfix release for WikklyText, taking care of a problem where embedded Python code (<?py ... ?>) was not visible from nested macro calls.

Downloads & instructions can be found at the WikklyText Home Page.

Update: WikklyText is now the default input format here for user comments. You can still use Filtered HTML if you choose, but WikklyText is the default.

WikklyText 0.99.16 - Released

You might have noticed a tagline showing up on articles written here lately — "Written in WikklyText". WikklyText is the name of the underlying wikitext engine used here at boodebr.org. WikklyText is a markup language that is "99% compatible" with TiddlyWiki markup. It can be used both as a Drupal plugin, and to create standalone (X)HTML documents. It is written in Python and isn't tied to any particular web framework. You should be able to plug it in to any CMS; I implemented a Drupal plugin because that is what I use.

After much work and polishing, I'm announcing the first public release — 0.99.16. As this is the first public release, please read the documentation and exercise caution before installing on your site and giving unlimited access to anonymous users.

Downloads & instructions can be found at the WikklyText Home Page.

Note that using WikklyText as a Drupal plugin requires Drupal 5.x. I'll gladly accept patches to make it work with Drupal 4.x, but I'm not currently running any 4.x servers.
Written in WikklyText.

MYOML #9: Validation and Conclusion

The custom markup language has been designed to have a certain structure. That is, there is supposed to be one <article> tag, followed by a <section> container, followed by a <text> container. The CSS stylesheet has been designed with this in mind. However, nothing actually enforces this structure. There is nothing stopping you from writing an article with arbitrary tag structure (or even using undefined tags). There are two problems with this:

  1. Both the XSLT and CSS stylesheets were designed with a certain nesting order in mind, and allowing a different structure risks having a document that doesn't look quite right when displayed.
  2. Not having a consistent structure makes it hard or even impossible to write an XML query tool for indexing articles, etc., since there is no fixed structure to parse.

MYOML #8: Smoothing things out with PHP

The markup language is complete, but there are a few nice touches left to add. One is to make the articles compatible with non-XSLT capable browsers. Another is to add some preprocessing of <code> sections so that you (shouldn't have to) touch them up manually.

Issue #8: Smoothing things out with PHP

MYOML #7: Adding the final few tags

Agh, RealLife(tm) intruded on my writing progress for a while there, but I should be back on track for a bit at least.

This installment of Make Your Own Markup Language finalizes (for now at least) the design and adds the final tags. All that's left after this is to do a little polishing.

MYOML Issue #7: Adding the final few tags

MYOML #6: Metainfo, notes, warnings, and more HTML tags

As I get further into this series, the example template is diverging more and more from the "official" boodebr.org template, as I learn more and make improvements. This is making me antsy to go ahead and get finished with MYOML so I can start using the improved template on the whole site.

This time around I'm going to restructure the root template to add metainfo to the article. The metainfo is used to create the overall page layout, but can also be useful in if I ever want to create an article index. A script will be able to easily pull the metainfo from the article to create a database, etc.

I'm also going to add some 'note' and 'warning' boxes for highlighting important details, and add a few more HTML tags.

Issue #6: Metainfo, notes, warnings, and more HTML tags

MYOML #5: Attributes, titles, and other blocks.

So far so good, but the layout (although functional) is still pretty bland. Time to add a title= attribute to the <section> and <code> blocks, implement inline code samples, and see how to add some standard HTML tags to our markup language.

Issue #5: Attributes, titles, and other blocks.

MYOML #4: Creating the Outline

Finally, it's time to start writing some XSLT and putting an actual article together. In this installment of Make Your Own Markup Language the basic XML document structure is created. Once this is in place, we'll be able to freely tweak the individual sections to get the desired result.

Issue #4: Creating the Outline

MYOML #3: Building Blocks

There are two basic things needed when building an XML-based markup language: Containers to put your content in, and a way to visually format those containers. In MYOML #3, the HTML containers <div> and <span> are introduced, CSS classes are explained, and a little demo shows why separating content from presentation is important.

Issue #3: Building Blocks

Syndicate content