aboutsummaryrefslogtreecommitdiffstatshomepage

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.

Installation procedure with RVM
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 of init) 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

Contributor Covenant

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

Support using Liberapay Support using Paypal

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.