IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Hexo+Next指定文章隐藏侧栏

    i@demochen.com (DemoChen)发表于 2018-06-04 23:20:34
    love 0

    坑里呆了3小时

    缘由

    近期在幕布的活动比较多,想新增一个幕布的作品集页面,所以就依葫芦画瓢,新建一个幕布作品集的页面。

    hexo new page "mubu"
    

    中间省略其余相关步骤。

    提交至线上发现右边我设置的隐藏栏就自动弹出来了,好奇的是为什么分类、标签等不自动弹出来呢?

    第一步

    各种Google找资料,next主题的官网等都没找到解决办法,最好慢慢在妥协,要不全部都不显示了?

    作为一个追求相对完美的人,肯定不愿意放弃!

    第二步

    找原因。

    为什么不行呢?为什么会显示呢?查看next主题的配置文件。其中 display: post,这句话的意思只有文章才自动显示。所以我的幕布作品集被当作了文章处理。

    sidebar:
      # Sidebar Position, available value: left | right (only for Pisces | Gemini).
      #position: left
      position: right
    
      # Sidebar Display, available value (only for Muse | Mist):
      #  - post    expand on posts automatically. Default.
      #  - always  expand for all pages automatically
      #  - hide    expand only when click on the sidebar toggle icon.
      #  - remove  Totally remove sidebar including sidebar toggle.
      display: post
      #display: always
      #display: hide
      #display: remove
    
      # Sidebar offset from top menubar in pixels (only for Pisces | Gemini).
      offset: 12
    
      # Back to top in sidebar (only for Pisces | Gemini).
      b2t: false
    
      # Scroll percent label in b2t button.
      scrollpercent: true
    
      # Enable sidebar on narrow view (only for Muse | Mist).
      onmobile: false
    

    继续探寻,最后在issues/943找到了解决办法的初步思路。

    第三步

    根据issues-943找到了my-project/themes/next/layout/_marcro/sidebar.swig中找到下一列信息。

     {% set display_toc = is_post and theme.toc.enable or is_page and theme.toc.enable %}
    

    将其修改为:

    {% set display_toc = is_post and theme.toc.enable and !page.no_toc or is_page and theme.toc.enable and !page.no_toc %}
    

    然后只需要在你不想显示目录的文章头部加一行:no_toc: true即可。



沪ICP备19023445号-2号
友情链接