Testing it out

I included my personal river on today's Scripting News home page, with hilarious results. Not saying this is particularly useful, but it's really nice when two big pieces of technology "just work", in this case, they worked the first time I tried it. Hala.

Tina Turner would like to sing you a song

"Would it be possible to update a Fargo Outline from within Dropbox? So add/update directly in a folder instead of the editor?"

Yes

I answered, yes no problem with that. OPML is a text-based format. Just edit the text in whatever you want, and save it to the folder.

The best way to learn about OPML is to create something in Fargo, save it, and then drag the file onto a plain text editor and see what it generated. Fargo doesn't care how the text gets there. So you just have to produce what it's expecting. I tried to design the elements so if you think about it, you'll figure out what it's doing. And I'm happy to answer any questions people have, to the extent that I can.

Connecting with Evernote

What's interesting is that Frank is an Evernote business consultant, and Evernote is a service that Fargo and our other products should hook up to. Imagine Radio3 able to post to Evernote alongside Facebook, Twitter, WordPress and RSS. That's the philosophy of these products. Let's make users' data flow smoothly. There's a lot of untapped potential here.

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.

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.