作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在玩 hexo,我正在测试适用于小循环的 nunjuck 语法。但是我找不到如何include a file ,我的文件位置可能有误(目前在 /source/_posts
中的 .md
旁边)。
节点版本(node -v
):
node --version; npm --version
v8.9.1
5.5.1
_config.yml
(可选):# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: Hexo
subtitle:
description:
author: John Doe
language:
timezone:
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
auto_detect: false
tab_replace:
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ''
per_page: 10
order_by: -date
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type:
</details>
npm ls --depth 0
):"hexo": "^3.2.0",
"hexo-generator-archive": "^0.1.4",
"hexo-generator-category": "^0.1.3",
"hexo-generator-index": "^0.2.0",
"hexo-generator-tag": "^0.2.0",
"hexo-renderer-ejs": "^0.3.0",
"hexo-renderer-stylus": "^0.3.1",
"hexo-renderer-marked": "^0.3.0",
"hexo-server": "^0.2.0"
tree ./
./
├── include
│ └── colors.html
└── _posts
└── button6.md
npm install --save --only=prod hexo-include
在 button6.md 我添加了
{% include "include/colors.html" %}
Unhandled rejection Template render error: (unknown path)
Error: template not found: include/colors.html
我在 _hexo-demo/source/posts/button6.md 中有这篇文章
---
title: button6
myitems:
- one
- two
---
{% for item in myitems %}
<li> {{ item }}</li>
{% endfor %}
<hr>
{% include "colors.html" %}
我应该把我的 colors.html
文件放在哪里才能解析
最佳答案
我遇到了同样的问题。hexo-include 似乎与 numjack 冲突。我在下面更改了 lib/index.js
hexo.extend.tag.register('include_alt', include, {asyn: true});
但是还是不行。这可能是因为渲染时间。所以我在下面更改了 lib/index.js
var fs = require('hexo-fs');
var nunjucks = require('nunjucks');
var pathFn = require('path');
// hexo.extend.tag.register('include_alt', include, { asyn: true });
hexo.extend.tag.register('include_alt', function (args) {
var path = pathFn.join(hexo.source_dir, args[0]);
return new Promise(function(resolve, reject) {
nunjucks.render(path, function(err, res) {
if (err) {
return reject(err);
}
resolve(res);
});
});
}, {async: true});
然后我用它作为
{% include_alt 'some.html' %}
而且有效。
关于nunjucks - 如何在帖子中使用nunjuck `include`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419747/
我是一名优秀的程序员,十分优秀!