1 个不稳定版本
0.1.0 | 2024 年 8 月 4 日 |
---|
#1486 在 命令行工具
每月 112 次下载
57KB
611 行
zenn2press
zenn2press
是一个 Rust 库,用于将 Zenn 内容转换为 VitePress。
功能
copy_markdown_files()
从源目录复制 Markdown 文件到目标目录,可以选择包含或排除特定文件。
copy_images()
从源目录复制图像文件到目标目录,也可以选择包含或排除特定文件。
安装
将 zenn2press 添加到您的 Cargo.toml
[dependencies]
zenn2press = "0.1.0"
用法
CLI
以下是如何使用 zenn2press 的示例
zenn2press --help
zenn2press \
-s zenn \
-c config.json \
-d press/docs/articles \
-m press/docs/public/images \
-i sample-article-1
参数
参数 | 短选项 | 长选项 | 值名称 | 描述 |
---|---|---|---|---|
src_dir |
-s |
--src-dir |
DIR |
Zenn 内容根目录的路径。 |
dest_dir |
-d |
--dest-dir |
DIR |
您希望放置文章 Markdown 的 VitePress 目录路径(例如 docs/entries )。 |
dest_images_dir |
-m |
--dest-images-dir |
DIR |
放置图像的 VitePress 目录路径(例如 public )。 |
config_file |
-c |
--config-file |
FILE |
配置文件路径。 |
include |
-i |
--include |
<FILE> |
要包含的文件名,用逗号分隔。 |
exclude |
-e |
--exclude |
<FILE> |
要排除的文件名,用逗号分隔。 |
包
以下是如何在项目中使用 zenn2press 的示例
use zenn2press::{copy_images, copy_markdown_files};
#[tokio::main]
async fn main() {
let src_dir = "demo/zenn/articles";
let dest_dir = "demo/press/docs/articles";
let config_file = Some("demo/zenn2press-config.json");
let include = Some(vec!["sample-article-1"]);
let exclude = None;
// Copy markdown files from srcDir to destDir using properties
copy_markdown_files(
src_dir,
dest_dir,
config_file,
include,
exclude
)
.unwrap_or_else(|e| {
eprintln!("Error copying markdown files: {}", e);
});
// Copy images from srcDir to destDir using properties
match copy_images(
"demo/zenn/images",
"demo/press/docs/public/images",
include,
exclude
)
.await
{
Ok(_) => println!("Images copied successfully."),
Err(e) => eprintln!("Error copying images: {}", e),
}
}
配置文件(可选
)
zenn2press-config.json
{
"frontmatter": {
"aside": true,
"editLink": true,
"footer": true,
"lastUpdated": true,
"layout": "doc",
"navbar": true,
"outline": [1, 2, 3],
"sidebar": true,
"titleTemplate": ":title - Custom Suffix"
}
}
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
依赖项
~9–20MB
~284K SLoC