Open HolmesZ opened 6 years ago
duplicated with #4
更像是 stylus 版本不对导致的,请检查 article-padding 是否定义,stylus 是否支持乘 -1 操作。这个文件是来自默认主题landscape,如果 landscape 也 build 不了就不是主题代码问题。
landscape主题可以正常生成,但是切换回原生chan主题后就会出现上述错误。 ---如果把负号去掉,则会提示
---如果只保留‘ margin: 0 article-padding ’,则会提示
我的stylus版本是 0.54.5 nodejs版本是10.4.1 npm版本是6.1.0
那可能是找不到这些参数的定义,请检查下 variables.styl 文件
我的 variables.styl 文件有这些参数的定义。
谢谢提醒,我已经找到解决问题的办法,可能是 hexo 在解析 styl 文件时的顺序问题。
灵感: 1、landscape主题 hexo g 后只生成一个 style.css 文件,但 chan 主题 hexo g 后却生成了很多个css文件,真正引用的只有 main.css 一个文件。 2、用stylus单独编译 main.styl 文件可以成功。 3、在 hightlight.styl 头引入 variables.styl, 再单独编译 hightlight.styl 可以成功。
可能的问题: chan主题里面 hightlight.styl, main.styl, variables.styl三个文件都在同一个目录下,我认为 hexo 的stylus可能是先解析 highlight.styl 文件再解析 variables.styl ,导致 hightlight.styl 文件找不到定义。
解决的办法: 1、在 hightlight.styl 里直接加上缺少的定义。 2、模仿landscape主题,将除了 main.styl 文件外的 styl 文件放进一个文件夹,我命名为 “_partial” ,保留lib文件夹的位置不变,修改 main.styl 里面相关的路径为 “_partial/xxxxxx” 。
另外的问题: 有些浏览器如QQ浏览器加载网页的时候,页面中的字体先是蓝色再变成预先设定的颜色。
Thanks. 我抽空修复下
今天修改了部分源码,最后运行‘hexo clean’,再运行‘hexo g’时,出现了这些错误。于是我将未修改的源代码重新放进去,再运行‘hexo clean’,‘hexo g'时,仍然出现这些错误。求解。