首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hexo如何让内容在生成时替换?

Hexo是一个基于Node.js的静态博客框架,可以用于快速搭建个人博客网站。在Hexo中,可以通过使用插件或自定义脚本来实现内容在生成时的替换。

一种常见的替换方式是使用Hexo的插件"hexo-replace"。该插件可以在生成静态页面之前,根据指定的规则替换文本内容。具体操作步骤如下:

  1. 在Hexo项目的根目录下执行以下命令安装"hexo-replace"插件:
代码语言:txt
复制

npm install hexo-replace --save

代码语言:txt
复制
  1. 在Hexo项目的根目录下找到配置文件"_config.yml",并添加以下配置:
代码语言:yaml
复制

replace:

代码语言:txt
复制
 enable: true
代码语言:txt
复制
 patterns:
代码语言:txt
复制
   - replace: '待替换的文本'
     with: '替换后的文本'

可以根据需要添加多个替换规则,每个规则包括"replace"和"with"两个字段,分别表示待替换的文本和替换后的文本。

  1. 在终端中执行以下命令重新生成静态页面:
代码语言:txt
复制

hexo clean && hexo generate

代码语言:txt
复制

执行完毕后,生成的静态页面中的指定文本将被替换为设定的内容。

除了使用插件,还可以通过自定义脚本来实现内容替换。具体操作步骤如下:

  1. 在Hexo项目的根目录下创建一个新的脚本文件,例如"replace.js"。
  2. 在脚本文件中使用Node.js的文件操作和字符串替换功能,读取生成的静态页面文件,对其中的文本进行替换。
代码语言:javascript
复制

const fs = require('fs');

// 读取生成的静态页面文件

const fileContent = fs.readFileSync('path/to/generated/file.html', 'utf8');

// 替换文本

const replacedContent = fileContent.replace(/待替换的文本/g, '替换后的文本');

// 将替换后的内容写回文件

fs.writeFileSync('path/to/generated/file.html', replacedContent, 'utf8');

代码语言:txt
复制

需要注意的是,替换规则可以使用正则表达式来匹配待替换的文本。

  1. 在终端中执行以下命令,在生成静态页面之后运行自定义脚本:
代码语言:txt
复制

hexo generate && node replace.js

代码语言:txt
复制

执行完毕后,生成的静态页面中的指定文本将被替换为设定的内容。

以上是两种常见的方法,可以根据具体需求选择适合的方式来实现Hexo内容在生成时的替换。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何Python爬虫遇到异常继续运行

本文将概述如何使用Python编写一个健壮的爬虫,确保其遇到异常能够继续运行。我们将通过使用try/except语句处理异常,结合代理IP技术和多线程技术,以提高爬虫的采集效率。细节1....Python中,可以使用try/except语句捕获并处理可能出现的异常,确保程序遇到问题不会崩溃,而是能继续执行其他任务。2. 使用代理IP为了避免爬虫被目标网站封禁或限制,可以使用代理IP。...通过同时运行多个线程,爬虫可以同一间发出多个请求,从而加快数据采集速度。...# 抓取失败后,会重复抓取直到成功或达到最大重试次数(5次)。# 设置了User-Agent,并将抓取的内容存储到SQLite数据库中。...异常处理确保爬虫遇到问题能够继续运行,代理IP技术可以避免爬虫被封禁,而多线程技术则可以大幅提升数据采集的速度。希望本文的介绍和示例代码能为您的爬虫开发提供有用的参考。

