cover

【hexo专栏】hexo如何进行文章渲染的

一、介绍使用 hexo 做博客系统的时候,我们是通过编写 markdown 文件,并且在 markdown 中还会使用 hexo 的 Tag 语法进行扩展。那么本文介绍一下它是如何实现的。 二、渲染原理在 Hexo 中,文章内容区域的渲染原理主要有以下几个步骤: 用户使用 Markdown 编写博客文章,将其保存在 _posts 目录下。 Hexo 会读取 _posts 目录下的 Mark...

发布于 hexo专栏
cover

【hexo专栏】hexo的归档功能

目前博客采用hexo搭建,虽说hexo有一些使用上的痛点,但是还是挺喜欢的。这篇文章记录一下,hexo的归档功能。 一、什么是归档博客的归档指的是按照时间顺序排列和归纳博客文章的列表,以便读者可以方便地查找和浏览博客历史文章。通常情况下,博客的归档页面会按照年份、月份或者季度等方式对文章进行分组,显示每个分组中的文章列表和发布时间。 博客归档是博客网站中比较常见的一个功能,也是一个非常有用的...

发布于 hexo专栏
cover

【hexo专栏】hexo server的工作原理

我们在使用hexo的过程中,会使用npm run server,内部使用的是hexo server。当我们修改了对应的内容后,刷新网页已经是新的内容,那他是怎么实现的呢? 一、hexo server的实现原理hexo-server 是 Hexo 的一个插件,它的作用是启动一个本地服务器,可以实时预览博客的修改效果。下面是 hexo-server 的原理: 在 Hexo 项目的根目录下,执行...

发布于 hexo专栏
cover

【hexo专栏】从hexo联想ejs的模版新用法

ejs 模版,作为 NodeJs 开发者常用的后端模版引擎之一。平常的用法往往是类似这样的代码: 123<% if (user) { %> <h2><%= user.name %></h2><% } %> 这个写法是最常写的,相当于是模版去加上对应的js逻辑。 一、关于为什么有这个想法作为一个 JavaS...

发布于 hexo专栏
cover

【hexo专栏】hexo的render模块的工作原理

背景我们看到hexo的源码中有一个render模块,这个模块的作用是什么呢?我们先来看看它的文档。 英文文档https://hexo.io/api/renderer 中文文档https://hexo.io/zh-cn/api/rendering 用途hexo框架中有很多类似 .ejs, .yml, .styl 这样的文件,然后在框架中或者扩展中想要把这些文件做一个转换: 123hexo....

发布于 hexo专栏
cover

【hexo专栏】讲解hexo插件体系的实现原理

背景hexo里面有一个插件机制,它能让我们扩展hexo的能力,那么它的实现原理是怎么样的呢?本文会写一下hexo里面是如何实现的,这样在后续我们自己的框架开发中,也能借鉴一下。 hexo插件的官方文档地址: hexo的插件文档https://hexo.io/docs/plugins.html 实现原理猜想如果我们不考虑hexo是如何实现的,那我们会怎么实现? 首先想到的是读取当前项目的pa...

发布于 hexo专栏
cover

【hexo专栏】实现一个hexo的sitemap功能

背景目前我的博客站点由于原来没怎么经营导致sitemap.xml没有生成,所以需要自己实现一个sitemap功能。然后目前的博客采用hexo进行搭建,所以需要在hexo的基础上进行开发。 实现首先最简单的方式是查询一个hexo的sitemap的文章。 由于对hexo源码还算相对熟悉,那不去查询别人实现的sitemap,先自己来实现一个,想到的是直接利用hexo的generate扩展功能,返回...

发布于 hexo专栏
cover

【hexo专栏】hexo文章内容区域的自定义组件

背景我们再开发hexo主题的时候,用ejs等其他模版来开发。但在hexo的文章中,如果想要自定义一些插件,比如下面这样的一个小组件,就需要使用hexo的extends扩展开发了。 文章中上面的语法是: 1{% copy npm install @fedfans/stone -g left: true %} 然后目前是通过 hexo 官方文档里面的扩展Extensio...

发布于 hexo专栏
cover

【hexo专栏】hexo文章扩展组件如何写

背景在使用hexo写博客的时候,有时候会遇到特殊的需求,举例比如平常我们写文章运行一个命令,用markdown的普通的代码片段,如下效果: 1docker run -itd ubuntu bash 但是我们假设想要实现,用户只需要点击一下就能拷贝的能力,那么怎么来实现呢? 效果如下: 解决办法其实hexo提供了一种叫 tag 的能力,能让用户来定制化一些语法,来实现这种需求: 官方文档...

发布于 hexo专栏
cover

【hexo专栏】hexo主题开发

hexo theme 挺简单的: https://hexo.io/docs/themes 然后需要了解变量: https://hexo.io/docs/variables 如果想要让别人安装,则可以发布成一个npm包,否则自己就在themes目录下新建一个文件夹,然后里面是theme的一些ejs等文件。 修改一下_config.yml的配置即可。 Hexo专栏目前 Hexo 系列形成了一个小...

发布于 hexo专栏

如果你有什么意见和建议,可以点击: 反馈地址 进行反馈。