NeoDoc - blog - docs - tests - todo
@neodoc.style

NeoDoc

portable, plain text content for the web

Overview

NeoDoc is a plain text format for creating, storing, and organizing content. It's easy to write without sacrificing the power to make full-featured posts and pages. Basically, it's Markdown on steroids. (It's also the foundation for a free-form database, but will get to that in a minute.)

The format looks like this:

-- title

Review: The Matrix

It's 27 years old now. Seems like a good 
time to finally write a review.
Which turns into:
Review: The Matrix

It's 27 years old now. Seems like a good time to finally write a review.

Sections

NeoDoc content is comprised of sections. Each one starts with two dashes and a name. Several pre-defined sections come built-in. title is one. spoiler is another.

-- title

Review: The Matrix

It's 27 years old now. Seems like a good 
time to finally write a review. 

-- spoiler

The "she got out" line makes way more
sense on a re-watch.
Those sections output this:
Review: The Matrix

It's 27 years old now. Seems like a good time to finally write a review.

Spoiler

The "she got out" line makes way more sense on a re-watch.

Attributes

Sections can have attributes. They're defined by adding more lines that start with two dashes. For example, this spoiler section has a label attribute.

-- title

Review: The Matrix

It's 27 years old now. Seems like a good 
time to finally write a review. 

-- spoiler
-- label: Open after the phone booth

The "she got out" line makes way more
sense on a re-watch.
It changes the text to open the spoiler like this:
Review: The Matrix

It's 27 years old now. Seems like a good time to finally write a review.

Open after the phone booth

The "she got out" line makes way more sense on a re-watch.

Custom Sections and Templates

NeoDoc isn't limited to the pre-defined sections and attributes. You can make new ones with whatever names you like:

-- film-review
-- released: 1999
-- director: The Wachowskis
-- image: matrix-poster.jpg

Review: The Matrix

It's 27 years old now. Seems like a good 
time to finally write a review.

Apps use templates to format the content. They provide a complete separation of concerns between the content and the layout. So, an app can change a design from this:

Review: The Matrix
The Wachowskis (1999)

It's 27 years old now. Seems like a good time to finally write a review.

The movie poster for The Matrix

To this:

The Wachowskis
The movie poster for The Matrix
Review: The Matrix
1999

It's 27 years old now. Seems like a good time to finally write a review.

All without having to touch the content.

The Ad Hoc Database

Apps can use the section names and attributes for more than just display. They can be used as the keys to access content like a database.

For example, a site made from NeoDoc files could have film reviews scattered across it. A single page could be set up with links to all of them. They could go further by grouping files by their directors. Or, creating a page for each director with a listing of all their films.

The search can extend further. File reviews from all over the AT Proto Atmosphere could be collected, filtered and displayed in any number of ways.

Current Status

NeoDoc has been around for three years. You've probably never heard of it, though. That's because it's been embedded in my personal static site generator. I'm in the process of extracting the parser into a library and creating a reference implementation. I don't have an ETA, but it won't be too long.

You can follow me or the neodoc.style accounts for updates. The blog is also available, but doesn't have an RSS feed yet.

-alan

P.S. The docs, tests, and todo pages are very much works-in-progress. They'll be udpated as progress continues.