2017-01-25 3 views
0

생성시 사이트의 텍스트 문자열을 교체해야합니다.Hexo 생성시 대체 할 내용을 만드는 방법은 무엇입니까?

파일 myGenerateWork.js가 작성되고 노드 myGenerateWork.js와 함께 실행되지만 작동하지 않습니다.

이것은 myGenerateWork.js

var Hexo = require('hexo'); 

var hexo = new Hexo(process.cwd(), {}); 

hexo.init().then(function() { 

    hexo.extend.filter.register('after_post_render', function(data){ 
     data.content = data.content.replace(/@(\d+)/, '<a href="http://twitter.com/$1">#$1</a>'); 
     return data; 
    }); 

    hexo.call('generate', {}).then(function(){ 
     return hexo.exit(); 
    }).catch(function(err){ 
     return hexo.exit(err); 
    }); 
}); 

답변

0

그것은 버그입니다.

"hexo server"가 실행 중이고 "generate"를 실행하면 "after_post_render"필터가 실행되고 내용 바꾸기가 올바르게 작동하지만 새 데이터가있는 data.content가 hexo에 의해 무시됩니다.

솔루션 : 생성하기 전에 "헥스 클린"을 실행하십시오.