Home

Awesome

<div align="center"> <a href="https://franklinjl.org"> <img src="https://franklinjl.org/assets/infra/logoF2.svg" alt="Franklin" width="100"> </a> </div> <h2 align="center">Franklin: a Static Site Generator in Julia. <p align="center"> <img src="https://img.shields.io/badge/lifecycle-maturing-blue.svg" alt="Lifecycle"> <a href="https://github.com/tlienart/Franklin.jl/actions"> <img src="https://github.com/tlienart/Franklin.jl/workflows/CI/badge.svg" alt="Build Status"> </a> <a href="http://codecov.io/github/tlienart/Franklin.jl?branch=master"> <img src="http://codecov.io/github/tlienart/Franklin.jl/coverage.svg?branch=master" alt="Coverage"> </a> </p> </h2>

Franklin is a simple static site generator (SSG) oriented towards technical blogging (code, maths, ...), flexibility and extensibility. The base syntax is plain markdown with a few extensions such as the ability to define and use LaTeX-like commands in or outside of maths environments and the possibility to evaluate code blocks on the fly.

Franklin has a channel #franklin on the Julia slack, this is the best place to ask usage questions.

Note: I'm looking for people with web-dev chops who would be keen to help improve and enrich the base themes available at FranklinTemplates.jl, even if you're not super confident in Julia. More generally, if you would like to work on something or fix something in either Franklin or FranklinTemplates, please reach out on Slack, I will gladly help you get started.

Docs

Go to Franklin's main website. For users already familiar with Franklin you might also find these demos useful. Ifihan Olusheye also wrote this blog on building a blog with Franklin.

Important notes

Key features

See the docs for more information and examples.

Examples

Some examples of websites using Franklin (if you're using Franklin with a public repo, consider adding the "franklin" tag to the repo to help others find examples, thanks!)

Adapted templates (i.e. starting from one of the available themes)

Custom templates (i.e. migrating an existing design)

Getting started

With Julia ≥ 1.3:

pkg> add Franklin

you can then get started with

julia> using Franklin

julia> newsite("MyNewSite")
✔ Website folder generated at "MyNewSite" (now the current directory).
→ Use serve() from Franklin to see the website in your browser.

julia> serve()
→ Initial full pass...
→ Starting the server...
✔ LiveServer listening on http://localhost:8000/ ...
  (use CTRL+C to shut down)

Modify the files in MyNewSite/src and see the changes being live-rendered in your browser. Head to the docs for more information.

You can also start from one of the templates by doing something like:

julia> newsite("MyNewSite", template="vela")

You might want to put the following command in your .bash_profile or .bashrc as a way to quickly launch the server from your terminal:

alias franklin=julia -O0 -e 'using Franklin; serve()'

Heads up!

While Franklin broadly supports standard Markdown there are a few things that may trip you which are either due to Franklin or due to Julia's Markdown library, here are key ones you should keep in mind:

Associated repositories

Licenses

Core:

External: