4.Hexo 页面属性和模板设置

Frontmatter

frontmatter基本上是可以定义的有关不同文件的信息,本质上是元数据
frontmatter是我们可以分配给每个内容页面的信息
在Hexo中创建文件时,Hexo主题可以使用该信息以不同的方式显示该内容

当在Hexo创建了一个文件,在source文件夹的posts里面,a.md,
创建内容文件时,文件里会有一些默认信息
![[Pasted image 20240411122827.png]]

这些内容就是页面的前部内容
frontmatter是用两种之一的语言写的,yml或者json
yml和json都是用来定义关键值对的语言

![[Pasted image 20240411125512.png]]

这里是yml,title就是一个key,a就是value
date就是key,2024-04-10 13:24:23 就是value

  • 在这里定义网站里a的页面的标题
  • 下来是a创建的日期
  • 再下来是页面的一些标签

frontmatter允许给页面提供不同的内容,如标题,日期,标签
![[Pasted image 20240411125626.png]]

当打开网站,发现a页面正在主页上显示
实际上正在使用的hexo主题是使用这个a页面的frontmatter中的信息去显示这个a.md文件
![[Pasted image 20240411125640.png]]

这里的a就是页面的标题
上面的日期就是页面的日期

如果在frontmatter中更改标题和日期
![[Pasted image 20240411125722.png]]

刷新页面以后,这两个属性都发生了变化
![[Pasted image 20240411125746.png]]

所以这个hexo主题正在使用frontmatter中的信息以便正确显示内容页面

也可以添加一些标签

tags: [Tag1, Tag2, Tag3]

添加完毕后,刷新页面
![[Pasted image 20240411125830.png]]

会发现在导航卡上会出现这三个标签

基本上frontmatter就是让你为每个文件定义这样的东西

如果新建一个文件,比如b
![[Pasted image 20240411125846.png]]

会发现此时b和a中的frontmatter不同,不过hexo主题会使用它们来显示这些卡片,刷新页面之后,b也会显示
![[Pasted image 20240411125916.png]]

因此a和b实际上以相同的样式和相同的格式来显示的,但是由于a有不同的frontmatter,所以它和b不一样


每次更改了内容以后先输入

hexo g

生成网页
然后再输入

hexo s

运行服务器

Scaffolds

scaffolds基本上是Hexo网站上不同类型的页面将使用的模板,它们会继承一些默认值
模板是使用NunJucks语言来访问系统变量及函数

创建一个新Hexo文件,a.md
这个a文件不需要做任何事,会自动生成一个frontmatter,包括标签字段,日期字段和标题字段
![[Pasted image 20240411190602.png]]

新建一个草稿文件,b
这个新的草稿也和博客文件一样,有一些默认的frontmatter,但是草稿文件中创建的默认的frontmatter与在a文件中创建的默认frontmatter不同
![[Pasted image 20240411190659.png]]

新建一个页面,c
打开index.md,发现它也具有默认的前部内容,并且和博客的草稿的默认frontmatter都不同
![[Pasted image 20240411190712.png]]

为什么这三种类型的文件都有不同的默认前项
是因为scaffolds

scaffolds里有三个文件
![[Pasted image 20240411190727.png]]

draft.md、page.md和post.md
点击draft文件,里面有两个项,标题和标签
![[Pasted image 20240411190743.png]]

而b.md文件也有相同的两项,除了标题项的大括号

对page文件也是相同的情况,都有标题和日期
![[Pasted image 20240411190752.png]]

c.md文件里有确切的标题和实际的日期

post文件同理
![[Pasted image 20240411190801.png]]

当要求Hexo创建一个草稿文件时,Hexo进入scaffold文件夹,查看是否有用于草稿类型的模板文件,它会找到draft.md文件,按照文件上的默认的frontmatter,为新文件创建默认内容

如果打开draft.md文件,添加作者字段

author: "ZZZ"

当新建一个草稿文件d时
![[Pasted image 20240411190909.png]]

Hexo会自动在新文件中包含此作者字段

也可以在draft.md文件里面输入任何类型的markdown内容作为默认内容
当创建一个新文件时,Hexo会自动用默认内容填充新文件
![[Pasted image 20240411190955.png]]

控制scaffolds文件就是控制文件中包含哪些默认信息
比如在每篇博客文章的末尾的相同的小简介信息

还可以创建自己的自定义模板文件
在scaffolds文件夹新建一个文件,比如giraffe.md
往里面添加一些默认的frontmatter
![[Pasted image 20240411191141.png]]

大括号里面有的这些单词,基本上是值得占位符

要为新模板创建文件,输入

hexo new giraffe f

Hexo会创建f.md在posts文件夹,但是f现在的草稿布局就是giraffe
![[Pasted image 20240411191222.png]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaWeb】Tomcat服务器

目录 动态网站动态网站的特点 程序架构B/S与C/S的比较B/S技术的工作原理URL 什么是Web服务器 Web服务器、服务端、服务器的区别和联系什么是TomcatTomcat服务器的安装与配置解压缩版本Tomcat的配置添加系统变量,名称为CATALINA_HOME,值为Tomcat的安装目录…

Qt中播放GIF动画

在Qt应用程序中,如果你想在QLabel控件上播放GIF动画,可以使用QMovie类与QLabel配合来实现。以下是详细步骤和代码示例: 步骤1:引入必要的头文件 首先,在你的源代码文件中包含QMovie和QLabel相关的头文件:…

【微命令】git 如何修改某个分支的名字(git branch -m newbranch)

简要信息,快速记录 命令 # 切换到某个需要修改的分支 git checkout oldbranch# 修改分支名字 git branch -m newbranch假设作为git设计者,要用来修改branch的命令,那么就是 git branch作为前缀,然后进一步修改的命令是branch相关…

gradio简单搭建——关键词简单筛选【2024-4-11优化】

gradio简单搭建——关键词简单筛选[2024-4-11 优化] 新的思路:标签自动标注界面搭建优化数据处理与生成过程交互界面展示 新的思路:标签自动标注 针对通过关键词,在文本数据中体现出主体的工作类型这一任务,这里使用展示工具grad…

2012年认证杯SPSSPRO杯数学建模A题(第二阶段)蜘蛛网全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 A题 蜘蛛网 原题再现: 第二阶段问题   现在我们假设一个具体的环境。假设有一个凸多边形的区域,蜘蛛准备在这个区域(或其一部分)上结一张网。   问题一: 在区域的边界上安置有若干…

HarmonyOS开发实例:【手势截屏】

介绍 本篇Codelab基于手势处理和截屏能力,介绍了手势截屏的实现过程。样例主要包括以下功能: 根据下滑手势调用全屏截图功能。全屏截图,同时右下角有弹窗提示截图成功。根据双击手势调用区域截图功能。区域截图,通过调整选择框大…

GeoServer:忘记密码重置

操作步骤 1. 找到data_dir/security/usergroup/default目录下的users.xml文件, 2.修改password为plain:geoserver, 这里无论原来的密码是什么,改为plain:geoserver之后,就可以通过admin:geoserver默认账户密码登录了。…

室内定位中文综述阅读

1 室内高精度定位技术总结与展望 [4]柳景斌,赵智博,胡宁松等.室内高精度定位技术总结与展望[J].武汉大学学报(信息科学 版),2022,47(07):997-1008.DOI:10.13203/j.whugis20220029. 1.1.1 WiFi‐RTT定位 2016 年 12 月,随着新版 IEEE802.11 标准的公布&#xff0c…

开一家抖音小店都需要准备什么?今天一篇文章带你成功开店!

大家好,我是电商小布。 想要来玩抖店,第一件事情当然就是来开一家属于自己的抖店。 那么大家开抖店需要准备什么内容呢?这个是很多新手小伙伴不了解的东西。 所以呢今天,小布就从所需的材料和资金方面,来带大家详细的…

直播带货行业将迎来大地震

关注卢松松,会经常给你分享一些我的经验和观点。 为什么这么多人喊着关闭直播带货?实体经济是到底因为什么萧条的?为什么大街上冷冷清清的?是房租、虚高的价格、还是直播带货引起的? 在4月9日的国务院政策吹风会上,市场监管明确指出: …

选择程序员是为什么?

本章节是关于为什么会选择一名程序员的经验分享 首先,我为什么会选择这个方向,可能是因为钱多,学东西不就是为了赚钱嘛?这是一点,不过最让我接收这个行业的是好奇世界的新大陆,可以简单的说就是&#xff0c…

ubuntu系统安装python虚拟环境

一、安装python: 步骤1:在Ubuntu系统中打开终端,你可以使用快捷键CtrlAltT来打开终端,或者在应用程序菜单中找到终端。 步骤2:更新软件包列表,在终端中输入以下命令,更新软件包列表&#xff1…

MobX原理剖析:基于可观察状态和自动依赖追踪的响应式状态管理

我们用代码示例来说明 MobX 的核心原理。 首先,我们定义一个简单的 Store 类,其中包含一个可观察的计数器状态: import { observable, action } from mobx;class CounterStore {observable count 0;actionincrement () > {this.count;};actiondecrement () > {this.…

Linux Shell:`alias`命令

Linux Shell:alias命令 alias命令是Linux和Unix系统中Shell的内置命令,用于创建命令的简短名称,即别名。这些别名通常用来缩短长命令或为常用命令序列创建便捷的缩写,从而提高工作效率。别名在当前Shell会话中有效,除…

Leetcode算法训练日记 | day20

一、合并二叉树 1.题目 Leetcode:第 617 题 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新…

基于SSM的电影网站(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的电影网站(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMv…

196算法之谜在 JSP 中使用内置对象 request 获取 form 表单的文本框 text 提交的数据。

(1)编写 inputNumber . jsp ,该页面提供一个 form 表单,该 form 表单提供一个文本框 text ,用于用户输入一个正整数,用户在 form 表单中输入的数字,单击 submit 提交键将正整数提交给 huiwenNumber . jsp 页…

开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置

一、接着上文 本文的内容是在k8s容器中,如何使用configmap对.env文件进行挂载,实现环境的差异化配置。 二、源码结构 项目ChatGPT-Next-Web使用了.env文件来配置不同环境下的值: 所以,我们同理新增两个配置文件,见下…

windows上使用influx2.7学习

参考 官方文档:https://docs.influxdata.com/influxdb/v2/ 下载 需要下载两样东西:influxd.exe和influx.exe influxd:influx数据库的服务端。下载地址:https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.5-windows.zipinflux:连…

Linux 计算机网络

目录 一、网络协议 1、 "协议" 是一种约定 2、协议分层 二、网络模型 1、OSI七层模型 2、TCP/IP五层(或四层)模型 三、网络传输基本流程 四、数据包封装和分用 五、网络中的地址管理 六、网络编程套接字 1、理解源IP地址和目的IP地址 2、端口号 理解 &q…