Friday, October 30, 2009

HTML 5, Curl and presentation

I thought it might be helpful to post the "tags" used as text-formats in the Curl language (at least those in the package CURL.GUI.TEXT-FORMATS)

Curl also allows the creation of user-defined formats, text-procedures and macros so the power of Curl for markup and markdown goes far beyond these expressions.

HTML 5 is expected to drop so-called "presentation" elements such as those using the tag "br". CSS and possibly XSLT are required to achieve such simple text formatting for "presentation".

In Curl, text itself is treated as a Visual object and with Curl 7.0 additional classes and expressions were added to strengthen this alternative one-language approach to presenting structured content whether in the browser or in a desktop application.

The 6.0 version of the text-formats can be found on-line at developers.curl.com (click "show" in the upper-left corner of that page to open the full browser view.)

The Curl 7.0 list of text-format tags follows:
big
blockquote
bold
br
browse-url
bullet
cell
center
copyright
default-browse-url
definition
definition-list
degrees
destination
elaborate
em-dash
en-dash
enumerate
full-copyright
full-rte-copyright
header-cell
header-row
heading
hrule
huge
image
italic
item
itemize
left-justify
line-through
link
marker
monospace
no-break
numbered-heading
page-break
pre
quote
registered-trademark
right-justify
row
small
subscript
superscript
table
term
text-part
tiny
title
trademark
underline
In the above list "link" corresponds to the HTML "a" anchor tag.

{text-part some text of ours} is particularly interesting as an example of the difference between the Curl approach and the X/HTML approach to web content.  When the expression is evaluated by the Curl runtime engine, a Visual object is returned which can then be passed into other expressions, macros or procedures.
In those contexts, the .add method - common to all descendents of Visual - can be used as a common protocol without concern whether the original string content was a String, a StringBuf or other type of text object, as in
set sample-visual = {text-part some string content of yours}
{some-action sample-visual}
|| comment: where in {some-action } we would find
   {visual-parameter.add "more content"}
Curl 6.0 added a library for separation of style-sheets and Curl 7.0 incorporated this into the default packages so that each of the above elements can be styled just as one would use CSS to style HTML.

In addition to text-formats, Curl includes text-procedures such as {text } and {paragraph } and a wide range of predefined paragraph-formats.  Further, the standard libraries include {TextArea }, { TextFlowBox } which go beyond markup Visual objects to being full-blown GUI widgets (Graphic objects) such as usually would require JavaScript or the like and which respond to UI events such as mouse clicks.

Friday, October 23, 2009

Métis Aule takes first step forward

Work has begun on a Métis aule-browser to provide an aule browser devoted to topics relating to Canada's Métis nation.
Les travaux ont commencé sur un browser pour les liens Métis canadiens.

Friday, October 16, 2009

on-line Curl documentation for 'the gradual curve' and 'the gentle slope' for non-HTML, non-XHTML web content markup

I thought I would toss out the web link to the on-line Curl docs since I am looking at Curl these days most often as web content markup 'with the browser applet included' but targeting the desktop instead of a browser. That link is http://developers.curl.com/userdocs/CurlDocs.htm

The IDE itself offers selectable, installable docs with 'live' code in them by using the Curl {example} macro, so that is a much better option. Or there is the Eclipse plugin at www.curl.com

Since I still read about HTML as a 'language' and HTML5 starts to approach Curl in features, it may help clarify things to look at the case of a programming language that is also able to be its own markup language without adding a DSL. And which allows easy addition of custom tags with context-sensitive behaviors (the terrific and delicious consequence of macros being in a separate package from where they are used.)

Now back to how best to generate Curl markup from Drupal (with occasional sorties into Django, Seaside, Wicket, Groovy, QuarterMaster and such ...)

And suggestions just to use XSLT are always welcome ;-)