GeekaholicLin / hexo-theme-ylion

:blush: 说不定是一个让你感到惊喜的hexo主题 :beers: :candy:
http://blog.geekaholic.cn
MIT License
120 stars 30 forks source link

請問如何自訂 404 error page? #12

Open changchichung opened 7 years ago

changchichung commented 7 years ago

因為我是從原本的WP搬到 Hexo來,現在搜尋引擎上的收錄結果都還是原本舊的連結 所以我想要放一個404 error page 導引user到首頁去作搜尋 我下了 hexo new page 404 然後修改 source/404/index.md


title: 404 Not Found:頁面無法顯示 toc: false comments: false permalink: /404

網頁內文...

現在開啟錯誤的網址時,是會導到 http://mydomain.com/404沒錯,但是內容是空白的,顯示不出我設定的內文,像底下這張圖這樣 2017-07-19_17-02-38

我翻了一下config.yml,好像沒有看到有特別針對 404作處理?請教我應該在這個主題底下去自訂404 page?

GeekaholicLin commented 7 years ago

本主题并没有将404页面单独做成一个页面,这个确实欠妥(主要是没有想到有什么创意的页面,如果你有好的创意也可以提出~)

有两种方法给Hexo中新增页面,一种是与主题相关的(内嵌到主题中,比如我博客中的demo和about页面),这时候就是你使用的hexo new page xxx的方式,不过这种方式新增的页面一般也会再修改主题的源码以及新增该页面的样式,才会达到一定的结合效果。

第二种方式是不使用主题的布局和样式,这种比较简单,直接将文件放置在source目录下,以404.html为例子,因为我网站的配置文件中是permalink_defaults: /404.html,所以我只要在source目录下放一个404.html,然后再hexo g生成即可。

目录的层级关系大致如下:

├── source
│   ├── _data
│   ├── _discarded
│   ├── _drafts
│   ├── _posts
│   ├── 404.html
│   ├── about
│   ├── CNAME
│   ├── demo
│   └── favicon.ico
└── themes
    └── ylion
changchichung commented 7 years ago

第二種方式我有測過,但就是沒辦法跟你的主題結合,感覺挺突兀的...

GeekaholicLin commented 7 years ago

这样的话只能我整合到主题中(当然你会的话更好)了,不过可能需要等到周末才有空动工。。

changchichung commented 7 years ago

呵呵,感謝你還願意持續修改啊!

GeekaholicLin commented 7 years ago

@changchichung 已添加主题的404页面,可以点击预览。

不过这定制的都是一些个人主观的喜好,如果你有好的建议可以提出来,因为最近比较忙,可能更新得比较仓促,测试不是很全面,如果发现Bug,还望反馈~

体验操作:

  1. git clone 最新的主题代码(注意备份好自己的主题配置文件)
  2. 拷贝404.md到博客站点的/source文件夹下
  3. 站点配置文件的permalink_defaults设置为permalink_defaults: /404.html
  4. 重新生成、预览并部署