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 ;-)

Thursday, August 27, 2009

The poetry of Curl macros, or, poem markup for the web

Here is a snippet from an American poetry e-book on the web:

Stanza:

<div class="lg" ID="LG24">
<a name="L185"></a><div class="line" ID="L185">"In the name of all created,</div>
<a name="L186"></a><div class="line" ID="L186">Let us hear no more, my brothers;</div>
<a name="L187"></a><div class="line" ID="L187">Are we older than all others?</div>
<a name="L188"></a><div class="line" ID="L188">Are the planets in our way?"—</div>
<a name="L189"></a><div class="line" ID="L189">"Hark," said one; "I hear the River,</div>
<a name="L190"></a><div class="line" ID="L190">Calling always, night and day."—</div>
<a name="L191"></a><div class="line" ID="L191">"Forward, then! The lights are shining,"</div>
<a name="L192"></a><div class="line" ID="L192">Said the Watcher by the Way.</div>
</div>

and here is my Curl macros alternative markup:

{para
{ln L185, In the name of all created,}
{ln L186, Let us hear no more, my brothers;}
{ln L187, Are we older than all others?}
{ln L188, Are the planets in our way?"}
{ln L189, "Hark," said one; "I hear the River,}
{ln L190, Calling always, night and day."}
{ln L191, "Forward, then! The lights are shining,"}
{ln L192, Said the Watcher by the Way.}
}

even better:

{stanza 24 lines 185-192
In the name of all created,
Let us hear no more, my brothers;
Are we older than all others?
Are the planets in our way?"
"Hark," said one; "I hear the River,
Calling always, night and day."
"Forward, then! The lights are shining,"
Said the Watcher by the Way.
}

Now is the markup in the way of the content when you have to look over the output?

There ia an interest group devoted to Curl markup for the Semantic Web over at developers.curl.com - just register as a developer member to join.

Sunday, August 23, 2009

cl1p.net and cl1p.com for aule-browsers

There appears to be no prospect for working with cl1p web clipbooks long-term, so for our external web note-taking (not notes within Curl CSPD) we will re-visit the Evernote API (similar to Facebook.)

Wednesday, August 12, 2009

Curl and Drupal project at developers.curl.com

We now have a Drupal CMS project for the Curl web-content language over at developers.curl.com

The existing Drupal framework uses HTML, but Drupal seems not as tightly coupled to HTML as other frameworks which otherwise pay attention to loose-coupling (the assumption that HTML is the only web-content language is rather like the assumption that RDF for semantic web is XML. Yes, it is one language ...)

Of course Python's Zope/Plone with its REStructuredText might be a better match to Curl. I as disappointed to see how some web frameworks are HTML to the bone: they would worry if that was so for XML. But XHTML does not seem to raise a concern. I now know how the Yaml folks must feel with all the attention to JSON. One exception so far: the old Http2View for Squeak Smalltalk looks easy to convert to Curl.

I was amused today to see some concerns about those myriad SOL files that Adobe FLASH and AIR like to stash away on our personal computers ... what I don't need are all of the directories for web sites I have not yet (yet? ) visited ...

Saturday, August 8, 2009

Drupal at cms.aule-browser.com

I have begun to explore the prospects of creating Curl templates using PHP and the Drupal CMS at cms.aule-browser.com

Curl is the web-content language from www.curl.com

Curl is very well-suited to the collaborative creation of corporate training materials for WBT and CBT (web-based training) using web or desktop applications with client-side data.