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);
}
これはもう機能しないようです。投稿番号を表示する現在の方法はありますか?
投稿タグに data-post-number 識別子がない場合、この CSS スタイルは機能しません。解決策は他にありますか?
JavaScriptなしでは無理です。
返信ありがとうございます。APIを呼び出すにはプラグインを作成する必要がありますか、それともテーマコンポーネントに単純に記述するだけでよいのでしょうか?
問題は解決しました。ありがとうございます!
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'
});
素晴らしい!やり方を理解しましたね。 ![]()
いくつか改善点があります。
-
api.decoratedCookedは非推奨となり、すべての投稿で呼び出されます。
代わりにdecorateCookedElementを使用できます。これは jQuery なしで動作します。 -
現在の投稿を表す
elementが API に渡されます。これを投稿のコンテキストとして使用できます。 -
ember の
schedule関数を使用して、要素がレンダリングされるのを待つことができます。
import { schedule } from "@ember/runloop";
// const { schedule } = require("@ember/runloop"); // Admin UI で実行する場合はこちらを使用してください
api.decorateCookedElement((element, /* helper */) => {
schedule("afterRender", () => {
const article = element.closest("article");
if (article) {
article.dataset.postNumber = article.id.replace("post_", "");
}
});
});

:்த்த:修正いただき、誠にありがとうございます。