Hexo编译文档时把JS给写乱了,请问怎么解决?

我在Hexo/source/的下面放了个js,每次hexo g完,public里面相应的js文件都给我写乱掉了。
例如我文件最后几行是这样的:

$as.bind("touchstart",function(event){
        var $v=$(this).find(".underline");
        var $nv=$as.find(".underline").not($v);
        $v.css("width","100%");
        setTimeout(function(){$v.width(0);},1000);
    });
}

hexo g完,public下面的变成了这样:

$as.bind("touchstart",function(event){
        var $v=$(this).find(".underline");
        var $nv=$as.find(".underline").not($v);
        $v.css("width","100%");
        setTimeout(function(){$v.width(0);},1000);
    });
}</$hrs.length;i++){>

最后给我加了一截上面出现过的代码(多了对尖括号)。。。
还有试过在for(var i=0;i<=xxx.lenght;i++)给我从<开始(记得不太清楚,也可能是别的地方),以下的代码全部没有了。
jquery.js也被修改了。
貌似出错都跟<有关,请问大家知道到底什么鬼问题吗,现在我只能每次hexo g完都把js重新覆盖到hexo/public。或者js另外上传到七牛,无论哪个方法都麻烦死。


搞定了。原因就是hexo会把hexo/source下的文件全部渲染。

在主目录下添加README.md文件或者html文件
Hexo3.0以下使用
正如大家所知道的,在source文件夹下的所有md文件都会被hexo渲染成html文件,导致>README.md文件不能好好的放在里面了,即使是添加了layout: false依然没有用。

不过现在有一个另外的好办法,那就是利用主题的source目录,也就是themes/themes->name/source。因为这个文件夹里面的所有文件都会被复制到网站的根目录中去,也就是说,如>果在里面放上README,就可以正常的存在于网站的主目录了。

同样的,对于一些需要在网站下添加html文件的需求也可以这样来达成。比如百度或者谷歌在验>证站长权限的时候,通常都会要求在主目录下添加一个html文件。同样的,只要把这个文件放在>themes/themes-name/source就可以搞定了。

Hexo3.0以上支持

使用_config.yml下的skip_render参数。

skip_render使用了minimatch,开始匹配的位置是基于你的source_dir的,一般来说,是你>的source文件夹下。下面我分别列举几种常见的情况进行说明:

请注意yml中的文件格式,输入单个数据请注意空格,输入数组请进行缩进

单个文件夹下全部文件:skip_render: test/*
单个文件夹下指定类型文件:skip_render: test/*.md
单个文件夹下全部文件以及子目录:skip_render: test/**
多个文件夹以及各种复杂情况:

skip_render:

  • test1/*.html

  • test2/**

摘自这里

阅读 1.9k
评论
    1 个回答

    你在blog里面用了git没有?之前我也出现过,然后使用git回退回去了