config.ymi配置

config.ymi配置解析

一、基础设置

# Site
title: Hexo             # 博客的标题
subtitle: ''            # 博客的副标题
description: ''         # 描述,用于简要介绍博客的内容或主题
keywords:               # 关键字
author: John Doe        # 作者
language: en            # 语言 中文简体为 zh-CN
timezone: ''            # 时区 大陆地区为 Asia/Shanghai

二、网址设置

# URL
url: http://example.com         # 博客的实际网址
permalink: :year/:month/:day/:title/ 
permalink_defaults:

## 以下三个皆为布尔值,均已 true 为例

pretty_urls:        
# 被设置为 true 时 
1、移除 .html 后缀
2、移除 index.html 文件名

trailing_index: true 
# 在链接地址末尾添加 index.html

trailing_html: true 
# 在链接地址末尾添加 .html 后缀

三、Hexo 目录结构

一般情况 保持默认 就行

# Directory
source_dir: source
# 默认存放源文件的目录 source\_posts

public_dir: public
# 存放生成的静态文件
执行 hexo generate (hexo g)命令时,生成的静态文件会保存在这个目录中

## 在 public 目录下

tag_dir: tags
#  这是存放标签(Tags)页面的目录
默认情况下,Hexo 会在 tags 目录下生成标签页面

archive_dir: archives
# 这是存放归档(Archives)页面的目录
默认情况下,Hexo 会在 archives 目录下生成归档页面

category_dir: categories
# 这是存放分类(Categories)页面的目录
默认情况下,Hexo 会在 categories 目录下生成分类页面

code_dir: downloads/code
# 这是存放代码文件的目录,比如下载的代码文件
默认情况下,Hexo 会在 downloads/code 目录下存放这些文件

i18n_dir: :lang
# 这是存放国际化文件的目录。
在 Hexo 中,可以使用国际化插件来实现多语言支持,这个配置项可以指定存放不同语言版本文件的目录。
lang 是一个占位符,表示语言代码,例如 zh-CN 表示中文简体

skip_render:
# 这个选项用于指定哪些文件不需要被渲染。
一般情况下,Hexo 会渲染所有的 Markdown 文件,但有时你可能希望某些文件不被渲染
(比如一些纯文本或二进制文件)。
你可以在这里指定这些文件的路径,以避免它们被渲染

四、写作

    # Writing
    new_post_name: :title.md 
    # 新文章的文件名格式,一般都使用 Markdown 写

    default_layout: post
    # 默认布局 
    1、post: 这是最常见的布局类型,用于普通的文章。通常用来展示博客内容。
    2、page: 这个布局类型用于静态页面,比如关于页面、联系页面等。与普通文章不同,页面没有日期和分类信息,更适用于不经常更新的内容。
    3、draft: 这个布局类型用于草稿。草稿文章不会被发布到博客中,但可以在本地进行编辑和预览。
    4、custom: 除了内置的布局类型外,你还可以创建自定义的布局类型。

    titlecase: false
    # 控制文章标题是否自动转换为标题格式。
    如果设置为 true,文章标题将会自动转换为标题格式(每个单词首字母大写)

    external_link:
    # 设置是否在新标签页中打开外部链接。
    如果设置为 true,则外部链接将会在新标签页中打开

    enable: true 
    # Open external links in new tab
    field: site # Apply to the whole site

    exclude: ''
    # 排除某些文章或页面不渲染。
    可以在这里指定要排除的文章或页面的文件名或路径

    filename_case: 0
    
    render_drafts: false
    # 设置是否渲染草稿。如果设置为 true,则 Hexo 会渲染草稿文件

    post_asset_folder: false
    # 设置是否为每篇文章创建一个独立的资源文件夹
    以下为一个简单的tree示例:
        public      # public 文件夹
            └── my-article      # 文章文件夹
                ├── index.html  # 文章
                └── assets      # 资源文件夹
                    ├── image1.jpg
                    ├── image2.png
                    └── document.pdf


    relative_link: false
    # 设置是否使用相对链接。
    如果设置为 true,则生成的链接将使用相对路径。

    future: true
    # 设置是否渲染未来发布的文章。
    如果设置为 true,则 Hexo 会渲染未来发布的文章,否则将不渲染未来发布的文章。
    
    syntax_highlighter: highlight.js
    # 设置代码高亮引擎。默认情况下,Hexo 使用 highlight.js

    ## highlight.js
    highlight:
    line_number: true
    # 控制是否显示行号。
    如果设置为 true,则会在代码块中显示行号

    auto_detect: true
    # 控制是否自动检测代码语言      建议true
    如果设置为 true,Hexo 会尝试自动检测代码块中的语言类型。
    如果设置为 false,则需要手动指定代码块的语言。

    tab_replace: ''
    # 设置替换 Tab 字符的方式。     建议默认
    如果需要替换 Tab 字符,可以在这里指定替换的字符

    wrap: true
    #  控制是否自动换行。           建议默认
    如果设置为 true,则代码块中的内容会自动换行,以适应显示区域。

    hljs: false
    # 控制是否使用 highlight.js 进行代码高亮。      看自己
    如果设置为 true,Hexo 将使用 highlight.js 进行代码高亮。

    ## 以下为一些highlight.js补充,看需求添加
    1、languages: 可以指定要加载的代码语言,以减少加载时间。默认情况下,highlight.js 会加载所有支持的语言,但你也可以指定只加载特定的语言,以加快页面加载速度。
    2、class_prefix: 设置生成的 HTML 元素的 class 前缀。这可以用于避免与其他样式表冲突,或者用于自定义样式。
    3、useBR: 控制是否将换行符(\n)转换为 <br> 标签。如果设置为 true,则会将换行符转换为 <br> 标签,而不是添加 <span> 标签来保留原始换行。
    4、languages_url: 可以指定加载额外语言的 URL。如果你使用的语言不在默认的 highlight.js 包中,你可以通过这个选项来指定加载额外语言的 URL。
    5、code_blocks: 可以指定要处理的代码块。默认情况下,highlight.js 会自动查找页面中的所有代码块进行高亮处理,但你也可以通过这个选项来手动指定要处理的代码块。

    ## prism.js
    prismjs:
    preprocess: true
    # 控制是否对代码块进行预处理。      建议默认
    如果设置为 true,Hexo 将会在渲染页面之前对代码块进行预处理。
    预处理过程包括解析代码块中的 HTML 实体和转义字符。

    line_number: true
    # 控制是否显示行号。        建议默认
    如果设置为 true,则会在代码块中显示行号。

    tab_replace: ''
    # 设置替换 Tab 字符的方式。     建议默认
    如果需要替换 Tab 字符,可以在这里指定替换的字符。

