ChrisPenner / slick

Static site generator built on Shake configured in Haskell
BSD 3-Clause "New" or "Revised" License
204 stars 24 forks source link

Project updates #5

Closed sigrlami closed 5 years ago

sigrlami commented 5 years ago

Hi, Chris. This PR provides a basic outline for different improvements we have for Slick built in collaboration with @mgajda. We want to create some momentum for the project and have a couple of websites already in production with Slick setup and our corrections.

This PR includes:

I would like to get your feedback and establish the path to maintainership so I can push continuous updates and move this cool project further. In case you want to split into multiple smaller PRs we can also arrange that.

ChrisPenner commented 5 years ago

Hi! The changes look interesting and good; I'd be interested in looking at getting them merged in. Is there a reason you've closed this issue?

I would prefer smaller PRs yes, I know it's a pain to do afterwards, but this is a large change and to do it "all or nothing" is very inconvenient for me.

Other thoughts:

Looking forward to hearing from you.

srid commented 5 years ago

If we can take the websocket stuff out of the equation, the web server part can be simplified quite drastically. This is what I do in my own static site generator as well: https://github.com/srid/rib/blob/master/src/Rib/Server.hs

sigrlami commented 5 years ago

@ChrisPenner Hi, Chris. Thank you for feedback.

1) PR was closed due to the decision to simplify changes and get it more polished before you take a look, my mistake was rushing into making a PR. I anticipate to prepare a new PR in 1-2 days with more cleaner changes, stripped down just to 19 files.

2) Change of version and base repository my mistake as initially, we wanted to keep the project as a fork but then decided it would be nice to contribute back.

3) Regarding webserver, Serve.hs is a standalone module and can be easily moved to slick-serve or something similar.

I rushed to touch base as we have more upcoming features and I know it's difficult to work with big PR.

sigrlami commented 5 years ago

@srid Server side allows not only a local hosting with http server but also live-reload functionality that's why websockets required. We have shake-watch package almost ready for release that sends updates to websocket server and auto-reloads webpage with small js script.

mgajda commented 5 years ago

@srid Note that live coding is major feature for power users.

Also note that we picked the lightest web server of those available (checking dependency compile time and number of packages.)

ChrisPenner commented 5 years ago

Great, thanks for responding so quickly; that all sounds good to me 👍

Looking forward to the new PR. Thanks for your time 😃