html sayfasında görüntülenecek html koduna dönüştürmek için içerikli api'den işaretleme metnini dönüştürmenin basit bir yolu var mı? Pagedown ve benzer teknikler kullanmayı denedim, ancak hiçbiri benim için işe yaramıyor.HTML'ye kapsamlı api işaretleme dönüşümü
cevap
Ben Contentful bir müşteri başarı müdürüyüm - Sen our FAQ üzerinde dilin önerdiği ayrıştırıcıları bir listesini kontrol edebilirsiniz
.
Ayrıca tıklayarak UI aracılığıyla Intercom bize mesaj göndermek için çekinmeyin bağlantıya :) Ben bunu nasıl yaptığını
İştevar 'Bize konuşun' Tepki:
class NewsDetail extends React.Component {
render() {
const body = marked(this.props.body || "");
return (
<div className="news-detail">
<h2>{this.props.title}</h2>
<div dangerouslySetInnerHTML={ { __html: body } }></div>
</div>
);
}
}
markdown içeriği NewsDetail etiketinin body niteliğinde (içeriğindeki veri yapısını uygulama yapmamla eşleştiren kısa bir işlevle) saklanır.
HTML sayfası olarak işaretlenmiş işlevinde çekmek için bu komut dosyası etiketi vardır:
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script>
Geç kaldım ama burada gidonu kullanarak çözüm olduğunu biliyoruz: indeksimizde Sonra
var marked = require('marked');
marked.setOptions({
renderer: new marked.Renderer(),
sanitize: true,
smartLists: true,
smartypants: true
});
//Home
router.get('/', (req, res) => {
client.getEntry('<ENTRY_ID>')
.then((entry)=> {
entry.fields.body = marked(entry.fields.body);
res.render('static/index',
{
entry: entry,
user: req.user
});
}).catch((err) => {
console.log(err);
})
});
. hbs şablonu, bu durumda (exit.fields.body) markdown değişkenini, kaçmayı önlemek için {{{}}} kullanarak çağırabiliriz.
{{{entry.fields.body}}}
Bu şekilde, yalnızca JavaScript’te şablon oluşturmak için işaretli ve nunjucks’ı kullanarak yaptık. Hangi teknoloji yığını kullanıyorsunuz? –
@WillHancock bu ekspres + handlebars yapı gibi görünüyor. – MattClaff
Kodunuzu yazmak için hangi dili kullanıyorsunuz? Lütfen Meghan'ın cevabının doğrudan doğru pakete yönlendirilebilmesi için ekleyin. – Ivan