Czy istnieje prosty sposób konwersji tekstu ze znacznika z treściowego api do renderowania w kod HTML, który będzie wyświetlany na stronie html. Próbowałem używać stronicowania i niektórych podobnych technik, ale żaden nie działa dla mnie.contentful konwersja znacznika API do HTML
Odpowiedz
Jestem menadżerem sukces klienta w Contentful -
Możesz sprawdzić listę zalecanych parserami według języka na our FAQ.
Ponadto, prosimy o przesłanie nam wiadomości na Intercom pośrednictwem naszego interfejsu klikając „Porozmawiaj z nami” linku :)
Oto jak to zrobiłem z React:
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>
);
}
}
zawartości Przecena jest przechowywany w atrybucie body znacznika NewsDetail (przez krótką funkcję, która mapuje treściową strukturę danych do mojej struktury aplikacji).
Strona HTML ma ten tag skryptu ciągnąć w zaznaczonej funkcji:
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script>
Wiem, że późno, ale tutaj jest rozwiązanie za pomocą kierownicy:
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);
})
});
Wtedy w naszym indeksie. Szablon hbs możemy nazwać zmienną przeceny w tym przypadku (entry.fields.body) za pomocą {{{}}}, aby zapobiec ucieczce.
{{{entry.fields.body}}}
W ten sposób zrobiliśmy to tylko za pomocą oznaczonych i nunjucks dla szablonów w JavaScript. Z jakiego stosu technologii korzystasz? –
@WillHancock to wygląda jak kompilacja ekspresu + kierownicy. – MattClaff
W jakim języku piszesz swój kod? Dodaj, aby odpowiedź Meghan wskazywała właściwy pakiet. – Ivan