A good time to finally release a stable version

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: file:///srv/svn/repo/aya/trunk@80 cec141ff-132a-4243-88a5-ce187bd62f94
This commit is contained in:
yakumo.izuru
2023-12-12 14:09:17 +00:00
parent f3a588d5a2
commit 84639561e6
12 changed files with 301 additions and 247 deletions

View File

@@ -17,28 +17,33 @@ Named after [Aya Shameimaru](https://en.touhouwiki.net/wiki/Aya_Shameimaru) from
Build it manually assuming you have Go (>=1.17) installed:
$ go install marisa.chaotic.ninja/aya/cmd/aya@latest
$ go install marisa.chaotic.ninja/aya/cmd/aya@latest (1)
--- or ---
$ git clone https://git.chaotic.ninja/yakumo.izuru/aya
$ cd aya
$ make
# make install
(1) If you use this method, the `aya version` subcommand may print the wrong string,
but it should not be a problem unless you use it on a page.
## Ideology
Keep your texts in markdown, or HTML format right in the main directory
Keep your texts in markdown, [amber](https://github.com/eknkc/amber), or html format right in the main directory
of your blog/site.
Keep all service files (extensions, layout pages, deployment scripts etc)
in the `.aya` subdirectory.
Define variables in the header of the content files using [YAML]:
Define variables in the header of the content files using [YAML](https://www.yaml.io) :
title: My web site
keywords: best website, hello, world
---
```markdown
title: My web site
keywords: best website, hello, world
---
Markdown text goes after a header *separator*
Markdown text goes after a header *separator*
```
Use placeholders for variables and plugins in your markdown or html
files, e.g. `{{ title }}` or `{{ command arg1 arg2 }}.
@@ -46,10 +51,11 @@ files, e.g. `{{ title }}` or `{{ command arg1 arg2 }}.
Write extensions in any language you like and put them into the `.aya`
subdiretory.
Everything the extensions prints to stdout becomes the value of the
Everything the extensions prints to [stdout](https://man.freebsd.org/cgi/man.cgi?fd) becomes the value of the
placeholder.
Every variable from the content header will be passed via environment variables like `title` becomes `$AYA_TITLE` and so on. There are some special variables:
Every variable from the content header will be passed via environment variables like `title` becomes `$AYA\_TITLE` and so on.
There are some special variables:
* `$AYA` - a path to the `aya` executable
* `$AYA\_OUTDIR` - a path to the directory with generated files
@@ -93,10 +99,7 @@ content generation, or additional commands, like LESS to CSS conversion:
lessc < $AYA_OUTDIR/styles.less > $AYA_OUTDIR/styles.css
rm -f $AYA_OUTDIR/styles.css
## Extras
`aya` also supports generating `.html` and `.css` by means of using `.amber`
and `.gcss` files. See more at [eknkc/amber](https://github.com/eknkc/amber) [yosssi/gcss](https://github.com/yosssi/gcss)
Note, you can also place `.gcss` files for [gcss](https://github.com/yosssi/gcss) to process instead
## Command line usage