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.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.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'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:
It's 27 years old now. Seems like a good time to finally write a review.
To this:
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.