实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v4-(通过百度网盘同步空间来同步source核心数据)

news2024/11/17 9:28:02

实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v4-(通过百度网盘同步空间来同步source核心数据)

image-20231023141622587

image-20231017062650020

image-20231018071709009

目录

image-20231023143218032

文章目录

    • 实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v4-(通过百度网盘同步空间来同步source核心数据)
    • 目录
    • 写在前面
    • 本次更新方案
      • 背景
      • 方案
      • 官网:`source`资源文件夹
      • 这里自己打算更改下`source`目录位置
      • 测试过程(==符合预期==)
      • 配置过程
        • 拷贝一份数据到移动硬盘
        • 停止百度网盘功能
        • 开启并指定新的同步目录
      • 配置typora图片路径
      • 整体修改
      • 最终效果
    • 鸣谢
    • 次hexo主题详细配置
    • 博客效果
    • 版本迭代
    • 前提条件
    • 实验环境
    • 实验软件
    • 步骤总结
    • 1、安装hexo
    • 2、部署rsync与nginx
      • 1.部署rsync
        • 1.ecs上配置rsync服务端
        • 2.windows client上配置rsync
        • 3.winodws同步命令
        • 注意2个密码位置
        • rsync部署参考文章
      • 2.部署nginx
    • 3、配置主题
      • 1.拉取hexo仓库
      • 2.生成node_modules内容
      • 3.提前安装好几个插件
      • 4.测试主题
    • 4、创建属于自己的hexo主题私有库
    • 5、创建属于自己的hexo主题公开库(**可选**)
    • 6、开启百度网盘同步空间
    • 7、配置本地vscode环境
    • 8、一键命令测试效果
      • 1.推送静态数据到ecs
      • 2.同步hexo根数据到私有库 & 推送hexo配置数据到公开仓库
    • 汇总数据
    • hexo数据维护原则
      • 本地md命名方式
    • 此方案优缺点
      • 1.优点
      • 2.缺点
        • 👎 数据太过分散,而不是像编辑一本书籍一样那样条理清晰
        • 👎 务必要注意typora路径设置不变,否则容易导致数据丢失
    • 关于我
    • 最后

写在前面

更新于:2023年10月23日

本次版本更新如下

丢弃坚果云,将source目录放到百度网盘同步空间

原因有如下:

坚果云的同步流量不足了,自己一直开着百度云盘的超级svip,因此就利用百度网盘同步空间来同步source目录。

本次更新方案

背景

这次使用几天,因为自己md里包含好多图片,上传流量快到达1G了,因此,这里需考虑将数据放在百度同步空间里才行。

image-20231023064208388

方案

方案1:
D:\hexo\source\BaiduSyncdisk\subSource
D:\hexo\source\BaiduSyncdisk\subBaiduSyncdisk

方案2:
D:\hexo\BaiduSyncdisk\source
D:\hexo\BaiduSyncdisk\_subBaiduSyncdisk

image-20231023124416471

官网:source资源文件夹

image-20231023064344670

https://hexo.io/zh-cn/docs/configuration#%E7%9B%AE%E5%BD%95

image-20231023064424313

这里自己打算更改下source目录位置

image-20231023065524124

测试过程(符合预期)

image-20231023065143190

删除public后,执行hexo g,hexo s命令都没报错:

image-20231023065215410

博客都一切正常:

image-20231023065227614

文章里图片都显示正常:

image-20231023065323820

🚩 测试下md图片的路径位置

image-20231023065509374

image-20231023065524124

可以看到图片的路径依然是相对路径../images

因为我们重新指定了资源文件夹的目录位置,因此这里图片路径是不会变的。

image-20231023065548468

这里再拷贝一张图片,观察下效果:

image-20231023065913662

image-20231023065903259

image-20231023065934236

完全符合预期,证明这个方式是完全没问题的!

配置过程

现在对百度网盘同步空间的数据进行迁移

拷贝一份数据到移动硬盘

2023年10月23日07:03:54

image-20231023070333206

拷贝完成。

已备份2组数据:

image-20231023071447257

停止百度网盘功能

image-20231023070911407

开启并指定新的同步目录

image-20231023071532443

image-20231023071603235

image-20231023071609524

在下载数据。。。

image-20231023071657709

立马停止下载操作,并删除数据:。。。

image-20231023071720204

image-20231023071759053

次pc已同步完成:

image-20231023072253302

image-20231023072304235

