2016-04-10 18 views
0

sıyırma Sırasında Markdown dosyalarını PDF'ye dönüştürün Verilen bir dizinden geçmesi, dosyaları indekslemesi, ön maddeyi dışarı çıkarması ve daha sonra PDF dosyalarına dönüştürmesi gereken bir javascript dosyası var.Jekyll Front-Matter

İşlemin çoğunu çalışıyorum ama bir nedenden dolayı .replace işlevim hiçbir şey yapmıyor gibi görünüyor.

var fs = require('fs'); 
var path = require('path'); 
var process = require('process'); 
var markdownpdf = require('markdown-pdf') 


var md_dir = "_pages"; 
var pdf_dir = "assets/pdf" 

// Loop through all the files in the directory 
fs.readdir(md_dir, function(err, files) { 
    if(err) { 
    console.error("Could not list the directory.", err); 
    process.exit(1); 
    } 

    files.forEach(function(file, index) { 
    // Make one pass and make the file complete 
    var md_path = path.join(md_dir, file); 
    var pdf_path = path.join(pdf_dir, file + '.pdf'); 

    fs.stat(md_path, function(error, stat) { 
     if(error) { 
     console.error("Error stating file.", error); 
     return; 
     } 

     // Start PDF Process on the files 
     if(stat.isFile()) { 
     console.log("'%s' is a file.", md_path); 
     console.log("Stripping Jekyll Front-Matter..."); 

     var fileContents = fs.readFileSync(md_path, 'utf8'); 
     var pattern = /^---\n.*\n---\n/; 

     // Strip everything between the first two sets of '---' 
     var stripped_md = fileContents.replace(pattern, ''); 
     console.log("Front-Matter stripped."); 

     // Pass that to markdown-pdf 
     markdownpdf().from.string(stripped_md).to(pdf_path, function() { 
      console.log("Created", pdf_path) 
     }); 
     } 

     // If it's not a file 
     else if(stat.isDirectory()) 
     console.log("'%s' is a directory.", md_path); 

    }); 
    }); 
}); 

cevap

1

bir regexp'in deseni:

İşte kod. char, yeni satır hariç her şeyle eşleşir.

FrontMatter'ın yeni satırları vardır, bu nedenle bu desene eklemeniz gerekir.

gibi: var pattern = /^---(.|\n)*?---\n/;

her şey ya satır aralarında --- "etiketleri"

diyor? açgözlü hale getirir

+0

Çok teşekkür ederim! Sadece desen olduğunu bilmekten mutluluk duyuyorum. – ckreon