diff --git a/site/redirects.json b/site/redirects.json index d514b06e..0c9186c2 100644 --- a/site/redirects.json +++ b/site/redirects.json @@ -25,19 +25,20 @@ "/web-environment": "/en/web-environment", "/productivity": "/en/productivity", "/work-with-us": "https://forms.gle/wPUjwhLgLnqvsqDG6", - "/releases": "/en/releases", - "/en/posts/chromeos-123-release-notes": "/en/releases/chromeos-123", - "/en/posts/chromeos-122-release-notes": "/en/releases/chromeos-122", - "/en/posts/chromeos-121-release-notes": "/en/releases/chromeos-121", - "/en/posts/chromeos-120-release-notes": "/en/releases/chromeos-120", - "/en/posts/chromeos-119-release-notes": "/en/releases/chromeos-119", - "/en/posts/chromeos-118-release-notes": "/en/releases/chromeos-118", - "/en/posts/chromeos-117-release-notes": "/en/releases/chromeos-117", - "/en/posts/chromeos-116-release-notes": "/en/releases/chromeos-116", - "/en/posts/chromeos-115-release-notes": "/en/releases/chromeos-115", - "/en/posts/chromeos-114-release-notes": "/en/releases/chromeos-114", - "/en/posts/chromeos-112-113-release-notes": "/en/releases/chromeos-113", - "/en/posts/chromeos-111-release": "/en/releases/chromeos-111", - "/en/posts/chromeos-110-release": "/en/releases/chromeos-110", - "/en/posts/new-to-chromeos-highlights-from-chromeos-106-107-108-and-109": "/en/releases/chromeos-109" + "/releases": "https://support.google.com/chrome/a/answer/7679408?hl=en&co=CHROME_ENTERPRISE._Product%3DChromeOS&oco=0", + "/en/releases": "https://support.google.com/chrome/a/answer/7679408?hl=en&co=CHROME_ENTERPRISE._Product%3DChromeOS&oco=0", + "/en/posts/chromeos-123-release-notes": "https://support.google.com/chrome/a/answer/10314655#123", + "/en/posts/chromeos-122-release-notes": "https://support.google.com/chrome/a/answer/10314655#122", + "/en/posts/chromeos-121-release-notes": "https://support.google.com/chrome/a/answer/10314655#121", + "/en/posts/chromeos-120-release-notes": "https://support.google.com/chrome/a/answer/10314655#120", + "/en/posts/chromeos-119-release-notes": "https://support.google.com/chrome/a/answer/10314655#119", + "/en/posts/chromeos-118-release-notes": "https://support.google.com/chrome/a/answer/10314655#118", + "/en/posts/chromeos-117-release-notes": "https://support.google.com/chrome/a/answer/10314655#117", + "/en/posts/chromeos-116-release-notes": "https://support.google.com/chrome/a/answer/10314655#116", + "/en/posts/chromeos-115-release-notes": "https://support.google.com/chrome/a/answer/10314655#115", + "/en/posts/chromeos-114-release-notes": "https://support.google.com/chrome/a/answer/10314655#114", + "/en/posts/chromeos-112-113-release-notes": "https://support.google.com/chrome/a/answer/10314655#113", + "/en/posts/chromeos-111-release": "https://support.google.com/chrome/a/answer/10314655#111", + "/en/posts/chromeos-110-release": "https://support.google.com/chrome/a/answer/10314655#110", + "/en/posts/new-to-chromeos-highlights-from-chromeos-106-107-108-and-109": "https://support.google.com/chrome/a/answer/10314655#109" } diff --git a/site/src/pages/[lang]/releases.astro b/site/src/pages/[lang]/releases.astro deleted file mode 100644 index b643fcda..00000000 --- a/site/src/pages/[lang]/releases.astro +++ /dev/null @@ -1,319 +0,0 @@ ---- -import Section from '$layouts/section.astro'; - -import { - releaseNotes, - releaseNoteLandings, - microcopy as micro, -} from '$lib/sanity'; -// import { buildSection, buildTopics } from '$lib/documentation'; - -import SectionNav from '$components/SectionNav.svelte'; -import Release from '$components/Release.astro'; -// import AppSupport from '$components/AppSupport.svelte'; -// import Card from '$components/Card.svelte'; - -/** - * Static paths - * - * @return {object} paths - */ -export function getStaticPaths() { - return releaseNoteLandings - .filter((h) => h._langCode === 'en') - .map((landing) => { - const notes = releaseNotes - .filter((note) => note._langCode === landing._langCode) - .sort((a, b) => b.stable - a.stable); - - return { - params: { - lang: landing._langCode, - }, - props: { - landing, - microcopy: micro[landing._lang], - notes, - }, - }; - }); -} - -const { landing, microcopy, notes } = Astro.props; - -const section = notes.map((note) => { - return { - title: note.title, - href: note._slug, - }; -}); - -const max = notes.reduce((acc, cur) => { - if (cur.version > acc) { - acc = cur.version; - } - - return acc; -}, 0); - -const first = notes[0]; -const rest = notes.slice(1); - -const r = max % 6; -let lts; -let ltc; - -// Three past is when LTC graduates to LTS - -if (r >= 3) { - lts = max - r; - ltc = max + (6 - r); -} else { - lts = max - 6 - r; - ltc = max - r; -} - -/** - * Determines the date when a release should be out - * @param {number} version - * @return {string} - */ -function ltxDate(version: number) { - if (version <= max) { - const n = notes.find((n) => n.version === version); - if (n) { - return n.stable.toLocaleDateString(microcopy._localeCode, { - year: 'numeric', - month: 'long', - day: 'numeric', - }); - } - } - - const diff = version - first.version; - const d = new Date(first.stable); - const stable = new Date(d.setDate(d.getDate() + diff * 7 * 4)); - return microcopy.releases.relative.expected.replace( - '((d))', - stable.toLocaleDateString(microcopy._localeCode, { - year: 'numeric', - month: 'long', - }), - ); -} - -const releases = [ - { - channel: microcopy.releases.stable, - version: first.version, - next: '((c))', - date: ltxDate(first.version), - }, - { - channel: 'Beta', - version: first.version + 1, - next: '((c))', - date: ltxDate(first.version + 1), - }, - { - channel: microcopy.releases.dev, - version: first.version + 2, - next: '((c))', - date: ltxDate(first.version + 2), - }, -]; - -const stables = [ - { - channel: microcopy.releases.lts, - next: - lts > max - ? microcopy.releases.relative.next - : microcopy.releases.relative.current, - version: lts, - date: ltxDate(lts), - }, - { - channel: microcopy.releases.ltc, - next: - ltc > max - ? microcopy.releases.relative.next - : microcopy.releases.relative.current, - version: ltc, - date: ltxDate(ltc), - }, -]; - -if (ltc < max || ltc === max) { - stables.push({ - channel: microcopy.releases.ltc, - next: microcopy.releases.relative.next, - version: ltc + 6, - date: ltxDate(ltc + 6), - }); -} ---- - - - - - - {landing.title} - - - - - - - - - - - { - releases.map((release) => { - return ( - - {release.channel} - ChromeOS {release.version} - - {release.date} - - ); - }) - } - - - - { - stables.map((release) => { - return ( - - ${release.channel.abbr}`, - )} - /> - - ChromeOS {release.version} - - {release.date} - - ); - }) - } - - - - - { - rest.map((note) => ( - - )) - } - - - - diff --git a/site/src/pages/[lang]/releases/[note].astro b/site/src/pages/[lang]/releases/[note].astro deleted file mode 100644 index 76997afb..00000000 --- a/site/src/pages/[lang]/releases/[note].astro +++ /dev/null @@ -1,154 +0,0 @@ ---- -import Section from '$layouts/section.astro'; - -import { - releaseNotes, - releaseNoteLandings, - microcopy as micro, -} from '$lib/sanity'; -// import { buildSection, buildTopics } from '$lib/documentation'; - -import SectionNav from '$components/SectionNav.svelte'; -import Release from '$components/Release.astro'; - -/** - * Static paths - * - * @return {object} paths - */ -export function getStaticPaths() { - const sections = {}; - const landings = {}; - const max = releaseNotes.reduce((acc, cur) => { - if (!acc[cur._langCode] || cur.version > acc[cur._langCode]) { - acc[cur._langCode] = cur.version; - } - - return acc; - }, {}); - - // TODO: Add next/previous buttons at bottom of relesaes - // const min = releaseNotes.reduce((acc, cur) => { - // if (!acc[cur._langCode] || cur.version < acc[cur._langCode]) { - // acc[cur._langCode] = cur.version; - // } - - // return acc; - // }, {}); - return releaseNotes - .filter((h) => h._langCode === 'en') - .map((landing) => { - if (!landings[landing._langCode]) { - landings[landing._langCode] = releaseNoteLandings.find( - (l) => l._langCode === landing._langCode, - ); - } - if (!sections[landing._langCode]) { - sections[landing._langCode] = releaseNotes - .filter((note) => note._langCode === landing._langCode) - .sort((a, b) => b.stable - a.stable) - .map((note) => { - return { - title: note.title, - href: note._slug, - }; - }); - } - return { - params: { - lang: landing._langCode, - note: `chromeos-${landing.version}`, - }, - props: { - microcopy: micro[landing._lang], - note: landing, - backgrounds: landings[landing._langCode].backgrounds, - sections: sections[landing._langCode], - max: max[landing._langCode], - // min: min[landing._langCode], - }, - }; - }); -} - -const { backgrounds, microcopy, note, sections, max } = Astro.props; ---- - - - - - - - {microcopy.releases.notesfor.replace('((v))', note.title)} - - - - - - - - - - - - - - -
{release.channel}
{release.date}
${release.channel.abbr}`, - )} - /> - -