M README.md => README.md +36 -5
@@ 1,9 1,26 @@
# wing
-Static Site generator for generating blogs in Chicken Scheme
+Static Site generator for buildings blogs written in Chicken Scheme.
+
+Features:
+
+- Fast and easy CLI to setup blog, create new posts, or publish posts.
+- Use SXML to configure page layouts.
+- Automatically create and update atom feed.
# Install
+Ensure you have necessary native dependencies:
+
+On Alpine Linux:
+
+ doas apk add chicken cmark-dev util-linux-dev
+
+wing uses the [cmark](https://github.com/commonmark/cmark) native C library as part of its
+markdown rendering process. Make sure that is installed before installing the egg.
+
+It also uses the native C uuid library.
+
The easiest way to get started is to simply run:
chicken-install
@@ 16,7 33,7 @@ This will use the egg file to download dependencies, compile the code, and insta
Use the chicken compiler to create the static wing binary.
- csc wing.scm -static
+ csc wing.scm
# Usage
@@ 27,13 44,13 @@ Use the chicken compiler to create the static wing binary.
wing build
wing help
-To initialize a project run wing init in a new directory.
+To initialize a project make a new directory. Inside the empty directory run `wing init`.
`init` - Prompt to fill in config file fields.
`new` - Prompt to fill in post fields.
-`publish` - List unpublished posts and prompt the user to select one.
+`publish` - List unpublished posts and prompt the user to select one to publish. Publishing means the meta information is stored in the posts database.
`revert` - Remove the head (most recent) of the published posts list in posts.scm.
@@ 124,10 141,24 @@ The most important thing to know about this file is don't touch this file!
(domain "")
(id ""))
+# Contributing
+
+For the most part I consider wing to be feature complete, but I am open to bug fixes and quality of life improvements.
+
+Before sending patches make sure your changes pass the integration test:
+
+ ./test.sh
+
+Once you are confident in your changes you can send patches to:
+
+ ~fancycade/public-inbox@lists.sr.ht
+
+In the case you are new to email based git workflows please refer to this [tutorial](https://git-send-email.io/).
+
# License
wing: Simple Static Site generator for Chicken Scheme
-Copyright (C) 2020 fancycade@protonmail.com
+Copyright (C) 2020 fancycade@mycanofbeans.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
M test.sh => test.sh +1 -0
@@ 8,6 8,7 @@ cp wing example
cd example
if ./wing init < ../prompts/config.txt ; then
if ./wing new < ../prompts/post.txt ; then
+ echo "# foobar\n" >> posts/cool-post.md
if ./wing publish < ../prompts/publish.txt ; then
if ./wing build ; then
if ./wing revert ; then
M wing.egg => wing.egg +1 -1
@@ 1,5 1,5 @@
((author "Harley Swick")
- (version "1.0")
+ (version "1.0.0")
(synopsis "SXML+Markdown based blog engine")
(license "GPLv3")
(dependencies cmark sxml-transforms atom uuid srfi-19 srfi-13 srfi-1 simple-md5)