脚本宝典收集整理的这篇文章主要介绍了博客搭建(基于hexo),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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 |
以上是脚本宝典为你收集整理的博客搭建(基于hexo)全部内容,希望文章能够帮你解决博客搭建(基于hexo)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。