打开自己另一台电脑,进行数据同步:

数据同步完成。

配置typora图片路径

image-20231023081339446

  • 配置typora图片路径

image-20231023081407300

整体修改

修改2个gitee库;

修改hexo配置数据;

更新博客文档

再次测试下hexo s

符合预期,一切正常!

最终效果

image-20231023124938508

image-20231023124957535

image-20231023125035616

鸣谢

文章来源:

👍👍👍 感谢大佬开源的这么优秀的博客主题!

大佬:http://blinkfox.com/

🇺🇸English Document | 国内访问示例 (http://blinkfox.com) | Github 部署演示示例 (https://blinkfox.github.io) | QQ 交流群1(已满): 926552981 | QQ 交流群2(推荐): 971887688

这是一个采用 Material Design 和响应式设计的 Hexo 博客主题。

image-20231018071950759

image-20231018072011598

次hexo主题详细配置

https://onedayxyy.cn/2023/10/19/%E3%80%90other%E3%80%91%E3%80%90hexo%E3%80%912023.10.19-hexo-theme-matery%E4%B8%BB%E9%A2%98%E6%96%87%E6%A1%A3/

image-20231020061942250

博客效果

https://onedayxyy.cn/

image-20231017063527516

image-20231020122829208

image-20231020122757873

image-20231020122848645

image-20231020122901247

image-20231020122913559

image-20231020122927655

image-20231020122939503

image-20231020122947764

image-20231020123000707

版本迭代

  1. v2.0.0-hexo-theme-matery-2023.10.18 -m “功能基本满足博客需求,使用体验极度丝滑”

  2. v2.0.0-hexo-theme-matery-2023.10.18 -m “将推送最新数据到公开库输出为一个脚本,可以一键执行”

    具体步骤见如下步骤:

    image-20231018124140307

  3. 2023.10.19 产生坚果云+typora+hexo方案(已完美解决)

    image-20231019124955496

  4. 2023年10月21日 由github切换成gitee

    hexo-v4

  5. 2023年10月23日

    实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v4-(通过百度网盘同步空间来同步source核心数据)

    image-20231023141613029

  6. x

前提条件

  • 具备nodejs、git环境;
  • 拥有gitee账号;
  • 具有1台云服务器;
  • 具有一个域名;(可选)

实验环境

hexo 5.3.0
node v18.18.0
win10
百度网盘同步空间
typora

实验软件

链接:https://pan.baidu.com/s/1cQ-u6eIDwLYLta9xUKkQUw?pwd=0820
提取码:0820

2023.10.18-hexo-theme-matery-实验软件

image-20231018073942064

image-20231018073846842

步骤总结

实战步骤
1.安装hexo
2.部署rsnync和nginx
3.拉取代码库
4.配置本地环境并测试

1、安装hexo

  • 安装hexo

在任何地方,单击鼠标右键,选择“git Bash”,然后在命令行里面输入npm install hexo -g:

npm install hexo -g

image-20210516063239163

次小部分,仅仅作为测试自己本地hexo的可用性,具体本次主题涉及配置,请看后文。

  • 配置本地hexo博客目录

然后,选择一个位置(例如D盘),新建一个文件夹,例如“blog_github”,这个文件夹将是你的博客的根目录,以后与博客有关的所有文件都是存放在这里。进入你新建的这个文件夹,然后单击鼠标右键,打开git命令行(知道怎么打开吧,选择”git Bash”),输入hexo init,这个时候,你会发现多了很多文件夹。如下所示:

hexo 初始化

hexo init

image-20210516064342004

安装插件:,在刚才打开的命令行里面输入npm install:

image-20210516064524047

  • 见证奇迹的时刻

接着我们输入hexo g生成静态网页,然后输入hexo s打开本地服务器,然后浏览器打开http://localhost:4000/,就可以预览我们的博客啦,如图:

显示以下信息说明操作正确:

INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

常用命令:
Create a new post:
	$ hexo new "My New Post"	
Generate static files:
	$ hexo generate == 简写hexo g
Run server:
	$ hexo server == 简写hexo s
Deploy to remote sites:
	$ hexo deploy == 简写hexo d
	
我们以后常用到的Hexo命令:
$ hexo s等价于 hexo server #Hexo 会监视文件变动并自动更新,除修改站点配置文件外,无须重启服务器,直接刷新网页即可生效。
$ hexo g 等价于 hexo generate #生成静态网页 (执行 $ hexo g后会在站点根目录下生成public文件夹, hexo会将”/blog/source/“ 下面的.md后缀的文件编译为.html后缀的文件,存放在”/blog/public/ “ 路径下)
$ hexo d 等价于 hexo deploy #将本地数据部署到远端服务器(如github)
$ hexo clean #清除缓存 ,网页正常情况下可以忽略此条命令,执行该指令后,会删掉站点根目录下的public文件夹

image-20210516064814703

image-20210516064835538

image-20210516064851308

image-20210516064902124

  • 按ctrl+c关闭本地服务器。

image-20210516071543151

到目前为止,我们在本地创建博客框架的过程就完成了。

2、部署rsync与nginx

1.部署rsync

rsync使用背景

rsync在云服务器和本地pc端都要安装下,方面后续推送下本地pc的静态数据。

winodws pc写好的东西,同步到linux服务器上,单向同步需求。

1.ecs上配置rsync服务端
  • 服务端配置,安装rsync
# 检查是否安装了 rsync
rpm -qa|grep rsync

# 如果没有安装的话,进行安装
yum install rsync

# 将 rsync 设置成开启自启,并启动
systemctl enable rsyncd
systemctl start rsyncd
  • 修改rsync配置文件
[root@mkdocs-server html]# vim /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# 进行通信的端口,如果 firewall 打开的话,需要将对应的端口添加进去
port=8730

# 日志文件
log file=/var/log/rsync.log

# rsync 的进程 id
pid file=/var/run/rsync.pid

# 要同步的模块,这里一般以项目名命名
[cmi]

# 同步的目标文件夹
path=/root/rsync

# rsync daemon 在传输前是否切换到指定的 path 目录下,并将其监禁在内,用于增加传输的安全性
use chroot=no

# 指定最大的连接数
max connections=4

# yes 表示只读本地文件无法同步到服务器
read only=no

# 客户端请求显示模块列表时,该模块是否显示出来
list=true

# 服务运行时的用户
uid=root

# 服务运行时的用户组
gid=root

# 进行验证时的用户名,必须是系统存在的用户
auth users = root 

# 连接用户时的密码
secrets file=/etc/rsyncd.passwd

# 允许的 ip
hosts allow=*
[root@mkdocs-server html]# 

注意:

# 同步的目标文件夹
path=/root/rsync

# 连接用户时的密码
secrets file=/etc/rsyncd.passwd
# 1、创建目标的文件夹
mkdir /root/rsync

# 2、创建密码
# 创建文件夹
vim /etc/rsyncd.passwd
# 写入密码
echo "root:123456" > /etc/rsyncd.passwd #这里写入你自己云服务器的密码就行!!!

#更改文件权限
chmod 600 /etc/rsyncd.passwd
2.windows client上配置rsync
  • 下载地址

https://www.itefix.net/cwrsync-client

image-20230914223602245

image-20230914223643864

  • 安装rsync

双击安装。(将次软件的.exe文件路径添加到自己pc的PATH里。)

3.winodws同步命令
rsync.exe -avPzruh --delete --port 8730 --password-file=/cygdrive/D/password.txt /cygdrive/D/mkdocs/site root@47.97.48.237::cmi/

说明:

#最新命令:
rsync.exe -avPzruh --delete --port 8730 --password-file=/cygdrive/D/password.txt /cygdrive/D/mkdocs/site root@47.97.48.237::cmi/


-a:归档模式,用于保持文件的属性、权限、时间戳等。
-v:显示详细输出,让您了解文件同步的进度和操作。
-p:显示文件传输的进度条和实时速度。
-z:在传输过程中压缩数据,减少网络带宽的使用。
-r:递归复制目录及其内容。
-u:只复制源中更新或新增的文件到目标目录。
-h:可读性大小。
--delete:删除目标目录中不在源中存在的文件和目录。

# cmi_password.txt 密码文件 写入 Linux 端配置的密码即可
# cmi 指代模块,我们这边正好按照

image-20230914223936222

⚠️ 注意:

下面就是 在 windows server 创建计划任务定时执行了。(目前暂不需要)

自己的需求是:编写完文档后,一键执行上传操作。

  • 本次同步命令如下:

最新的推送命令见下文。

::添加自己要执行的任务
echo  Push winodws hexo static data to ecs...
rsync.exe -avPzruh --delete --port 8730 --password-file=/cygdrive/D/password.txt /cygdrive/D/hexo/public root@47.97.48.237::cmi/

image-20231017125258749

注意2个密码位置
  • ecs root密码

image-20230916075442783

  • windows上存放ecs密码位置

image-20230916075512684

rsync部署参考文章

https://blog.csdn.net/qq_39007838/article/details/127562636

image-20230914204511865

2.部署nginx

在ecs上配置。

  • 部署
yum install nginx -y

systemctl enable nginx
systemctl start nginx
  • 配置nginx

http配置:

[root@mkdocs-server ~]# vim  /etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

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 4096;

    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;
        listen       [::]:80;
        server_name  onedayxyy.cn;
        #root         /usr/share/nginx/html;
        root         /root/rsync/public;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}

