mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
docs: add a link to next article (#1308)
This commit is contained in:
parent
1953c6113f
commit
8c69275f03
2 changed files with 20 additions and 2 deletions
|
@ -1,9 +1,17 @@
|
||||||
---
|
---
|
||||||
const {content, githubEditUrl} = Astro.props;
|
const {content, githubEditUrl, currentPage} = Astro.props;
|
||||||
const title = content.title;
|
const title = content.title;
|
||||||
const headers = content.astro.headers;
|
const headers = content.astro.headers;
|
||||||
import MoreMenu from '../RightSidebar/MoreMenu.astro';
|
import MoreMenu from '../RightSidebar/MoreMenu.astro';
|
||||||
import TableOfContents from '../RightSidebar/TableOfContents.tsx';
|
import TableOfContents from '../RightSidebar/TableOfContents.tsx';
|
||||||
|
import {getLanguageFromURL} from '../../util.ts';
|
||||||
|
import {SIDEBAR} from '../../config.ts';
|
||||||
|
const langCode = getLanguageFromURL(currentPage);
|
||||||
|
const links = SIDEBAR[langCode].filter(x => x.link && typeof x.header === 'undefined');
|
||||||
|
// handle cases with a trailing slash or not
|
||||||
|
const index = links.findIndex(x => `/${x.link}/` === currentPage || `/${x.link}` === currentPage);
|
||||||
|
const next = index !== -1 ? (index === links.length - 1 ? null : links[index + 1]) : null;
|
||||||
|
const previous = index !== -1 ? (index === 0 ? null : links[index - 1]) : null;
|
||||||
---
|
---
|
||||||
<style>
|
<style>
|
||||||
.content {
|
.content {
|
||||||
|
@ -38,4 +46,14 @@ import TableOfContents from '../RightSidebar/TableOfContents.tsx';
|
||||||
<nav class="block sm:hidden">
|
<nav class="block sm:hidden">
|
||||||
<MoreMenu editHref={githubEditUrl}/>
|
<MoreMenu editHref={githubEditUrl}/>
|
||||||
</nav>
|
</nav>
|
||||||
|
{
|
||||||
|
(previous || next) && <aside>
|
||||||
|
{
|
||||||
|
previous && <div>Previous Article: <a rel="prev" href={new URL(previous.link, Astro.site).pathname}>{previous.text}</a></div>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
next && <div>Next Article: <a rel="next" href={new URL(next.link, Astro.site).pathname}>{next.text}</a></div>
|
||||||
|
}
|
||||||
|
</aside>
|
||||||
|
}
|
||||||
</article>
|
</article>
|
|
@ -111,7 +111,7 @@ const formatTitle = (content, SITE) => content.title ? `${content.title} 🚀 ${
|
||||||
<LeftSidebar currentPage={currentPage} />
|
<LeftSidebar currentPage={currentPage} />
|
||||||
</aside>
|
</aside>
|
||||||
<div id="grid-main">
|
<div id="grid-main">
|
||||||
<PageContent content={content} githubEditUrl={githubEditUrl}>
|
<PageContent content={content} githubEditUrl={githubEditUrl} currentPage={currentPage}>
|
||||||
<slot />
|
<slot />
|
||||||
</PageContent>
|
</PageContent>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue