找到
4
篇与
Hexo
相关的结果
-
为你的Typecho博客添加一个访问统计 前引 在之前的静态Hexo 中借助的是第三方的统计平台,现在转到动态博客下,有了自己的数据库就没有必要再使用第三方的统计;于是就有了typecho访问统计插件TeohVist github地址: {% link github,TeohVisit,https://github.com/mstzf/TeohVisit.git %} 插件实现的功能非常简单,就只是记录了访问数据,和在需要的界面提供数据 安装 将代码克隆到typecho插件目录,在管理后台找到 TeohVisit 之间开启使用即可 git clone https://github.com/mstzf/TeohVisit.git使用 具体使用需要修改主题源码,或者自定义独立界面模板 插件提供了两种读取数据的方法 getStat:返回所需要的单个值,具体值为:today,yesterday,month,total getAllStats:返回全部数据 示例: if (TeohVisit_Plugin::isPluginEnabled()) { $stats = TeohVisit_Plugin::getAllStats(); $data = [ 'today_unique_visitors' => $stats['today']['unique_visitors'], 'today_views' => $stats['today']['views'], 'yesterday_unique_visitors' => $stats['yesterday']['unique_visitors'], 'yesterday_views' => $stats['yesterday']['views'], 'month_total_views' => $stats['month']['total_views'], 'total_total_views' => $stats['total']['total_views'] ]; }
-
TeoTag:在typecho中使用和butterfly一样的外挂标签 {% label 声明: red %} 绝大部分的样式都是hexo butterfly的原生样式,本人只是将功能在typecho中做了相应的移植。 {% link Butterfly,Butterfly,https://butterfly.js.org/ %} 我只是站在了巨人的肩膀上 为什么会有TeoTag 在此之前,博客使用了Hexo框架和Butterfly主题,文章内有很多样式都使用了Butterfly主题的写作语法;这两天将博客迁移到了typecho下,导致文章的很多非MarkDown格式内容都没法和原来一样正常显示,重新修改起来也比较麻烦,就想着把之前在Butterfly下的格式全部般过来,便有了TeoTag这个插件。 {% link TeoTag,github,https://github.com/mstzf/TeoTags %} 现有功能 Note Tabs label timeline link hideToggle 语法和渲染结果 和Butterfly一样的用法 Butterfly Note {% note simple %} 默认 提示块标签 {% endnote %} {% note default simple %} default 提示块标签 {% endnote %} {% note primary simple %} primary 提示块标签 {% endnote %} {% note success simple %} success 提示块标签 {% endnote %} {% note info simple %} info 提示块标签 {% endnote %} {% note warning simple %} warning 提示块标签 {% endnote %} {% note danger simple %} danger 提示块标签 {% endnote %} {% note simple %} 默认 提示块标签 {% endnote %} {% note default simple %} default 提示块标签 {% endnote %} {% note primary simple %} primary 提示块标签 {% endnote %} {% note success simple %} success 提示块标签 {% endnote %} {% note info simple %} info 提示块标签 {% endnote %} {% note warning simple %} warning 提示块标签 {% endnote %} {% note danger simple %} danger 提示块标签 {% endnote %} Tabs {% tabs test1 %} <!-- tab --> **This is Tab 1.** <!-- endtab --> <!-- tab --> **This is Tab 2.** <!-- endtab --> <!-- tab --> **This is Tab 3.** <!-- endtab --> {% endtabs %}{% tabs test1 %} This is Tab 1. This is Tab 2. This is Tab 3. {% endtabs %} {% tabs test2, 3 %} <!-- tab --> **This is Tab 1.** <!-- endtab --> <!-- tab --> **This is Tab 2.** <!-- endtab --> <!-- tab --> **This is Tab 3.** <!-- endtab --> {% endtabs %}{% tabs test2, 3 %} This is Tab 1. This is Tab 2. This is Tab 3. {% endtabs %} {% tabs test3, -1 %} <!-- tab --> **This is Tab 1.** <!-- endtab --> <!-- tab --> **This is Tab 2.** <!-- endtab --> <!-- tab --> **This is Tab 3.** <!-- endtab --> {% endtabs %}{% tabs test3, -1 %} This is Tab 1. This is Tab 2. This is Tab 3. {% endtabs %} {% tabs test4 %} <!-- tab 第一个Tab --> **tab名字为第一个Tab** <!-- endtab --> <!-- tab @fab fa-apple-pay --> **只有图标 没有Tab名字** <!-- endtab --> <!-- tab 炸弹@fas fa-bomb --> **名字+icon** <!-- endtab --> {% endtabs %}{% tabs test4 %} tab名字为第一个Tab 只有图标 没有Tab名字 名字+icon {% endtabs %} label 臣亮言:{% label 先帝 %}创业未半,而{% label 中道崩殂 blue %}。今天下三分,{% label 益州疲敝 pink %},此诚{% label 危急存亡之秋 red %}也!然侍衞之臣,不懈于内;{% label 忠志之士 purple %},忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气;不宜妄自菲薄,引喻失义,以塞忠谏之路也。 宫中、府中,俱为一体;陟罚臧否,不宜异同。若有{% label 作奸 orange %}、{% label 犯科 green %},及为忠善者,宜付有司,论其刑赏,以昭陛下平明之治;不宜偏私,使内外异法也。臣亮言:{% label 先帝 %}创业未半,而{% label 中道崩殂 blue %}。今天下三分,{% label 益州疲敝 pink %},此诚{% label 危急存亡之秋 red %}也!然侍衞之臣,不懈于内;{% label 忠志之士 purple %},忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气;不宜妄自菲薄,引喻失义,以塞忠谏之路也。 宫中、府中,俱为一体;陟罚臧否,不宜异同。若有{% label 作奸 orange %}、{% label 犯科 green %},及为忠善者,宜付有司,论其刑赏,以昭陛下平明之治;不宜偏私,使内外异法也。 timeline {% timeline 2022 %} <!-- timeline 01-02 --> 这是测试页面 <!-- endtimeline --> {% endtimeline %}{% timeline 2022 %} 这是测试页面 {% endtimeline %} {% timeline 2022,pink %} <!-- timeline 01-02 --> 这是测试页面 <!-- endtimeline --> {% endtimeline %}{% timeline 2022,pink %} 这是测试页面 {% endtimeline %} 颜色可取: blue pink red purple orange green link 这部分使用的是 (张洪Heo - 分享设计与科技生活 (zhheo.com)) 的样式 {% link 获取网站的Favicon图标并显示在你的网页上,owen0o0,https://github.com/owen0o0/getFavicon %}{% link 获取网站的Favicon图标并显示在你的网页上,owen0o0,https://github.com/owen0o0/getFavicon %} {% link TeohZY,TeohZY,https://blog.teohzy.com %}{% link TeohZY,TeohZY,https://blog.teohzy.com %} hideToggle {% hideToggle 标题 %} 内容1 内容2 内容3 {% endhideToggle %}{% hideToggle 标题 %} 内容1 内容2 内容3 {% endhideToggle %}
-
利用GitHub Action自动集成部署Hexo博客到服务器 前引 Hexo生成的静态博客有着安全、快速等特点,但是同时也存在一些比较明显的痛点 由于没有后台,出现错误时移动端修改不方便 本地文件丢失,很难找回原本博客配置文件 没有Nodejs环境不能部署 而这些问题都能通过Github Action得到比较好的解决 Hexo本地博客创建 {% note info simple %} 已经有的可以跳过 {% endnote %} 第一次使用的话本地Hexo环境是肯定要有的,如果本地博客都没有的话后续步骤也没有意义了 网上已经有比较成熟的教程,此处不做具体描述, {% link 从0开始用Hexo框架搭建个人博客(无坑版),清菡,https://zhuanlan.zhihu.com/p/305812430 %} {% link Hexo+阿里云,手把手教你如何搭建属于自己的个人博客(超详细),到站了还不下车,https://zhuanlan.zhihu.com/p/126243913 %} GitHub仓库创建 在创建时最好选择私有,避免重要内容泄露 image-20220811233905181图片 新建工作流文件 在博客更目录下新建.github/workflows/deploy.yml文件,deploy.yml文件的文件名可以随意起,只要是yml文件就行 将配置内容复制到新建文件中 # 当有改动推送到master分支时,启动Action name: Hexo博客自动部署 on: push: branches: - master release: types: - published jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: master - name: 安装 Node uses: actions/setup-node@v1 with: node-version: "12.x" - name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g env: CI: true - name: 缓存 Hexo uses: actions/cache@v1 id: cache with: path: node_modules key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}} - name: 安装依赖 if: steps.cache.outputs.cache-hit != 'true' run: | npm install --save env: CI: true - name: 生成静态文件 run: | hexo clean hexo generate env: CI: true - name: 部署 uses: burnett01/rsync-deployments@@5.2.1 with: switches: -avzh path: public/ remote_path: /var/hexo/ remote_host: mstzf.cn remote_port: 22 remote_user: root remote_key: ${{ secrets.SERVER_KEY }} 文本中流程执行结果是将静态文件部署到个人服务器中去 其中,最后部署部分脚本通过 ssh 上的 rsync 将文件部署到远程文件夹中 switches:rsync 标志,例如:-avzr --delete path:要上传文件地址,当前hexo g之后静态文件在public/中 remote_path:博客在服务器中的路径 remote_host:主机地址 remote_port:ssh连接端口号 remote_user:要连接的用户 remote_key:服务器生成的密钥 服务器获取ssh连接密钥 登录服务器终端,输入命令ssh-keygen 出现的提示内容一路回车,最终会在~/.ssh生成公钥和私钥id_rsa.pub、id_rsa 将公钥id_rsa.pub复制到authorized_keys cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys复制一份私钥的内容 新建secrets 登录GitHub,选择要上传博客源文件的仓库->setting下 image-20220812001540652图片 name:SERVER_KEY Value:刚刚复制的私钥 name可以随意但要和流程文件中secrets调用的名字一致 image-20220812001911234图片 检查.gitignore文件 .DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/文件中内容表示上传要忽略的文件,如果文件不存在或者内容有缺少,要及时补充 否则会上传大量无用文件,在添加和提交时都会浪费大量时间 提交博客源代码到github 将博客根目录下和主题文件下存在的.git文件删除或者移动到其非博客文件夹下 将本地博客目录初始化文git仓库 git init #初始化 git remote add origin <github仓库ssh代码> git checkout -b master # 切换到master分支,本地git仓库搭建成功后将源代码提交到GitHub仓库 git add . git commit -m "first commit" git push origin masterGitHub Action会自动执行工作流程,如果一切顺利没有差错的话,博客会自动部署到我们的服务器上去 image-20220812003735619图片
-
Hexo搜索引擎优化(SEO) 前引 我们费尽心血写出来的各种博客,当然是希望分享给更多的人,让更多的人看到的,但是如果只是在自己的小圈子里面去分享的话,很难有好的浏览量,所以就需要我们去优化搜索,让浏览器收录我们的网址,这样在有人在浏览器搜索对应关键字的时候就有可能将我们的文章推荐给他。 道理虽然是这样,但我自己的浏览数据也一直少得可怜 -190f176b0e175c2a" style="zoom:25%;" /> 搜索平台收添加搜索平台 站长管理平台地址 必应站长管理平台 谷歌站长管理平台 百度站长管理平台 登录到搜索平台的站长管理页面,将自己的域名添加后,还需要进行验证,有三种方式,截图以必应的为例 文件验证 下载对应平台的验证文件后,将其保存到网站的根目录,hexo博客框架的话推荐保存到source/目录下,这样每次生成静态页面后都会在public文件下存在,当然也可以直接在public/下添加,但是在运行hexo clean之后被删除。 其他博客框架添加方法也大同小异,只要确定网站根目录然后添加即可。 最终达到的效果就是:能够通过https://你的域名/下载文件名直接访问到文件内容即可 HTML标签验证 将获取到的Meta粘贴在HTML文件的 <head> </head> 部分中 以下为必应下的Meta样式: <meta name="msvalidate.01" content="9565AFED5E9E8A24241BB5E6223CCB04" /> 我用的是hexo的butterfly主题,添加方法作者大大已经弄好,直接将获取到的值添加就行 Butterfly 安裝文檔(四) 主題配置-2 | Butterfly