image-20231017073350585

https配置:

注意:我这里的配置为最终版,配置了https、强制跳转https登配置,大家可以参考。

配置效果如下图所示:

image-20231016102446940

完整配置如下:

[root@hexo-blog ~]# cat  /etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

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 4096;

    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;
#        listen       [::]:80;
#        server_name  onedayxyy.cn;
#        #root         /usr/share/nginx/html;
#        root         /root/rsync/public;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#        location = /404.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#        location = /50x.html {
#        }
#
#        #将所有HTTP请求通过rewrite指令重定向到HTTPS。
#       rewrite ^(.*)$ https://$host$1;
#       location / {
#               index index.html index.htm;
#       }
#
#    }

# Settings for a TLS enabled server.
#
    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  www.onedayxyy.cn;
        root         /root/rsync/public;

        ssl_certificate "cert/www.onedayxyy.cn.pem";
        ssl_certificate_key "cert/www.onedayxyy.cn.key";

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        #ssl_ciphers HIGH:!aNULL:!MD5;
        #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
        #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }


    }

  server {
    listen 80;
    #填写证书绑定的域名
    server_name www.onedayxyy.cn;
    root         /root/rsync/public;
    #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    rewrite ^(.*)$ https://$host$1;
    location / {
        index index.html index.htm;
    }
  }


}

