美文网首页
hexo icarus 主题安装使用中遇到的问题以及解决方案

hexo icarus 主题安装使用中遇到的问题以及解决方案

作者: 龙爪槐守望者 | 来源:发表于2021-06-04 23:37 被阅读0次

    首次使用主题报错

    我在按照 icarus 指南安装启用后预览就发现整个首页报错,如下图所示:

    const { Component } = require('inferno'); const classname = require('hexo-component-inferno/lib/util/classname'); const Head = require('./common/head'); const Navbar = require('./common/navbar'); const Widgets = require('./common/widgets'); const Footer = require('./common/footer'); const Scripts = require('./common/scripts'); const Search = require('./common/search'); module.exports = class extends Component { render() { const { site, config, page, helper, body } = this.props; const language = page.lang || page.language || config.language; const columnCount = Widgets.getColumnCount(config.widgets); return ; } };
    
    

    于是搜索到了链接(https://githubmemory.com/repo/ppoffice/hexo-theme-icarus/issues/855)找到了作者提供的解决方案,可能是之前使用其他插件导致了冲突,建议我们重新在新的 hexo 启用 icaurs。

    hexo init NewBlog
    cd NewBlog
    npm install hexo-theme-icarus
    hexo config theme icarus
    hexo clean
    // 之后按照提示安装Icarus的其他依赖
    // 最后运行
    hexo serve
    
    

    但是我按照作者教程操作后依然报错。

    npm install hexo-theme-icarus
    
    

    这时候看本地的 theme 目录,发现 icarus 下根本就是空白的!这句 npm 代码根本不会在本地生成 icarus 主题文件,主题并没有下载下来,怀疑和网络防火墙有关。于是我用 git 才把主题文件下载下来。

    启用主题后首次生成插件报错

    INFO  === Checking package dependencies ===
    ERROR Package bulma-stylus is not installed.
    ERROR Package hexo-renderer-inferno is not installed.
    ERROR Package hexo-component-inferno is not installed.
    ERROR Package inferno is not installed.
    ERROR Package inferno-create-element is not installed.
    ERROR Please install the missing dependencies your Hexo site root directory:
    ERROR npm install --save bulma-stylus@0.8.0 hexo-renderer-inferno@^0.1.3 hexo-component-inferno@^0.11.0 inferno@^7.3.3 inferno-create-element@^7.3.3
    ERROR or:
    ERROR yarn add bulma-stylus@0.8.0 hexo-renderer-inferno@^0.1.3 hexo-component-inferno@^0.11.0 inferno@^7.3.3 inferno-create-element@^7.3.3
    
    

    这个提示简单,按照要求 npm 缺少的指定的插件就可以了。

    bulma-stylus‘s 版本过高

    插件安装完又提示 bulma-stylus‘s 版本过高,这个也简单,按照提示安装 0.8.0 版本的插件就可以了。

    INFO  === Checking package dependencies ===
    ERROR Package bulma-stylus's version (0.9.1) does not satisfy the required version (0.8.0).
    ERROR Please install the missing dependencies your Hexo site root directory:
    ERROR npm install --save bulma-stylus@0.8.0
    ERROR or:
    ERROR yarn add bulma-stylus@0.8.0
    
    

    经过一系列操作终于是成功启动 hexo 预览和生成了不过还是又一些警告,似乎对博客没啥影响,我就没去管了。

    INFO  === Checking package dependencies ===
    INFO  === Checking theme configurations ===
    WARN  None of the following configuration files is found:
    WARN  - /Users/dengjiangling/Documents/HexoBlog/_config.icarus.yml
    WARN  - /Users/dengjiangling/Documents/HexoBlog/themes/icarus/_config.yml
    INFO  Generating theme configuration file...
    INFO  /Users/dengjiangling/Documents/HexoBlog/_config.icarus.yml created successfully.
    INFO  To skip configuration generation, use "--icarus-dont-generate-config".
    INFO  === Registering Hexo extensions ===
    INFO  Start processing
    INFO  Hexo is running at <http://localhost:4000> . Press Ctrl+C to stop.
    (node:49753) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
    (Use `node --trace-warnings ...` to show where the warning was created)
    (node:49753) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
    (node:49753) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
    (node:49753) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
    (node:49753) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
    (node:49753) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
    
    

    在 iicarus 主题中集成 twikoo 评论系统失败了

    我按照 twikoo 官方教程来到(https://www.anzifan.com/post/icarus_to_candy_2/)按照步骤操作,结果报错

    FATAL YAMLException: bad indentation of a mapping entry (167:3)
    
    164 | # Disqus shortname
    165 | #shortname: ‘’
    166 | type: twikoo
    
    

    目前没找到解决方案。

    让目录悬停

    作者说通过 sticky: true 悬停,但是这样只能让整个侧边栏悬停,由于默认 Profile widget 在前,如果整个悬停,大概率只能看到 Profile。

    我想到了一个办法,我把 Profile widget 和目录 widget 调换位置,让目录在前,然后设置整个左侧边栏 sticky: true。因为首页没有目录,所以 Profile widget 还是第一,而文章页有目录,目录 widget 则在前。

    如果要更完美一直让目录悬停,可以参考:https://github.com/ppoffice/hexo-theme-icarus/issues/673#issuecomment-612656959 。这个办法我没事,应该要魔改代码,怕以后导致升级出问题,不乱改了。

    在 footer 显示备案号

    如下,links 除了支持 icon 链接,也可以用 <文字>:<链接> 的方式直接放文字链接。

    footer:
        # Links to be shown on the right of the footer section
        links:
            备案号:湘ICP备15019925号-1: '<http://beian.miit.gov.cn/>'
    
    

    相关文章

      网友评论

          本文标题:hexo icarus 主题安装使用中遇到的问题以及解决方案

          本文链接:https://www.haomeiwen.com/subject/tqwfeltx.html