hexo-theme-bamboo: hexo博客主题--bamboo https://yuang01.gitee.io
这里不给相关链接,因为不想被理解是打广告的,服务器可以买,也可以不买,不买的话使用 Github page 或者Gitee page 都可搭建自己的博客,这里不再多述
$ npm install -g hexo-cli
npx hexo <command>
node_modules
添加到环境变量之中即可直接使用 hexo <command>
:echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile
安装完 Hexo 后,我们需要新建一个文件夹来容纳我们的博客所需的一切文件,在此之前,我们需要先建立一个GitHub或Gitee仓库,并且将其克隆到我们的服务器上
克隆仓库到服务器上的目的是因为可以很方便的将我们的hexo整体给搬到仓库中,可以更好的备份以及以后的迁移,并且当我们可以将包含Hexo的仓库克隆到我们的计算机上,然后编辑里面的文件,结束后我们于服务器上同步内容
如我的仓库:
hexo init <folder> //folder为你所创建文件夹的名称,是博客的根文件夹,许多操作都是在这个文件夹中进行操作的
npm i hexo-theme-butterfly
_config.yml
# Footer Settings # -------------------------------------- footer: owner: enable: true since: 2021 custom_text: you are my friend copyright: true # Copyright of theme and framework ICP: enable: false # 是否启用ICP url: http://www.beian.miit.gov.cn/ # 点击后的链接地址 text: 某ICP备xxxx # 备案号 icon: # 图标 NSP: enable: false # 是否启用NSP url: http://www.beian.gov.cn/ # 点击后的链接地址 text: 某公网安备 xxxxx号 # 公安备案号 icon: https://blog.imashimaro.com/images/20200805012127.png # 图标
themes/butterfly/layout/includes/footer.pug
文件,修改成以下代码#footer-wrap if theme.footer.owner.enable - var now = new Date() - var nowYear = now.getFullYear() if theme.footer.owner.since && theme.footer.owner.since != nowYear .copyright!= `©${theme.footer.owner.since} - ${nowYear} By ${config.author}` else .copyright!= `©${nowYear} By ${config.author}` if theme.footer.copyright .framework-info span= _p('footer.framework') + ' ' a(href='https://hexo.io')= 'Hexo' span.footer-separator | span= _p('footer.theme') + ' ' a(href='https://github.com/jerryc127/hexo-theme-butterfly')= 'Butterfly' if theme.footer.custom_text .footer_custom_text!=`${theme.footer.custom_text}` if theme.ICP.enable .icp a(href=theme.ICP.url) if theme.ICP.icon img.icp-icon(src=url_for(theme.ICP.icon)) span=theme.ICP.text if theme.NSP.enable .icp a(href=theme.NSP.url) if theme.NSP.icon img.icp-icon(src=url_for(theme.NSP.icon)) span=theme.NSP.text
写法 | 解释 |
---|---|
title | 【必需】文章标题 |
date | 【必需】文章创建日期 |
updated | 【可选】文章更新日期 |
tags | 【可选】文章标籤 |
categories | 【可选】文章分类 |
keywords | 【可选】文章关键字 |
description | 【可选】文章描述 |
top_img | 【可选】文章顶部图片 |
cover | 【可选】文章缩略图(如果没有设置top_img,文章页顶部将显示缩略图,可设为false/图片地址/留空) |
comments | 【可选】显示文章评论模块(默认 true) |
toc | 【可选】显示文章TOC(默认为设置中toc的enable配置) |
toc_number | 【可选】显示toc_number(默认为设置中toc的number配置) |
copyright | 【可选】显示文章版权模块(默认为设置中post_copyright的enable配置) |
copyright_author | 【可选】文章版权模块的文章作者 |
copyright_author_href | 【可选】文章版权模块的文章作者 链接 |
copyright_url | 【可选】文章版权模块的文章连结 链接 |
copyright_info | 【可选】文章版权模块的版权声明 文字 |
mathjax | 【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false) |
katex | 【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false) |
aplayer | 【可选】在需要的页面加载aplayer的js和css,请参考文章下面的音乐 配置 |
highlight_shrink | 【可选】配置代码框是否展开(true/false)(默认为设置中highlight_shrink的配置) |
aside | 【可选】显示侧边栏 (默认 true) |
--- title: date: tags: categories: top_img: cover: ---
只有文章支持分类和标签,您可以在 Front-matter 中设置。在其他系统中,分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:分类具有顺序性和层次性,也就是说 Foo, Bar
不等于 Bar, Foo
;而标签没有顺序和层次。
categories: - Diary tags: - PS3 - Games
分类方法的分歧
如果您有过使用 WordPress 的经验,就很容易误解 Hexo 的分类方式。WordPress 支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是 Hexo 不支持指定多个同级分类。下面的指定方法:
categories: - Diary - Life会使分类
Life
成为Diary
的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。如果你需要为文章添加多个分类,可以尝试以下 list 中的方法。
categories: - [Diary, PlayStation] - [Diary, Games] - [Life]此时这篇文章同时包括三个分类:
PlayStation
和Games
分别都是父分类Diary
的子分类,同时Life
是一个没有子分类的分类。
yum install -y nginx
nginx -t
vim /etc/nginx/nginx.conf
user root; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80 default_server; listen [::]:80 default_server; server_name 001.social; root /root/story/blog/public; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { index index.html; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name 001.social; root /root/story/blog/public; ssl_certificate cert/6712194_001.social.pem; ssl_certificate_key cert/6712194_001.social.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
systemctl start nginx.service
systemctl restart nginx.service
chmod 777 folder
hexo clean //该命令执行后清除public文件夹 hexo g -d //该命令首先生成静态文件,然后立即部署
如果想先预览一下网页,可以使用 hexo s
命令,默认访问端口是4000,这时候我们需要开启服务器的4000端口否则无法访问
打开阿里云轻量级应用服务器,配置防火墙用来开放端口
hexo g -d
还是 hexo s
首先都最好先执行hexo clean
git --version
#卸载旧的git yum remove git # 安装依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # 将git下载安装到/usr/local/src目录 cd /usr/local/src wget http://ftp.ntu.edu.tw/software/scm/git/git-2.26.0.tar.gz tar -zvxf git-2.26.0.tar.gz # 进入目录 cd git-2.26.0 # 编译执行 make prefix=/usr/local/git all # 安装 git 到 /usr/local/git 目录下 make prefix=/usr/local/git install
vim /etc/profile #添加以下内容 PATH=$PATH:/usr/local/git/bin # git 的目录 export PATH # 使配置的环境变量生效 source /etc/profile
git --version
# 设置github昵称 git config --global user.name 'mxrmiss' # 设置github邮箱 git config --global user.email 'heroli520@outlook.com'
git config --global core.quotepath false
ssh-keygen -t rsa -C "GitHub 邮箱"
cat id_rsa.pub
在github上新建一个仓库,仓库名为自己的 github名.github.io
在自己的博客目录下的站点配置文件_config.yml中进行配置,在文件的末尾找到并进行修改:
deploy: type: git repo: //填仓库地址 branch: master //填写上传页面的分支
安装git部署插件
npm install hexo-deployer-git --save
cd /opt wget https://npm.taobao.org/mirrors/node/latest-v15.x/node-v15.0.1-linux-x64.tar.xz # 下载二进制安装包
cd /opt tar xf node-v10.16.0-linux-x64.tar.xz ln -s node-v10.16.0-linux-x64 nodejs nodejs -> node-v10.16.0-linux-x64
cd /opt/nodejs/bin ./node -v 会看到 v10.16.0
ln -s /opt/nodejs/bin/node /usr/local/bin/node ln -s /opt/nodejs/bin/npm /usr/local/bin/npm # 验证 node -v
npm install hexo-cli -g
ln -s /opt/nodejs/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo
Missing write access to /usr/local/lib/node_modules是没有写权限, npm官方给出的解决方案是新建一个有权限的文件夹, 在这个新文件夹中安装npm包. 这个方法不适用于Microsoft Windows系统.
在用户的根目录创建文件夹(名字不一定要是.npm-global, 可以自己起):
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source /etc/profile
参考链接
将 Hexo 所在的目录下的 node_modules 添加到环境变量之中即可直接使用 hexo
echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile
# 出现错误 error:spawn failed... #解决方法 1. 删除blog文件夹中的 .deploy_git 文件夹 2. 输入 git config --global core.autocrlf false 3. hexo clean hexo g hexo d
Hexo官网 | hexo-theme-ayer: gitee |
Hexo文档 | hexo-theme-bamboo: gitee |
Hexo主题 | hexo-theme-fluid: gitee |
Hexo 部署到 GitHub Pages | hexo-theme-butterfly: gitee |
hexo-theme-ayer: github | |
博客园,CSDN等平台利用Github绑定域名 | hexo-theme-bamboo: github |
typora+阿里云图床+印象笔记+OneDrive | hexo-theme-fluid: github |
图标网站:Font Awesome | hexo-theme-butterfly:github |