hexo 博客搭建以及踩雷总结

搭建时的坑

文章置顶

安装一下这个依赖

npm install hexo-generator-topindex --save

然后再文章的上面设置 top: number,数字越大,权重越大,也就是越靠顶部

hexo 每次推送 nginx 都访问不到

宝塔自带的 nginx 的 config 里默认的角色是 www,然而我看每次自动部署的时候都会变成 root
所以直接改 nginx 的配置就好,这样 nginx 就能够读取到文件

在这里插入图片描述

在这里插入图片描述

证书无效

喵的,找了半天问题,发现是电脑的时间不是最新的时间,解决办法就是更新一下电脑的时间就好了

在这里插入图片描述

网站 403

我开的 80 端口,通过 ip 访问我的服务器资源显示 403 forbidden

于是我百度了一下,可能是权限的问题,查看到 这篇文章啊

之后我通过宝塔面板查看了一下网站的错误日志,发现权限有问题

在这里插入图片描述

于是我进入宝塔的 nginx 的 config 文件中看了看

在这里插入图片描述然后对应我网站根目录下的文件夹,发现所有者是 git,这个是我用 git 角色创建的这个文件夹,也是我网站的根目录,之后改成 www 就能访问到啦。

在这里插入图片描述


与远端服务器建立相互信任

目的:每次推送文章到远端 git 仓库时都需要输入密码,如果建立信任的话,就不需要输入密码了

操作

ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip

这里的 git 角色可以换成 root

这里需要修改 yourname 以及 server_ip,分别对应本地用户名字,和远端服务器的 ip 地址

当然你也可以通过 xshell 等软件登录远端,通过 linux 命令来操作,如果对 linux 操作比较熟悉的话建议这样。

常用命令

更新 github 账户名和邮箱

这个会在你长期不用博客,然后回过神想写博客的时候用到

git config --global user.name "yourname"
git config --global user.email "1007420679@qq.com"

更新文章

hexo g

缺少模块

如果提示你缺少某系模块的话,直接安装

cnpm install cheerio

文章撰写

设置文章的属性

比方说要设置文章的分类,我们可以在文章里设置 yaml 语句

#文章标题
title: typora-vue-theme主题介绍# 文章写作的日期
date: 2019-02-06 09:25:00# 文章是否置顶
top: true# cover为文章的封面
cover: https://cdn.jsdelivr.net/gh/Amethyst-Ruby/myCDN/img/blogBgImg.png# 是否显示左侧边栏的标题分类及阅读进度,默认为true
toc: falsemathjax: false
summary:#文章的分类
categories: 写博客的经验#文章的标签
tags:- Typora- Markdown
---
title:
date:
tags:
categories:
keywords:
description:
top_img: (除非特定需要,可以不寫)
comments  是否顯示評論(除非設置false,可以不寫)
cover:  縮略圖
toc:  是否顯示toc (除非特定文章設置,可以不寫)
toc_number: 是否顯示toc數字 (除非特定文章設置,可以不寫)
copyright: 是否顯示版權 (除非特定文章設置,可以不寫)
mathjax:
katex:
hide:
---

好用的 MarkDown 写作器

推荐 Typora

Typora 的图片插件 typora-plugins-win-img

插件原项目在这里

这里也有安装的步骤,重点是 window.html 这个文件不要复制,而是改变它的代码,打开它,然后搜索下面的语句

<script src="./plugins/image/upload.js" defer="defer"></script>

在这个语句后面他的后面添加

<script src="./plugins/image/upload.js" defer="defer"></script>

本地预览和服务器预览不一致

  1. 键入以下命令
hexo clean
hexo d -g
  1. 如果你用的是Chrome的话,那就是缓存的锅,试着换个浏览器试试,或是清除 Chrome 的缓存
  2. 重启再试一次(这个我试过也好使)

图片放大器 fancybox 失效

2020-03-16

刚把 MUI 的文章更新完,然后发布后发现我的图片放大器坏了,我透心里一万只草泥马飞奔,又开始排错误

我也没改什么,就是图床的几个图片失效了,我就改了配置文件,想想也不可能是图床的问题啊

于是我就打开了开发者模式,发现图片的 a 标签指向 loading.gif,从而推断是脚本的问题

