wujun234 / hexo-theme-tree

MIT License
207 stars 62 forks source link

有没有可能在hexo根目录下的`_config.yml`进行主题的配置? #69

Closed seekstar closed 8 months ago

seekstar commented 8 months ago

现在主题的配置似乎是要用themes/tree/_config.yml来配置,这样的话用户还需要维护一个自己的分支,并且merge的时候如果master里的themes/tree/_config.yml更改了注释之类的也会导致conflict,很不方便。有没有可能实现在主题的repo外面进行主题的配置?比如直接在hexo根目录下的_config.yml进行主题的配置?这样就不用维护自己的分支以及merge了。

wujun234 commented 8 months ago

好主意,为了兼容性,还可以先读取hexo配置,再读取theme配置

awaae001 commented 8 months ago

也不是不可以

seekstar commented 8 months ago

好像有问题,我把theme/tree里的config复制到外面的_config.yml之后hexo s -g,发现全都变成默认的了,外面的_config.yml里的设置没有起作用

wujun234 commented 8 months ago

好像有问题,我把theme/tree里的config复制到外面的_config.yml之后hexo s -g,发现全都变成默认的了,外面的_config.yml里的设置没有起作用

主题里的配置会覆盖 hexo 的配置,更新之后,主题里就没有默认值了。

如果你把之前的复制出去,记得把主题里的配置删一下哈

seekstar commented 8 months ago

说错了,是move到外面。主题里的已经删了

wujun234 commented 8 months ago

说错了,是move到外面。主题里的已经删了

不应该啊,你有 clean 试试吗?因为我没有改代码(因为 hexo 的 theme 是继承自网站配置的),只是删掉了主题里的默认配置项,贴到了 readme 里。

https://hexo.io/zh-cn/docs/variables.html

awaae001 commented 8 months ago

啊?

seekstar commented 8 months ago

hexo clean然后hexo s -g了,还是那样

wujun234 commented 8 months ago

具体是什么默认值啊,如果更新之后,应该没有默认值了,而且我的页面用了新的版本发布过,看起来是正确运行的

seekstar commented 8 months ago

就是没有评论,没有github链接,没有about/tags/categories,就连favicon都变成你的了/笑哭

seekstar commented 8 months ago

能把你的网站的hexo repo给我看看吗?说不定是我哪里写错了

seekstar commented 8 months ago

把配置放进_config.tree.yml就正常了。 参考了next主题的配置:https://theme-next.js.org/docs/getting-started/configuration

wujun234 commented 8 months ago

能把你的网站的hexo repo给我看看吗?说不定是我哪里写错了

我的就是把之前的粘贴在 hexo 的配置里了,想不通,难道会有版本原因吗...

_config.tree.yml 这种形式我也没见过,应该是 hexo 支持的某种配置读取方式吧

favicon 你看代码是 theme.favicon 有值才会设置的,但是我们又没有默认值,还是怀疑是哪一步 cache 了

seekstar commented 8 months ago

我的就是把之前的粘贴在 hexo 的配置里了,想不通,难道会有版本原因吗...

不知道。我用的hexo 6.3.0。可能这个hexo版本不能直接从repo根目录的_config.yml里继承吧。其实我觉得从_config.主题.yml里读取比从repo根目录的_config.yml里继承好,至少各个配置的key的名字不容易发生冲突。

favicon 你看代码是 theme.favicon 有值才会设置的,但是我们又没有默认值,还是怀疑是哪一步 cache 了

这个有可能是cache。但是像没有评论、没有github链接这种不太可能是cache导致的,而且我把配置放到_config.tree.yml里这些问题就消失了,说明就是因为在我的开发环境里不支持直接从_config.yml里继承。

wujun234 commented 8 months ago

_config.tree.yml

不懂了,我是 hexo-cli: 4.3.1, _config.tree.yml 这种我补充在 readme 里吧