What's fronde for?
Fronde is an opinionated static website generator for Org. It helps you convert Org mode files into websites, giving you full control over the publication process.
Features
- Inherits all Org mode features (tables, syntax highlighting, code blocks evaluation, multiple languages support…)
- Does not require any emacs lisp knowledge
- Does not require any server-side code, nor databases, only a simple http server like apache, nginx, lighttpd, hiawatha…
- Allows fine customization of generated html files
- Allows multiple sources for your Org file and lets you organize them as you wish in the destination folder
- Can use different themes for different sources
- Supports tags and ATOM feeds
Quick install
Fronde is a Ruby gem. You need a working Ruby environment to use it. We recommend that you use RVM and a specific gemset. However fronde works with a global ruby installation too.
rvm get latest
rvm install ruby-3.2.2
rvm use ruby-3.2.2@fronde --create
gem install fronde
Now you're ready to create your first fronde website.
mkdir mywebite
cd mywebsite
fronde init -t "My first fronde website"
fronde build
fronde preview
Announcements
Nov. 2023 - v0.4 release
The version 0.4 of fronde is made available for all. This new release brings a lot of stability improvements and inner refactoring. Even if the visible changes list might look a bit poor, this release is a big step forward and will help a lot to develop new features in the future. Some parts of the software were poorly designed and we worked hard to improve the coding.
After the update, you will need to update your installations and force a full publication of your websites (because the way templates are inserted inside published files changed). Actually, this will become the new standard routine after any fronde upgrade.
fronde update
fronde build -f
Here is the list of the most visible changes:
- Improve Gemini support
- Translate all console messages
- Introduce a new onboarding command (
new
instead ofinit
) to follow other static website generator habbits - Rework tags and Atom feeds publication
- Output full article body in Atom feeds
- Announce each Atom feed in its related tag page
- Move tag pages and Atom feeds inside the related blog source. They are not shared anymore but specific to their source.
As tags and feeds are now published under their related source public path and no more directly at the root of the publication folder, you might want to setup some redirections in your web server configuration.
For the following example configuration:
---
sources:
- path: src/news
is_blog: true
Feeds and tags will now be published under
public_html/news/feeds/
and
/public_html/news/tags/
instead of
public_html/feeds/
and public_html/tags/
. Thus
you might want to setup some redirections like the following for
nginx:
location ~ ^/tags/(?<slug>.*)$ {
return 301 /news/tags/$slug;
}
location ~ ^/feeds/(?<slug>.*)$ {
return 301 /news/feeds/$slug;
}
Contributing
Fronde is proudly following the Contributor Covenant Code of Conduct.
Translations
You can fetch the yaml files directly from the source code tree and send your changes as a pull request (see bellow) or by email, as you prefer.
Code
The canonical repository is located at https://git.umaneti.net/fronde. A mirror also exists on Framagit and Github.
Merge requests and issues are accepted both on framagit and github, or by mail to the main author.
Support
You can help me a lot by giving me some tip, either through Liberapay or Paypal. Thank you very much!
Going further
Please refer to the documentation.