然后我把本地的 loading.gif 文件改成 loading1.gif,接着查看,发现浏览器还能显示 loading.gif,这他妈是缓存的锅么?

于是我发现了一个很重要的问题,就是在你 hexo g的时候会生成一个 public 公共文件,于是我考虑是不是hexo g整理出了问题呢?于是我 hexo clean 接着 hexo g 再次整理了一遍,最后图片放大器好使了,a 标签也不再指向 loading.gif 了

后记:hexo g 时可能出现些小错误,删掉重新来一遍就好了,这次排查错误我好像更能理解博客如何生成的过程了,它是把所有的配置文件捏成 public 文件夹,然后 push 上远端仓库。

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

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

相关文章

python33-Python列表和元组之子序列

与前面介绍的字符串操作类似的是&#xff0c;列表和元组同样也可使用索引获取中间一段&#xff0c;这种用法被称为slice(分片或切片)。slice的完整语法格式如下: [start:end:step] 上面语法中start、end两个索引值都可使用正数或负数&#xff0c;其中负数表示从倒数开始。该语…

leetcode-4的幂

342. 4的幂 使用数学方法 如果一个数是4的幂次方&#xff0c;那么它一定可以表示为2的幂次方乘以4的幂次方。而2的幂次方在二进制表示中只有一个1&#xff0c;所以只需要判断n是否可以被4整除&#xff0c;并且n/4是否也是4的幂次方即可。 class Solution:def isPowerOfFour(…

easyx 随机火花生成器 视觉盛宴

作品介绍&#xff1a; 在数字化艺术的世界里&#xff0c;我们经常寻求模拟自然现象的方式&#xff0c;为观众带来沉浸式的体验。本作品“随机火花生成器”就是一个尝试&#xff0c;通过编程模拟了火花的随机生成和消散过程。 在这段代码中&#xff0c;我们使用了EasyX图形库&…

前端JavaScript篇之如何获得对象非原型链上的属性?

目录 如何获得对象非原型链上的属性&#xff1f; 如何获得对象非原型链上的属性&#xff1f; 要获取对象上非原型链上的属性&#xff0c;可以使用 hasOwnProperty() 方法。这个方法是 JavaScript 内置的对象方法&#xff0c;用于检查一个对象是否包含指定名称的属性&#xff0…

Python 3 中的 super()

Python super Python 的 super() 函数允许我们显式地引用父类。在继承的情况下&#xff0c;当我们想要调用父类函数时&#xff0c;它非常有用。 Python super 函数示例 首先&#xff0c;让我们看一下我们在 Python 继承教程中使用的以下代码。在该示例代码中&#xff0c;父类…

【论文阅读笔记】InstantID : Zero-shot Identity-Preserving Generation in Seconds

InstantID:秒级零样本身份保持生成 理解摘要Introduction贡献 Related WorkText-to-image Diffusion ModelsSubject-driven Image GenerationID Preserving Image Generation Method实验定性实验消融实验与先前方法的对比富有创意的更多任务新视角合成身份插值多身份区域控制合…

Linux操作系统基础(六):Linux常见命令(一)

文章目录 Linux常见命令 一、命令结构 二、ls命令 三、cd命令 四、mkdir命令 五、touch命令 六、rm命令 七、cp命令 八、mv命令 九、cat命令 十、more命令 Linux常见命令 一、命令结构 command [-options] [parameter]说明: command : 命令名, 相应功能的英文单词…

Dubbo源码一:【Dubbo与Spring整合】

正常在项目中&#xff0c;我们都是在Spring环境下使用Dubbo&#xff0c;所以我们这里就在Spring的环境下看看Dubbo是如何运作的 入口 在源码下载下来之后&#xff0c;有一个dubbo-demo目录&#xff0c;里面有一个基于spring注解的子目录dubbo-demo-annotation, 里面有一个生产…

Linux - updatedb 命令

1. 功能 updatedb 命令用来创建或更新slocate命令所必需的数据库文件。updatedb 命令的执行过程较长&#xff0c;因为在执行时它会遍历整个系统的目录树&#xff0c;并将所有的文件信息写入 slocate 数据库文件中。 补充说明&#xff1a;slocate 本身具有一个数据库&#xff…

【PyQt】10 QLineEdit