五、首页设置

    # Home page setting
    # path: Root path for your blogs index page. (default = '')
    # per_page: Posts displayed per page. (0 = disable pagination)
    # order_by: Posts order. (Order by date descending by default)

    index_generator:

        path: /
        # 设置博客首页的路径。
        默认情况下,博客首页的路径是根路径,即 /。
        你可以在这里指定其他路径,比如 /blog,以便将博客首页放在特定的路径下。

        per_page: 10
        # 设置每页显示的文章数量。
        如果设置为 0,则表示禁用分页,所有文章都会在首页显示。

        order_by: -date
        # 设置文章的排序方式。
        默认情况下,文章按照日期降序排列,即最新的文章排在前面。
        你可以在这里指定其他排序方式,比如按照标题排序、按照阅读量排序等。

        -date 表示按照日期降序排列,date 则表示按照日期升序排列。
        -updated: 根据文章的更新时间进行排序。
        -title: 根据文章标题进行排序。
        -path: 根据文章路径进行排序。
        -comments: 根据文章的评论数量进行排序。
        -likes: 根据文章的点赞数量进行排序。
        -views: 根据文章的浏览量进行排序。
        -word_count: 根据文章的字数进行排序

六、分类与标签

    # Category & Tag
    default_category: uncategorized
    # 设置默认分类。
    如果一篇文章没有指定分类,则会被归类到这个默认分类下。
    在这个示例中,uncategorized 是默认的分类名称。

    category_map:
    # 这个选项允许你设置分类别名映射。
    你可以将某个分类的别名映射到另一个分类,以便在展示分类时使用别名而不是原始分类名称。
    比如,你可以将 tech 映射到 technology,这样在显示分类时会使用 tech 而不是 technology。

    tag_map:
    # 类似于 category_map,这个选项允许你设置标签别名映射。
    你可以将某个标签的别名映射到另一个标签,以便在展示标签时使用别名而不是原始标签名称。

七、Hexo 版本

    # Metadata elements
    ## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
    meta_generator: true
    # 这段配置用于控制是否在生成的 HTML 页面中包含 meta 标签来显示 Hexo 的版本信息。
    让我解释一下这个选项的含义:
    这是一个布尔值选项,用于控制是否在生成的 HTML 页面中包含 meta 标签来显示 Hexo 的版本信息。
    如果设置为 true,Hexo 会在生成的 HTML 页面中添加一个类似于 <meta name="generator" content="Hexo x.x.x"> 的标签,其中的 x.x.x 表示 Hexo 的版本号。
    这样做可以让浏览器或搜索引擎识别出页面是由 Hexo 生成的。
    一般来说,建议保持这个选项为 true,因为这样有助于提高网站的可识别性和可访问性。

