Hexo DIY 有感

开启,新世界的旅程 ~

前景

愿景:自己的 blog ,很是希望阅读舒服的地方

需求:

  1. 设计简单,方便阅读
  2. hexo-theme 上似乎都没达到自己起期待
  3. 懒设计,观察到 贾老大的博客 开启魔改

知识前景

  • 大概熟悉 EJS
  • 大概熟悉 yml
  • 大概熟悉 styl

相关文档

主题基本结构

theme 的文件结构,观察其他主题也差不多是这样,可自行新建

/theme
  |-- layout/                     // 布局
  |     |-- _partial/             // 局部文件
  |     |      |-- footer.ejs
  |     |      |-- head.ejs
  |     |      |-- header.ejs
  |     |-- index.ejs             // 主界面
  |     |-- layout.ejs            // 布局相关
  |     |-- links.ejs             // 友情链接
  |     |-- post.ejs              // post 相关
  |-- source/                     // 资源文件
  |     |-- css/
  |     |-- fonts/
  |     |-- images/
  |-- _config.yml
  |-- .gitgnore
  |-- LICENSE
  |-- package.json
  |-- README.md

遇到问题

  1. hexo 版本问题,辅助函数方法有改变

paginatorV3.xV4.x 的区别 会导致 hexo server 启动不成功

paginator({
  prev_text: '
', next_text: '
', escape:false // V4 新增, 默认 true ,不渲染 html 标记 })
  1. 大佬也忙,layout 上存在 fixed 问题

修改 /theme/layout/layout.ejs 路径下

<!-- 修改前面 -->
<body class='fixed'>

<!-- 修改后 -->
<body>

PS:该问题在 文章数量大于或等于 8 的时候,不会出现,仅有在小于或等于 6 的时候会出现

  1. post 界面上导航,当页面标题过多,会有显示问题

暂时没太多的想法,没修改

仅帮助修改成了可在 _config.yml 配置 left | right

  1. 启动时候会产生 theme.menu 丢失问题

原因:大佬把 menu 配置写在全局 config 上了

解决:现将配置后退只 主题 _config.yml

  1. favicon 无配置项目

已经新增入主题配置内 _config.yml,相关页面也写好配置

<!-- theme/layout/_partial/head.esj -->
<% if (theme.favicon.small) { %>
<link rel="icon" type="image/png" sizes="16x16" href="<%- url_for(theme.favicon.small) %> " />
<% } %>
<% if(theme.favicon.medium) { %>
<link rel="icon" type="image/png" sizes="32x32" href="<%- url_for(theme.favicon.small) %> " />
<% } %>
<% if (theme.favicon.apple_touch_icon) { %>
<link rel="apple-touch-icon" sizes="180x180" href="<%- url_for(theme.favicon.apple_touch_icon) %>">
<% } %>
  1. 友链页面无法展示

原因,友链为使用 hexo 新建页面,友情链接内容为资源页面内容

解决:

  • 新建 _data/links.yml
  • 新建 links/index (可使用 hexo new page --path about/me "About me")

_data/links.yml

XXX:
  link: https://xx.com/     # 地址
  avatar: https://xxx.jpg   # 头像

links/index

---
layout: links
title: links
date: 2018-05-06 08:08:12
tags:
---

总结

  • 了解了一点 ejs
  • 了解了一点 hexo
  • 了解了一点 yml

个人感觉 hexo 功能在写的方面还算满足个人需求了,主题与阅读上还存在很多问题,但并不是每个需求问题都能有官方的解决方案,其他人的解决方案也并不一定能完全满足,自己花时间为自己所喜爱的事情学习一下了

大佬也是普通人,有生活与工作,第一次提了 PR 有点害羞

感谢 @贾顺名 指导并不嫌弃小弟叨扰

感谢阅读