Includes multiple templates such as sandbox, basic, jemdoc, hyde, lanyon, tufte, just-the-docs, minimal-mistakes, academic, bootstrap5, vela, and expert-kitty
FranklinTemplates.jl — HTML Starter Template
By JuliaDocs
FranklinTemplates.jl is a collection of templates for the Franklin.jl static site generator, offering a variety of HTML page starter templates that can be used directly or adapted.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Each template is annotated in the documentation with its source, license, navigation bar type, and whether JavaScript is required
Provides utility functions such as newsite, modify, and addtemplate to facilitate creating or modifying templates
Includes built-in KaTeX and highlight.js files for mathematical formulas and code highlighting
Templates are positioned as starting points rather than finished products, encouraging adjustment as needed and accepting PR improvements
Template Details
FranklinTemplates.jl is aimed at users of the Franklin.jl static site generator in the Julia ecosystem, gathering a set of common page templates into one package so they can be applied directly via the newsite command. Most templates are adapted from existing popular themes and adjusted for Franklin's content organization. The repository's own description explicitly states that these templates are only starting points, not finished products; they are designed to be easy to modify as needed, and improvements via PR are welcome.
The templates cover a variety of common site forms: sandbox and sandbox-extended are blank starting points, basic provides top navigation, jemdoc, hyde, lanyon, tufte, and others use side navigation, just-the-docs and minimal-mistakes support both side and top navigation, academic is for personal academic homepages, bootstrap5 is based on a Bootstrap layout, and vela and expert-kitty have collapsible sidebars or top navigation and require JavaScript. Each template is annotated in the documentation table with its source, license, navigation bar type, and whether it depends on JavaScript.
In terms of usage, templates are created or adjusted through utility functions such as newsite and modify within the FranklinTemplates package; adding a new template requires registering its name, description, an 850x850 PNG thumbnail, and the corresponding CSS block in the specified files. The repository also includes KaTeX and highlight.js files for mathematical formulas and code highlighting, and notes that during Franklin's optimize stage, the full version of highlight.js is used for pre-rendering.
Is it right for your project?
Use Cases
- Building a personal homepage or academic homepage with Franklin.jl
- Choosing a page structure with side or top navigation for technical documentation or project descriptions
- Quickly generating a new site skeleton starting from an existing template
- Previewing and comparing multiple template layouts locally before deciding which to use
Suitable For
- Developers building static sites with Julia and Franklin.jl
- Users who need ready-made HTML page structures and are willing to adjust details themselves
- Documentation or academic site authors who want to start from a simple template rather than writing a layout from scratch
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Templates are used through the FranklinTemplates package, which must be checked out in development mode in a Julia environment
- 2
Use newsite("name") to create a site from scratch, or newsite("name", template="jemdoc") to start from an existing template
- 3
Use modify("template name") to quickly enter an existing template for modification
- 4
Adding a new template requires registering the name, description, an 850x850 PNG thumbnail, and a CSS block in FranklinTemplates.jl, docs/make.jl, docs/thumb, and docs/index_head.html respectively
- 5
Licenses for third-party assets such as demo images, fonts, and icons must be checked separately and cannot be judged solely based on the code's MIT license
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Templates are only starting points, not finished products; they may be incomplete and require adjustment before use on a production site.
- Most templates are adapted from existing third-party themes, and their use may require compliance with the respective licenses and attribution requirements of the upstream themes.
- The jemdoc template's source does not indicate a license (N/A); the licensing of its assets and code is unclear, and commercial use requires independent verification.
- The academic template's source does not indicate a license (N/A); its licensing status is unclear, and authorization should be confirmed before use.
- The expert-kitty template's source does not indicate a license (N/A), and it depends on JavaScript; its licensing and usability require independent verification.
- The package bundles third-party files such as KaTeX and highlight.js; these files are subject to their respective upstream licenses and are not licensed together with this repository's MIT license.
- KaTeX files are provided as is and require compliance with KaTeX's upstream license; other versions can be downloaded from the original repository and replaced if needed.
- highlight.js files are provided essentially as is, with only minor changes to highlight.pack.js, and require compliance with its upstream license.
- Using optimize pre-rendering invokes the full version of highlight.js, which may introduce additional third-party dependencies and licensing requirements.
- Joint testing of all layouts requires additional installation of external Julia packages such as PlotlyJS and Hyperscript.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
these templates should be seen as _starting points_, they are far from perfect.
Original README
Most of these templates are adapted from existing, popular templates with minor modifications to accommodate Franklin's content.
Original README
| `"jemdoc"` | [jemdoc](https://github.com/jem/jemdoc) | N/A | Side | No |
Original README
| `"academic"` | [Jon Barron](https://jonbarron.info/) | N/A | No | No |
Original README
| `"expert-kitty"` | [Expert Kitty](https://github.com/phrafsanjani/expert-kitty) | N/A | Top | Yes |
Original README
This package contains a copy of the relevant KaTeX files and highlight.js files;
Original README
the KaTeX files are basically provided "as is", completely unmodified; you could download your own version of the files from the [original repo](https://github.com/KaTeX/KaTeX) and replace the files in `_libs/katex`,
Original README
the Highlight.js files are _essentially_ provided "as is" for a set of languages, there is a small modification in the `highlight.pack.js` file to highlight julia shell and pkg prompt
Original README
in Franklin's `optimize` pass, by default the **full library** `highlight.js` is called to pre-render highlighting;
Original README
https://github.com/JuliaDocs/FranklinTemplates.jl/blob/master/LICENSE.mdhttps://github.com/JuliaDocs/FranklinTemplates.jl/blob/master/README.mdfor testing all layouts jointly (you'll need to have `PlotlyJS` and `Hyperscript` installed)
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 87 / 100
- Technologies
- HTML
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-01
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies HTML as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: f7b3d018a9947657162a97ed91a7ac8cdfbd68d7ffff3d5a2eaf4ee97aa2eb42
2026-10-02T16:03:53.255Z
Source file / repository# Franklin Templates
Templates for [Franklin](https://github.com/JuliaDocs/Franklin.jl), the static-site generator in Julia.
Most of these templates are adapted from existing, popular templates with minor modifications to accommodate Franklin's content.
**NOTE**: these templates should be seen as _starting points_, they are far from perfect.
PRs to help improve them will be very welcome, thanks!
Most importantly they are designed to be simple to adjust to your needs.
## List of templates
Get an idea for which template you like using [this preview](https://juliadocs.org/FranklinTemplates.jl/).
The grid below keeps track of their name, license, the kind of navbar they have and whether they require Javascript.
| Name | Source | License | Navbar | JS |
| ---- | ------ | ------- | ----- | --- |
| `"sandbox"` | N/A | MIT | N/A | No |
| `"sandbox-extended"` | N/A | MIT | N/A | No |
| `"basic"` | N/A | MIT | Top | No |
| `"jemdoc"` | [jemdoc](https://github.com/jem/jemdoc) | N/A | Side | No |
| `"hypertext"` | [grav theme hypertext](https://github.com/artofthesmart/hypertext) | [MIT](https://github.com/artofthesmart/hypertext/blob/master/LICENSE) | Top | No |
| `"pure-sm"` | [pure css](https://purecss.io/layouts/side-menu/) | [Yahoo BSD](https://github.com/pure-css/pure-site/blob/master/LICENSE.md) | Side | No |
| `"vela"` | [grav theme vela](https://github.com/danzinger/grav-theme-vela) | [MIT](https://github.com/danzinger/grav-theme-vela/blob/develop/LICENSE) | Side (collapsable) | Yes |
| `"tufte"` | [Tufte CSS](https://github.com/edwardtufte/tufte-css), and a bit of [Lawler.io](https://github.com/Eiriksmal/lawler-dot-io) for the menu | [both](https://github.com/edwardtufte/tufte-css/blob/gh-pages/LICENSE) [MIT](https://github.com/Eiriksmal/lawler-dot-io/blob/main/license.md) | Side | No |
| `"hyde"` | [Hyde](https://github.com/poole/hyde) | [MIT](https://github.com/poole/hyde/blob/master/LICENSE.md) | Side | No |
| `"lanyon"` | [Lanyon](https://github.com/poole/lanyon) | [MIT](https://github.com/poole/lanyon/blob/master/LICENSE.md) | Side (collapsable) | No |
| `"just-the-docs"` | [Just the docs](https://github.com/pmarsceill/just-the-docs) | [MIT](https://github.com/pmarsceill/just-the-docs/blob/master/LICENSE.txt) | Side/Top | No |
| `"minimal-mistakes"` | [Minimal mistakes](https://github.com/mmistakes/minimal-mistakes) | [MIT](https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE) | Side/Top | No |
| `"celeste"` | [Celeste](https://github.com/nicoelayda/celeste) | [MIT](https://github.com/nicoelayda/celeste/blob/master/LICENSE) | Top | No |
| `"bootstrap5"` | [Bootstrap5](https://getbootstrap.com/docs/5.3/getting-started/introduction/) | [MIT](https://github.com/twbs/bootstrap/blob/main/LICENSE) | Top | No |
| `"academic"` | [Jon Barron](https://jonbarron.info/) | N/A | No | No |
| `"smpuj"` | [KMPS UJ](https://github.com/KMPSUJ) | MIT | Side (collapsable) | No (optional) |
| `"expert-kitty"` | [Expert Kitty](https://github.com/phrafsanjani/expert-kitty) | N/A | Top | Yes |
## Modifying or adding a template
The package contains a few utils to make it easier to modify or add templates.
Now if it was just a bunch of fixes to an existing template, you can just push those changes to your fork and open a PR.
If it's a new template that you're working on, you can also do that but there's a few extra things you need to do:
1. in `FranklinTemplates/src/FranklinTemplates.jl` add the name of your template in the list
1. in `FranklinTemplates/docs/make.jl` add the name of your template with a description in the list
1. in `FranklinTemplates/docs/thumb` add a screenshot of your template in `png` format with **exactly** an 850x850 dimension
1. in `FranklinTemplates/docs/index_head.html` add a CSS block following the other examples
To locally see changes quickly, use [Changing a single template](#user-content-changing-a-single-template).
To change all templates at the same time, use [Changing multiple templates](#user-content-changing-multiple-templates).
### Changing a single template
1. clone a fork of this package wherever you usually do things, typically `~/.julia/dev/`
1. checkout the package in development mode with `] dev FranklinTemplates`
1. `cd` to a sensible workspace and do one of
1. `using FranklinTemplates; newsite("newTemplate")` to start working on `newTemplate` more or less from scratch,
1. `using FranklinTemplates; newsite("newTemplate", template="jemdoc")` to start working on `newTemplate` using some other template as starting point,
1. `using FranklinTemplates; modify("jemdoc")` to quickly start working on an existing template in order to fix it.
1. change things, fix things, etc.
1. bring your changes into your fork with `addtemplate("path/to/your/work")`
1. if the template doesn't exist, it will just add the folder removing things that are duplicate from `templates/common/`.
1. if the template exists, it will just adjust what needs to be adjusted.
### Changing multiple templates
1. clone a fork of this package wherever you usually do things, typically `~/.julia/dev/`
1. checkout the package in development mode with `] dev FranklinTemplates`
1. start serving the preview website with `using FranklinTemplates; FranklinTemplates.serve_templates()`
Thanks!!
## Misc
* Current version of KaTeX: [0.16.0](https://github.com/KaTeX/KaTeX/releases/tag/v0.16.0)
* Current version of highlight: [11.5.1](https://github.com/highlightjs/highlight.js/releases/tag/10.7.1) (with `css`, `C`, `C++`, `yaml`, `bash`, `ini,TOML`, `markdown`, `html,xml`, `r`, `julia`, `julia-repl`, `plaintext`, `python` and the minified `github` theme).
* Current version of Plotly (used in `sandbox-extended`): 1.58.4
## Notes
This package contains a copy of the relevant KaTeX files and highlight.js files;
- the KaTeX files are basically provided "as is", completely unmodified; you could download your own version of the files from the [original repo](https://github.com/KaTeX/KaTeX) and replace the files in `_libs/katex`,
- the Highlight.js files are _essentially_ provided "as is" for a set of languages, there is a small modification in the `highlight.pack.js` file to highlight julia shell and pkg prompt (see next section). You can also download your own version of files from the [original source](https://highlightjs.org) where you might want to
- specify languages you want to highlight if other than the default list above
- specify the "style" (we use github but you could use another sheet)
**Note**: in Franklin's `optimize` pass, by default the **full library** `highlight.js` is called to pre-render highlighting; this bypasses the `highlight.pack.js` file and, in particular, supports highlighting for **all** languages. In other words, the `highlight.pack.js` file is relevant only when you preview your site locally with `serve()` or if you don't intend to apply the prerendering step.
### Maintenance
- if update `highlight.min.js`, look for `julia>`, and replace with something like
```
{name:"Julia REPL",contains:[{className:"meta.prompt",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,
subLanguage:"julia"}},{className:"meta.pkg",begin:/^\(.*\) pkg>/,relevance:10,starts:{end:/^(?![ ]{6})/,
subLanguage:"julia"}},{className:"meta.shell",begin:/^shell>/,relevance:10,starts:{end:/^(?![ ]{6})/,
subLanguage:"julia"}}],aliases:["jldoctest"]}
```
(copying the case for `julia` and adding a case for pkg and for shell, see also the CSS for `.hljs-meta.pkg_` etc.)
- for testing all layouts jointly (you'll need to have `PlotlyJS` and `Hyperscript` installed)
### Testing before release
```julia
include("docs/make.jl")
import LiveServer
LiveServer.serve(dir="docs/build")
```
* check that all templates have a thumbnail
* check that in basic - more goodies, the shell, pkg and julia prompts are highlighted properly (in case of update of highlight)
* check that math displays properly (in case of update of katex)
Explore similar templates
Compare previews and descriptions within the same stack and category.

startbootstrap-simple-sidebar
A Bootstrap off-canvas sidebar navigation HTML starter template from Start Bootstrap. It provides directly editable HTML and CSS in the dist directory, while the source uses Pug, SCSS, and JavaScript with npm build scripts for live preview and compilation.
HTML · Starter

adminkit
AdminKit is a free, MIT-licensed HTML admin and dashboard template built on Bootstrap 5. The free version includes 15 demo pages, 1 plugin, and 1 color scheme, with hundreds of UI components, forms, tables, charts, and icons.
HTML · Admin dashboard

Landing-Page
A general-purpose landing page HTML template maintained by Tailwind Toolbox, written in pure HTML and loading the complete Tailwind CSS via CDN.
HTML · Corporate Website

light-bootstrap-dashboard
Light Bootstrap Dashboard is a free, MIT-licensed admin dashboard template from Creative Tim, built on Bootstrap with a responsive static HTML structure.
HTML · Admin dashboard

sing-app
Sing App Lite is a free, open-source admin dashboard template from Flatlogic, built with Bootstrap 4.5 and SCSS. It provides a responsive layout, dashboard examples, typography, tables, notifications, basic charts, icons, maps, and a hover sidebar, along with styled Bootstrap components.
HTML · Admin dashboard

startbootstrap-modern-business
Modern Business is a multipurpose Bootstrap full-site HTML template from Start Bootstrap with 17 standalone pages covering home, about, services, portfolio, pricing, blog, FAQ, and contact.
HTML · Starter
