Open jgarte opened 2 years ago
Hmm the main goal of cl-site-gen was to basically write your websites as a program. At the moment the biggest advantage would be extensibility. The ./example
directory contains a few examples but I still have yet to fully build out the project.
Main thing is determining how to restrict what shares the same environment so the user can have something similar to a template file in a directory that will be applied to other files.
For now the expectation is that the user will define your macros and functions used in their pages before you would call create-sites
. Those macros will then be applied to all of the files during their evaluation. For example see example/template-example.lisp
This uses a macro defined in https://github.com/Gavinok/cl-site-gen/blob/01f958c35bac37e839290fddea2e3b654d51801d/src/main.lisp#L123-L133
So if you where to execute the function (demo)
you would evaluate all the lisp files with that macro available to you.
I'd consider this project really only at a Beta/Alpha level right now though people are welcome to try it. It lacks tests as well as support for live browser reloading which would give this project a bit more of a Lispy workflow. I don't have much experience packaging for Guix but I'll look into it.
Hmm the main goal of cl-site-gen was to basically write your websites as a program.
Very cool!
Do you see flute being interchangeable with other html generators?
I guess that can add to the extensibility.
as well as support for live browser reloading which would give this project a bit more of a Lispy workflow.
What do you think is missing for live browser reloading?
I don't have much experience packaging for Guix but I'll look into it.
I packaged cl-site-gen for Guix here in a community channel that I'm a part of: https://whereis.みんな/
Here's the cl-site-gen package:
https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/jam-stack.scm#L34
When/if ready in the future I can send it to GNU Guix upstream for inclusion in their package collection.
Hmm the main goal of cl-site-gen was to basically write your websites as a program.
Very cool!
Do you see flute being interchangeable with other html generators?
I guess that can add to the extensibility.
as well as support for live browser reloading which would give this project a bit more of a Lispy workflow.
What do you think is missing for live browser reloading?
I don't have much experience packaging for Guix but I'll look into it.
I packaged cl-site-gen for Guix here in a community channel that I'm a part of: https://whereis.みんな/
Here's the cl-site-gen package:
https://git.sr.ht/~whereiseveryone/guixrus/tree/master/item/guixrus/packages/jam-stack.scm#L34
When/if ready in the future I can send it to GNU Guix upstream for inclusion in their package collection.
Flute currently only mandatory for the cli version which is inherently not as powerful so I still need to come up with a better solution. The library it's self actually already supports replacing the function that converts the evaluated content to a string. I have a few commits that further abstracts this and show it off in the example project.
Also thanks for packaging this up I'm happy to see the project is already gaining users or at least interest.
For changing the html rendering function see https://github.com/Gavinok/cl-site-gen/blob/master/src/main.lisp#L92-L98
Hi,
We currently have a website that generates a list of all the packages in the Guix 'R Us channel.
There are currently 837 Guix packages to date.
The website is generated with jinja templates and guile. We also generate the gemini site from jinja templates.
I'm looking to convert the website to using common lisp and the guile helper code.
What do you think
cl-site-gen
can offer over the our current approach?I'd also like to package cl-site-gen for Guix 'R Us if you think it is ready to be made available as a library package.
We have other common lisp libraries package for Guix in the channel in this module.