diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/index.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/index.js
index c4c0a38c5da..0da3d3d07fc 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/index.js
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/index.js
@@ -15,7 +15,6 @@ import { toggleBooleanClass, setIsTranslating, getCurrentLang, scrollToActiveExp
import { leackChecker } from './helpers/leak-checker';
import {
addLangToLinks,
- newBreadcrumbsController,
newLanguageSwitcherController,
newNavController,
newPromoCodesController,
@@ -94,7 +93,6 @@ const searchConfig = getSearchConfig(params);
Alpine.data('lncSearchExplorerInitial', () => newSearchExplorerInitial());
Alpine.data('lncSearchExplorerHydrated', () => newSearchExplorerHydrated(searchConfig));
Alpine.data('lncToc', newToCController);
- Alpine.data('lncBreadcrumbs', () => newBreadcrumbsController(searchConfig));
Alpine.data('lncDropdowns', newDropdownsController);
Alpine.data('lncTabs', newTabsController);
Alpine.data('lncDisqus', newDisqus);
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/breadcrumbs.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/breadcrumbs.js
deleted file mode 100644
index 0cf7a3f35c9..00000000000
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/breadcrumbs.js
+++ /dev/null
@@ -1,49 +0,0 @@
-'use strict';
-
-import { newCreateHref } from './create-href';
-
-var debug = 0 ? console.log.bind(console, '[breadcrumbs]') : function () {};
-
-export function newBreadcrumbsController(searchConfig) {
- if (!searchConfig) {
- throw 'newBreadcrumbsController: must provide searchConfig';
- }
- const hrefFactory = newCreateHref(searchConfig);
-
- return {
- data: {
- breadcrumbs: {
- sections: [],
- },
- },
- breadCrumbsCreated: false,
- init: function () {
- this.$nextTick(() => {
- this.$store.search.withBlank((result) => {
- let parts = hrefFactory.sectionsFromPath();
- let sections = [];
- let sectionKeys = [];
- for (let i = 0; i < parts.length; i++) {
- let section = parts[i];
- sectionKeys.push(section.toLowerCase());
- let key = sectionKeys.join(' > ');
- let sm = result.getSectionMeta(key);
- if (sm) {
- sections.push(sm);
- } else {
- // Just show a link to the home page in the breadcrumbs.
- // This is mostly a misspelled URL.
- // We could create a path based on the location,
- // as we do sanitize in sectionsFromPath,
- // but let's not open up to potential XSS attacks.
- sections.length = 0;
- break;
- }
- }
-
- this.data.breadcrumbs.sections = sections;
- });
- });
- },
- };
-}
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/explorer.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/explorer.js
index c7ed747b30f..8128b6d4a8a 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/explorer.js
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/explorer.js
@@ -86,30 +86,76 @@ export function newSearchExplorerHydrated(searchConfig) {
facets: [],
},
+ // Flag to indicate if the explorer has been activated.
+ activated: false,
+
isActive: function () {
return this.isOpen() && this.$store.search.shouldShowHydratedExplorerAndIsHydrated();
},
- init: async function () {
- debug('newSearchExplorerHydrated.init');
- const handleKeyOpenStack = () => {
- let stack = this.$store.search.explorer.keyOpenStack;
- debug('handleKeyOpenStack', stack.length);
- if (!stack.length) {
+ init: function () {
+ let isInit = false;
+ let activate = () => {
+ if (isInit) {
return;
}
- let nn = stack.pop();
- let open = !nn.open;
- let n = this.explorer.facets.find((n) => n.key === nn.key);
- if (n && n.open != open) {
- n.open = open;
- if (open) {
- openNodeAndCloseTheOthers(n, this.explorer.facets);
- }
- }
- this.activateHydration();
+ isInit = true;
+ this.doActivate();
+ this.activated = true;
};
+ this.$watch('$store.search.results.main.result', (value) => {
+ activate();
+ });
+
+ this.$watch('$store.search.explorer.keyOpenStack', (value) => {
+ activate();
+ if (this.$store.search.explorer.hydrated) {
+ this.handleKeyOpenStack();
+ }
+ });
+
+ this.$watch(' $store.search.explorer.hydrated', (value) => {
+ this.handleKeyOpenStack();
+ });
+
+ this.doInit();
+ },
+
+ handleKeyOpenStack: function () {
+ if (!this.activated) {
+ return;
+ }
+ let stack = this.$store.search.explorer.keyOpenStack;
+ debugDev('handleKeyOpenStack', stack.length, this.explorer.facets.length);
+ if (!stack.length || !this.explorer.facets.length) {
+ return;
+ }
+
+ let nn = stack.pop();
+ let open = !nn.open;
+ let n = this.explorer.facets.find((n) => n.key === nn.key);
+ if (n && n.open != open) {
+ n.open = open;
+ if (open) {
+ openNodeAndCloseTheOthers(n, this.explorer.facets);
+ }
+ }
+ this.activateHydration();
+ },
+
+ doInit: function () {
+ debug('newSearchExplorerHydrated.doActivate');
+
+ this.$watch('$store.search.results.main.sectionFacets', (value) => {
+ debug('watch $store.search.results.main.sectionFacets');
+ updateFacetState(this.explorer.facets, value);
+ });
+ },
+
+ doActivate: function () {
+ debug('newSearchExplorerHydrated.doInit');
+
this.$store.search.withExplorerData((data) => {
let facets = data.blank.sectionFacets;
// Apply some metadata used for Algolia events and similar.
@@ -168,18 +214,9 @@ export function newSearchExplorerHydrated(searchConfig) {
this.explorer.rootNodes = rootNodes;
- this.$watch('$store.search.results.main.sectionFacets', (value) => {
- debug('watch $store.search.results.main.sectionFacets');
- updateFacetState(this.explorer.facets, value);
- });
-
- this.$watch('$store.search.explorer.keyOpenStack', (value) => {
- debug('$store.search.explorer.keyOpenStack', value);
- handleKeyOpenStack();
- });
-
this.openAndCloseNodes();
this.$store.search.explorer.hydrated = true;
+ debugDev('hydrated');
}, createExplorerNodeRequest);
},
@@ -224,18 +261,7 @@ export function newSearchExplorerHydrated(searchConfig) {
closeLevel(1, this.explorer.facets);
} else {
let hrefSection = pageInfo.hrefSection;
- if (pageInfo.section === 'api') {
- // The API section is currently a little special.
- hrefSection = pageInfo.href;
- } else if (pageInfo.href === '/docs/sections/') {
- // E.g. blog, marketplace. These are static only on the first level.
- // We need to open up the second level.
- hrefSection = decodeURI(window.location.pathname);
-
- // We don't have a static representation of these nodes.
- this.activateHydration(true);
- }
- debugDev('openAndCloseNodes.hrefSection', hrefSection);
+ debug('openAndCloseNodes.hrefSection', hrefSection);
let currentNode = this.findNode(hrefSection);
if (currentNode) {
currentNode.open = currentNode.count > 0;
@@ -255,7 +281,6 @@ export function newSearchExplorerNode(searchConfig, node) {
let ctrl = {
node: node,
- counter: 0,
state: {
childNodes: [],
pages: [], // Includes only visible pages.
@@ -409,7 +434,6 @@ export function newSearchExplorerNode(searchConfig, node) {
{
pronto: true,
query: query,
- fileCacheID: self.node.key,
},
);
},
@@ -480,7 +504,7 @@ const findChildren = function (href, nodes) {
};
const openNodeAndCloseTheOthers = function (node, nodes) {
- debugDev('openNodeAndCloseTheOthers', node.href);
+ debug('openNodeAndCloseTheOthers', node.href);
for (let i = 0; i < nodes.length; i++) {
let n = nodes[i];
if (node.href.startsWith(n.href)) {
@@ -489,7 +513,7 @@ const openNodeAndCloseTheOthers = function (node, nodes) {
n.open = false;
}
if (n.open) {
- debugDev('openNodeAndCloseTheOthers.open', n.href);
+ debug('openNodeAndCloseTheOthers.open', n.href);
}
}
};
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/index.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/index.js
index 0c2a2316c5c..f69e3b39294 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/index.js
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/index.js
@@ -1,4 +1,3 @@
-export * from './breadcrumbs';
export * from './explorer';
export * from './create-href';
export * from './lang';
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/nav-store.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/nav-store.js
index 2896c5b5108..ee8ca111c04 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/nav-store.js
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/navigation/nav-store.js
@@ -128,8 +128,6 @@ export function newNavStore(searchConfig, searchStore, params, Alpine) {
this.onetrust.functional = groupArray.includes('C0003');
this.onetrust.targeting = groupArray.includes('C0004');
this.onetrust.socialmedia = groupArray.includes('C0005');
-
- console.log('updateOptanonGroups', this.onetrust);
},
openSearchPanel(scrollUp = false) {
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/request.ts b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/request.ts
index 70d91b09705..953bf048214 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/request.ts
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/request.ts
@@ -15,7 +15,6 @@ interface Request {
interface RequestMeta {
query: Query;
pronto: boolean;
- fileCacheID: string;
}
@@ -36,7 +35,6 @@ interface RequestCallback {
meta?: RequestMeta;
isFiltered(): boolean;
- getFileCacheID(): string;
}
export enum RequestCallBackStatus {
@@ -75,13 +73,7 @@ export const newRequestCallback = function(
return false;
}
return meta.query.isFiltered();
- },
- getFileCacheID: function(): string {
- if (!meta) {
- return '';
- }
- return meta.fileCacheID;
- }
+ },
};
};
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/search-store.js b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/search-store.js
index db50ffef9da..a6fcb0063f2 100644
--- a/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/search-store.js
+++ b/_vendor/github.com/linode/linode-docs-theme/assets/js/main/search/search-store.js
@@ -60,8 +60,6 @@ const createSectionFacetsSorted = function (searchConfig, result) {
};
export function newSearchStore(searchConfig, params, Alpine) {
- let cacheWarmerUrls = params.search_cachewarmer_urls;
-
let setResult = function (result, loaded = true) {
let facets = createSectionFacetsSorted(searchConfig, result);
this.sectionFacets = facets;
@@ -84,7 +82,7 @@ export function newSearchStore(searchConfig, params, Alpine) {
results.lastQueryID = result.queryID;
};
- const searcher = new Searcher(searchConfig, results.blank, cacheWarmerUrls, resultCallback, debug);
+ const searcher = new Searcher(searchConfig, results.blank, resultCallback, debug);
let searchEffectMain = null;
const router = newCreateHref(searchConfig);
const queryHandler = new QueryHandler();
@@ -298,7 +296,6 @@ export function newSearchStore(searchConfig, params, Alpine) {
},
{
query: query,
- fileCacheID: sectionKey,
},
);
},
@@ -342,24 +339,15 @@ export function newSearchStore(searchConfig, params, Alpine) {
}, new Map());
markLoaded();
},
- {
- fileCacheID: 'sectionsmeta',
- },
- ),
- newRequestCallback(
- createSectionRequest(null),
- (result) => {
- if (!result.index.endsWith('linode-merged')) {
- throw `invalid state: ${result.index}`;
- }
- debug('withBlank.blank.result:', result);
- this.results.blank.set(result, false);
- markLoaded();
- },
- {
- fileCacheID: 'explorer-blank',
- },
),
+ newRequestCallback(createSectionRequest(null), (result) => {
+ if (!result.index.endsWith('linode-merged')) {
+ throw `invalid state: ${result.index}`;
+ }
+ debug('withBlank.blank.result:', result);
+ this.results.blank.set(result, false);
+ markLoaded();
+ }),
);
},
};
@@ -589,7 +577,7 @@ const normalizeResult = function (self, result) {
};
class SearchBatcher {
- constructor(searchConfig, metaProvider, cacheWarmerUrls, resultCallback = (result) => {}) {
+ constructor(searchConfig, metaProvider, resultCallback = (result) => {}) {
const algoliaHost = `https://${searchConfig.app_id}-dsn.algolia.net`;
this.headers = {
'X-Algolia-Application-Id': searchConfig.app_id,
@@ -601,7 +589,6 @@ class SearchBatcher {
this.cacheEnabled = true;
this.metaProvider = metaProvider;
this.resultCallback = resultCallback;
- this.cacheWarmerUrls = cacheWarmerUrls;
this.interval = () => {
return 100;
};
@@ -674,33 +661,6 @@ class SearchBatcher {
return { cacheMisses: cacheMisses, cacheMissesKeys: cacheMissesKeys };
}
- async checkFileCache(fileCacheID) {
- // Try the local file cache if found.
- let fileCacheUrl = this.cacheWarmerUrls[fileCacheID];
-
- if (fileCacheUrl) {
- debug('fetch data from file cache:', fileCacheUrl);
- const response = await fetch(fileCacheUrl, { credentials: 'same-origin' });
-
- if (response.ok) {
- let data = await response.json();
- if (Array.isArray(data)) {
- if (data.length > 0) {
- // We currently don't want the branch nodes (in the explorer).
- data = data.filter((item) => !item.isBranch);
- }
- data = {
- hits: data,
- };
- }
-
- normalizeResult(this, data);
- return data;
- }
- }
- return null;
- }
-
async search(...requestCallbacks) {
debug('search, num requests:', requestCallbacks.length);
if (requestCallbacks.length === 0) {
@@ -734,21 +694,6 @@ class SearchBatcher {
continue;
}
- if (!rc.isFiltered()) {
- let fileCacheID = rc.getFileCacheID();
- if (fileCacheID) {
- let data = await this.checkFileCache(fileCacheID);
- if (data) {
- rc.callback(data);
- this.resultCallback(data);
- if (this.cacheEnabled) {
- this.cache.set(rck, data);
- }
- continue;
- }
- }
- }
-
requests.push(req);
cacheResult.cacheMissesKeys.push(rck);
cacheResult.cacheMisses.push(rc);
@@ -803,8 +748,8 @@ class SearchBatcher {
}
class Searcher {
- constructor(searchConfig, metaProvider, cacheWarmerUrls, resultCallback, debug = function () {}) {
- this.batcher = new SearchBatcher(searchConfig, metaProvider, cacheWarmerUrls, resultCallback);
+ constructor(searchConfig, metaProvider, resultCallback, debug = function () {}) {
+ this.batcher = new SearchBatcher(searchConfig, metaProvider, resultCallback);
}
searchFactories(factories, query) {
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/explorer-blank.json b/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/explorer-blank.json
deleted file mode 100644
index ef6a98036a0..00000000000
--- a/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/explorer-blank.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "indexName": "linode-merged",
- "facets": ["section.*", "docType", "category", "tags"],
- "distinct": 1
-}
diff --git a/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/sectionsmeta.json b/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/sectionsmeta.json
deleted file mode 100644
index f28a41a2e54..00000000000
--- a/_vendor/github.com/linode/linode-docs-theme/assets/json/search_cachewarmer_queries/sectionsmeta.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "indexName": "linode-documentation-sections",
- "params": "query=&hitsPerPage=600"
-}
diff --git a/_vendor/github.com/linode/linode-docs-theme/config.toml b/_vendor/github.com/linode/linode-docs-theme/config.toml
index 03610be6358..41f8c096dca 100644
--- a/_vendor/github.com/linode/linode-docs-theme/config.toml
+++ b/_vendor/github.com/linode/linode-docs-theme/config.toml
@@ -94,6 +94,7 @@
[params.search_config2.sections.guides]
name = "guides"
+ hugo_section = "guides"
filters = "section.lvl0:guides"
weight = 10
title = "Cloud Guides & Tutorials"
@@ -111,7 +112,8 @@
[params.search_config2.sections.reference-architecture]
name = "reference-architecture"
- filters = "section.lvl0:guides"
+ hugo_section = "reference-architecture"
+ filters = "section.lvl0:reference-architecture"
weight = 20
title = "Reference Architectures"
noun = "Reference"
@@ -119,6 +121,7 @@
[params.search_config2.sections.marketplace-docs]
name = "marketplace-docs"
+ hugo_section = "marketplace-docs"
weight = 25
title = "Marketplace Docs"
noun = "Marketplace"
diff --git a/_vendor/github.com/linode/linode-docs-theme/content/sections/_index.md b/_vendor/github.com/linode/linode-docs-theme/content/sections/_index.md
deleted file mode 100644
index bdec313a310..00000000000
--- a/_vendor/github.com/linode/linode-docs-theme/content/sections/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Section
-
-cascade:
- _build:
- render: true
- list: false
- publishResources: false
----
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/_default/_markup/render-heading.html b/_vendor/github.com/linode/linode-docs-theme/layouts/_default/_markup/render-heading.html
index db2d8b9f45c..df19f922726 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/_default/_markup/render-heading.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/_default/_markup/render-heading.html
@@ -1,9 +1,4 @@
{{- $id := .Anchor -}}
{{- $level := .Level -}}
-{{ if eq .Page.Section "release-notes" }}
-{{- $level = add $level 1 -}}
-{{- $slug := .Page.Slug | default .Page.Title -}}
-{{- $id = printf "%s-%s" ($slug | anchorize) $id -}}
-{{- end -}}
-{{- $ariaLabel := printf "%s: %s" .Page.LinkTitle .Text }}
-{{ partial "heading" (dict "id" $id "level" $level "text" .Text "ariaLabel" $ariaLabel) }}
\ No newline at end of file
+{{- $ariaLabel := printf "%s: %s" .Page.LinkTitle .Text }}
+{{ partial "heading" (dict "id" $id "level" $level "text" .Text "ariaLabel" $ariaLabel) }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/_default/list.html b/_vendor/github.com/linode/linode-docs-theme/layouts/_default/list.html
index 5a689e784c0..ab40a08029a 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/_default/list.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/_default/list.html
@@ -5,18 +5,12 @@
{{ define "main" }}
- {{ $isDynamic := (eq .Type "sections") }}
- {{ if $isDynamic }}
- {{ partial "components/nojs.html" . }}
- {{ else }}
- {{ template "list-nojs" . }}
- {{ end }}
+ {{ template "list-nojs" . }}
{{ template "list-js" . }}
{{ end }}
{{ define "list-js" }}
- {{ $isDynamic := eq .RelPermalink "/docs/sections/" }}
{{ partial "components/error.html" . }}
@@ -24,15 +18,10 @@
- {{ if $isDynamic }}
-
- {{ else }}
-
- {{ $.Title }}
-
- {{ end }}
+
+ {{ $.Title }}
+
+
- {{ if $isDynamic }}
-
+ {{ if ge (len .Content) 20 }}
+
+ {{ $.Content }}
+
{{ else }}
- {{ if ge (len .Content) 20 }}
-
- {{ $.Content }}
-
- {{ else }}
-
{{ $.Params.description }}
- {{ end }}
+
{{ $.Params.description }}
{{ end }}
- {{ $isStatic := (ne $.RelPermalink "/docs/sections/") }}
- {{/* TODO1 if query set. */}}
-
- {{ template "section-list-tiles-dynamic" (dict "page" $) }}
-
+ x-if="(!$store.search.query.isFiltered()) && uiState.showSectionsTiles()">
{{ template "section-list-tiles-static" (dict "page" $) }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
index 58766f6582d..062d1e45aff 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
@@ -38,14 +38,11 @@
data-cfasync="false"
defer>
-{{ $algoliaData := (partialCached "sections/search/create-cachewarmers-urls.html" . ) }}
-{{ $cacheWarmerUrls := $algoliaData.urls }}
{{ $params := (dict
"search_config" site.Params.search_config2
"file_issue_button" site.Params.file_issue_button
"weglot_api_key" site.Params.weglot_api_key
"page_title_suffix" site.Params.page_title_suffix
- "search_cachewarmer_urls" $cacheWarmerUrls
"is_production" (ne hugo.Environment "development")
"is_test" $isTest )
}}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
index 8a6ff0a5c92..c5d339af308 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
@@ -1,47 +1,19 @@
{{ $p := .page }}
{{ $wrap := .wrap }}
-{{ if and (not (eq $p.Type "sections") ) (not (eq $p.Type "content") ) }}
- {{/* This is a fully static Hugo hosted page. Render the breadcrumbs statically. */}}
-
-
- {{ template "breadcrums-item" (dict "p1" $p "p2" $p ) }}
- {{ $platformParent := partial "funcs/get-relation-platform-parent.html" $p }}
- {{ if $platformParent }}
-
- {{ template "breadcrumbs-arrow" . }}
- {{ $platformParent.page.LinkTitle }}
-
- {{ end }}
-
-
-{{ else }}
-
-
+
+
+ {{ template "breadcrums-item" (dict "p1" $p "p2" $p ) }}
+ {{ $platformParent := partial "funcs/get-relation-platform-parent.html" $p }}
+ {{ if $platformParent }}
- {{ template "breadcrumbs-home" . }}
-
- {{ template "breadcrumbs-arrow" . }}
-
+ {{ template "breadcrumbs-arrow" . }}
+ {{ $platformParent.page.LinkTitle }}
-
-
-
-
- {{ template "breadcrumbs-arrow" . }}
-
-
-
-
-
-{{ end }}
+ {{ end }}
+
+
{{ define "breadcrumbs-home" }}
Filtered by search term
- {{ if hugo.IsServer }}
-
- {{ end }}
{{ $self := dict "n" "nroot" "level" 1 }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
index 88f875ba071..12e63298b2e 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
@@ -10,78 +10,52 @@
x-data="lncSearchExplorerInitial()"
x-show="isOpen() && !$store.search.shouldShowHydratedExplorerAndIsHydrated()"
x-transition.opacity.duration.30ms>
- {{ if hugo.IsServer }}
-
- {{ end }}
{{ template "explorer-static" . }}
{{ define "explorer-static" }}
- {{ $configSections := site.Params.search_config2.sections }}
- {{ $data := (partialCached "sections/search/create-cachewarmers-urls.html" . ).data }}
- {{ $sectionfacets := index $data "sectionfacets" }}
- {{ $sectionsmeta := (index $data "sectionsmetamap") }}
- {{ $pageSectionsHref := "" }}
- {{ $pageSectionsEntries := slice }}
- {{ if eq .Section "api" }}
- {{/* The API section is currently a little different. */}}
- {{ $pageSectionsHref = .RelPermalink }}
- {{ $pageSectionsEntries = split .RelPermalink "/" | after 2 }}
- {{ else }}
- {{ $pageSectionsHref = $.CurrentSection.RelPermalink }}
- {{ $pageSectionsEntries = $.CurrentSection.SectionsEntries }}
- {{ end }}
-
- {{/* For blog, marketplace etc. we render one page for all sections. */}}
- {{ $isStatic := (ne $.RelPermalink "/docs/sections/") }}
-
- {{ $delim := " > " }}
- {{ $prefixes := slice }}
- {{ $prefix := "" }}
- {{ if $isStatic }}
- {{ range $pageSectionsEntries }}
- {{ $prefix = printf "%s%s%s" $prefix . $delim }}
- {{ $prefixes = $prefixes | append $prefix }}
- {{ end }}
- {{ end }}
-
- {{/* We don't want/need to render everything. */}}
- {{ $facets := slice }}
- {{ $otherFacets := slice }}
- {{ range $i, $v := $sectionfacets -}}
- {{ $open := and (not $.IsHome) $isStatic (strings.HasPrefix $pageSectionsHref $v.href) }}
- {{ $include := or $open (eq $v.level 1) }}
- {{ if not $include }}
- {{ range $prefixes }}
- {{ $level := add (. | strings.Count $delim) 1 }}
- {{ if and (eq $level $v.level) (strings.HasPrefix $v.key .) }}
- {{ $include = true }}
- {{ break }}
- {{ end }}
+ {{ $configSections := sort site.Params.search_config2.sections "weight" }}
+ {{ $roots := slice }}
+ {{ range $configSections }}
+ {{ $section := "" }}
+ {{ $open := false }}
+ {{ with .hugo_section }}
+ {{ $section = site.GetPage . }}
+ {{ if not $section }}
+ {{ errorf "explorer: section %q not found" . }}
{{ end }}
+ {{ $open = eq $.FirstSection $section }}
{{ end }}
+ {{ $root := dict "section" $section "config" . "page" $ "open" $open }}
+ {{ $roots = $roots | append $root }}
+ {{ end }}
- {{ if $include }}
- {{ $facets = $facets | append (merge $v (dict "open" $open)) -}}
+ {{ range $roots }}
+ {{ $href := "" }}
+ {{ $title := .config.title }}
+ {{ with .config.static_link_url }}
+ {{ $href = . }}
+ {{ else with .section }}
+ {{ $href = .RelPermalink }}
+ {{ else }}
+ {{ errorf "invalid search config for the explorer nodes, one of static_link_url or hugo_section must be set" }}
{{ end }}
- {{ end -}}
-
- {{ $facets = sort $facets "weight" }}
- {{ $d := dict
- "facets" $facets
- "data" $data
- "dot" $
- }}
+ {{ $node := dict
+ "level" 1
+ "count" 1
+ "open" .open
+ "title" $title
+ "href" $href
+ "key" .config.name
+ "page" .section
+ "icon" .config.explorer_icon
+ }}
- {{ range $d.facets }}
- {{ if ne .level 1 -}}
- {{ continue -}}
- {{ end }}
{{ $d := dict
- "data" $d
- "node" .
+ "node" $node
+ "root" .
}}
{{ template "explorer-static-node-recursive" $d }}
{{ end }}
@@ -94,7 +68,6 @@
}}
{{ $classes := partial "inline/get-classes" $classesm -}}
- {{ $nodeJSON := (dict "open" .node.open "level" .node.level "key" .node.key "href" .node.href "count" .node.count) | jsonify -}}
{{ $classes := partial "inline/get-classes" (dict
@@ -140,7 +113,7 @@
data-testid="node-link"
class="block relative cursor-pointer pr-3 no-underline capitalize z-10 flex-auto {{ $classes }}">
- {{ .node.linkTitle | default .node.title }}
+ {{ .node.title }}
@@ -197,37 +170,24 @@
{{ if .node.open }}
{{ $node := .node }}
- {{ $pages := index $.data.data $.node.key }}
- {{ if $pages }}
- {{ $pages = sort $pages "linkTitle" }}
- {{ end }}
- {{ with $pages }}
- {{ $pageCount := 0 }}
- {{ $pageCountHidden := 0 }}
- {{ range $i, $p := . }}
- {{ if $p.isBranch }}
- {{ continue }}
- {{ end }}
- {{ $pageCount = add $pageCount 1 }}
- {{ if $p.deprecated }}
- {{ $pageCountHidden = add $pageCountHidden 1 }}
+ {{ $nextLevel := add .node.level 1 }}
+ {{ if and .root.section .node.page (or (eq .node.page .root.section) (.node.page.IsDescendant .root.section)) }}
+ {{ $pageCountHidden := 0 }}
+ {{ $pageCount := 0 }}
+ {{ $parent := . }}
+ {{ $regularPages := .node.page.RegularPages.ByLinkTitle }}
+ {{/* This matches how we sort facets from Algolia when search kicks in. */}}
+ {{ $sections := sort .node.page.Sections "RelPermalink" }}
+ {{ range $regularPages }}
+ {{ $pageCount = add $pageCount 1 }}
+ {{ if .Params.deprecated }}
+ {{ $pageCountHidden = add $pageCountHidden 1 }}
{{ continue }}
{{ end }}
+ {{ $isActive := and $parent.root.page (eq . $parent.root.page ) }}
+ {{ $objectID := "" }}{{/* uses href for analytics, this can be blank. */}}
+ {{ $href := .RelPermalink }}
- {{ if $p.hierarchy }}
- {{/* This is the reference-section.
- All pages in a section shares the same href (the section),
- and the best match is selected while searching using Algolia's distinct keyword.
- This is the explorer and we needk link to the detail page.
- */}}
- {{ $p = index $p.hierarchy (sub (len $p.hierarchy) 1) }}
- {{ end }}
-
- {{ $target := "" }}
- {{ if strings.HasPrefix $p.href "http" }}
- {{ $target = "_blank" }}
- {{ end }}
- {{ $isActive := (eq $p.href $.data.dot.RelPermalink) }}
{{ $classes := partial "inline/get-classes" (dict
"text-textcolor" (not $isActive)
"text-brand font-semibold is-active-page" $isActive
@@ -236,12 +196,11 @@
}}
- {{ $p.linkTitle }}
+ {{ .LinkTitle }}
{{ end }}
@@ -257,21 +216,25 @@
{{ end }}
- {{ end }}
- {{ $facetsNextLevel := slice }}
- {{ $nextLevel := add .node.level 1 }}
- {{ range $.data.facets -}}
- {{ if or (not (eq .level $nextLevel)) (not (strings.HasPrefix .href $.node.href)) -}}
- {{ continue -}}
- {{ end -}}
- {{ $d := dict
- "data" $.data
- "node" .
- }}
- {{ $facetsNextLevel = $facetsNextLevel | append $d -}}
- {{ end -}}
- {{ range $facetsNextLevel -}}
- {{ template "explorer-static-node-recursive" . }}
+ {{ range $sections }}
+ {{ $open := and (not .IsPage) (or (eq $parent.root.page .) (.IsAncestor $parent.root.page)) }}
+ {{ $key := delimit .SectionsEntries " > " }}
+ {{ $node := dict
+ "level" $nextLevel
+ "count" (len .Pages)
+ "open" $open
+ "title" .LinkTitle
+ "href" .RelPermalink
+ "key" $key
+ "page" .
+ }}
+
+ {{ $d := dict
+ "node" $node
+ "root" $parent.root
+ }}
+ {{ template "explorer-static-node-recursive" $d }}
+ {{ end }}
{{ end }}
{{ end }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/create-cachewarmers-urls.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/create-cachewarmers-urls.html
deleted file mode 100644
index 6d05ae10e2a..00000000000
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/create-cachewarmers-urls.html
+++ /dev/null
@@ -1,226 +0,0 @@
-{{/* Holds links to JSON resources. */}}
-{{ $resourcem := dict }}
-{{/* The same data as above, but the raw Go data. */}}
-{{ $datam := dict }}
-
-{{ $searchConfig := site.Params.search_config2 }}
-{{ $prefix := $searchConfig.index_prefix | strings.TrimSuffix "_" }}
-{{ $delim := " > " }}
-{{ $queries := resources.Match "json/search_cachewarmer_queries/*.json" }}
-{{ $requestsSlice := slice }}
-{{ range $queries }}
- {{ $q := . | transform.Unmarshal }}
- {{ if $prefix }}
- {{ $indexName := printf "%s_%s" $prefix $q.indexName }}
- {{ $q = merge $q (dict "indexName" $indexName) }}
- {{ end }}
- {{ $requestsSlice = $requestsSlice | append $q }}
-{{ end }}
-{{ $requests := dict "requests" $requestsSlice }}
-
-{{ $url := printf "https://%s-dsn.algolia.net/1/indexes/*/queries" $searchConfig.app_id }}
-{{ $headers := dict
- "Content-Type" "application/json"
- "X-Algolia-Application-Id" $searchConfig.app_id
- "X-Algolia-API-Key" $searchConfig.api_key
-}}
-
-{{/* Effectively invalidate the cache by using a different key every second. */}}
-{{ $key := (div now.UnixMilli 1000) }}
-
-{{ $res := resources.GetRemote $url (dict
- "method" "post"
- "headers" $headers
- "body" (jsonify $requests)
- "key" $key
- )
-}}
-
-{{ $globalTargetPathLayout := "cachewarmers/global/%s.json" }}
-
-{{ with $res }}
- {{/* Create one JSON file per Algolia result. */}}
- {{ $data := .Content | transform.Unmarshal }}
- {{ range $i, $e := $queries }}
- {{ $name := path.Base $e.Name | strings.TrimSuffix ".json" }}
-
- {{ $targetPath := printf $globalTargetPathLayout $name }}
- {{ $res := index $data.results $i }}
- {{ $targetResource := resources.FromString $targetPath (jsonify $res) }}
- {{ if (ne hugo.Environment "development") }}
- {{ $targetResource = $targetResource | minify }}
- {{ end }}
- {{ $resourcem = merge $resourcem (dict $name $targetResource.RelPermalink) }}
- {{ $datam = merge $datam (dict $name $res) }}}
- {{ end }}
-{{ else }}
- {{ $help := "" }}
- {{ if and (not $res) (strings.Contains $url "testing") }}
- {{ $help = "\n\nNote that for new Algolia test prefixes, the environment needs to be created (linalgadm sequence testing-docs-prefix-update PREFIX) before running Hugo.\n\nYou can skip this error by adding algolia-cachewarme to the ignoreErrors config slice, or in the environemtn, e.g: 'HUGO_IGNOREERRORS=algolia-cachewarmer hugo'.\n\n" }}
- {{ end }}
- {{ erroridf "algolia-cachewarmer" "Got %v result from Algolia using url %q and requests\n%s%s" $res $url ($requests | jsonify) $help }}
-{{ end }}
-
-{{ $searchData := partialCached "sections/search/get-search-data.html" . -}}
-{{ $searchData = sort $searchData "section" }}
-{{ $currentSection := "" }}
-{{ $currentSectionData := slice }}
-{{ $dodebug := false }}
-
-{{ $currentSectionData := slice }}
-{{ $currentSection := "" }}
-{{ $searchDatam := dict }}
-{{ $counter := 0 }}
-{{ range $i, $e := $searchData }}
- {{ if findRE `^.*-branches` $e.section }}
- {{ continue }}
- {{ end }}
- {{ $section := $e.section | string }}
- {{ if ne $currentSection $section }}
- {{ $counter = add $counter 1 }}
- {{ end }}
- {{ if not $currentSection }}
- {{ $currentSection = $section }}
- {{ end }}
- {{ if (ne $currentSection $section ) }}
- {{ if $currentSectionData }}
- {{ $searchDatam = merge $searchDatam (dict $currentSection $currentSectionData) }}
- {{ end }}
- {{ $currentSection = $section }}
- {{ $currentSectionData = slice }}
- {{ end }}
- {{ $currentSectionData = $currentSectionData | append . }}
-{{ end }}
-{{ if $currentSectionData }}
- {{ $searchDatam = merge $searchDatam (dict $currentSection $currentSectionData) }}
-{{ end }}
-
-{{/* Fill in the gaps for any missing sections. */}}
-{{ $emptySections := slice }}
-{{ range $k, $v := $searchDatam }}
- {{ $parts := split $k $delim }}
- {{ $key := "" }}
- {{ range $i, $e := $parts }}
- {{ if $i }}
- {{ $key = printf "%s%s%s" $key $delim $e }}
- {{ else }}
- {{ $key = . }}
- {{ end }}
- {{ if not (index $searchDatam $key ) }}
- {{ $emptySections = $emptySections | append $key }}
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{/* This prevents cache misses for sections without any leaf nodes. */}}
-{{ range $emptySections }}
- {{ $searchDatam = merge $searchDatam (dict . slice) }}
-{{ end }}
-
-{{ range $k, $v := $searchDatam }}
- {{ $name := replace $k " > " "_" }}
- {{ $targetPath := printf "cachewarmers/sections/%s.json" $name }}
- {{ $targetResource := resources.FromString $targetPath (jsonify .) }}
- {{ if (ne hugo.Environment "development") }}
- {{ $targetResource = $targetResource | minify }}
- {{ end }}
- {{ $resourcem = merge $resourcem (dict $k $targetResource.RelPermalink) }}
-{{ end }}
-{{ $datam = merge $datam $searchDatam }}
-
-{{/* Create a flat section facets slice sorted by the key. */}}
-{{ $blank := index $datam "explorer-blank" }}
-{{ $sectionsmetahits := (index $datam "sectionsmeta").hits }}
-{{ $s := newScratch }}
-{{ range $sectionsmetahits }}
- {{ $s.Set .objectID . }}
-{{ end }}
-{{ $sectionsmetamap := $s.Values }}
-{{ $facets := slice }}
-{{ $configSections := site.Params.search_config2.sections }}
-{{ $staticSections := slice (index $configSections "products") (index $configSections "api") }}
-{{ range $staticSections }}
- {{/* Moved to Akamai, insert a static link node. */}}
- {{ $linkURL := .static_link_url }}
- {{/* count -1 is a magic number indicating a static link. */}}
- {{ $node := ( dict
- "key" ""
- "href" $linkURL
- "title" .title
- "linkTitle" .title
- "icon" .explorer_icon
- "count" -1
- "level" 1
- "weight" .weight
- )
- }}
- {{ $facets = $facets | append $node }}
-{{ end }}
-{{ range $k, $v := $blank.facets }}
- {{ if not (strings.HasPrefix $k "section.") }}
-
- {{ continue }}
- {{ end }}
- {{ $level := add (substr $k -1 | int) 1 }}
- {{ range $kk, $vv := $v }}
- {{ $parts := strings.Split $kk " > " }}
- {{ $first := index $parts 0 | lower }}
- {{ if not (index $configSections $first ) }}
- {{ continue }}
- {{ end }}
- {{ $last := index $parts (sub (len $parts) 1) }}}
- {{ $node := "" }}
- {{ $section := index $sectionsmetamap $kk }}
- {{ $title := "" }}
- {{ $linkTitle:= "" }}
- {{ with $section }}
- {{ $title = .title }}
- {{ $linkTitle = .linkTitle }}
- {{ else }}
- {{ $title = replace $last "-" " " | title }}
- {{ $linkTitle = $title }}
- {{ end }}
- {{ $sectionsPath := (path.Join $parts) }}
- {{/* Note that this is a mix of Hugo and other sections. We cannot use urlize, because we need to preserve spaces. */}}
- {{ $href := printf "/docs/%s/" ($sectionsPath | lower ) }}
- {{ $weight := 9999 }}
-
- {{ if and (eq $level 1) (index $configSections $kk) }}
- {{ $c := (index $configSections $kk) }}
- {{ if $c.static_link_url }}
- {{ $href = $c.static_link_url }}
- {{ end }}
- {{ $node = (dict
- "key" $kk
- "href" $href
- "title" $c.title
- "linkTitle" $c.linkTitle
- "icon" $c.explorer_icon
- "count" $vv
- "level" $level
- "weight" $c.weight
- )
- }}
- {{ else }}
- {{ $node = ( dict
- "key" $kk
- "href" $href
- "title" $title
- "linkTitle" $linkTitle
- "icon" ""
- "count" $vv
- "level" $level
- "weight" $weight
- )
- }}
- {{ end }}
- {{ $facets = $facets | append $node }}
- {{ end }}
-{{ end }}
-
-{{/* Prepare some data needed by the explorer. */}}
-{{ $facets = sort $facets "href" }}
-{{ $name := "sectionfacets" }}
-{{ $datam = merge $datam (dict $name $facets) }}}
-{{ $datam = merge $datam (dict "sectionmetamap" $sectionsmetamap) }}}
-{{ return (dict "urls" $resourcem "data" $datam) }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/filters.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/filters.html
index 55867178abe..f66d232d286 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/filters.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/search/filters.html
@@ -86,7 +86,7 @@ Filters
@change="apply()" />
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/list.html b/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/list.html
index ae36121767d..0a79a576e3c 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/list.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/list.html
@@ -3,82 +3,7 @@
{{ end }}
{{ define "main" }}
-
-
- {{ partial "funcs/get-page-title-h1.html" . }}
-
-
-
- {{ $currentText := printf "%s (%d)" .LinkTitle (len .RegularPagesRecursive) }}
- {{ $root := .FirstSection }}
- {{ $items := slice }}
- {{ $sections := ($root.Sections | append $root).ByWeight }}
- {{ range $sections }}
- {{ if ne . $ }}
- {{ $items = $items | append (dict "text" (printf "%s (%d)" .LinkTitle (len .RegularPagesRecursive)) "url" .RelPermalink ) }}
- {{ end }}
- {{ end }}
-
- {{ template "releasenotes/dropdown.html" (dict "text" $currentText "items" $items) }}
-
-
-
- {{ .Content }}
-
- {{ $jsonPath := printf "%sindex.json" .RelPermalink }}
- {{ partial "releasenotes/list-pages-paginated.html" (dict "pages" .RegularPagesRecursive "key" $jsonPath ) }}
-
-
-{{ end }}
-
-{{ define "releasenotes/dropdown.html" }}
-
-
-
- {{ .text }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ range .items }}
-
- {{ end }}
-
-
-
-
+ {{/* See issue 1008. These are now redirects. Preserve these templates until the content is also removed. */}}
+ {{/* We need to print something: */}}
+
{{ end }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/single.html b/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/single.html
index 798b4f23f05..dee3aaa1465 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/single.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/release-notes/single.html
@@ -1,6 +1,5 @@
{{ define "main" }}
-
-
{{ .Title }}
- {{ .Content }}
-
+ {{/* See issue 1008. These are now redirects. Preserve these templates until the content is also removed. */}}
+ {{/* We need to print something: */}}
+
{{ end }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/releasenotes/list.html b/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/releasenotes/list.html
index becced5f8a5..726b30af45a 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/releasenotes/list.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/releasenotes/list.html
@@ -1,148 +1,3 @@
-{{ $limit := .Get "limit" | default 0 }}
-{{ $path := .Get "path" }}
-{{ if not $path -}}
- {{ errorf "path not set in %s" .Position -}}
-{{ end -}}
-{{ $section := site.GetPage (path.Join "release-notes" $path) }}
-{{ if not $section -}}
- {{ warnf "section %q not found in %s" $path .Position -}}
-{{ end -}}
-{{ $pages := $section.RegularPagesRecursive }}
-{{ if $limit -}}
- {{ $pages = $pages | first $limit }}
-{{ end -}}
-{{ $jsonPath := printf "%sindex.json" .Page.RelPermalink }}
-{{ partial "releasenotes/list-pages-paginated.html" (dict "pages" $pages "key" $jsonPath ) }}
-{{ define "partials/releasenotes/list-pages.html" }}
- {{ range . }}
-
- {{ $id := (.Slug | default .Title) | anchorize }}
- {{ partial "heading" (dict "id" $id "level" 2 "text" .Title "class" "mb-1 text-2xl") }}
- {{ with .Params.version }}
-
{{ . }},
- {{ end }}
- {{ $date := .Date }}
-
- {{ $date.Format site.Params.time_format_default }}
-
-
- {{ .Content }}
-
-
- {{ end }}
-{{ end }}
-{{ define "partials/releasenotes/list-pages-paginated.html" }}
- {{ $pages := .pages }}
- {{ $key := .key }}
- {{ $items := slice }}
- {{ range $pages }}
- {{ $id := (.Slug | default .Title) | anchorize }}
- {{ $version := .Params.version }}
- {{ $date := .Date }}
- {{ $dateStr := $date.Format site.Params.time_format_default }}
- {{ $content := .Content }}
- {{ $title := .Title }}
- {{ $items = $items | append (dict
- "id" $id
- "version" $version
- "date" $date
- "dateStr" $dateStr
- "title" $title
- "content" $content )
- }}
- {{ end }}
- {{ $json := ($items | jsonify) | resources.FromString (printf "%s.json" $key ) }}
- {{ if (ne hugo.Environment "development") }}
- {{ $json = $json | minify }}
- {{ end }}
-
-
-
- {{ partial "releasenotes/list-pages-paginated-nav.html" (dict "class" "border-b border-divider mb-8") }}
-
-
-
- {{ partial "releasenotes/list-pages-paginated-nav.html" (dict "class" "border-t border-divider") }}
-
-{{ end }}
-
-{{ define "partials/releasenotes/list-pages-paginated-nav.html" }}
-
-
-
-
- First
-
-
- Previous
-
-
- Next
-
-
- Last
-
-
-
-
-{{ end }}
+{{/* See issue 1008. These are now redirects/not in use. Preserve these templates until the content is also removed. */}}
+{{/* We need to print something: */}}
+
diff --git a/_vendor/modules.txt b/_vendor/modules.txt
index 549677e12c9..cbd5054d896 100644
--- a/_vendor/modules.txt
+++ b/_vendor/modules.txt
@@ -1,4 +1,4 @@
-# github.com/linode/linode-docs-theme v0.0.0-20250513144910-cddeb56c075c
+# github.com/linode/linode-docs-theme v0.0.0-20250528190530-9bd6611ce1d3
# github.com/linode/linode-website-partials v0.0.0-20250409155719-a69a3433df0c
# github.com/gohugoio/hugo-mod-jslibs-dist/alpinejs/v3 v3.21300.20800
# github.com/gohugoio/hugo-mod-jslibs/turbo/v8 v8.20000.20400
diff --git a/docs/guides/email/_index.md b/docs/guides/email/_index.md
index 1ce70d28be8..748dbbe22fc 100644
--- a/docs/guides/email/_index.md
+++ b/docs/guides/email/_index.md
@@ -1,6 +1,6 @@
---
title: Email Server Guides
-description: "Every organization needs email service. Whether you're running a personal blog or an entire company's web infrastructure on your Linodes, these guides will assist you in getting a stable mail/groupware server up and running quickly. **Note:** These guides involve or result in sending email. In an effort to fight spam, Linode may restrict outbound connections on ports 25, 465, and 587 on Linodes for new accounts created after November 5th, 2019. For more information, please see [Sending Email on Linode](/docs/products/platform/get-started/guides/send-email/)."
+description: "Every organization needs email service. Whether you're running a personal blog or an entire company's web infrastructure on your Linodes, these guides will assist you in getting a stable mail/groupware server up and running quickly."
authors: ["Linode"]
contributors: ["Linode"]
keywords: ["linux mail server", "email server", "Citadel", "Postfix", "Courier", "SMTP server"]
@@ -11,3 +11,8 @@ icon: "envelope"
aliases: ['/email/']
---
+Every organization needs email service. Whether you're running a personal blog or an entire company's web infrastructure on your Linodes, these guides will assist you in getting a stable mail/groupware server up and running quickly.
+
+{{< note >}}
+These guides involve or result in sending email. In an effort to fight spam, Linode may restrict outbound connections on ports 25, 465, and 587 on Linodes for new accounts created after November 5th, 2019. For more information, please see [Sending Email on Linode](/docs/products/platform/get-started/guides/send-email/).
+{{< /note >}}
diff --git a/go.mod b/go.mod
index 79c57626a52..857720e5a48 100644
--- a/go.mod
+++ b/go.mod
@@ -7,5 +7,5 @@ require (
github.com/gohugoio/hugo-mod-jslibs/turbo/v7 v7.20300.20000 // indirect
github.com/instantpage/instant.page v5.1.1+incompatible // indirect
github.com/linode/linode-api-docs/v4 v4.176.0 // indirect
- github.com/linode/linode-docs-theme v0.0.0-20250513144910-cddeb56c075c // indirect
+ github.com/linode/linode-docs-theme v0.0.0-20250528190530-9bd6611ce1d3 // indirect
)
diff --git a/go.sum b/go.sum
index efbd60f6e7b..77f71907ebd 100644
--- a/go.sum
+++ b/go.sum
@@ -324,6 +324,8 @@ github.com/linode/linode-docs-theme v0.0.0-20250429183205-b5ce62d26795 h1:AOOYay
github.com/linode/linode-docs-theme v0.0.0-20250429183205-b5ce62d26795/go.mod h1:D4CREqxDmJW1ubkMagGdNUhKKE3h3ASWmnEUpqnJcsA=
github.com/linode/linode-docs-theme v0.0.0-20250513144910-cddeb56c075c h1:mGZmro7CoKOEPLrqzTDZBRmVTIPZk7ZlNX1q2H8f688=
github.com/linode/linode-docs-theme v0.0.0-20250513144910-cddeb56c075c/go.mod h1:D4CREqxDmJW1ubkMagGdNUhKKE3h3ASWmnEUpqnJcsA=
+github.com/linode/linode-docs-theme v0.0.0-20250528190530-9bd6611ce1d3 h1:6e7435SGTfxIQQY0vY8X+yLNmzwEhUVhtOAPwlNMBKo=
+github.com/linode/linode-docs-theme v0.0.0-20250528190530-9bd6611ce1d3/go.mod h1:D4CREqxDmJW1ubkMagGdNUhKKE3h3ASWmnEUpqnJcsA=
github.com/linode/linode-website-partials v0.0.0-20221205205120-b6ea1aaa59fb/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao=
github.com/linode/linode-website-partials v0.0.0-20221222200538-99862e429110/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao=
github.com/linode/linode-website-partials v0.0.0-20230201145731-a8703d0a954a/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao=