Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit27da58d078f4be6f95f3a50c6a514089e464945a (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-04-14 09:15:07 +0300
Committer
 Syndamia <kamen@syndamia.com>
2024-04-14 09:15:11 +0300
Filese4e33e54f6bd077c8cde4b8883c44b1eae25b0e7
csg-27da58d078f4be6f95f3a50c6a514089e464945a.tar
csg-27da58d078f4be6f95f3a50c6a514089e464945a.tar.gz
csg-27da58d078f4be6f95f3a50c6a514089e464945a.zip
Parent56a09d2d3f35cc8c8251e2c54811cf8e16c190fe (diff)
[README] Publicised POSIX compatibility and updated future features
1 files changed, 9 insertions, 2 deletions
-rw-r--r--README.md11
diff --git a/README.md b/README.md
index 41024b1..1791830 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,8 @@
# csg
csg is the "complicated (static) site generator".
-It's a somewhat simple static site generator, written in bash, with many "poweruser" features thanks to [awk](TODO).
+It's a somewhat simple static site generator, written in a shell script, with many "poweruser" features thanks to [awk](TODO).
+The shell script and underlying awk scripts are POSIX compatible.
The overall design is heavily inspired by [Roman Zolotarev](https://romanzolotarev.com/)'s [ssg](https://romanzolotarev.com/ssg.html), however the codebase is completely different, with the added bonus of:
@@ -117,6 +118,12 @@ Created by Syndamia, https://gitlab.com/Syndamia/csg
## Future features
-1. I would love to make it POSIX compatible, however this will require a good amount of work and will introduce inefficiencies, so for now it's left for the future
+1. The way awk scripts are integrated and ordered is somewhat messy and needs major rethinking.
+ Ideally you should be able to run an awk script on the markdown, on the markdown generated html (as is already done) and on all final HTML pages (so you could create a list of latest articles with certain excerpts from them, for example).
+ There is also the need to be able to reorder script execution easily, without script modifications (so when using someone else's script, you dont need to change it, hence you can include it with a git submodule or sync it with rsync).
+ - The regex on top of awk scrits is for optimization purposes, but maybe this new system should be able to figure out when a script needs to be ran?
2. Right now the whole website is regenerated every time, it's important to add a system for updating only the currently changed pages.
I'm not entirely sure how to do that, since we remove the source Markdown after it is converted to HTML, current thinking leads me to a file containing lines of "filepath hash", but we'll see.
+3. Timestamps.txt but based on created/edited file stats
+4. Need to add a `_ignore` file to not convert certain folders
+5. Add native support for more awk parsers and markdown to html converters