diff --git a/CHANGELOG.md b/CHANGELOG.md index 26c7a229..6a0dee42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,10 @@ See [extension/CHANGELOG.md](extension/CHANGELOG.md). - Memory Map: a Modules column shows each object file's slice of every SDCC or cc65 segment (`Segment.modules`; SDCC from the `.rel` sizes in link order, with the remainder as `(libraries)`; cc65 from the ld65 map's module list, library members by name). - Memory Browser: a symbol label covers only its reported size, and an unsized symbol stops at its segment boundary instead of running into the next segment. +### Website + +- Links that open the IDE now point at `https://8bitworkshop.com/latest/`, which the server proxies to the newest build: the badge in a published project's README, the README the VS Code extension writes for a new project, the platform links on the website, and the embedding docs. Old `redir.html` links still work. + ### Asset editor - Undo/redo for edits, including binary files, and reliable undo for palette changes. diff --git a/Makefile b/Makefile index 8619ac37..042741c2 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,6 @@ syncprod: distro @[ "${VERSION}" ] || ( echo ">> No version set at HEAD, tag it first"; exit 1 ) echo Version: $(VERSION) grep -H "var VERSION" web/redir.html - grep -H "var VERSION" web/projects/projects.js read cp config.js $(TMP) #aws --profile pzp s3 sync --follow-symlinks $(TMP)/ s3://8bitworkshop.com/v$(VERSION)/ diff --git a/extension/src/terminalcli.ts b/extension/src/terminalcli.ts index d29e550e..70439e58 100644 --- a/extension/src/terminalcli.ts +++ b/extension/src/terminalcli.ts @@ -4,6 +4,7 @@ import * as fs from 'fs'; import * as path from 'path'; +import { ideLink } from '../../src/common/links'; export interface LauncherOptions { /** VS Code's executable; ELECTRON_RUN_AS_NODE makes it plain Node */ @@ -63,7 +64,7 @@ export function writeLauncher(binDir: string, opts: LauncherOptions, platform: s export function projectReadme(name: string, platform: { id: string, name: string, romext?: string }, mainFile: string): string { var base = path.basename(mainFile, path.extname(mainFile)); var rom = base + (platform.romext || '.bin'); - var link = `https://8bitworkshop.com/redir.html?platform=${encodeURIComponent(platform.id)}&file=${encodeURIComponent(mainFile)}`; + var link = ideLink({ platform: platform.id, file: mainFile }); return `# ${name} A ${platform.name} program made with [8bitworkshop](${link}). diff --git a/extension/test/terminalcli.test.ts b/extension/test/terminalcli.test.ts index c275ef72..83b11fc0 100644 --- a/extension/test/terminalcli.test.ts +++ b/extension/test/terminalcli.test.ts @@ -44,4 +44,9 @@ describe('terminalcli', () => { assert.ok(readme.includes('8bws build game.c -o game.nes')); assert.ok(projectReadme('x', { id: 'c64', name: 'C64' }, 'a.c').includes('-o a.bin')); }); + + it('links to the IDE at /latest/', () => { + var readme = projectReadme('my-game', { id: 'nes', name: 'NES', romext: '.nes' }, 'game.c'); + assert.ok(readme.includes('https://8bitworkshop.com/latest/?platform=nes&file=game.c'), readme); + }); }); diff --git a/index.html b/index.html index 28c1d229..908ec545 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ - +