diff --git a/data/ui.yml b/data/ui.yml index 05bf6ae34694..f6fb7d07caae 100644 --- a/data/ui.yml +++ b/data/ui.yml @@ -69,9 +69,11 @@ contribution_cta: enterprise_releases_list: title: Enterprise Server Releases currently_supported: Currently supported - currently_supported_message: See GitHub Enterprise for more information. + currently_supported_message: See GitHub Enterprise for information about the latest release. deprecated: Deprecated deprecated_message: 'These docs remain available but are no longer maintained:' + deprecated_developer: Deprecated on developer.github.com + deprecated_developer_message: 'These docs remain available on the legacy developer site but are no longer maintained:' products: graphql: reference: diff --git a/layouts/enterprise-server-releases.html b/layouts/enterprise-server-releases.html index 533c171c130c..f4cec49988f3 100644 --- a/layouts/enterprise-server-releases.html +++ b/layouts/enterprise-server-releases.html @@ -8,7 +8,7 @@
-
+
@@ -17,15 +17,27 @@

{% data ui.enterprise_releases_list.title %}

+
+
+ {% if miniTocItems.size > 1 %} +

{% data ui.pages.miniToc %}

+
    + {% for item in miniTocItems %} +
  • {{ item.contents }}
  • + {% endfor %} +
+ {% endif %} +
+
-

{% data ui.enterprise_releases_list.currently_supported %}

+

{% data ui.enterprise_releases_list.currently_supported %}

{% data ui.enterprise_releases_list.currently_supported_message %}

-

{% data ui.enterprise_releases_list.deprecated %}

+

{% data ui.enterprise_releases_list.deprecated %}

{% data ui.enterprise_releases_list.deprecated_message %}

    {% for version in enterpriseServerReleases.deprecatedReleasesWithNewFormat %} @@ -35,6 +47,11 @@

    {% data ui.enterprise_releases_list.deprecated %}

  • Enterprise Server {{version}}
  • {% endfor %}
+

{% data ui.enterprise_releases_list.deprecated_developer %}

+

{% data ui.enterprise_releases_list.deprecated_developer_message %}

+ {% for version in enterpriseServerReleases.deprecatedReleasesOnDeveloperSite %} +
  • Enterprise Server {{version}}
  • + {% endfor %} {% include support %} {% include small-footer %}
    diff --git a/lib/enterprise-server-releases.js b/lib/enterprise-server-releases.js index 6674dc3d8678..a5c5c6f09ad4 100644 --- a/lib/enterprise-server-releases.js +++ b/lib/enterprise-server-releases.js @@ -46,6 +46,7 @@ const lastVersionWithoutStubbedRedirectFiles = '2.17' const lastReleaseWithLegacyFormat = '2.18' const deprecatedReleasesWithLegacyFormat = deprecated.filter(version => versionSatisfiesRange(version, '<=2.18')) const deprecatedReleasesWithNewFormat = deprecated.filter(version => versionSatisfiesRange(version, '>2.18')) +const deprecatedReleasesOnDeveloperSite = deprecated.filter(version => versionSatisfiesRange(version, '<=2.16')) module.exports = { supported, @@ -61,5 +62,6 @@ module.exports = { lastVersionWithoutStubbedRedirectFiles, lastReleaseWithLegacyFormat, deprecatedReleasesWithLegacyFormat, - deprecatedReleasesWithNewFormat + deprecatedReleasesWithNewFormat, + deprecatedReleasesOnDeveloperSite } diff --git a/middleware/enterprise-releases.js b/middleware/enterprise-server-releases.js similarity index 59% rename from middleware/enterprise-releases.js rename to middleware/enterprise-server-releases.js index 7cca6c248d5b..a3f331d97c9b 100644 --- a/middleware/enterprise-releases.js +++ b/middleware/enterprise-server-releases.js @@ -1,8 +1,13 @@ const { liquid } = require('../lib/render-content') const layouts = require('../lib/layouts') +const getMiniTocItems = require('../lib/get-mini-toc-items') module.exports = async (req, res, next) => { if (!req.path.endsWith('/enterprise-server-releases')) return next() + const html = await liquid.parseAndRender(layouts['enterprise-server-releases'], req.context) + + req.context.miniTocItems = getMiniTocItems(html) + return res.send(await liquid.parseAndRender(layouts['enterprise-server-releases'], req.context)) } diff --git a/middleware/index.js b/middleware/index.js index 01cb0db3e8f2..b133f3283e0d 100644 --- a/middleware/index.js +++ b/middleware/index.js @@ -73,7 +73,7 @@ module.exports = function (app) { app.use(require('./contextualizers/rest')) app.use(require('./contextualizers/webhooks')) app.use(require('./breadcrumbs')) - app.use(require('./enterprise-releases')) + app.use(require('./enterprise-server-releases')) app.use(require('./dev-toc')) app.use(require('./featured-links'))