7.9 KiB
title: 常见问题 date: 2016-01-03 language: zh-CN toc: true providers: cdn: loli fontcdn: loli iconcdn: loli
本文展示了一些经常被提及的Icarus使用问题以及这些问题的解答。 如果此处没有出现你想要求解的问题是,也请阅读Icarus用户指南,Hexo中文文档, 以及Icarus GitHub Issues。
站点
Icarus依赖8.3.0或更新版本的Node.js,4.2.0或更新版本的Hexo,以及其他一些在themes/icarus/package.json
文件的peerDependencies
部分列出的依赖包。
请确保你的站点正确安装了所有依赖。
例外,你之前使用的主题残留下来的依赖有可能会干扰Icarus的正常运行。
请在更换到Icarus主题之前移除它们。
编辑你站点根目录下的_config.yml
文件,修改如下设置:
{% codeblock _config.yml lang:diff %}
- language: en
- language: <language_name> {% endcodeblock %}
你可以在themes/icarus/languages
目录下找到所有可用的翻译。
_config.yml
的语言名即为这些文件不带后缀的文件名。
布局
如要改变页面的宽度,你需要编辑themes/icarus/include/style/responsive.styl
这个样式文件。
这个文件定义了不同屏幕尺寸下的页面容器宽度。
如果你同时想改变主内容栏或挂件栏的宽度,请编辑themes/icarus/layout/common/widgets.jsx
和themes/icarus/layout/layout.jsx
。
在文件中找到is-12
,is-8-tablet
,和is-4-widescreen
这样的CSS类名并把它们修改成你想要的数值。
你可以参考Bulma文档来获取更多关于布局系统的细节。
请确保主内容栏和挂件栏的CSS类名称中的数字在相同屏幕尺寸下相加等于12。
例如,如果你想把挂件栏的宽度修改为is-3-widescreen
并且你只有一个挂件栏,那么你需要保证你的主内容栏有一个is-9-widescreen
。
你可以通过从主题配置中移除所有挂件来实现单栏布局。
如果要使用双栏布局,请将所有挂件的position
设置为left
或right
,从而将它们放置按照页面的同一侧。
三栏布局可以通过在页面两侧同时放置挂件来实现。
若要更改特定的文章或页面的布局,请参考Icarus用户指南 - 主题配置。
评论插件,捐赠按钮,站内搜索,分享按钮,挂件,以及其他一些插件的布局文件已移至一个单独的Node.js库——hexo-component-inferno
。
这样,主题开发者可以更好地在不同主题之间复用这些通用组件,并且允许用户更简便地覆盖这些内置组件。
若要自定义这些组件,你可以从hexo-component-inferno
仓库中拷贝布局文件并把它们放入Icarus布局目录下的的相应目录中。
例如,如果你想要自定义Valine评论插件,你可以从hexo-component-inferno
仓库中拷贝src/view/comment/valine.jsx
到themes/icarus/layout/comment
目录中。
然后,修正此文件头部的一些Node.js引用
{% codeblock themes/icarus/layout/comment/valine.jsx lang:diff %}
- const { cacheComponent } = require('../../util/cache');
- const { cacheComponent } = require('hexo-component-inferno/lib/util/cache'); {% endcodeblock %}
之后,用hexo clean
清理你的站点并重新生成HTML文件。
类似的,你可以复制hexo-component-inferno
仓库中的文件并放入themes/icarus/source
下的对应目录中来覆盖
主题内置的静态文件。
hexo server
的情况下)/当我hexo generate
时
为什么这些修改没有生效?
当你用hexo server
开启本地Hexo服务器时,这些布局文件会被缓存。
其他情况下临时生成的数据会被缓存在db.json
或者内存中。
请在hexo server
或hexo generate
之前使用hexo clean
。
内容
请确保你使用了图片的绝对路径。
例如,如果你的图片放在了source/gallery/
目录下,并且你的站点位于你域名的子目录下,如https://ppoffice.github.io/hexo-theme-icarus
,
那么你应该用/hexo-theme-icarus/gallery/<文件名>.<文件扩展名>
来引用你的图片。
你也可以使用{% img %}
这个Hexo标签来省去路径中的网站子目录:{% img /gallery/<file_name>.<file_extension> ... %}
。
请参考Hexo中文文档来了解详情。
在你的文章中添加<!-- more -->
标签。
标签前面的文章内容会被标记为摘要,而其后的内容不会显示在文章列表上。
你也可以在文章的front-matter中设置自定义摘要。
{% codeblock some-post.md lang:yaml %} title: 一篇文章 date: 2020-01-01 excerpt: 这是一篇关于...
文章内容...
{% endcodeblock %}
请使用第三方的Hexo插件,比如hexo-blog-encrypt。
你可以在你的Markdown文件中使用HTML。 请参考Bulma文档来了解更多的可选元素和样式。
挂件与插件
如果你不想开启某些插件/挂件,你可以把它们从配置中删掉或注释掉。 例如,如果你不想开启任何的评论插件,注释掉这几行:
{% codeblock themes/icarus/_config.yml lang:diff %}
- comment:
-
type: disqus
-
shortname:
-
comment:
-
type: disqus
-
shortname:
{% endcodeblock %}