News ​

News is the first page the launcher opens. It's at the top of the sidebar.

The Discord banner ​

The banner at the top invites you to the Swofty Developments Discord server, where you get help from the developers and hear about new releases and addons. Select Join the Discord, or anywhere on the banner, to open the invite in your browser. In a short window the banner is a single row.

News posts ​

The large box on the left shows every news post in full, newest first. Each post has its date, title, an optional picture and its text. Scroll inside the box to read further. Links in a post open in your browser. Read on f1.swofty.net, at the end of a post, opens the post on this site.

Changelogs ​

The list on the right has one row per launcher release, newest first, with its version, date and summary. Installed marks the version you're running. Select a row to open that release's notes on this site.

When the window is too narrow for two columns, the changelogs move below the news posts.

Where the posts come from ​

The launcher reads the feed from https://f1.swofty.net/news.json when it starts, and again when you open News after 30 minutes. Refresh, at the top right, reads it again now. The line under the News title says where the posts on screen came from:

LineMeaning
From f1.swofty.netThe launcher read the feed this session
Checking for news…The launcher is reading the feed
Offline · showing the news saved last timeThe launcher couldn't reach f1.swofty.net; the posts are the last feed it read and the ones this version came with
Offline · showing the news that came with this versionThe launcher couldn't reach f1.swofty.net and no feed was saved
Couldn't load the latest news · …f1.swofty.net answered without a feed; the rest of the line says which posts are shown

The launcher keeps the last feed it read, and pictures from the newest news posts, in cache/news in its data folder. Each launcher release also carries its own copy of the feed. Without the feed, News shows those two together.

For the site ​

The docs build writes news.json from docs/news/*.md (news posts) and docs/releases/*.md (release notes), using this front matter:

FieldUsed as
titleThe post's title. A release's title, such as 1.3.0, becomes "Swofty Launcher 1.3.0"
descriptionThe summary. The changelog list shows it for each release
dateThe date, as YYYY-MM-DD. Without it, the date the file was added to git
imageA picture shown above a news post, as an https:// URL or a path on this site
draft: trueLeaves the file out of the feed

A news post's text is the Markdown after its front matter and its # title line. The launcher shows headings, paragraphs, bullet and numbered lists, quotes, code blocks, rules, bold, italics, inline code and links. It leaves out HTML, pictures inside the text and ::: container lines. It opens https:// and mailto: links, and links that start with / open on this site. Other links show as plain text.

The feed ​

news.json is { "posts": [...] }, newest first. Each post has these fields:

FieldValue
idnews/<file name> or release/<file name>
kindnews or release
title, date, summary, imageFrom the front matter, as above
urlThe post's page on this site
bodyNews posts only: the post's Markdown text

Launchers before 1.3.0 ignore body. A launcher that reads a feed without body shows the post's summary as its text.

node docs/scripts/news.mjs prints the feed.

Publishing