文章目录 前言一、回显模式&#xff08;EchoMode&#xff09;1.1 四种回显模式1.2 代码展示运行结果 二、校验器2.1 代码2.2 运行结果 三、通过掩码限制输入3.1 代码3.2 运行结果 总结 前言 1、QLineEdit 可以输入单行文字 2、回显模式 3、校验器 4、掩码输入 一、回显模式&am…

Linux开发:PAM3 Ubuntu(22.04)安装PAM开发库

Ubuntu22.04默认是不带pam开发库的&#xff0c;需要通过以下命令进行安装 sudo apt install libpam0g-dev 关于PAM的文档可以参考&#xff1a; Ubuntu Manpage: pam - Pluggable Authentication Modules Library 也可以通过man进行查看&#xff1a; man 3 pam 编译程序是需要加…

16进制内存地址——计算机内存地址为什么用16进制?

在计算机底层&#xff0c;内存地址通常以十六进制表示。使用十六进制可以更好地理解和识别内存地址、指针和寄存器等底层系统信息。 谈到内存地址&#xff0c;不可避免引出指针的概念。 变量和数据在内存中是如何存放的呢&#xff1f;我们知道&#xff0c;所谓程序是由计算机&a…

k8s-资源限制与监控 15

资源限制 上传实验所需镜像 Kubernetes采用request和limit两种限制类型来对资源进行分配。 request(资源需求)&#xff1a;即运行Pod的节点必须满足运行Pod的最基本需求才能 运行Pod。 limit(资源限额)&#xff1a;即运行Pod期间&#xff0c;可能内存使用量会增加&#xff0…

Jupyter Notebook如何在E盘打开

Jupyter Notebook如何在E盘打开 方法1&#xff1a;方法2&#xff1a; 首先打开Anaconda Powershell Prompt, 可以看到默认是C盘。 可以对应着自己的界面输入&#xff1a; 方法1&#xff1a; (base) PS C:\Users\bella> E: (base) PS E:\> jupyter notebook方法2&#x…

[AIGC] Tomcat:一个简单 and 高效的 Java Web 服务器

Tomcat&#xff08;Tomcat Server&#xff09;是 Apache 基金会下的一个开源项目&#xff0c;它是一个简单 and 高效的 Java Web 服务器&#xff0c;支持 Servlet 2.5、JSP 2.2 和 EL 2.2 规范。Tomcat 是当今最受欢迎的 Java Web 服务器之一&#xff0c;它在 Java 世界中被广泛…

跳表详解和实现|深挖Redis底层数据结构

文章目录 跳表前言项目代码仓库认识跳表跳表的实现思路跳表性能分析对比平衡树&#xff08;avl和红黑树&#xff09;和哈希表使用手册成员变量成员函数构造析构迭代器sizeclearemptyoperatorfindinserterase 跳表细节实现节点定义跳表结构定义构造、析构、拷贝构造和赋值重载si…

人工智能算法:理解其工作原理及其在现实世界中的应用

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已逐渐成为我们生活中不可或缺的一部分。从智能语音助手到自动驾驶汽车&#xff0c;再到医疗诊断系统&#xff0c;人工智能算法正以前所未有的速度改变着我们的世界。本文将带您深入探讨人工智能算法的工作原…

【MySQL】数据库的基础——数据库的介绍、MySQL的介绍和架构、SQL分类、MySQL的基本使用、MySQL的存储引擎

文章目录 MySQL1. 数据库的介绍1.2 主流数据库 2. MySQL的介绍2.1 MySQL架构2.2 SQL分类2.3 MySQL的基本使用2.4 MySQL存储引擎 MySQL 1. 数据库的介绍 数据库&#xff08;Database&#xff0c;简称DB&#xff09;是按照数据结构来组织、存储和管理数据的仓库。它是长期存储在计…

uni-app x,一个纯原生的Android App开发工具

uni-app x&#xff0c;下一代uni-app&#xff0c;一个神奇的产品。 用vue语法、uni的组件、api&#xff0c;以及uts语言&#xff0c;编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。 uni-app x&#xff0c;让“跨平台开发性能不如原生”的这条曾广为流…

面试 JavaScript 框架八股文十问十答第四期

面试 JavaScript 框架八股文十问十答第四期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;new操作符的实现…