2017-01-25 4 views
0

Ich muss Textzeichenfolgen vor Ort beim Generieren ersetzen.Hexo, wie Inhalte beim Generieren ersetzt werden?

Erstellt eine Datei myGenerateWork.js und ausgeführt mit Knoten myGenerateWork.js aber funktioniert nicht.

Dies ist 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); 
    }); 
}); 

Antwort

0

Es ist ein Fehler.

Wenn "hexo server" ausgeführt wird und Sie "generate" ausführen, wird der "after_post_render" -Filter ausgeführt und der Inhalt ersetzt korrekt, aber der data.content mit neuen Daten wird von hexo ignoriert.

Lösung: Bevor Sie ein Generieren ausführen, führen Sie eine "Hexo-Reinigung" durch.

Verwandte Themen