diff --git a/src/_data/sites/de.yml b/src/_data/sites/de.yml index 7ad2f037f6..31c71036ef 100644 --- a/src/_data/sites/de.yml +++ b/src/_data/sites/de.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -225,6 +226,7 @@ homepage: upcoming: Nächste Version development: Entwicklung dateline: VERSION am DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/en.yml b/src/_data/sites/en.yml index bb331bfeca..dffdbe25cc 100644 --- a/src/_data/sites/en.yml +++ b/src/_data/sites/en.yml @@ -22,6 +22,7 @@ locals: docs_next: next--docs-eslint.netlify.app docs_v8: v8-x--docs-eslint.netlify.app blog: true + version_support: true redirects: - from: https://cn.eslint.org/* to: https://zh-hans.eslint.org @@ -220,6 +221,7 @@ homepage: upcoming: Upcoming Version development: Development dateline: VERSION on DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/es.yml b/src/_data/sites/es.yml index 5fb700b291..a54c815581 100644 --- a/src/_data/sites/es.yml +++ b/src/_data/sites/es.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -208,6 +209,7 @@ homepage: upcoming: Próxima versión development: Desarrollo dateline: VERSION en DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/fr.yml b/src/_data/sites/fr.yml index 7434fc2fb8..0645aee083 100644 --- a/src/_data/sites/fr.yml +++ b/src/_data/sites/fr.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -214,6 +215,7 @@ homepage: upcoming: Prochaine Version development: Développement dateline: VERSION du DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/hi.yml b/src/_data/sites/hi.yml index 7ea2689f78..5fce01015f 100644 --- a/src/_data/sites/hi.yml +++ b/src/_data/sites/hi.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -199,6 +200,7 @@ homepage: upcoming: आगामी संस्करण development: विकास संस्करण के तहत dateline: VERSION on DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/ja.yml b/src/_data/sites/ja.yml index 9f7df42373..94a4808497 100644 --- a/src/_data/sites/ja.yml +++ b/src/_data/sites/ja.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -206,6 +207,7 @@ homepage: upcoming: 次バージョン development: 開発中バージョン dateline: VERSION(DATE) + version_support: Version Support explainer: image: diff --git a/src/_data/sites/pt-br.yml b/src/_data/sites/pt-br.yml index 7ef5f2200b..c912f6b574 100644 --- a/src/_data/sites/pt-br.yml +++ b/src/_data/sites/pt-br.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -209,6 +210,7 @@ homepage: upcoming: Próxima Versão development: Desenvolvimento dateline: VERSION em DATE + version_support: Version Support explainer: image: diff --git a/src/_data/sites/zh-hans.yml b/src/_data/sites/zh-hans.yml index 63b555fc22..60c25dadeb 100644 --- a/src/_data/sites/zh-hans.yml +++ b/src/_data/sites/zh-hans.yml @@ -22,6 +22,7 @@ locals: docs_next: false docs_v8: false blog: false + version_support: false #------------------------------------------------------------------------------ # Analytics @@ -202,6 +203,7 @@ homepage: upcoming: 即将到来的版本 development: 开发中 dateline: 于 DATE 发布 VERSION + version_support: Version Support explainer: image: diff --git a/src/_includes/layouts/page.html b/src/_includes/layouts/page.html new file mode 100644 index 0000000000..85e89dfd0f --- /dev/null +++ b/src/_includes/layouts/page.html @@ -0,0 +1,24 @@ +--- +layout: base.html +hook: "page" +--- + +{% include "partials/header.html" %} + +
+{%- from 'components/hero.macro.html' import hero with context %} + {% set hero_title = title %} + {% set hero_supporting_text = description %} + + {{ hero({ + title: hero_title, + supporting_text: hero_supporting_text + }) }} + +
+ {{ content | safe }} +
+
+ + +{% include "partials/footer.html" %} diff --git a/src/assets/scss/components/hero.scss b/src/assets/scss/components/hero.scss index a8b2da8f70..144a45b5dc 100644 --- a/src/assets/scss/components/hero.scss +++ b/src/assets/scss/components/hero.scss @@ -41,7 +41,6 @@ margin: 0 auto; padding: 0 calc(1rem + 1vw); padding-bottom: 0; - align-items: center; } } diff --git a/src/assets/scss/foundations.scss b/src/assets/scss/foundations.scss index e4bdba31c2..ec091de54c 100644 --- a/src/assets/scss/foundations.scss +++ b/src/assets/scss/foundations.scss @@ -122,6 +122,10 @@ main { } } +.content-container__no-sidebar { + max-width: 800px; +} + .section-head { .section-supporting-text { text-align: center; @@ -208,6 +212,22 @@ table { background-color: var(--lightest-background-color); padding: 0.25rem 0.5rem; } + + @media screen and (max-width: 768px) { + display: block; + width: fit-content; + max-width: 100%; + margin-inline: auto; + overflow-x: scroll; + + tbody tr > td:first-child { + border-left: none; + } + + tbody tr > td:last-child { + border-right: none; + } + } } .c-btn, diff --git a/src/assets/scss/homepage.scss b/src/assets/scss/homepage.scss index cb46455733..a8241d6290 100644 --- a/src/assets/scss/homepage.scss +++ b/src/assets/scss/homepage.scss @@ -99,11 +99,25 @@ @media all and (min-width: 1023px) { align-items: flex-end; } + + @media all and (min-width: 800px) { + padding-block-start: var(--space-xl-2xl); + padding-top: var(--space-xl-2xl); + } +} + +.eslint-versions-container { + display: flex; + flex-direction: column; + padding-block-end: 2rem; + padding-bottom: 2rem; } .eslint-versions { margin-top: 3rem; margin-block-start: 3rem; + margin-bottom: 1rem; + margin-block-end: 1rem; display: inline-flex; flex-direction: column; @@ -128,6 +142,11 @@ align-items: center; } + dd:last-of-type { + margin-bottom: 0; + margin-block-end: 0; + } + .c-icon { margin-right: 0.5rem; margin-inline-end: 0.5rem; diff --git a/src/content/pages/index.html b/src/content/pages/index.html index 8b752704c1..ed057816ee 100644 --- a/src/content/pages/index.html +++ b/src/content/pages/index.html @@ -66,59 +66,62 @@

{{ site.homepage.title }}

{% include "partials/ad.html" %}
-
- -
{{ site.homepage.versions.latest }}
-
- {% set version_date = stats.latestVersionDate | shortDateFromISO %} - {% set dateline = site.homepage.versions.dateline | safe - | replace("VERSION", "" + stats.latestVersion + "") - | replace("DATE", version_date) - %} - - - - {{ dateline }} -
- {% if stats.currentVersionIsPrerelease -%} -
{{ site.homepage.versions.latest_prerelease }}
-
- {% set version_date = stats.currentVersionDate | shortDateFromISO %} - {% set dateline = site.homepage.versions.dateline | safe - | replace("VERSION", "" + stats.currentVersion + "") - | replace("DATE", version_date) - %} - - - - {{ dateline }} -
- {%- endif %} -
{{ site.homepage.versions.upcoming }}
-
- {% set version_date = stats.nextVersionDate | shortDateFromISO %} - {% set dateline = site.homepage.versions.dateline | safe - | replace("VERSION", "" + stats.nextVersion + "") - | replace("DATE", version_date) - %} - - - - {{ dateline }} -
- {% if not stats.currentVersionIsPrerelease -%} -
{{ site.homepage.versions.development }}
-
- {% set version_date = stats.lastCommitDate | shortDateFromISO %} - {% set dateline = site.homepage.versions.dateline | safe | replace("VERSION", "HEAD") | replace("DATE", version_date) %} +
+
+ +
{{ site.homepage.versions.latest }}
+
+ {% set version_date = stats.latestVersionDate | shortDateFromISO %} + {% set dateline = site.homepage.versions.dateline | safe + | replace("VERSION", "" + stats.latestVersion + "") + | replace("DATE", version_date) + %} + + + + {{ dateline }} +
+ {% if stats.currentVersionIsPrerelease -%} +
{{ site.homepage.versions.latest_prerelease }}
+
+ {% set version_date = stats.currentVersionDate | shortDateFromISO %} + {% set dateline = site.homepage.versions.dateline | safe + | replace("VERSION", "" + stats.currentVersion + "") + | replace("DATE", version_date) + %} + + + + {{ dateline }} +
+ {%- endif %} +
{{ site.homepage.versions.upcoming }}
+
+ {% set version_date = stats.nextVersionDate | shortDateFromISO %} + {% set dateline = site.homepage.versions.dateline | safe + | replace("VERSION", "" + stats.nextVersion + "") + | replace("DATE", version_date) + %} + + + + {{ dateline }} +
+ {% if not stats.currentVersionIsPrerelease -%} +
{{ site.homepage.versions.development }}
+
+ {% set version_date = stats.lastCommitDate | shortDateFromISO %} + {% set dateline = site.homepage.versions.dateline | safe | replace("VERSION", "HEAD") | replace("DATE", version_date) %} - - - - {{ dateline }} -
- {%- endif %} -
+ + + + {{ dateline }} +
+ {%- endif %} +
+ {{ site.homepage.versions.version_support }} + diff --git a/src/content/pages/version-support.md b/src/content/pages/version-support.md new file mode 100644 index 0000000000..95279b42d0 --- /dev/null +++ b/src/content/pages/version-support.md @@ -0,0 +1,46 @@ +--- +layout: page.html +permalink: /version-support/ +multilingual: false +title: Version Support +description: > + The ESLint team provides ongoing support for the current version and six + months of limited support for the previous version. +hook: "version_support_page" +--- + +Major ESLint release lines move through a status of Current, to Maintenance, to End of Life (EOL). A release line is considered Current when prerelease work begins. At that point, the previous release line moves to Maintenance status and stays there until six months after the general availability of the Current release line. After that, the release line moves to EOL. + +## Release Statuses + +ESLint major release lines are designated by the level of support they receive from the ESLint team. The release statuses are: + +* **Current** - Receives active maintenance and development from the ESLint team. +* **Maintenance** - Receives critical bug fixes, including security issues, and compatibility fixes to ensure interoperability between major release lines. There is no backporting of other fixes or features from the current release line. +* **End of Life (EOL)** - When a release line falls out of maintenance mode it receives no further updates from the ESLint team. + +## Current Release Lines + +| **Release Line** | **Status** | **First Release** | **Last Release** | **EOL Start** | **Commercial Support** | +|-------------------|------------|-------------------|-----------------|---------------|------------------------| +| v9.x | Current | 2024-04-05 | TBD | TBD | [Tidelift][tidelift] | +| v8.x | Maintenance | 2021-10-09 | TBD | 2024-10-05 | [Tidelift][tidelift] | +| v7.0.0-v7.32.0 | EOL | 2020-05-08 | 2021-07-30 | 2022-04-09 | [HeroDevs][herodevs] | +| v6.0.0-v6.8.0 | EOL | 2019-06-21 | 2019-12-20 | 2020-11-08 | [HeroDevs][herodevs] | +| v5.0.0-v5.16.0 | EOL | 2018-06-22 | 2019-03-29 | 2019-12-21 | [HeroDevs][herodevs] | +| v4.0.0-v4.19.1 | EOL | 2017-06-11 | 2018-03-21 | 2018-12-22 | [HeroDevs][herodevs] | +| v3.0.0-v3.19.0 | EOL | 2016-07-01 | 2017-03-31 | 2017-12-11 | [HeroDevs][herodevs] | +| v2.0.0-v2.13.1 | EOL | 2016-02-12 | 2016-06-20 | 2017-01-01 | [HeroDevs][herodevs] | +| v1.0.0-v1.10.3 | EOL | 2015-07-31 | 2015-12-01 | 2016-08-12 | [HeroDevs][herodevs] | + +## Commercial Support + +ESLint offers commercial support through our partners, [Tidelift][tidelift] and [HeroDevs][herodevs]. + +For Current and Maintenance release lines, commercial support is provided by [Tidelift][tidelift]. Tidelift validates that ESLint is up-to-date with the latest security best practices and can be a first point of contact for any problems that may arise. [Learn more][tidelift] + +For EOL release lines, commercial support is provided by [HeroDevs][herodevs]. HeroDevs provides drop-in replacements for older versions of ESLint that are kept up-to-date for security and compliance issues. [Learn more][herodevs] + + +[tidelift]: https://tidelift.com/funding/github/npm/eslint +[herodevs]: https://www.herodevs.com/support/eslint-nes?utm_source=ESLintWebsite&utm_medium=ESLintWebsite&utm_campaign=ESLintNES&utm_id=ESLintNES diff --git a/src/static/redirects.njk b/src/static/redirects.njk index 53ade584aa..848e0f213c 100644 --- a/src/static/redirects.njk +++ b/src/static/redirects.njk @@ -119,3 +119,8 @@ eleventyExcludeFromCollections: true # Redirect blog back to English site /blog/* https://eslint.org/blog/:splat 302! {% endif %} + +{% if site.locals.version_support == false %} +# Redirect version support page back to English site +/version-support/ https://eslint.org/version-support/ 302! +{% endif %}