HTML启动器

FranklinTemplates.jl — HTML 启动器模板

作者 JuliaDocs

FranklinTemplates.jl 是 Franklin.jl 静态站点生成器的模板集合,提供多种可直接选用或改造的 HTML 页面起步模板。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

包含 sandbox、basic、jemdoc、hyde、lanyon、tufte、just-the-docs、minimal-mistakes、academic、bootstrap5、vela、expert-kitty 等多个模板

02

每个模板在文档中标注来源、许可证、导航栏类型和是否需要 JavaScript

03

提供 newsite、modify、addtemplate 等工具函数,便于创建或修改模板

04

内置 KaTeX 与 highlight.js 文件,用于数学公式和代码高亮

05

模板被定位为起点而非成品,鼓励按需调整并接受 PR 改进

模板详细介绍

FranklinTemplates.jl 面向使用 Julia 生态中 Franklin.jl 静态站点生成器的用户,把一批常用页面模板集中到一个包里,方便通过 newsite 命令直接套用。模板大多改编自已有的流行主题,并针对 Franklin 的内容组织方式做了调整。仓库自述明确说明这些模板只是起点,并非成品,设计上追求易于按需修改,也欢迎通过 PR 改进。

模板覆盖多种常见站点形态:sandbox 与 sandbox-extended 为空白起点,basic 提供顶部导航,jemdoc、hyde、lanyon、tufte 等采用侧边导航,just-the-docs 与 minimal-mistakes 同时支持侧边和顶部导航,academic 面向个人学术主页,bootstrap5 基于 Bootstrap 布局,vela 与 expert-kitty 带可折叠侧栏或顶部导航并需要 JavaScript。每个模板在文档表格中标注了来源、许可证、导航栏类型以及是否依赖 JavaScript。

使用方式上,模板通过 FranklinTemplates 包内的 newsite 与 modify 等工具函数创建或调整;新增模板需要在指定文件中登记名称、描述、850x850 的 PNG 缩略图以及对应的 CSS 块。仓库还内置了 KaTeX 与 highlight.js 的相关文件用于数学公式和代码高亮,并说明在 Franklin 的 optimize 阶段会改用完整版 highlight.js 进行预渲染。

HTML启动器

适合你的项目吗?

适用场景

  • 使用 Franklin.jl 搭建个人主页或学术主页
  • 为技术文档或项目说明选择侧边或顶部导航的页面结构
  • 以某个现有模板为起点快速生成新站点骨架
  • 在本地预览并对比多个模板的布局后再决定采用哪一个

适合人群

  • 使用 Julia 与 Franklin.jl 构建静态站点的开发者
  • 需要现成 HTML 页面结构并愿意自行调整细节的用户
  • 希望从简单模板起步而非从零编写布局的文档或学术站点作者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    模板通过 FranklinTemplates 包使用,需在 Julia 环境中以开发模式检出该包

  2. 2

    用 newsite("名称") 从零创建站点,或用 newsite("名称", template="jemdoc") 以现有模板为起点

  3. 3

    用 modify("模板名") 可快速进入已有模板进行修改

  4. 4

    新增模板需在 FranklinTemplates.jl、docs/make.jl、docs/thumb 和 docs/index_head.html 中分别登记名称、描述、850x850 PNG 缩略图和 CSS 块

  5. 5

    演示图片、字体、图标等第三方素材的许可需单独核对,不能仅依据代码的 MIT 许可判断

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 模板仅为起点,并非成品,可能不完善,需自行调整后才能用于正式站点。
  • 多数模板改编自第三方现有主题,使用时可能需遵守上游主题各自的许可与署名要求。
  • jemdoc 模板来源未标注许可证(N/A),其素材与代码许可不明确,商用前需自行核实。
  • academic 模板来源未标注许可证(N/A),许可状态不明,使用前需自行确认授权。
  • expert-kitty 模板来源未标注许可证(N/A),且依赖 JavaScript,许可与可用性需自行核实。
  • 包内捆绑了 KaTeX 与 highlight.js 等第三方文件,这些文件适用各自上游许可,不随本仓库 MIT 许可一并授权。
  • KaTeX 文件按原样提供,需遵守 KaTeX 上游许可;如需其他版本可自行从原仓库下载替换。
  • highlight.js 文件基本按原样提供,仅对 highlight.pack.js 做了小改动,需遵守其上游许可。
  • 使用 optimize 预渲染时会调用完整版 highlight.js,可能引入额外的第三方依赖与许可要求。
  • 联合测试全部布局需额外安装 PlotlyJS 与 Hyperscript 等外部 Julia 包。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

these templates should be seen as _starting points_, they are far from perfect.

README 原文

Most of these templates are adapted from existing, popular templates with minor modifications to accommodate Franklin's content.

README 原文

| `"jemdoc"` | [jemdoc](https://github.com/jem/jemdoc) | N/A | Side | No |

README 原文

| `"academic"` | [Jon Barron](https://jonbarron.info/) | N/A | No | No |

README 原文

| `"expert-kitty"` | [Expert Kitty](https://github.com/phrafsanjani/expert-kitty) | N/A | Top | Yes |

README 原文

This package contains a copy of the relevant KaTeX files and highlight.js files;

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`,

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

README 原文

in Franklin's `optimize` pass, by default the **full library** `highlight.js` is called to pre-render highlighting;

README 原文

for testing all layouts jointly (you'll need to have `PlotlyJS` and `Hyperscript` installed)

README 原文
https://github.com/JuliaDocs/FranklinTemplates.jl/blob/master/LICENSE.mdhttps://github.com/JuliaDocs/FranklinTemplates.jl/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 87 / 100
技术栈
HTML
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-01
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: f7b3d018a9947657162a97ed91a7ac8cdfbd68d7ffff3d5a2eaf4ee97aa2eb42

2026-10-02T16:03:53.255Z

来源文件 / 仓库
# 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)
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。