Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

cedreek
Hi there, 

This post is just to talk about one side project I’m exploring and interested in from a long time. I think it may interest other people here.

I’d like to have powerful (static based) web site so hosting is really cheap (even free) and hassle free. I’ve my own server for years, it is cheap and simple but, of course, it needs some maintenance (linux update, nginx scripts, …) even if tools are the simplest I’ve found.

Recently thanks to student projects ;-), I found some time to learn what I find is a wonderful solution. This solution is to use GitHub DSCM, GitHub Pages and Jekyll (a ruby static site generator that is natively integrated) all together.

The beauty is that you can edit the site straight on GitHub. We get the power of version system and hosting for free… 
It literally is a CMS and the cheapest and reliable that I know of (grav might be another option).

Of course, there are some « dynamic » content possibilities too (otherwise GitHub Pages is enough)
- blog posts are natively generated through new files according to a name convention.
- there are plugins too (but you have to watch for compatibility in GitHub).

Dealing with forms and comments is possible
- solutions that are hosted on a third-party. Solution like Discus or formspree, … (that’s a NO GO to me)
- web service integration that you can host (note that form spree is on GitHub too https://github.com/formspree/formspree)

This last point is where I’d like Pharo (Zinc, Iceberg) to be integrated. Again we could imagine a web service system based on Zinc. I could manage form submissions that way and everything I’d like but it may end up complex. Do I need a database ? Do I need to store information and therefore manage the underlying architecture. If it crash, I want only the endpoint to be not available but the whole site still working.

An in between elegant solution os to use git for what it’s good at (versioning collaboratively through PR, and also reliable hosting in classic platforms). 

The idea is to use the PR mechanisms to submit stuff like blog comments (note that you have a free moderation system). 
This is actually not limited to comments but all kinds of possible interaction…

This way is (to me) better in terms of infrastructure management. Such a service also needs to be available (and maintained) but this is a very minimalist machinery (hanling POST request service only - no real content management as deferred to github). And again, a fail safe version (for the last version of the generated pages).

Staticman (https://staticman.net) is a nice node application that allows to do this. It’s possible to host the service too.

I can use this node app of course, but I believe we could have quite easily such an application in Pharo with Zinc. 
I also wonder if we could use Iceberg to deal with this information straight in a pharo image (that’d be cherry on the cake). 
The super cherry of the cake would be pharo core and lib documentation, demos (you can have one gihub page by organization and/or users - in paid plans, you can have more for private stuff)… One place, one process to contribute, either for code or documentation.

Anyway, I have no real question except than asking for feedback and also to know if some people are interested in such project. 

Cheers,

Cédrick

nb: my hidden goal is to provide web site for people, unipersonal and small organizations. So you know, they pay for the service of creation, but then they own it and can do whatever they like. Of course we can also offer paid services like managing dynamic information content. More than comments, I’d like to be able to deal with stuff like orders, facturation, even meeting planning through ics versioned files, etc. 
This really is something I’d like to be able to provide soon (less than 1 yr time - simplest web site with contact form and comments at least). It might become something more serious the future...