Ich habe es mit js gelöst. Eigentlich habe ich keine gute Lösung gefunden und ich stellte dem Ghost-Team Fragen zu ihrer slack-Gruppe. Sie schlugen mir vor, dies mit js zu lösen. Also das ist, was ich tat:
Api Anruf
$.get(
ghost.url.api('posts', { include: 'tags, author' }))
.done(function(data) {
localStorage.setItem('posts', JSON.stringify(data));
})
.fail(function(err) {
console.log(err);
});
alle Daten gespeichert localStorage
localStorage.setItem('posts', JSON.stringify(data));
als Benutzer etwas in ein Suchformular eingegeben haben, Ich ergreife diese Suchzeichenfolge und fi Füge die Daten hinzu, die dieser Zeichenfolge entsprechen.
// get search results
function getSearchResult(string) {
var postData = JSON.parse(localStorage.getItem('posts'));
var searchResults = postData.posts.filter(function(post) {
return post.markdown.match(string)
|| post.title.match(string)
|| post.author.name.match(string);
});
renderSearchResults(searchResults);
}
dann machen Ergebnis accordinging
function renderSearchResults(posts) {
// my render code
}