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.
Hi, I had the same problem and managed to do it by fetching topic again to get needed data. I did that in topic-list-item.js
component, by using Ember.PromiseProxyMixin
. How to use it, read here: Using Ember.PromiseProxyMixin in discourse development
Code looks like something like this:
// I've used custom memoize function, to lower the number of requests
const getTopic = memoize(id => ajax(`/t/${id}.json`).then(data => data));
// ...
// Inside of component
@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
is custom function to remove html from first post.
In topic-list-item.hbs
you would have
{{#if topicProxy.isFulfilled}}
<div class="excerpt">
{{#if excerpt}}
{{html-safe excerpt}}
{{/if}}
</div>
{{/if}}
Are you making an extra request for each topic in the list to fetch the excerpt?
Unfortunately, yes. I know that’s hit on performance, but I don’t make the decisions, if you know what I mean.
You gonna love this
OMG! Why is that hidden?!
Because there is a lot of support topics from admins who go and click on all the settings without reading. That means lots of instances would have a heavier payload without ever using the extra data coming from the API.
Soon, themes will be able to declaratively enable those serializer changes.
This topic was automatically closed after 3184 days. New replies are no longer allowed.