kellpossible / avalanche-report

A simple self-hosted web server for creating and managing an avalanche forecast for a region, along with accepting public observations.
GNU Affero General Public License v3.0
21 stars 2 forks source link

Customizeable page content and templates #33

Open kellpossible opened 1 year ago

kellpossible commented 1 year ago

Editing the page templates should probably not be encouraged at least at an early stage because it requires backwards compatibility for the data going into them, and the process for editing them and storing them makes it hard to conform with the 12 factor app values. Perhaps instead we could start with having a rich text editor (some options considered here https://github.com/kellpossible/avalanche-report/issues/20#issuecomment-1445733195 ) to allow the user to customize the content of pages on the website. Edits to the default content are saved to the database, and can be provided in multiple languages.

kellpossible commented 11 months ago

It would also good to be able to have content written in Markdown, such as a simple blog/news.

This new library https://github.com/khonsulabs/pulldown-cmark-frontmatter looks really nice for this purpose.

kellpossible commented 7 months ago

Here's another option https://github.com/geofmureithi/edita

kellpossible commented 6 months ago

I'm planning to distance myself a little from the Avalanche Georgia project this year as I will no longer be living there and I don't have so much time for maintaining this project or keeping up with the demands for a site that needs to satisfy sponsors and government agencies. I would rather focus my attention on functionality that will be universally useful. As such, I want to prioritise implementing features that allow the appearance and content of the site to be modified by users without requiring a fork of the software, and ideally without requiring someone to know how to use Rust.

kellpossible commented 6 months ago

I'm currently thinking the simplest way to implement this is to have templates loaded at runtime from a directory. Users can then provide that directory in their own docker image for deployment.