开始
点击这里 从模板创建 命名为 Username.github.io
然后将仓库克隆到本地
git clone https://github.com/<Username>/<Username>.github.io blog
撰写
删除 blog/_post 和 blog/post目录下的所有文件,其中 blog/_post 存放博客文章, blog/post存放媒体文件
博客文章需要在开头插入头信息,示例如下所示,对应的媒体文件放置于 blog/_post/2025/09/06,并直接使用相对位置调用
layout: mypost
title: Jekyll 博客搭建
date: 2025-09-06
published: true
categories: 博客
tags:
- blog
点击查看 所有头信息
如果已有博客文章需要迁移,重命名脚本
# --- PowerShell 重命名脚本 ---
# 路径已在上面通过 cd 命令设置,这里不再需要 $folderPath
Get-ChildItem -Path . -Filter "*.md" | ForEach-Object {
$file = $_
$originalFileName = $file.Name
$lastWriteTime = $file.LastWriteTime # 获取文件的最后修改时间
$datePrefix = $lastWriteTime.ToString("yyyy-MM-dd") # 格式化为 YYYY-MM-DD
# 获取不带扩展名的原始文件名(例如 "my-awesome-post")
$baseName = [System.IO.Path]::GetFileNameWithoutExtension($originalFileName)
# 移除可能已经存在的 YYYY-MM-DD- 前缀,以防重复运行脚本或文件名已包含日期
$cleanBaseName = $baseName -replace "^\d{4}-\d{2}-\d{2}-", ""
# 构建新的完整文件名 (例如 "2023-10-27-my-awesome-post.md")
$newFileName = "$datePrefix-$cleanBaseName.md"
# 检查新旧文件名是否不同,避免不必要的重命名操作
if ($originalFileName -ne $newFileName) {
Write-Host "Renaming '$originalFileName' to '$newFileName'"
Rename-Item -Path $file.FullName -NewName $newFileName # 加上 -WhatIf 会模拟操作,不实际执行
} else {
Write-Host "File '$originalFileName' already in correct format or does not need renaming, skipping."
}
}
Write-Host "--- 脚本执行完毕。请检查上面的输出。---"
Write-Host "如果输出符合预期,请删除脚本末尾的 '-WhatIf' 后再次运行以实际重命名。"