Is it possible to show post numbers for each post (Or easy to do via CSS or similar). My use case is running forum mafia, where allowing users to easily refer to a post without the bulk of quoting it would be amazing.
Just press the link button under each post, and the post number is visible there.
It is hard to say if this is what you are looking for, but it should get you close.
We use that CSS to put #1, #2, et al on a topic after the date/timestamp.
Yes, it is, this is amazing 
Thanks so much!
a.post-date span {
margin-right: 1em;
}
a.post-date:after {
content: "#"attr(data-post-number);
}
Isso não parece mais funcionar. Existe uma maneira atual de mostrar os números das postagens?
Agora, a tag post não tem um identificador data-post-number, este estilo CSS não funciona, não sei se há outra maneira de resolver?
Não sem javascript.
Obrigado pela resposta, este é um plugin que precisa ser escrito para chamar a API? Ou ele é simplesmente escrito no componente do tema?
Muito obrigado. Resolvi o problema agora!
api.decorateCooked(() => {
var add_post_number_timer = setTimeout(() => {
var articles = document.getElementsByTagName("article");
for (var i = 0; i < articles.length; i++) {
var post_date = articles[i].getElementsByClassName("post-date");
if (post_date.length != 0) {
var post_number = articles[i].getAttribute("id").replace("post_", "");
post_date[1].setAttribute("data-post-number", post_number);
}
}
clearTimeout(add_post_number_timer);
}, 500);
}, {
id: 'add_post_number'
});
Incrível! Você descobriu como fazer isso. ![]()
Aqui estão algumas melhorias que você pode fazer:
-
api.decoratedCookedserá descontinuado e é chamado em cada postagem.
Você pode usardecorateCookedElementem vez disso, que funciona sem jQuery. -
Um
elementrepresentando a postagem atual é passado para a API; você pode usá-lo como contexto da sua postagem. -
Você pode trabalhar com a função
scheduledo Ember para esperar que o elemento seja renderizado.
import { schedule } from "@ember/runloop";
// const { schedule } = require("@ember/runloop"); // use isso se estiver executando no Admin UI
api.decorateCookedElement((element, /* helper */) => {
schedule("afterRender", () => {
const article = element.closest("article");
if (article) {
article.dataset.postNumber = article.id.replace("post_", "");
}
});
});

Muito obrigado pela correção.