9.3 KiB
title: FAQ date: 2020-02-01 thumbnail: /gallery/thumbnails/vector_landscape_3.svg toc: true
The article presents some of the frequently asked questions about Icarus and their solutions. Please also read through the Icarus User Guide, Hexo documentation and Icarus GitHub Issues if you cannot find the answer to your question here.
Site
Icarus requires Node.js of version 8.3.0 and above, Hexo of version 4.2.0 and above, and some other
package dependencies listed in the peerDependencies
section of the
themes/icarus/package.json
file.
Please make sure you meet all the dependency requirements.
Also, it is possible that dependencies of the previous theme you used could interfere with Icarus.
Please remove them before you switch to Icarus.
Edit your site's _config.yml
under the root directory, change the following setting:
{% codeblock _config.yml lang:diff %}
- language: en
- language: <language_name> {% endcodeblock %}
You can find available translations under the themes/icarus/languages
directory.
The file name without file extension is the language name used in _config.yml
.
Layout
To change the width of the page, you need to edit the style file located at themes/icarus/include/style/responsive.styl
.
This file defines the container width under different screen sizes.
If you also want to change the column width of the widgets or the main content, please go to themes/icarus/layout/common/widgets.jsx
and themes/icarus/layout/layout.jsx
.
Find the CSS class names like is-12
, is-8-tablet
, and is-4-widescreen
.
Change the number in these class names to the one you want.
You can refer to the Bulma documentation for more details on the
column system.
Please make sure the number of widget columns and the main content column add up to 12 under the same screen size.
For example, if you change the width of the widget column to is-3-widescreen
and you only have one widget column,
you need to make sure your main content column has a is-9-widescreen
.
You can create a one-column layout by removing all widgets from your theme configurations.
To use a two-column layout, please move all your widgets to the same side of the page by setting their position
to left
or right
.
The three-column layout can be achieved by placing widgets on both sides of the page.
To change the layout in certain posts or pages, please refer to the Icarus User Guide - Configuring the Theme.
The layout files for comment plugins, donate buttons, site search, share buttons, widgets, and some other plugins
have been moved to a separate Node.js package called hexo-component-inferno
.
In doing this, the theme developers can better reuse common components across different themes and allow users to
override these built-in components easily.
To customize these components, you may copy the layout files from the hexo-component-inferno
repository and place
them in the corresponding directories under the Icarus layout directory.
For example, if you want to customize the Valine comment plugin, you can copy
src/view/comment/valine.jsx
from the hexo-component-inferno
repository and place it in the themes/icarus/layout/comment
directory.
Then, fix some of the Node.js imports in the head of the file.
{% codeblock themes/icarus/layout/comment/valine.jsx lang:diff %}
- const { cacheComponent } = require('../../util/cache');
- const { cacheComponent } = require('hexo-component-inferno/lib/util/cache'); {% endcodeblock %}
After that, hexo clean
your site and regenerate the HTML files.
Similarly, you can override static files by copying them from the hexo-component-inferno
repository and place them
to the corresponding directory under themes/icarus/source
.
hexo s
)/when I hexo generate
?
The layout files are cached when you start a local Hexo server with hexo server
.
Other times some intermediate data is cached in the db.json
or memory.
Please use hexo clean
before hexo server
or hexo generate
.
Content
Please make sure you use the absolute paths of your images.
For example, if you put your images under source/gallery/
, and your site is in a
subdirectory of your domain name like https://ppoffice.github.io/hexo-theme-icarus
,
you should include your image like this: /hexo-theme-icarus/gallery/<file_name>.<file_extension>
.
You can also use the Hexo {% img %}
tag to omit the subdirectory part of your image path:
{% img /gallery/<file_name>.<file_extension> ... %}
.
Please refer to the Hexo documentation for more details.
Add <!-- more -->
tag in your post.
Post content before this tag will be marked as an excerpt and content after this tag will not show on the index page.
You may also add custom excerpt by specifying it in the post's front-matter.
{% codeblock some-post.md lang:yaml %} title: Some Post date: 2020-01-01 excerpt: This is an article about ...
Post content...
{% endcodeblock %}
Please use third-party Hexo plugins like hexo-blog-encrypt.
You can use raw HTML in your Markdown posts. Please refer to the Bulma documentation for more details on available elements and styles.
Widgets and Plugins
If you don't want to enable some plugins/widgets, you can simply delete them or comment them out in the configurations. For example, if you don't want to enable any comment plugin, just delete these lines:
{% codeblock themes/icarus/_config.yml lang:diff %}
- comment:
-
type: disqus
-
shortname:
-
comment:
-
type: disqus
-
shortname:
{% endcodeblock %}