Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
58 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,60 @@ | ||
This is an in-progress static blog generator. | ||
This is an in-progress static website/blog generator. | ||
|
||
Don't use it yet. I'm not done. | ||
|
||
In lieu of documentation, for now here are a couple of relavant points: | ||
|
||
* Implemented in Lua. | ||
* Heavily oriented around convention over configuration. | ||
* Templates can be Cosmo, Haml, Markdown, and others to come. | ||
* All files can have arbitrary Lua header blocks to set up local template | ||
variables, or do pretty much whatever you want. | ||
* Will come with some helpers for building common tags, doing pagination, etc. | ||
* Will come with a scaffold generator to create common types of sites. | ||
* Will support sites with any number of different types of syndicated content / feeds. | ||
* Will support building large colletions of similar pages out of an SQLite database. | ||
* Global configuration is done via headers in the main layout file; there's no | ||
"config" file. | ||
|
||
In the mean time, if you want to see what this does, take a look at the files | ||
in the sample directory and the output of running the tests: | ||
|
||
------------------------------------------------------------------------ | ||
The Grackle app: | ||
can load a directory of template files [P] | ||
performs initialization tasks [P] | ||
generates the site [P] | ||
------------------------------------------------------------------------ | ||
------------------------------------------------------------------------ | ||
Grackle templates: | ||
have a base name [P] | ||
have a format, defaulting to 'html' [P] | ||
have a renderer taken from the file extension [P] | ||
have a layout renderer [P] | ||
have a dir name matching its relative location on disk [P] | ||
have a site_dir matching its relative target location on disk [P] | ||
have a site_path matching target file name and relative uri [P] | ||
have a path matching their location relative to the source dir [P] | ||
have contents [P] | ||
have headers [P] | ||
can evaluate their headers [P] | ||
a content template: | ||
specifies that it is content [P] | ||
should default to a main layout matching its renderer [P] | ||
if Markdown, should use the default layout renderer [P] | ||
can use headers to specify layout-less rendering [P] | ||
for rendering: | ||
can be Cosmo [P] | ||
can be Haml [P] | ||
can be Markdown [P] | ||
a layout template: | ||
specifes that it is a layout [P] | ||
can be a sub-layout [P] | ||
should not have a layout if it is a main layout [P] | ||
for rendering: | ||
can be Cosmo [P] | ||
can be Haml [P] | ||
a partial template: | ||
specifes that it is a partial [P] | ||
------------------------------------------------------------------------ | ||
27 tests 27 passed 35 assertions 0 failed 0 errors 0 unassertive 0 pending |