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.
Olá, eu tive o mesmo problema e consegui resolver buscando o tópico novamente para obter os dados necessários. Fiz isso no componente topic-list-item.js, usando Ember.PromiseProxyMixin. Para saber como usá-lo, leia aqui: Use Ember.PromiseProxyMixin in a theme
O código fica mais ou menos assim:
// Usei uma função memoize personalizada para reduzir o número de requisições
const getTopic = memoize(id => ajax(`/t/${id}.json`).then(data => data));
// ...
// Dentro do 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 é uma função personalizada para remover o HTML do primeiro post.
Em topic-list-item.hbs, você teria:
{{#if topicProxy.isFulfilled}}
<div class="excerpt">
{{#if excerpt}}
{{html-safe excerpt}}
{{/if}}
</div>
{{/if}}
Você está fazendo uma solicitação extra para cada tópico na lista para buscar o resumo?
Infelizmente, sim. Sei que isso afeta o desempenho, mas não sou eu quem toma as decisões, se você me entende.
Vai adorar isso
Nossa! Por que isso está escondido?! ![]()
Como há muitos tópicos de suporte de administradores que clicam em todas as configurações sem ler, isso significa que muitas instâncias teriam um payload mais pesado sem nunca utilizar os dados extras provenientes da API.
Em breve, os temas poderão ativar declarativamente essas alterações no serializador.