13310
  • 如何 Gitlab 的 Runner 构建拉取 Git Submodules 仓库

    默认的 GitLab 的 Runner 构建不会去拉取 Git Submodules 仓库,将会提示 Skipping Git submodules setup 跳过初始化 Git Submodule...内容 加入的逻辑和 stages 是同级,如下面例子 stages: - build - test - publish # 上面代码定义了打包步骤,定义编译需要两个 job 分别是编译测试和发布...,注意不同的 job 是完全空白的项目,不会用到上一个job编译的文件 variables: GIT_SUBMODULE_STRATEGY: recursive # 拉取 Submodule 内容...设置之后可以 GitLab 的 Runner 构建看到如下输出 Updating/initializing submodules recursively 也就是说将会自动拉取 submodules...内容 ---- 本文会经常更新,请阅读原文: https://blog.lindexi.com/post/%E5%A6%82%E4%BD%95%E8%AE%A9-Gitlab-%E7%

    2.3K20

    如何同一层次的模块布局更紧凑一些

    时序分析,我们常会碰到的一类现象是:关键路径上的逻辑单元过于分散,导致布线延迟过大,从而造成时序违例。对此,我们可以通过相对位置约束或绝对位置约束来限定相关逻辑的位置关系。...我们还可以采用手工布局的方式,这对于时序违例路径集中某一个模块或某一个层次内的情形较为适用。使用此方法需要注意Pblock的大小。...当芯片型号发生改变很有可能重新确定Pblock的大小或位置。 好在Vivado提供了一个新的约束属性USER_CLUSTER(要求Vivado版本为2022.2或之后)。...该属性的作用是指导工具布局将指定层次/模块下的逻辑单元放得更紧凑一些。为便于说明,我们看一个例子。没有使用该属性,布局结果如下图所示。可以看到整个设计的资源利用率并不高,但却比较分散。

    40030

    Centos7中安装hexo基础环境与设置博客映射

    image.png 4、服务器中进行执行以下命令进行测试ssh直连是否可用 ssh -T git@github.com 这里执行时会输入一个密码,这个密码就是上面证书设置的密码,如果上面没有设置密码...hexo clean hexo generate hexo deploy 这时可以稍微等一会,浏览器中输入http://上面设置的名称.github.io网站访问自己的博客了 注:提交的过程中会输入...这时再进行hexo deploy部署发现不需要输入密码了,当然如果你的证书是和我一样也设置了密码,那么还是需要输入证书密码的,免密登录重新生成一个无密码的证书并设置到GitHub上就可以了。...image.png 注:这里存在一个问题,当我们再次部署项目,会自动将上面的项目设置域名给还原成原来的.github.io域名,下面我们来讲一下如何避免自动还原。...image.png 2、重新生成静态文件 hexo c hexo g hexo d 这时再去GitHub中会发现重新提交的项目不会再替换掉设置信息了。

    2.7K31

    Hexo博客进阶教程(二)| 使用Appveyor备份并持续集成博客

    待优化问题 使用hexo d命令部署Hexo博客Github仓库上传的只是 public 文件夹中生成的页面内容,这样就带来了一些问题: 本地博客文章的md源文件没有备份,哪天硬盘挂了可咋整?...提供持续集成服务的工具非常多,因为大多数用户都是Windows下,所以本文中我们使用持续集成服务工具appveyor。 接下来进行一个简单的分析,如何将持续集成服务应用到Hexo博客上?...插件); 云端进行构建的脚本代码 执行hexo d命令生成HTML页面,即public文件夹; 云端部署HTML页面 将public文件夹部署到Hexo站点仓库; 3....该文件的内容如下: 建议直接复制过去,这些文件内容中只需要替换Your GitHub Access Token为第4步中生成并加密的token即可,不需要搞懂!...这篇Hexo优化教程过程有点复杂,但是不难,教程是经过我验证的,跟着教程一步一步做,就可以的!另外可以学到持续集成服务CI的使用,这个公司里的代码肯定会用的,快去试试吧~

    1.1K41

    【DB笔试面试453】Oracle中,如何日期显示为“年-月-日 :分:秒”的格式?

    题目部分 Oracle中,如何日期显示为“年-月-日 :分:秒”的格式?...的日期默认显示为以下格式: SYS@PROD1> select sysdate from dual; SYSDATE --------- 22-DEC-17 阅读不方便,此时可以通过设置NLS_DATE_FORMAT来日期显示更人性化...,可以有如下几种方式: ① 会话级别运行命令:“ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';”,只会话级别起作用。...② 文件$ORACLE_HOME/sqlplus/admin/glogin.sql中加入:“ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:...select sysdate from dual; SYSDATE ------------------- 2017-12-22 06:51:18 & 说明: 有关NLS_DATE_FORMAT的更多内容可以参考我的

    3.4K30

    用树莓派做服务器运行博客网页

    生成代码指令 hexo g 然后开启本地端口访问 hexo server 浏览器输入如下内容,就可以本地访问Hexo生成的网页代码了: localhost:4000 到此网页的生成就完成了!...不习惯可以将vim替换gedit) sudo vim /etc/apt/sources.list 将内容替换为清华大学源(具体源需要上清华镜像站点搜索) # 编辑 `/etc/apt/sources.list...mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi sudo vim /etc/apt/sources.list.d/raspi.list 替换为以下内容...Hexo设置,上传网页代码 在上面都配置完成后,我们配置一下本地网页的传输代码,就可以上传一开始生成的静态网页了!...4.内网穿透 通过以上的步骤,我们现在已经可以通过内网访问部署树莓派服务器上的网页了,有的朋友可能不满足于此,想要网页通过外网也能访问,下面我分享一下如何做内网穿透,通过外网访问内网服务器!

    1.5K20

    HexoHexo 主题 Matery 配置

    说明 前两篇文章介绍了 Hexo + github pages + travis ci 进行自动化部署,并介绍了 Hexo 的配置文件中的各个属性,相信通过前两篇文章的学习,你已经学会了如何搭建自己的博客...clean && hexo g 重新生成博客文件,然后就可以文章中对应位置看到你用emoji语法写的表情了。...我们可以用 hexo-permalink-pinyin Hexo 插件使在生成文章生成中文拼音的永久链接。...clean && hexo g 重新生成博客文件,然后 public 文件夹中即可看到 atom.xml 文件,说明你已经安装成功了。...⚠️这里需要注意一点,如果你想要替换成自己的歌单,会发现,后续歌单的更新是不会影响到它的,这也是我捣鼓半天才发现的,音乐插件使用的是 Aplayer 播放器, https://cdn.jsdelivr.net

    1.9K10

    拒绝无聊,如何AI学会“花式聊天”?对抗学习聊天回复生成中的曲折探索

    饶是如此,恐怕不会有人认为 NRG 复制了 NMT 模型机器翻译领域的成功,其主要原因就是,这种端到端模型生成的绝大多数答案严重趋同,且不具有实际价值,即无法人机对话进一步进行下去。...4、知易行难:如何解决文本生成中采样不可导的问题?...然而当我们试图通过对抗学习实现文本生成的时候,一个图像生成的 GAN 模型中从未遇到的问题出现在面前,那就是如何实现判别器 D 训练误差向生成器 G 的反向传播 (Backpropagation)。...如前文所述,引入对抗学习改善文本生成的关键问题是如何解决文本生成过程中由采样带来的不可导问题,从而实现判别器误差向生成器的正确传播。...机器自动生成任何 query 的回复是一个极其困难的问题,因为我们试图挑战的是人类的语言能力。

    2K41

    如何Hexo 博客部署到云开发静态网站托管

    Hexo 是什么? Hexo 是一个快速、简洁且高效的博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在其他平台上,是搭建博客的首选框架。...此外,您还可以结合云开发的云函数、数据库等能力,将静态网站扩展为带有后台服务端的全栈网站,您可极速提供网站应用。...好了,接下来就是教你如何Hexo 博客部署到云开发静态网站托管。 系统依赖 进行后续的内容前,请先确保你的电脑中安装了 Node.js 运行环境。...接下来,就可以进入到最后一个环节,上传部署 Hexo 了。 构建 Hexo 并上传 回到你的 Hexo 目录中,执行 Hexo g 来生成文件,Hexo 会默认将文件生成 Public 目录下。...[20200427105946.png] 文件生成完成后,可以执行如下命令来进行部署(需要将 EnvID 替换为前面你记下的环境ID) cd public tcb hosting:deploy ./ -

    3.9K137

    Mac搭建Hexo博客流程记录,排雷完成

    地址栏输入localhost:4000,就可以查看本地博客了,hexo默认生成了一片hello world博客。...同步Hexo博客到Github 现在你已经可以本机查看你的博客了,但是要想别人通过网络可以查看你的博客,还需要一步,那就是将你的博客发布到github仓库。...格式的博客,生成静态网页 hexo d // 全拼是:hexo deploy,可以简写成 hexo d; 将本地博客发布到github 然后,浏览器地址栏输入username.github.io就可以访问你的博客了...常用命令 cd 到仓库所在文件夹目录下: hexo init //指定目录执行该命令,会将当前目录初始化为hexo站点,生成hexo站点所需的一切文件 hexo new “my new blog...替换域名: 直接在万维网设置解析方式; 仓库Setting的要设置跳转链接; CNAME会被覆盖,安装CNAME工具hexo-generator-cname 为博客文章添加阅读量统计功能,参照这里

    1.1K20

    使用hexo+github搭建免费个人博客详细教程

    hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,很多人会碰到浏览器一直转圈但是就是加载不出来的问题,一般情况下是因为端口占用的缘故,因为4000...如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。 4.7....写博客 定位到我们的hexo根目录,执行命令: hexo new 'my-first-blog' hexo会帮我们_posts下生成相关md文件: ?...hexo new page "my-second-blog" 最终部署生成hexo\public\my-second-blog\index.html,但是它不会作为文章出现在博文目录。...如何博文列表不显示全部内容 默认情况下,生成的博文目录会显示全部的文章内容如何设置文章摘要的长度呢? 答案是合适的位置加上<!

    67820

    手把手教你搭建Hexo博客

    exo对每片文章都有生成.html文件和真实DOM元素,而不是Vue非预渲染和非SSR模式下的Hash或History路由模式。...所以我们需要指向工作空间到上文创建的网站文件夹: # 当前是git用户,创建receive钩子vim ~/mySource/myBlog/hooks/post-receive 追加内容如下,注意替换--...、HBuilderX),deploy后,类型填git,然后补上其他内容: 之后,进行public文件夹生成和推送: hexo g -d 查看文件夹: 浏览器访问看看: 部署图床 部署图床也很简单...最终效果:加上一点点的美化和一点点的文章输出,并且部署到Lighthouse就是我的博客: Q&A 1)如何备份网站 备份Hexo博客很简单,Hexo文件夹内: .├── _config.fluid.yml...希望本文对你有帮助~ 腾讯工程师技术干货直达: 1、如何不改一行代码,Hippy启动速度提升50%? 2、内存泄露?腾讯工程师2个压箱底的方法和工具 3、一文读懂Go函数调用 4、万字避坑指南!

    72861

    使用travisCI自动部署hexo博客并使用国内外不同dns

    使用travisCI这个第三方平台进行自动化部署-地址 自动部署到github,coding 首先注册一个账号,使用github账号登陆,授权github,travis可以有权限访问你的github...hexo博客源码托管独立repo则不用设置此项 branches: only: - hexo before_install: - npm install -g hexo-cli...script: - hexo clean # - hexo douban -bm - hexo generate # 设置git提交名,邮箱;替换真实token到_config.yml文件...github仓库的hexo分支下,当我们每次push .travis.yml中命令就会被运行,根据文件内容不难理解,push完成后会安装node,以及hexo-cli到github上,然后hexo clean...清除public文件,hexo g 生成静态文件,hexo d 部署到我们配置的两个仓库的master分支中去,部署的过程我们可以 travisCI官网中的个人仓库中里看到 build的过程及结果,如果有错误则会停止构建

    66021

    Hexo使用文档

    generate $ hexo generate 生成静态文件。...某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。 list $ hexo list 列出网站资料。...当您在安装新插件遭遇问题,可以尝试以安全模式重新执行。 调试模式 $ hexo --debug 终端中显示调试信息并记录到 debug.log。...模版(Scaffold) 新建文章Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件,例如: $ hexo new photo "My Gallery" 执行这行指令Hexo...会尝试 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,以下是您可以模版中使用的变量: 变量 描述 layout 布局 title 标题 date 文件建立日期

    68420

    使用hexo+github搭建免费个人博客详细教程

    ,也就是我们的网站源文件,这样我们访问自己的github.io就会显示我们网站的内容,以此达成免费搭建个人网站的目的 现在我们有了主题和文章,就可以使用Hexo来帮我们构建最后的网站了(也就是展示别人眼前的网站...下如何查看某个端口被谁占用 第一次初始化的时候hexo已经帮我们写了一篇名为 Hello World 的文章,默认的主题比较丑,打开就是这个样子: 4.6....写博客 定位到我们的hexo根目录,执行命令: hexo new 'my-first-blog' hexo会帮我们_posts下生成相关md文件: 我们只需要打开这个文件就可以开始写博客了,默认生成如下内容...hexo new page "my-second-blog" 生成如下: 最终部署生成hexo\public\my-second-blog\index.html,但是它不会作为文章出现在博文目录...如何博文列表不显示全部内容 默认情况下,生成的博文目录会显示全部的文章内容如何设置文章摘要的长度呢? 答案是合适的位置加上<!

    1.5K50

    使用hexo+github搭建免费个人博客详细教程

    技术文章第一间送达!...hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容,很多人会碰到浏览器一直转圈但是就是加载不出来的问题,一般情况下是因为端口占用的缘故,因为4000...写博客 定位到我们的hexo根目录,执行命令: hexo new 'my-first-blog' hexo会帮我们_posts下生成相关md文件: ?...最终部署生成hexo\public\my-second-blog\index.html,但是它不会作为文章出现在博文目录。 4.12.1. 写博客工具 那么用什么工具写博客呢?...如何博文列表不显示全部内容 默认情况下,生成的博文目录会显示全部的文章内容如何设置文章摘要的长度呢?

    62310
    领券