An alternative to Markdown in outlines

  • I missed having expanding outlines, and I want to use the structure in interesting ways in RSS, so I decided to add a small feature to Fargo, that lets us edit outlines as they will be presented, with structure.

  • This blog post is an example of such an outline. As is the one you're reading now.

How to

  • To give it a try, create a headline of type outline with the big + icon in the left margin.

  • In the Attribute editor (click on the Suitcase icon in the left margin) add an attribute called flMarkdown, with the value false. When you're done the atts should look like this screen shot.

  • Then add some outline material under the headline. It's important to indent a few times and add structure, or else it'll look exactly like the Markdown-style posts.

  • When you click the Eye icon to view it, it should have wedges that you can click to expand and collapse the outline structure.

Attributes

  • There are a few attributes you can use to control the way outlines are rendered. They're explained below.

  • leftIndent attribute

    • If you put a leftIndent attribute, a number, on a headline, all its subs, and their subs will be indented by that number of pixels. The default is 0.
  • collapse attribute

    • If you put a collapse attribute on a headline, its subs are initially collapsed. This lets you control the presentation.
  • img attribute

    • A URL, points to an image, which is added to the headline, floating to the right.
  • url attribute

    • If present it's where you go when the image is clicked on, if there is an img attribute.

Outlines in RSS items

  • Each item now has an outline element that contains most of the structure and attributes of the outline.

  • We don't include comments.

  • We don't include two attributes: isFeedItem (they are all true, because it's in a feed) and isComment (again, all true, because comments are not included).

  • The outlines are in the new source namespace. What you'll see in the feed is <source:outline>.

RSS fixes

  • In 1.63 we added macro and glossary processing to the RSS feed builder, but the processing was done in the wrong place. The result is that unencoded XML could end up in description and title elements. This is not legal XML. In 1.64 we do it selectively, before encoding, only in title and description elements.

  • We also evaluate Emoji codes in the feed.

Fix relating to tweets

  • When we introduced the tweet type it broke the eye icon. If a document contained a tweet, it sent you to a non-existent page when you click the eye.
07/12/14; 01:08:08 PM

While I'm waiting for Facebook to approve the new version of Little Card Editor I thought I'd do a little diversion to solve what has been a thorny problem in Fargo that has prevented a lot of interesting things from happening.

The feed has no pagetable

  • When you're rendering the RSS feed for a site, there is no context for the rendering. This means that none of the preferences for the site are available to the RSS building process. And it means there's no way to use attributes to configure the RSS building process. This has held back a bunch of interesting development.

Idea

  • So how about this. The pagetable for the RSS building process is built from the global settings, plus the user's cmsPrefs.opml file (if there is one) plus the top level of the site whose feed it is. That gives us three levels of attributes, one that applies to all Fargo sites, one that applies to all the user's Fargo sites, and for the site that the RSS is from. Let's give it a try and see if it works.

Testing

  • Okay the feature is in. Now let's see how it works.

  • Here are some glossary items from my cmsPrefs.opml: Happy Friends, Emoji, Little Card Editor.

  • Here are some glossary items from the global file: A picture of a slice of cheese cake.

  • And one from the Fargo blog outline: cmsPrefs.opml

  • If the new feature worked, when we look in the RSS file, they should all be evaluated.

  • One more thing, let's check a pagetable macro: Dave Winer.

  • Here's what this text looked like in Fargo.

  • And here's what it looks like in the feed.

07/07/14; 04:56:56 PM

Last built: Mon, Nov 3, 2014 at 7:57 PM

By Dave Winer, Monday, July 7, 2014 at 4:56 PM.