6 个稳定版本
新版本 1.2.0 | 2024年8月20日 |
---|---|
1.1.1 | 2024年8月12日 |
1.0.2 | 2024年7月16日 |
132 在 模板引擎 中排名
每月下载量 384
25KB
319 行
cliché
一个极其简单的静态网站生成器。 ¯_(ツ)_/)
特性
- 所有 Markdown
- 基于文件的路由
- 为所有页面添加可选的页眉和页脚
- 添加可选的样式表
这个列表看起来短吗?很好。这就是想法。如果你使用这个工具的时间比写自己的 SSG 要长,那么我就失败了。
没有模板。没有在页面上自动聚合链接。没有主题。
基于这样一个前提:整理是有价值的,因此你需要手动组织和链接你的页面。这实际上并不难,只要有好的文本编辑器。
安装
先安装 Rust 然后运行
cargo install cliche
使用方法
Usage: cliche [OPTIONS] <CONTENT>
Arguments:
<CONTENT> Directory containing the site's content
Options:
--header <HEADER> Path to the site's header [default: header.md]
--footer <FOOTER> Path to the site's footer [default: footer.md]
--style <STYLE> Path to the site's stylesheet [default: style.css]
-o, --output <OUTPUT> Site output directory. Will be created if it doesn't already exist [default: _site]
--domain <DOMAIN> The domain of the site, used for generating full URLs in the sitemap. If not provided, a sitemap will not be generated
--base-url <BASE_URL> A base url that the site will be served from
-h, --help Print help
-V, --version Print version
详细信息
添加头部文件(可选)
<!-- header.md -->
# my awesome website
<nav>
[home](contents/index.md)
[about](contents/about.md)
[whatever](contents/a/secret/path/whatever.md)
</nav>
添加尾部文件(可选)
<!-- footer.md -->
[Contact]([email protected]) | [Github](https://github.com/gdtroszak/cliche)
添加一些内容
为你的内容创建一个目录并添加一些文件。以下是一个示例,显示了每个页面的 URL 路径。
.
└── content/
├── index.md /
├── static/
│ └── image.jpg /static/image.jpg
├── food/
│ ├── index.md /food
│ ├── coffee.md /food/coffee.html
│ └── bread/
│ ├── sourdough.md /food/bread/sourdough.html
│ └── wheat.md /food/bread/wheat.html
└── bikes/
└── gravel.md /bikes/gravel.html
也许我想让我的主页链接到几个其他页面。
<!-- content/index.md -->
---
title: my amazing website
meta_description: a website about me and all the things I like.
---
- [food](./food/index.md)
- [gravel biking](content/bikes/gravel.md)
这里有一些需要注意的事项
- 你可以可选地在前置文件中添加标题和 meta_description。这将用于页面的
meta
标签。 - 指向其他内容的链接可以是相对于文件本身或项目的根目录。使用具有 Markdown LSP 的文本编辑器。这将使这变得非常容易。
添加一些样式(可选)
/*style.css */
html {
...
}
body {
...
}
我建议你直接复制可用的许多 classless 选项之一。
你可以通过在 Markdown 中添加大量的 HTML 来添加类,但这可能不会有什么好结果。
运行它
cliche ./content
您的网站应该输出到 _site
目录。如果您利用了 index.md
生成更多规范URL路径,您将需要提供服务。类似 simple-http-server 的工具非常合适。
simple-http-server -i --nocache ./_site
还有更多吗?
查看 我的个人网站 作为示例。
GitHub Action
如果您想使用GitHub Action自动化网站的生成和部署,您可以使用 cliche-action。此操作运行cliche并创建一个您可以将它部署到您首选托管提供商的工件。以下是一个将网站部署到 GitHub Pages 的示例工作流程。
name: deploy to pages
on:
push:
branches: ["main"]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: build site and upload artifact
uses: gdtroszak/cliche-action@v1
- name: setup pages
uses: actions/configure-pages@v5
- name: deploy to gh pages
id: deployment
uses: actions/deploy-pages@v4
with:
artifact_name: cliche-site
依赖项
~9–19MB
~251K SLoC