八、时间相关

    # Date / Time format
    ## Hexo uses Moment.js to parse and display date
    ## You can customize the date format as defined in
    ## http://momentjs.com/docs/#/displaying/format/

    date_format: YYYY-MM-DD
    #  这个选项用于设置日期的显示格式。
    默认情况下,日期显示为 YYYY-MM-DD,即年--日的格式。
    你可以根据自己的需求,使用 Moment.js 的格式定义语法自定义日期的显示格式。

    time_format: HH:mm:ss
    # 这个选项用于设置时间的显示格式。
    默认情况下,时间显示为 HH:mm:ss,即时::秒的格式。
    你可以根据自己的需求,使用 Moment.js 的格式定义语法自定义时间的显示格式。

    
    updated_option: 'mtime'
    # 这个选项用于设置文章的更新时间选项。
    ## 有三个选项 'mtime', 'date', 'empty'
    默认情况下,Hexo 使用 mtime。
    mtime:即文件的修改时间作为文章的更新时间
    date:表示使用 Front Matter 中指定的日期作为更新时间
    empty:表示不显示更新时间。

九、设置分页

    # Pagination
    ## Set per_page to 0 to disable pagination
    per_page: 10
    # 这个选项用于设置每页显示的文章数量。
    默认情况下,每页显示 10 篇文章。你可以根据自己的需求调整这个值,
    比如设置为 5 表示每页显示 5 篇文章,或者设置为 0 表示禁用分页,所有文章都显示在同一页。

    pagination_dir: page
    # 这个选项用于设置分页链接的路径。      建议默认
    默认情况下,分页链接的路径是 /page/,
    比如第一页是 /page/1/,第二页是 /page/2/,依此类推。
    你可以根据自己的需求调整这个路径,比如设置为 /pages/,则分页链接的路径变成了 /pages/1/、/pages/2/,以此类推。

十、包含和排除文件


    # Include / Exclude file(s)
    ## include:/exclude: options only apply to the 'source/' folder
    include:
    # 这个选项用于指定需要包含的文件或文件夹。
    只有在 source/ 文件夹下的文件或文件夹才会受到这个配置项的影响。
    你可以指定需要包含的特定文件或文件夹的路径,
    比如 include: ['images/', 'videos/'] 
    表示只包含 source/ 文件夹下的 images/ 和 videos/ 文件夹及其内容。

    exclude:
    # 这个选项用于指定需要排除的文件或文件夹。
    只有在 source/ 文件夹下的文件或文件夹才会受到这个配置项的影响。
    你可以指定需要排除的特定文件或文件夹的路径,
    比如 exclude: ['drafts/', '*.md'] 
    表示排除 source/ 文件夹下的 drafts/ 文件夹及其内容,以及所有扩展名为 .md 的 Markdown 文件。

    ignore:
    # 这个选项用于设置忽略的文件或文件夹,与 exclude 类似。
    只有在 source/ 文件夹下的文件或文件夹才会受到这个配置项的影响。
    你可以指定需要忽略的特定文件或文件夹的路径,
    比如 ignore: ['node_modules/', '*.log'] 
    表示忽略 source/ 文件夹下的 node_modules/ 文件夹及其内容,以及所有扩展名为 .log 的日志文件。

十一、主题

    # Extensions
    ## Plugins: https://hexo.io/plugins/
    ## Themes: https://hexo.io/themes/
    theme: landscape
    ```
    
    # Hexo 主题是用来控制博客外观和布局的模板。
    你可以从 Hexo 官方网站上的主题页面(https://hexo.io/themes/)
    上找到各种不同的主题,选择一个适合你的博客风格和需求的主题。
    然后,你可以通过编辑 Hexo 的配置文件,
    将选定的主题名称指定为 theme 配置项的值,以应用该主题到你的博客中。

    在这个示例中,主题名称被指定为 landscape,表示使用 Landscape 主题。  
    当你运行 Hexo 生成静态页面时,Hexo 将会使用该主题来渲染你的博客页面。


## 十二、博客部署

这段配置用于指定博客部署的方式
```yml
    # Deployment
    ## Docs: https://hexo.io/docs/one-command-deployment
    deploy:
    type: ''

type: 这个选项用于指定部署方式的类型。
在 Hexo 中,你可以使用不同的部署方式将生成的静态网站文件发布到互联网上。
常见的部署方式包括:
git: 使用 Git 将生成的静态网站文件部署到 Git 仓库(比如 GitHub、GitLab、Gitee 等)。
ftp: 使用 FTP 将生成的静态网站文件上传到远程服务器。
rsync: 使用 Rsync 将生成的静态网站文件同步到远程服务器。
s3: 将生成的静态网站文件上传到 Amazon S3 云存储服务。
github: 将生成的静态网站文件部署到 GitHub Pages。
gitlab: 将生成的静态网站文件部署到 GitLab Pages。
heroku: 将生成的静态网站文件部署到 Heroku 平台。
等等…

你需要根据自己的实际情况和偏好选择合适的部署方式,并在这里指定相应的类型。
然后,根据具体的部署方式,你可能需要提供额外的配置信息,比如 Git 仓库地址、FTP 服务器地址和凭据、Amazon S3 访问密钥等。

详细的配置信息和使用说明可以参考 Hexo 官方文档中的部署部分。

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值