Hi,
I’m using Discourse API for get the latest topics for specific category(works great!):
http://haxe.org.il/c/15/l/latest.json?
but I want to get excerpt for all topics not just topics…
How can I do that?
Thanks,
Michael
Hi,
I’m using Discourse API for get the latest topics for specific category(works great!):
http://haxe.org.il/c/15/l/latest.json?
but I want to get excerpt for all topics not just topics…
How can I do that?
Thanks,
Michael
There currently isn’t a get parameter to request excerpts, but it’s on the list of feature requests.
Hi.
It has been a few years, is it still impossible to do? I’m looking to display my lastest Discourse posts on a WP site and that would be an excellent feature.
Yeah this exists if you install this plugin:
Per:
@codinghorror I wonder should we just roll in the functionality of discourse tooltip, it will help keep it more stable over time and helps a tiny bit in some desktop situations.
I am fairly strongly opposed, because hover means nothing on touch and we should not be relying on non-touch behaviors at all. And given that the world will be 99.9% smartphone usage soon… it’s backwards thinking.
Hi,
I’ve installed and enabled this plugin. It works but I still don’t have the excerpts from other topics than pinned in top.json data.
I believe you need to do another request for the excerpts, like:
Hi, I know this is an old topic, but I am having the same issue.
My rss feed is working fine, but I rather use the Json one as it is more flexible.
So I have a php plugin that pulls discourse json feed ( latest, top, etc), everything works fine… expect the excerpt
Is there is reason why there is no post description on the Json feed? How can I fix this ?
Thanks.
Ciao, ho avuto lo stesso problema e sono riuscito a risolverlo ricaricando l’argomento per ottenere i dati necessari. L’ho fatto nel componente topic-list-item.js, utilizzando Ember.PromiseProxyMixin. Per sapere come usarlo, leggi qui: Use Ember.PromiseProxyMixin in a theme
Il codice è più o meno così:
// Ho usato una funzione memoize personalizzata per ridurre il numero di richieste
const getTopic = memoize(id => ajax(`/t/${id}.json`).then(data => data));
// ...
// All'interno del componente
@discourseComputed("topic")
topicPromise(topic) {
return getTopic(topic.id);
},
@discourseComputed("topicPromise")
topicProxy() {
const promise = this.get("topicPromise");
return promise && PromiseObject.create({ promise });
},
postStream: reads("topicProxy.content.post_stream"),
@discourseComputed("postStream")
excerpt(postStream) {
if (!this.get("postStream")) return false;
return `${stripHtml(postStream.posts[0].cooked).slice(0, 150)}...`;
},
stripHtml è una funzione personalizzata per rimuovere l’HTML dal primo post.
In topic-list-item.hbs avresti:
{{#if topicProxy.isFulfilled}}
<div class="excerpt">
{{#if excerpt}}
{{html-safe excerpt}}
{{/if}}
</div>
{{/if}}
Stai facendo una richiesta aggiuntiva per ogni argomento nell’elenco per recuperare l’estratto?
Purtroppo, sì. So che ha un impatto sulle prestazioni, ma non sono io a prendere le decisioni, se capisci cosa intendo.
Ti piacerà tantissimo
Mamma mia! Perché è nascosto?! ![]()
Poiché ci sono molti argomenti di supporto da parte di amministratori che cliccano su tutte le impostazioni senza leggerle. Questo significa che molte istanze avrebbero un payload più pesante senza mai utilizzare i dati aggiuntivi provenienti dall’API.
A breve, i temi potranno abilitare in modo dichiarativo queste modifiche al serializzatore.