npm install cryonax -g
Create a new website in current directory
cryonax init
cryonax init -o path/to/dir
Create a sample website (blog)
cryonax example
cryonax example -o path/to/dir
Create a new document
cryonax doc
cryonax doc -o path/to/dir
Create a new view
cryonax view
cryonax view -o path/to/dir
Build website in current directory
cryonax build
cryonax build -i path/to/dir -o path/to/output
A cryonax document is a text file with (markdown) content and meta data that can be queried.
A document looks like this:
---
{
"type": "blog",
"title": "First entry!",
"date": "Date(2 february 2014)",
"labels": ["politics", "opinion"]
}
---
the content of my blog post
At the top of the document is a meta-data section. Meta data is represented as a JSON object.
In addition to regular JSON data types, you can use "Date()" to create a Date object.
A cryonax view is a HTML template with embedded javascript in <% and %> tags.
<h1><% print(model.meta.title); %></h1>is rendered as
<h1>First entry!</h1>The cryonax build script is named "build.js" and contains instructions to generate your website.
Native console functions
Native require function
Retrieve a document by path
var doc = document("blog/2014/first-post.md");doc.name- the filename of the documentdoc.meta- the metadata associated with the document (e.g.doc.meta.title)doc.content- the rest of the document contents
Retrieve all documents
var articles = documents()
.filter(function(doc) { return doc.meta.type == "blog"; });Retrieve a view by path
var template = view("blog/article.html");view.name- the filename of the view
view.render(model)- render the view, returns a string
// build.js
view("page/head.html").render({ title: "My Blog" });
// page/head.html
<h1><% print(model.title); %></h1>Convert markdown to html
var html = markdown(document("about.md").content);Cryonax uses marked as default markdown parser. If you want to use your own markdown parser, you'll have to require it yourself.
Cryonax uses highlight.js as syntax highlighter by default.
Retrieve a summary of a section of html
htmlThe HTML text to summarizelengthThe maximum length of the summarycontinuedTextText to append to the summary if the html was clipped
var html = markdown(document("about.md").content);
var text = summary(html, 10, "[...]");
// text = "Lorem ipsum [...]"Outputs a string (only available in views)
Save a file (only available in build.js)