跳转至

jekyll配置记录

tale模板,目前感觉很不错,记录一点jekyll的知识以及tale的配置知识,实际上比起我用flask做的小项目理解起来甚至更简单。

目前如果想要借鉴其审美风格,主要需要把_sass/文件夹下的一些css文件交给ai作为构建背景。

如何迁移:抽象出 Tale 的“设计系统”,而不是复制 CSS

把这些资源交给 AI,让它帮你构建 React 版本?完全可行

给出_sass/中的内容 然后让 AI:

  • 抽取设计变量
  • 转换成 CSS variables
  • 生成 React 组件
  • 生成全局样式
  • 生成布局结构
  • 生成文章渲染逻辑(Markdown → React)

不要直接“复制粘贴” Tale 的 CSS

原因:

  • Tale 的 CSS 是为 Jekyll 的 HTML 结构写的
  • React 的组件结构不同
  • 直接复制会导致大量无效样式
  • 你会失去组件化的优势

正确做法是“提取风格”,不是“复制代码”。

Note

要复刻 Tale 的审美,核心是提取 _sass/ 中的设计变量和排版规则,然后让 AI 基于这些规则构建 React 组件,而不是直接复制 CSS。

基本操作

  • make post: 在_post目录下以YYYY-MM-DD-name-of-post.ext格式写入文件,一般就是md格式,基本front matter:
    ---
    layout: post
    title: "The Mystery of the Filler Post"
    author: "Chester"
    tags: Tale
    ---
    
    • 默认每页展示5篇,大部分内容都可以在_config.yml文件里修改
  • manage excerpt: 在front matter里加入excerpt_separator: <!--more-->(当然:后的内容可以随意修改),然后在需要截取摘要的地方插入<!--more-->摘要就会截止在此处(也就是首页显示的文章内容)
  • 写作支持格式,意外学到了~~删除线~~的写法,以及<ins>underline<ins>,<sup/sub>xxx<sup/sub>实现的上标与下标,markdown比我想象的还要伟大啊。
  • 正如之前写的simple tasker,这里的_layouts文件可以加入自己的模板,然后以后写作需要时layout信息就可以用自己的模板,请发挥创造力。

仓库结构

📁 _layouts/ —— 页面布局模板

  • 页面的基本布局,可以自己创作更多
  • Jekyll 会把 Markdown 内容“嵌入”这些模板中生成最终 HTML。

📁 _includes/ —— 可复用的 HTML 片段

  • 放的内容

    • head.html
    • footer.html
    • nav.html
  • 作用

    • 这些是可复用的组件,比如导航栏、页脚、head 标签内容。
    • 布局文件会通过 {% include %} 引用它们。(ninja还在追我)

📁 _sass/ —— 样式(SCSS 文件)

  • 放的内容:

    • _base.scss
    • _layout.scss
    • _syntax.scss
    • _variables.scss
  • 作用:

    • Jekyll 会把这些 SCSS 编译成最终的 assets/main.css
    • 如果要修改主题样式,就是改这里;同样搬运主题样式也是从这里起步

📁 assets/ —— 静态资源(CSS、图片等)

  • 放的内容:

    • main.scss(入口 SCSS)
    • 图片资源(如 favicon)
  • 作用:

    • 最终网站加载的 CSS、图片都在这里。
    • main.scss 会 import _sass/ 里的所有样式。

📄 _config.yml —— 网站的全局配置文件

  • 作用:
    • 控制网站标题、作者、主题、分页、URL 等。
    • 具体的控制部分看注释问ai就可以问出来,没有什么改的需求就先不问了

总结

文件夹/文件 放了什么 有什么作用
_layouts/ 页面布局模板 决定文章、页面的结构
_includes/ 可复用 HTML 片段 导航栏、页脚等组件
_sass/ SCSS 样式文件 控制网站外观
assets/ CSS、图片等静态资源 最终加载的样式与资源
_posts/ Markdown 文章 博客内容来源
_site/ 构建后的 HTML GitHub Pages 实际部署内容
_config.yml 全局配置 网站标题、主题、URL 等
index.html 首页模板 定义首页内容