[root@hexo-blog ~]#

修改完成后,按Esc键、输入**:wq并按Enter**键,保存修改后的配置文件并退出编辑模式。

执行以下命令,重启Nginx服务。

systemctl reload nginx

3、配置主题

1.拉取hexo仓库

  • 另外,这里之前在github上创建了一个hexo-theme-matery-gitee-public类型仓库

git@github.com:OnlyOnexl/hexo-theme-matery-gitee-public.git

专门存放公开分享给别人的本主题最新配置,别人clone次仓库后,按照这个hexo博客部署文档,立马可以部署属于自己的一个博客。

image-20231021194735113

  • 来到自己的d盘:

拉取代码:

git clone git@gitee.com:onlyonexl/hexo-theme-matery-gitee-public.git

克隆完成后,效果如下:

image-20231021194808572

  • 然后我们将其目录名称修改为hexo,效果如下:

image-20231020062632033

2.生成node_modules内容

  • 本地创建一个临时目录来初始化,然后获取node_modules内容

初始化命令:hexo init

image-20231017121531605

  • 然后将生成的node_modules拷贝到hexo根目录下:/d/hexo

image-20231020062712611

3.提前安装好几个插件

cd /d/hexo-theme-matery-gitee-public

npm install hexo-generator-search --save
npm install hexo-filter-github-emojis --save
npm install hexo-generator-feed --save

注意:这里一定要提前安装好这3个插件,不然hexo-theme-matery里配置了插件内容,pc端没安装的话,这里运行会报错的!

4.测试主题

安装好本主题后,运行hexo s命令进行测试

image-20231017125619417

image-20231020062845245

image-20231020062859579

此刻,我们的hexo网站已经完全部署成功了。

接下来,我们完善下关于hexo的推送工作流,达到的目的就是:

执行xyy命令,就可以将最新笔记数据推送到自己ecs服务器;

执行pp命令,就可以将hexo博客配置数据推送到自己hexo-theme-matery-gitee-public公开库;

开始搞起。

4、创建属于自己的hexo主题私有库

🚩 问题来了:不是博客md文档核心数据都使用坚果云同步了吗,为什么要创建这个私有库呢?

因为jhexo博客根目录下,不仅有source目录存放md等核心数据,还有hexo其他配置数据呢。

你的另一个pc想搭建一个本地hexo环境,我们直接就拉取这个私有仓库就行,或者有数据配置变更的话,直接使用git pull/push来同步数据就行。公有仓库那个只是hexo完整案例的,多外开放。

