hexo-theme-icarus/source/_posts/en/FAQ.md

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

My Hexo site is not generating./There are errors when generating my 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.

How do I change the language of my site?

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

How do I change the width of the page? How do I use a one/two/three-column layout in certain posts/pages?

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.

Where are the layout files for widgets/comments/share...? How do I customize built-in widgets/comments/share...?

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.

I changed something in the layout files. But why didn't the changes take effect when I refresh the page (when using 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

My logo/images are not showing up./My images only shows in index pages but not posts.

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.

How to add an excerpt for a post? How to display the "Read more" button?

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 %}

How do I encrypt my posts?

Please use third-party Hexo plugins like hexo-blog-encrypt.

How do I use fancy elements and styling in my posts just like this one?

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

My page is showing red alerts, saying that some settings are not set for a plugin/widget. How can I get rid of them?

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 %}

Something wrong with this article? Click here to submit your revision.

Vector Landscape Vectors by Vecteezy