2个版本
新 0.1.1 | 2024年8月20日 |
---|---|
0.1.0 | 2024年8月20日 |
112 在 模板引擎
8KB
80 行
Rustsite
rustsite
是一个使用Rust编写的可定制静态网站生成器。它使用模板引擎将Markdown文件转换为HTML,使得生成带有动态内容的静态网站变得简单。
功能
- 将Markdown文件转换为HTML
- 使用可定制的模板生成HTML输出
- 解析并在页面中包含元数据
- 简单的命令行界面用于生成静态网站
安装
您可以直接从crates.io使用 rustsite
。要将其作为二进制文件使用,请使用Cargo进行安装
cargo install rustsitemd
用法
安装 rustsite
后,您可以从命令行使用它
rustsite
<source-dir>
:包含您的Markdown文件的目录。<destination-dir>
:生成的HTML文件将保存到的目录。<template-file>
:您的HTML模板文件的路径。
示例
假设您有以下结构
project/
│
├── content/
│ ├── index.md
│ └── about.md
│
├── template.html
└── output/
您的 index.md
可能看起来像这样
---markdown
title: "Home"
---
# Welcome to My Site
This is the home page.
您的 template.html
可能看起来像这样
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
{{ content }}
</body>
</html>
运行以下命令以生成您的网站
rustsite content output template.html
这将使用 template.html
模板将 index.md
和 content/
目录中的任何其他Markdown文件转换为 output/
目录中的HTML文件。
函数
generate_site(source_dir: &str,destination_dir: &str,template_file: &str) -> io::Result<()>
从 source_dir
中的Markdown文件生成静态网站,将HTML文件输出到 destination_dir
,并使用 template_file
作为HTML模板。
parse_front_matter(content: &str) -> (HashMap<String, String>, String)
从给定的Markdown内容中解析元数据,并将其与正文分离。
markdown_to_html(markdown: &str) ->String
将Markdown内容转换为HTML。
render_template(模板: &str,元数据: &HashMap<String, String>,content: &str) ->String
使用给定的模板和元数据渲染HTML内容。