~fancycade/wing

a62bfce31c1ee6cf0e1ef8b37fb2e9a5cff60e58 — Harley Swick 1 year, 6 days ago 52ea6de 1.0.0
Update README with final notes
3 files changed, 38 insertions(+), 6 deletions(-)

M README.md
M test.sh
M wing.egg
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)