folded %}
+ function getColumnSizeClass(columnCount) {
+ switch (columnCount) {
+ case 2:
+- return 'is-4-tablet is-4-desktop is-4-widescreen';
++ return 'is-4-tablet is-4-desktop is-3-widescreen';
+ case 3:
+ return 'is-4-tablet is-4-desktop is-3-widescreen';
+{% endcodeblock %}
+
+You can refer to [Bulma documentation](https://bulma.io/documentation/columns/sizes/) for more details on the
column system.
-Please make sure the number in the class names 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.
+Here are some tips for creating a one/two/three-column layout:
-To change the layout in certain posts or pages, please refer to the
-[Icarus User Guide - Configuring the Theme](/hexo-theme-icarus/Configuration/icarus-user-guide-configuring-the-theme/#Additional-Configuration-Files-and-Priority).
+- You can remove all widgets from your theme configurations to create a one-column layout.
+- You can move all your widgets to the same side of the page to create a two-column layout.
+- You can place widgets on both sides of the page to create a three-column layout.
+
+To change the layout for a single or all posts/pages, refer to
+[Configuration Files and Priority](/hexo-theme-icarus/Configuration/icarus-user-guide-configuring-the-theme/#Configuration-Files-and-Priority).
@@ -84,56 +117,65 @@ Where are the layout files for widgets/comments/share...? How do I customize bui
-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`](https://github.com/ppoffice/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.
+The layout files for plugins and widgets have been moved to a separate Node.js package called
+[`hexo-component-inferno`](https://github.com/ppoffice/hexo-component-inferno).
+This help theme developers better reuse common components across different themes and make overriding these
+components easy for average users.
-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.
+To customize these components, copy the layout files from the `hexo-component-inferno` repository and place
+them in the corresponding directories under `themes/icarus/layout`.
For example, if you want to customize the Valine comment plugin, you can copy
[`src/view/comment/valine.jsx`](https://github.com/ppoffice/hexo-component-inferno/blob/0.2.4/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.
+from the `hexo-component-inferno` repository to `themes/icarus/layout/comment/valine.jsx`.
+Also, remember to fix Node.js imports like the following:
{% 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.
+Finally, `hexo clean` your site before regenerating the HTML.
-Similarly, you can override built-in static files by copying them from the `hexo-component-inferno` repository and
-place them to the corresponding directory under `themes/icarus/source`.
+Similarly, you can override static files like
+[`asset/js/insight.js`](https://github.com/ppoffice/hexo-component-inferno/blob/0.2.4/asset/js/insight.js)
+in the same way.
-I changed something in the layout files.
-But why didn't the changes take effect when I refresh the page (when using hexo server
)/when I hexo generate
?
+Why don't my layout changes take effect when I refresh the page (assuming I am running the
+hexo server
?
-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`.
+Icarus caches the layout files when you start the local Hexo server with the `hexo server` command.
+To make the layout changes take effect, restart the local server.
+
+Other times some intermediate data may be cached by Hexo in the memory or `db.json` database.
+Execute `hexo clean` before running `hexo server` or `hexo generate` should resolve this issue.
## Content
-My logo/images are not showing up./My images only shows in index pages but not posts.
+My images are not showing up. / My images only show in index pages but not in 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/
.`.
+Make sure you use the absolute paths to your images.
+For example, your site is in a subdirectory of your domain name like
+`https://ppoffice.github.io/hexo-theme-icarus` and you `image.jpg` under `source/gallery/`.
+You should include your image like this: `/hexo-theme-icarus/gallery/image.jpg`.
-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](https://hexo.io/docs/tag-plugins#Image) for more details.
+You can also use Hexo's {% raw %}{% img %}{% endraw %}
tag like the following to include an
+image automatically:
+
+```
+{% img /gallery/image.jpg "Image title" %}
+```
+
+In this case, you may omit the subdirectory of your domain name.
+You can refer to [Hexo documentation](https://hexo.io/docs/tag-plugins#Image) for more details.
@@ -141,9 +183,11 @@ How to add an excerpt for a post? How to display the "Read more" button?
-Add `` 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.
+Put a `` tag in your post.
+Post content before this tag will be marked as an excerpt.
+Content after this tag will not show up on index pages.
+
+You can also specify a custom excerpt in the post's front-matter.
{% codeblock some-post.md lang:yaml %}
title: Some Post
@@ -159,31 +203,30 @@ How do I encrypt my posts?
-Please use third-party Hexo plugins like [hexo-blog-encrypt](https://github.com/MikeCoder/hexo-blog-encrypt).
+Use third-party Hexo plugins such as [hexo-blog-encrypt](https://github.com/MikeCoder/hexo-blog-encrypt).