অন্য একটি সম্পূর্ণ ভিন্ন পদ্ধতির, একটি ফিল্টার তৈরি করা হবে যা লিঙ্কগুলি প্রতিস্থাপনে প্রথমে ছুরিকাঘাত করেছে এবং তারপরে জেড দ্বিতীয়টি দিয়ে রেন্ডার করে
h1 happy days
:inline
p this can have [a link](http://going-nowhere.com/) in it
উপস্থাপন করে:
<h1>happy days</h1><p>this can have <a href='http://going-nowhere.com/'>a link</a> in it</p>
সম্পূর্ণ কার্যকারী উদাহরণ: index.js (নোডেজ দিয়ে চালানো)
var f, jade;
jade = require('jade');
jade.filters.inline = function(txt) {
// simple regex to match links, might be better as parser, but seems overkill
txt = txt.replace(/\[(.+?)\]\((.+?)\)/, "<a href='$2'>$1</a>");
return jade.compile(txt)();
};
jadestring = ""+ // p.s. I hate javascript's non-handling of multiline strings
"h1 happy days\n"+
":inline\n"+
" p this can have [a link](http://going-nowhere.com/) in it"
f = jade.compile(jadestring);
console.log(f());
আরও সাধারণ সমাধানটি জেডের মিনি সাব-ব্লকগুলিকে একটি অনন্য ব্লকে (সম্ভবত কোনওরকম কিছু দ্বারা চিহ্নিত করা ${jade goes here}
) রেন্ডার করে , তাই ...
p some paragraph text where ${a(href="wherever.htm") the link} is embedded
এটি উপরের মতো ঠিক একইভাবে প্রয়োগ করা যেতে পারে।
সাধারণ সমাধানের কার্যকারী উদাহরণ:
var f, jade;
jade = require('jade');
jade.filters.inline = function(txt) {
txt = txt.replace(/\${(.+?)}/, function(a,b){
return jade.compile(b)();
});
return jade.compile(txt)();
};
jadestring = ""+ // p.s. I hate javascript's non-handling of multiline strings
"h1 happy days\n"+
":inline\n"+
" p this can have ${a(href='http://going-nowhere.com/') a link} in it"
f = jade.compile(jadestring);
console.log(f());