| 开发者 | emanuelegori |
|---|---|
| 更新时间 | 2026年9月27日 23:56 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[eg_social_timeline]
Optional attributes, each overriding its setting for that page only:
limit — 1 to 100, how many posts reach the page. Default: Timeline → Number of Posts to Show.layout — list or grid. Default: Appearance → Layout.filters — visible, collapsed or hidden. Default: Filter Bar → Display.[eg_social_timeline limit="20"]
[eg_social_timeline layout="grid" limit="20" filters="collapsed"]
Several timelines can share a page, for example one in a widget and one in the content: each keeps its own filters.
Privacy
[eg_social_timeline] into the desired page or posthttps://lemmy.example/u/username, https://mastodon.example/@name, https://peertube.example/c/name@host.example/videos, https://bsky.app/profile/name.bsky.social.
Advanced configuration
Mastodon, Pleroma, Akkoma, Bluesky, Pixelfed, PeerTube, Forgejo/Gitea, Lemmy (any instance), ListenBrainz, and any RSS or Atom feed.
On PeerTube videos almost always live in a channel, not directly in the account, and the two use different API endpoints. Paste the full address of your channel and the plugin sorts it out: /c/name is a channel, /a/name an account. If you only type a name, both are tried and the answer is remembered.
A second detail: a channel belongs to the instance that hosts it. An address like https://peertube.example/c/name@origin.example/videos means the channel lives on origin.example and peertube.example only federates it — the plugin then queries the origin, which does not depend on the state of federation.
Yes. The "RSS or Atom feed" fields take the address of any feed — your blog, a newsletter, a podcast — and its items join the timeline like any other source, with their own filter. The label you give it is the name shown on the cards; left empty, the feed's own title is used.
Your recent listens: artist and track, with the date. The public API needs no token. Each card links to the recording on ListenBrainz when the identifier is available, otherwise to your ListenBrainz profile. No interaction counts, because listens do not have any.
Because its public Atom feed does not carry them. Pixelfed answers the Mastodon-compatible account lookup but redirects the statuses endpoint to its login page, so the feed is the only way to read a profile without credentials: it gives photos, captions, dates and links, and no counts.
No, and it is worth knowing why. The plugin reads the public accounts API (/api/v1/accounts/lookup and /api/v1/accounts/{id}/statuses), which Mastodon, Pleroma and Akkoma serve without authentication. GoToSocial and Friendica answer those endpoints only to signed-in users, so they have their own sections, which read the public feed of the profile instead. Misskey and Sharkey use a different API and are not supported at the moment. Pixelfed answers the lookup but redirects the statuses endpoint to its login page, and also has its own section. When you save an instance of another software in the Mastodon field, the settings page says so and points to the right section.
GoToSocial keeps the RSS feed of a profile off by default. Turn it on in your account settings (https://your-instance/settings), then save the plugin settings again. The feed carries your latest 20 public posts, without replies or boosts. Also make sure the instance address is the server you log in to: when the account domain is different from the server, the plugin looks it up when you save and corrects the address.
The settings page, in the "Configured profiles" table. It shows what the plugin sees for each platform — instance, software, account or channel — and what the last fetch returned, with the reason when a platform came back empty: an instance requiring authentication, an account not found, a Lemmy feed requested where that account is not registered. The checks run when you save the settings and can be repeated with the "Verify profiles" button; the page itself never queries the instances while loading.
No. They use only CSS with the checkbox/label pattern and work even with JavaScript disabled in the browser.
Yes. Just configure at least one profile. Unconfigured platforms are simply ignored.
Each platform has a configurable limit on the number of posts included in the timeline. This prevents a very active platform (e.g. Forgejo with many commits) from filling all available slots, ensuring a balanced mix.
The plugin retrieves only public content. It does not track site visitors and does not send data to third-party services.
Posts are temporarily stored to reduce calls to the external APIs. You can configure the duration from 30 minutes to 24 hours. The cache is automatically cleared when settings are saved.
Up to version 1.7.2 the timeline always followed the prefers-color-scheme setting of the visitor browser, so it turned dark even on a light theme. Since 1.8.1 the stylesheet carries no prefers-color-scheme rule at all: the timeline goes dark only if you set a background to "Follow the visitor browser", or if both backgrounds are transparent and there is no color to measure.
That was a bug in 1.8.0, fixed in 1.8.1: contrast was inferred from a global color scheme instead of being measured on the color of the surface. Text, borders, badges, links and icons now follow the background you actually chose.
Yes. Settings → EG Social Timeline → Appearance covers the two backgrounds and the icon style. Every color in the stylesheet comes from a custom property declared on the .eg-social-timeline container: two source palettes (--egst-light-* and --egst-dark-*) and the active tokens that read from them (--egst-text, --egst-card-bg, --egst-chip-bg, …), so a few lines of theme CSS are enough to retheme the whole timeline. The icons are SVG files you can replace in the social-icons/ folder.
layout attribute to choose list or grid page by page, e.g. [eg_social_timeline layout="grid" limit="20"].filters shortcode attribute sets it page by page.