这边后面会通过pp命令将当前自己/d/hexo最新hexo博客配置数据同步到自己的公开库,方便小伙伴们拉取使用,获得第一手新鲜主题。

上面我们已经创建好/d/hexo目录了,就是我们博客数据目录。

  • 此时,我们去github创建一个私有仓库,命名为hg-hexo-blog-gitee-private

image-20231021193721414

  • 然后将/d/hexo目录数据推送到自己的私有hexo库

注意:.gitignore文件里要把source等目录写进去。

$ cat .gitignore 
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
source/

推送数据:

cd /d/hexo
echo "# hg-hexo-blog-gitee-private" > README.md
git init
git add -A
git commit -m "first commit"
git branch -M main
git remote add origin git@gitee.com:onlyonexl/hg-hexo-blog-gitee-private.git
git push -u origin main

image-20231021194033377

  • 验证

image-20231023142146279

推送成功。

5、创建属于自己的hexo主题公开库(可选)

image-20231021194824713

为什么要创建属于自己的hexo主题公开库呢?

因为每个人的博客定制化需求不同,因此会对自己的博客进行持续的优化,那么就可以把自己的一些博客配置给开源出来,供大家使用。

我们开始操作了。

  • 来到自己的/d/目录下

再次克隆刚才的公开库:

拉取代码:

git clone git@gitee.com:onlyonexl/hexo-theme-matery-gitee-public.git

克隆完成后,效果如下:

image-20231023142319804

和前面的步骤一样:

