Link Search Menu Expand Document

部分页面相关数据调用方式

该文章发布时间

<%= date(post.date, 'MM-DD') %>

文章路径 含域名

<%= post.permalink %>

文章路径 不含域名,完整相对路径

<%= url_for(post.path) %>

文章路径 不含域名,只提取文章路径

<%= post.path %>

归档相对年链接

<%= url_for("/archives/" + year + "/") %>

文章标题

<%= post.title %>

没有填写标题时默认显示

<%= post.title || 'Untitled' %>
<%= post.content
    .replace(/<[^>]*>/ig, ' ')
    .substr(0, 50) %>
<% if(post.categories.data[0]){ %>
    <a class="category-link" href="<%= url_for(post.categories.data[0].path) %>"><i class="fa fa-folder-open"></i> <%= post.categories.data[0].name %></a>
<% } else { %>
    <i class="fa fa-folder-open"></i> <%= 'Uncategorized' %>
<% } %>
<%= post.tags.length %> 

获取最新60篇内容

<%
var posts = page.posts.data;
var recentPosts = page.posts.data.slice(0, 60);
%>
<% recentPosts.forEach(function(post){ %>
<li>
    <a href="<%= url_for(post.path) %>"><%= post.title %></a>
</li>
<% }) %>

静态资源增加时间后缀

  <%- css(['css/style.css' + '?v=' + date(Date.now(), 'YYYYMMDDHms')]) %>

pinwu 转移内容

安装

先安装环境相关软件

安装hexo

npm install -g hexo-cli

打补丁修复BUG

npm audit fix

mac xos 无法安装解决方法

加上sudo执行,按回车,输入机器密码即可(如果还是不行多试试,可能还是会报错,我是已经创建好从windows拷贝过来,试了试能执行hexo g之类的命令)。

sudo npm install -g hexo-cli

摘自:npm install 总是报错(Mac OS环境下)

如果还是不行,先检查下node、git是否正常安装,查看版本 node -v git --v

安装好后,打开要存放hexo文件的目录,在空白处按住Shift单击右键,选择【在此处打开命令窗口】 然后执行一下命令 <folder>为你要存放hexo的文件夹,可以事先建立

$ hexo init <folder>
$ cd <folder>
$ npm install

创建好后可以在_config.yml文件中设置博客的相关信息。

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

$ hexo new "My New Post"

More info: Writing

Run server

$ hexo server

More info: Server

Generate static files

$ hexo generate

More info: Generating

Deploy to remote sites

$ hexo deploy

More info: Deployment

发布

参数说明
layout布局post、page、draft
title标题 
date建立日期文件建立日期
updated更新日期文件更新日期
comments开启文章的评论功能true
tags标签(不适用于分页) 
categories分类(不适用于分页) 
permalink覆盖文章网址 

多个标签

tags:
- PS3
- Games

子分类

不可设置多分类

categories:
- Diary
- Life

网站根目录

網站存放在子目錄
如果您的網站存放在子目錄中,例如 http://example.org/blog,請將您的 url 設為 http://example.org/blog 並把 root 設為 /blog/。

文章链接

變數  描述
:year   文章的發表年份(4 位數)
:month  文章的發表月份(2 位數)
:i_month    文章的發表月份(去掉開頭的零)
:day    文章的發表日期 (2 位數)
:i_day  文章的發表日期(去掉開頭的零)
:title  檔案名稱
:id 文章 ID
:category   分類。如果文章沒有分類,則是 default_category 設定。

演示多个分类
设置
categories:
- foo
- bar
效果
:category/:title    foo/bar/hello-world

文件不被模版渲染

source下的md和html文件不被模版渲染生成

---
layout: false
---

整个目录不被渲染 修改根目录_config.yml文件中skip_render。(假设projects为source目录下的文件夹)

skip_render: projects/**

插件

安装或移除插件

# hexo安装xxx插件
npm install xxx –save
# hexo卸载xxx插件
npm uninstall xxx

推荐插件

  • hexo-deployer-git 介于用gitlab和coding直接部署十分方便,所以这个插件不再推荐

主题

文章

发布时间

<%= date(post.date, 'YYYY-MM-DD H:m') %>

更新时间

<%= date(post.updated, 'YYYY-MM-DD H:m') %>

调取自定义字段

<% if (post.siteurl){ %>
有<%= post.siteurl %>显示siteurl值
<% } else { %>
没有就显示其他这个
<% } %>

判断

<% if (post.indexfocus){ %>
文章配置indexfocus为true显示
<% } %>

页面判断

<% if (is_post()){ %>
<a class="<%= class_name %>" href="<%- url_for(post.path) %>" id="logo"><%= post.title %></a>文章、独立页面显示这里
<% } else { %>
<a href="<%- url_for() %>" id="logo"><%= config.title %></a>
其他页面显示这里
<% } %>

hexo 升级教程

https://cco.xyz/post/upgrade-hexo/

相关教程

升级hexo

检查版本npm outdated,如果没有输出内容表示当前为最新版

指定版本,修改package.json文件中dependencies部分对应版本号 执行更新npm install --save

查看当前版本hexo version

升级npm

更新 npm 版本npm install npm@latest -g 如果报错请使用root模式sudo -i

hexo 及 npm 管理

查看插件列表npm list

卸载指定插件npm uninstall hexo-qiniu-sync@1.4.7

删除文件夹rm -rf

列出网站资料hexo list

显示草稿hexo --draft

hexo 搜索

主题修改

常用模板函数

<%- url_for() %>网站地址 <%= config.title %>网站名称 有副标题显示副标题

<% if (theme.subtitle){ %>
    <%= theme.subtitle %>
<% } %>

有rss就显示rss链接

<% if (theme.rss){ %>
          <a id="nav-rss-link" class="nav-icon" href="<%- url_for(theme.rss) %>" title="<%= __('rss_feed') %>"></a>
        <% } %>

列表函数配置方法举例 show_count使用模板函数,class使用输入值,相关配置值https://hexo.io/zh-cn/docs/helpers.html

<%- list_categories({show_count: theme.show_count, class: 'clearfix'}) %>

不同页面分别显示对应标题或者文字内容 配置

  <%
  var pagetitle = page.title;

  if (is_archive()){
    pagetitle = __('archive_a');

    if (is_month()){
      pagetitle += ': ' + page.year + '年' + page.month + '月发布的文章';
    } else if (is_year()){
      pagetitle += ': ' + page.year + '年发布的文章';
    }
  } else if (is_category()){
    pagetitle = page.category;
  } else if (is_tag()){
    pagetitle = page.tag;
  } else if (is_home()){
    pagetitle = config.subtitle;
  }
  %>

使用<h2><%= pagetitle %></h2>

输出分类列表

        <% if (site.categories.length){ %>
        <% site.categories.sort('name').each(function(item){ %>
            <a class="main-nav-link nav-<%=item.slug%>" href="<%= url_for(item.path) %>">
                <strong class='name'><%= item.name %></strong>
                <span class='badget'><%= item.posts.length %></span>
            </a>
        <% }); %>
        <% } %>

不在首页显示

  <% if (!index){ %>
    这个不在首页显示
  <% } %>

开启代码高亮

http://jamling.github.io/2016/07/18/Web/Hexo-dev-highlight/

coding 新建免费静态网站链接

  • https://**.coding.net/p//cd/website/static/create/
    • ** 团队 name
    • ** 项目 name