域名已变更 请手动修改文章中域名指向carlzeng.com

Hello-hexo

一次完整的Hexo写作流程

https://fuguigui.github.io/hexo2/

总结来说,最常用的套路就是

  1. hexo g; hexo s本地预览,再更改(文章内容自动实时状态),直到满意为止

  2. hexo d; 或者hexo g; hexo d远程部署。

新建一遍随笔文章

hexo n 0模版 xxx

hexo 如何写多个tag

类似与数组,必须使用逗号, 隔开各个tag
比如:[AI,人脸识别,人脸对比,机器人脸比对,批量人脸比对]

第二种方法是:

  • 如何使用hexo
  • hexo

关于github如何重新运行deployment:发布文章至github.io

打开链接:https://github.com/chuanzhuo/blog/actions/runs/6364108418/job/17311236272
Re-run jobs

历史记录和查看当前workflow运行的情况:https://github.com/chuanzhuo/blog/actions

如何插入代码段?

前后单独段落的三个撇:```

$ sudo -i

插入本地图片

这里主要参考这篇文章赵大宝hexo-images

举例说明(设置大小和样式) { % img http://www.viemu.com/vi-vim-cheat-sheet.gif 200 400 vi-vim-cheat-sheet % }
这个功能太赞了,我终于可以链接我的Evernote存储的Skitch应用(发布的链接)来方便地展示图片了!

第二种支持的图片语法(比较通用)

<img src= https:// >

让hexo的首页只显示文章的部分内容而不是全部
在文章的 front-matter 中添加 description,并提供文章摘录
如何加入到模版中,每次hexo new ""的时候,自动有这个标签?

使用表格

首页 配置页
	| 标题1 | 标题2 | 标题3 |
	| ------ | ------ | ------ |
	| 文本好短 | 文本不短也不长 | 文本好长文本好长文本好长 |
	| 文本好长文本好长文本好长 | 文本好短 | 文本不短也不长 |

官方中文文档

https://hexo.io/zh-cn/docs/writing.html

大方向(大体)思路

https://cloud.tencent.com/developer/article/1546392

步骤参考

使用hexo在GitHub上搭建个人博客
https://developer.aliyun.com/article/940387

存储位置:

https://github.com/chuanzhuo/blog

Hexo Markdown 简明语法手册

怎么安装新的hexo插件,步骤如下:

比如:https://github.com/next-theme/hexo-generator-searchdb

  1. Installation
    • $ npm install hexo-generator-searchdb
  2. Detail Configuration

hexo next 不生成tag页面解决方案

https://blog.csdn.net/yinjiangQAQ/article/details/103951416

hexo 阅读排行榜

感觉不好弄,而且需要依赖另外一个计数系统 https://www.jianshu.com/p/27b971d84f76

hexo 自动生成url, 文章URL设置

一直没有安装那个自定义文章URL的插件,主要是考虑到个人喜好:尽量避免安装过多插件(仅留下长期使用的)

  1. 今日切换到懒人模式, 使用hash值
    这个方案虽然无法自定义文章url,但是hash值是根据文件名和日期自动生成的,只要我不修改文章标题(同文件名)
    url值就会永久保留。
    虽然无法做到SEO友好的url,但我不能给我自己增加开启一遍新的随笔的动力,不给自己添堵。
  2. 最终切换为对人类更友好的日期模式。

参考:
hexo文章url设置
Hexo永久链接(Permalinks)生成方式比较

Note:宝塔 部署 Hexo,没有意义。hexo 写博客流程

github.io
还是选择使用hexo.io的构架,能长久!文档,本地编辑,git。
不依赖vps或服务器。
.md文件的编辑罢了
放弃方案:使用宝塔面板快速搭建Typecho个人博客(图文教程)

hexo这种模式的优点

hexo

hexo文末 添加本文的url

解决慢慢迁移到新blog的长远目标

20231024 文末添加当前文章链接和版权声明
hexo-addlink 文末添加当前文章链接和版权声明 https://github.com/acwong00/hexo-addlink
原来这个插件已经6-7年前的了,无效了。直接使用NexT中的设置即可解决
文章链接和版权声明需求。

creative_commons:
  # Available values: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | cc-zero
  license: by-nc-sa
  # Available values: big | small
  size: small
  sidebar: true
  post: true

可是生成的本文链接地址不正确(不是https://chuanzhuo.github.io/blog/)

文末添加当前文章日期信息

编辑NexT中的post-followme.njk
文件目录:》themes〉next》layout〉_partials 》 post
添加如下到div中(从#33行以下是添加的),为方便你直接使用,贴出修改后的.njk全文:

<div class="followme">
  <span>{{ __('follow_me.welcome') }}</span>

  <div class="social-list">
    {%- for name, value in theme.follow_me %}
      {%- set link = value.split('||')[0] | trim %}
      {%- set icon = value.split('||')[1] | trim if value.split('||')[1] else '' %}

      <div class="social-item">
        {%- if link.endsWith('.png') or link.endsWith('.jpg') %}
          <span class="social-link">
            <span class="icon">
              <i class="{{ icon }}"></i>
            </span>

            <span class="label">{{ name }}</span>
          </span>

          <img class="social-item-img" src="{{ url_for(link) }}">
        {%- else %}
          <a target="_blank" class="social-link" href="{{ url_for(link) }}">
            <span class="icon">
              <i class="{{ icon }}"></i>
            </span>

            <span class="label">{{ name }}</span>
          </a>
        {%- endif %}
      </div>
    {%- endfor %}
  </div>

  {%- set date_diff = date(post.date) != date(post.updated) %}
    {%- set time_diff = time(post.date) != time(post.updated) %}
    {%- if theme.post_meta.created_at %}
      <span>
        <span class="post-meta-item-icon">
          <i class="far fa-calendar"></i>
        </span>
        <span class="post-meta-item-text">{{ __('post.posted') }}</span>

        {%- if not date_diff and time_diff and theme.post_meta.updated_at.enable and theme.post_meta.updated_at.another_day %}
          {%- set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) + ' / ' + __('post.modified') + __('symbol.colon') + time(post.updated) %}
        {% else %}
          {%- set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) %}
        {%- endif %}

        <time title="{{ create_title }}" itemprop="dateCreated datePublished" datetime="{{ moment(post.date).format() }}">{{ date(post.date) }}</time>
      </span>
    {%- endif %}
    {%- if theme.post_meta.updated_at.enable and (not theme.post_meta.updated_at.another_day or date_diff or not theme.post_meta.created_at) %}
      <span class="post-meta-item">
        <span class="post-meta-item-icon">
          <i class="far fa-calendar-check"></i>
        </span>
        <span class="post-meta-item-text">{{ __('post.edited') }}</span>
        <time title="{{ __('post.modified') + __('symbol.colon') + full_date(post.updated) }}" itemprop="dateModified" datetime="{{ moment(post.updated).format() }}">{{ date(post.updated) }}</time>
      </span>
    {%- endif %}
</div>

关于404页面

需要在html头添加一个自动跳转的功能
(由于所有文章生成的链接有变动,导致404页面变得重要了)
编辑位置 /source/404/index.md


<script>
    document.location = 'https://chuanzhuo.github.io/blog/'
</script>

hexo使用Artalk评论系统

https://www.iots.vip/post/hexo-artalk-comment.html

痛点:目前我不知道我的那些文章是最近被关注的?
https://statcounter.com/p12934590/visitor/

blog的文章浏览的监控/统计,
即便是一个简单的列表,今日或昨日,有多少人浏览了那些html页面,排行榜
这样我就可以针对这些文章进行,更新,改进,迭代。

可否直接使用http的服务?避免使用域名的门槛问题
不可以

Artalk 的IP归属地检测,仍然失效,如何解决?(不知道如何调试)
已下载并配置:./data/ip2region.xdb
移动4G网络仍然无法访问https://@.carlzeng.top:@
具体步骤和笔记详见:(《Hexo定制之家宽部署artalk评论系统》)[https://www.carlzeng.top/202310261222.html]
外网正常后,IP归属地检测自动就正常了

3年或6-7年以前的hexo插件就不要考虑了

比如:https://github.com/huiwang/hexo-recommended-posts
实践了半天,也可能是服务器早就挂了
https://www.npmjs.com/package/hexo-recommended-posts?activeTab=explore
严重质疑这个npm,保留一堆过时的包。

添加最近的文章 How to add recent posts to Next theme(v8.x.x)

https://egbert-yu-ting.github.io/posts/68394953/
调整半天的css, 在sidebar.njk中;务必是在_data文件夹下。
In the /blog/source/ path, establish _data/sidebar.njk file under source/ directory, and add contents into sidebar.njk as below:

    <!-- recent posts -->
    {%- if theme.recent_posts %}
      <div class="sidebar-inner sidebar-overview-active animated fadeInUp">
            <div class="links-of-blogroll-title recent-posts-title">
          <i class="fa fa-history {{ theme.recent_posts_icon | lower }}" aria-hidden="true"></i>
                {{ theme.recent_posts_title }}
        </div>
        <ul class="links-of-blogroll-list recent-posts-list">
            {%- set posts = site.posts.sort('-date').toArray() %}
            {%- for post in posts.slice('0', '5') %}
                <li class="popular-posts-item">
                  <a href="{{ url_for(post.path) }}" title="{{ post.title }}" target="">
                  {{ post.title }}
                  </a>
                </li>
            {%- endfor %}
        </ul>
      </div>
    {%- endif %}

解决每次hexo clean后都要手动添加wechat_channel.png到public目录

由于hexo clean会删除public文件夹,需要把固定住的突破保存到》themes〉next》source〉image

新版hexo 的next 怎么把分页的数量调多点?

打开 ./themes/next/layout/_partials/pagination.njk 文件,
找不到 mid_size 字段,指向next_paginator函数。
打开 ./themes/next/script/helpers/next-paginator.js 文件
仅修改mid_size字段内容,修改完效果如下:

  let paginator = this.paginator({
    prev_text: '<i class="fa fa-angle-left"></i>',
    next_text: '<i class="fa fa-angle-right"></i>',
    mid_size : 5,
    escape   : false
  });

Next

Best

posted @ 2023-10-29 20:24  CarlZeng  阅读(24)  评论(0编辑  收藏  举报
域名已变更 请手动修改文章中域名指向carlzeng.com