生成node_modules`内容

本地创建一个临时目录来初始化,然后获取node_modules内容。(直接使用前面生成好的内容就行)

初始化命令:hexo init

image-20231017121531605

然后将生成的node_modules拷贝到刚才创建的博客目录下:/d/hexo-theme-matery-gitee-public

image-20231023142333582

  • 此时,我们可以看到当前目录下有一个.git目录,这个目录就是自己的公开库hexo-theme-matery-gitee-public信息了

你要是想自己创建属于你的公开库,那就把这个.git目录删掉,然后在github上创建一个自己的公开库,再把本地目录的内容给推送上去就行了。

cd /d/hexo-theme-matery-gitee-public
git init
git add -A
git commit -m "first commit"
git branch -M main
git remote add origin git@gitee.com:onlyonexl/hexo-theme-matery-gitee-public.git
git push -u origin main

我这里就使用这个自己的公开库做演示了。

image-20231023142416221

6、开启百度网盘同步空间

这个步骤很简单。

百度网盘同步空间会自动同步source目录数据

我们编辑更新source目录里的md文档后,都会通过坚果云在2台pc之间同步。且source目录被写在了.gitignore里了,因此推送数据并不会推送到仓库。

image-20231023125632391

image-20231023125650951

image-20231023125703012

这样做的好处就是,我/d/hexo博客配置数据可以通过github进行数据同步(/d/hexo/source放在.gitignore文件里),而/d/hexo/BaiduSyncdisk/source里的md文档核心数据就可以通过百度网盘同步空间的同步功能来进行数据同步。

这样可以放置因后期md的图片所使用数据量太大,导致无法正常推拉数据。

这种方式简直是完美。

7、配置本地vscode环境

前面通过代码克隆,我们已经将最新脚本克隆盗本地了,如下:
image-20231023142501620

  • 现在要做的就是,在自己windows pc的vscode配置下环境变量
$ vim /etc/profile

#推送静态数据到ecs
alias xyy="""
sh /d/hexo/resource/shell/v3-推送-发布脚本-2023.10.19/xyy.sh
"""

#推送hexo配置数据到公开仓库
alias pp="""
sh /d/hexo/resource/shell/v3-推送-发布脚本-2023.10.19/pp.sh
"""

image-20231020063526513

配置完后记得使其生效:

source /etc/profile

OK,本地环境配置好了。

8、一键命令测试效果

1.推送静态数据到ecs

  • 执行xyy命令:

image-20231021195732659

image-20231021195748356

  • 来到自己网站验证

image-20231021200002049

2.同步hexo根数据到私有库 & 推送hexo配置数据到公开仓库

  • 一条push命令完成同步hexo根数据到私有库 & 推送hexo配置数据到公开仓库操作。

image-20231021200024671

image-20231021200101112

  • 到gitee验证

image-20231021200118121

image-20231021200126957

  • 同样,在另一台pc上,也是相同的操作,就可以完成数据快速同步。

至此,已完全结束。

感谢阅读。

汇总数据

  • hexo博客源目录

image-20231023142652378

image-20231023142636784

  • 推送到hexo公开库的辅助目录

image-20231023142708349

image-20231023142749279

  • 一键推送脚本

image-20231023142818903

  • vscode配置环境

image-20231021200251825

image-20231021200302038

  • 百度网盘同步目录

image-20231023125632391

image-20231023125650951

image-20231023125703012

image-20231023143052332

  • hexo公开库

image-20231021194824713

  • hexo私有库

image-20231021200342649

  • 使用工具汇总

image-20231023143150889

hexo数据维护原则

本地md命名方式

更新于:2023年10月21日

【文章大类】【分类】【分类】时间-文章名称

例如:
【other】【博客】【hexo】2023.10.20-实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v2-(坚果云版)(超详细)(持续更新).md

---
title: 实战:打造一个开箱即用的超丝滑超漂亮hexo博客网站-v2-(坚果云版)(超详细)(持续更新)
date: 2023-10-20
categories: 
- other #【文章大类】
tags:
- 博客 #【小分类】
- hexo #【小小分类】
top: true
summary: 好美的hexo博客,超级丝滑
---

#文章大类:[linux,k8s,运维开发,黑客,前端,精神世界]

image-20231021172020793

此方案优缺点

1.优点

2.缺点

👎 数据太过分散,而不是像编辑一本书籍一样那样条理清晰

🚩 gpt问答

2023年10月22日

有没有什么部署在linux上,想编辑&阅读一本书籍一样的体验,且可以公开给大家阅读。这种开源方案有吗?

是的,有一个开源方案可以让你在Linux上编辑和阅读书籍,同时还能与其他人分享阅读体验,那就是GitBook。

GitBook 是一个基于 Git 和 Markdown 的文档编辑和发布工具,它可以让你创建漂亮的书籍并将其公开共享。通过GitBook,你可以在Linux上编写和编辑书籍的内容,使用Markdown语法进行格式化。同时,GitBook还提供了一个简洁、易于阅读的网页界面,让你的书籍内容以网页形式呈现给读者。

你可以使用GitBook的命令行工具来编辑和管理书籍,也可以使用Git进行版本控制。一旦你完成了编辑,你可以将书籍直接发布到GitBook网站上,以供大家阅读。你也可以选择将书籍导出为静态网页,然后通过其他方式进行发布。

总而言之,GitBook是一个功能强大的开源方案,适用于在Linux上创建、编辑和分享书籍,并提供了类似于阅读一本书籍的体验。

👎 务必要注意typora路径设置不变,否则容易导致数据丢失

image-20231023142558720

image-20231021195203503

image-20231021195101289

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

http://onedayxyy.cn/

image-20231016061438175

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230912072007284

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎

https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

image-20231016062113861

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

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

相关文章

C语言每日一题(17)老人的数目

力扣 2678 老人的数目 给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息,信息用长度为 15 的字符串表示,表示方式如下: 前十个字符是乘客的手机号码。接下来的一个字符是乘客的性别。接下来两个字符是乘客的…

测开不得不会的python之re模块正则表达式匹配

学习目录 正则表达式介绍 正则表达式的常用符号 python的re模块 findall()函数 finditer()函数 match()函数 search()函数 split()函数 正则表达式的介绍 Python 通过标准库中的 re 模块来支持正则表达式。 正则表达式作为高级的文本模式匹配、抽取、和搜索。简单地说…

Python OpenCV将n×n的小图拼接成m×m的大图

Python OpenCV将nn的小图拼接成mm的大图 前言前提条件相关介绍实验环境n \times n的小图拼接成m \times m的大图代码实现 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小…

独立企业签名和共享企业签名的区别

最近两天,小编注意到行业内的一则消息,市面上有好几本企业签名证书又被封了。毋庸置疑,这些肯定是共享的证书。理由很简单,市面上的用来做共享证书的企业签名,基本上都是不会限制应用类型以及签名的数量。据鲲分发平台…

计算机考研自命题(6)

1、C语言–奇数求和 1、使用函数求奇数和:输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数 odd(n) 判断数的奇偶 性,当 n 为偶数时返回 0 ,否则返回 1 。试编写相应程序。 /* 解…

yolov7改进优化之蒸馏(二)

续yolov7改进优化之蒸馏(一)-CSDN博客 上一篇已经基本写出来yolov7/v5蒸馏的整个过程,不过要真的训起来我们还需要进行一些修改。 Model修改 蒸馏需要对teacher和student网络的特征层进行loss计算,因此我们forward时要能够返回需…

Lua入门使用与基础语法

文章目录 目的基础说明开发环境基础语法注释数据类型变量流程控制函数 总结 目的 Lua是一种非常小巧的脚本语言,基于C构建并且完全开源,可以方便的嵌入到各种项目中,当然也可以单独使用。Lua经常被用在很多非脚本语言的项目中,用…

组件通信$refs | $parent |$root

父组件传值子组件用Props 子组件传值父组件用$emit 父组件直接还可以直接取子组件的值用$refs 父组件直接从子子组件中获取值$refs 不建议使用会增加组件之间的耦合度,一般用于第三方插件的封装 ref如果绑定在dom节点上,拿到的就是原生dom节点。 ref如…

【智能家居】

面向Apple developer学习:AirPlay | Apple Developer Documentation Airplay AirPlay允许人们将媒体内容从iOS、ipad、macOS和tvOS设备无线传输到支持AirPlay的Apple TV、HomePod以及电视和扬声器上。 网页链接的最佳实践 首选系统提供的媒体播放器。内置的媒体播…

VRPTW(MATLAB):蜘蛛蜂优化算法SWO求解带时间窗的车辆路径问题VRPTW(提供参考文献及MATLAB代码)

一、VRPTW简介 带时间窗的车辆路径问题(Vehicle Routing Problem with Time Windows, VRPTW)是车辆路径问题(VRP)的一种拓展类型。VRPTW一般指具有容量约束的车辆在客户指定的时间内提供配送或取货服务,在物流领域应用广泛,具有重要的实际意义。VRPTW常…

IPD集成产品开发TR技术评审详解

IPD(Integrated Product Development)集成产品开发是一种跨部门协同的、利用先进技术和管理方法来快速推出新产品并满足客户需求的开发模式。华为利用IPD也非常出名。在IPD集成产品开发的过程中,TR(Technical Review)技…

【力扣刷题】只出现一次的数字、多数元素、环形链表 II、两数相加

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 刷题篇 一、只出现一次的数字1.1 题目描述1…

1024程序员节特辑 | 深度解析C/C++内存管理(建议收藏!!)

1024程序员节特辑 | 深度解析C/C内存管理(建议收藏!!) 一、C/C内存分布1.1 相关例题 二、 C语言中动态内存管理方式:malloc/calloc/realloc/free2.1 相关面试题 三、C内存管理方式3.1 new/delete操作内置类型3.2 new和…

通过字符设备驱动的分步实现编写LED驱动,另外实现特备文件和设备的绑定

头文件.h文件 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; } gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X5000700…

程序员网上接单盛行,到底该怎样选择一个好用不坑的接单平台?

现在,选择在网上接单的程序员是越来越多了,与此同时,网上接单的平台也是越来越多了,五花八门的平台,哪个最靠谱?哪个资源丰富一些? 这些问题是不是也让你犹豫了呢?不用担心&#xf…

红队打靶:Misdirection打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现与端口扫描 第二步:Web渗透(80端口,战术放弃) 第三步:Web渗透(8080端口) 第四步:sudo bash提权 第五步:/etc/passwd利…

Qt程序的发布和打包,任何电脑都可以安装

## 1. Qt程序的发布 当Qt程序编写完成通过IDE编译就可以得到对应的可执行程序,这个可执行程序在本地运行是完全没有问题的(因为在本地有Qt环境,程序运行过程中可以加载到相关的动态库),但是如果我们想把这个Qt程序给到其他小伙伴使用可能就会出问题了,原因如下: 对方电…

Leetcode刷题详解——二分查找

1. 题目链接:704. 二分查找 2. 题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1…

【线程本地变量ThreadLocal】—— 每天一点小知识

💧 线程本地变量 T h r e a d L o c a l \color{#FF1493}{线程本地变量ThreadLocal} 线程本地变量ThreadLocal💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳…

ES挂载不上怎么处理?

全文搜索 EelasticSearch安装 Docker安装 docker run -d --name es7 -e ES_JAVA_POTS"-Xms256m -Xmx256m" -e "discovery.typesingle-node" -v /home/206/es7/data/:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0 …