From 2e8db7ad2384b756894eac6be72bcf720f7f28fa Mon Sep 17 00:00:00 2001 From: "Fred K. Schott" Date: Thu, 26 Aug 2021 15:02:38 -0700 Subject: add algolia and cleanup docs readme --- examples/docs/src/components/HeadSEO.astro | 2 +- .../docs/src/components/Header/AstroLogo.astro | 6 +- examples/docs/src/components/Header/Header.astro | 56 ++--- .../docs/src/components/Header/LanguageSelect.tsx | 6 +- examples/docs/src/components/Header/Search.tsx | 7 +- .../src/components/LeftSidebar/LeftSidebar.astro | 2 +- examples/docs/src/components/util.ts | 4 - examples/docs/src/config.ts | 38 ++-- examples/docs/src/languages.ts | 23 +- examples/docs/src/layouts/Main.astro | 239 --------------------- examples/docs/src/pages/en/example.md | 36 ---- examples/docs/src/pages/en/getting-started.md | 190 ---------------- examples/docs/src/pages/en/index.astro | 5 - examples/docs/src/pages/en/introduction.md | 63 +----- examples/docs/src/pages/en/page-2.md | 50 +++++ examples/docs/src/pages/en/page-3.md | 36 ++++ examples/docs/src/pages/en/page-4.md | 36 ++++ examples/docs/src/pages/index.astro | 25 +-- 18 files changed, 192 insertions(+), 632 deletions(-) delete mode 100644 examples/docs/src/components/util.ts delete mode 100644 examples/docs/src/layouts/Main.astro delete mode 100644 examples/docs/src/pages/en/example.md delete mode 100644 examples/docs/src/pages/en/getting-started.md delete mode 100644 examples/docs/src/pages/en/index.astro create mode 100644 examples/docs/src/pages/en/page-2.md create mode 100644 examples/docs/src/pages/en/page-3.md create mode 100644 examples/docs/src/pages/en/page-4.md (limited to 'examples/docs/src') diff --git a/examples/docs/src/components/HeadSEO.astro b/examples/docs/src/components/HeadSEO.astro index 5553eb2d0..268809a87 100644 --- a/examples/docs/src/components/HeadSEO.astro +++ b/examples/docs/src/components/HeadSEO.astro @@ -18,7 +18,7 @@ const imageAlt = content?.image?.alt ?? OPEN_GRAPH.image.alt; - + diff --git a/examples/docs/src/components/Header/AstroLogo.astro b/examples/docs/src/components/Header/AstroLogo.astro index ff1939ad9..124865f1b 100644 --- a/examples/docs/src/components/Header/AstroLogo.astro +++ b/examples/docs/src/components/Header/AstroLogo.astro @@ -4,12 +4,10 @@ const {size} = Astro.props;
- {lang && } -
+ {KNOWN_LANGUAGE_CODES.length > 1 && } + {CONFIG.ALGOLIA &&
} \ No newline at end of file diff --git a/examples/docs/src/components/Header/LanguageSelect.tsx b/examples/docs/src/components/Header/LanguageSelect.tsx index cf325eedc..8b9807fe8 100644 --- a/examples/docs/src/components/Header/LanguageSelect.tsx +++ b/examples/docs/src/components/Header/LanguageSelect.tsx @@ -1,7 +1,7 @@ import type { FunctionalComponent } from 'preact'; import { h } from 'preact'; import './LanguageSelect.css'; -import { LANGUAGE_NAMES, langPathRegex } from '../../languages'; +import { KNOWN_LANGUAGES, langPathRegex } from '../../languages'; const LanguageSelect: FunctionalComponent<{ lang: string }> = ({ lang }) => { return ( @@ -23,9 +23,9 @@ const LanguageSelect: FunctionalComponent<{ lang: string }> = ({ lang }) => { window.location.pathname = '/' + newLang + actualDest; }} > - {Object.keys(LANGUAGE_NAMES).map((key) => { + {Object.keys(KNOWN_LANGUAGES).map((key) => { return ( - ); diff --git a/examples/docs/src/components/Header/Search.tsx b/examples/docs/src/components/Header/Search.tsx index d842e007f..19ee513f1 100644 --- a/examples/docs/src/components/Header/Search.tsx +++ b/examples/docs/src/components/Header/Search.tsx @@ -2,7 +2,8 @@ import { useState, useCallback, useRef } from 'react'; import { createPortal } from 'react-dom'; import { DocSearchModal, useDocSearchKeyboardEvents } from '@docsearch/react'; -import '@docsearch/css//dist/style.css'; +import * as CONFIG from '../../config.js'; +import '@docsearch/css/dist/style.css'; import './Search.css'; export default function Search() { @@ -53,8 +54,8 @@ export default function Search() { initialQuery={initialQuery} initialScrollY={window.scrollY} onClose={onClose} - indexName="astro" - apiKey="0f387260ad74f9cbf4353facd29c919c" + indexName={(CONFIG as any).ALGOLIA.indexName} + apiKey={(CONFIG as any).ALGOLIA.apiKey} transformItems={(items) => { return items.map((item) => { // We transform the absolute URL into a relative URL to diff --git a/examples/docs/src/components/LeftSidebar/LeftSidebar.astro b/examples/docs/src/components/LeftSidebar/LeftSidebar.astro index 96bd36fba..e979dc80e 100644 --- a/examples/docs/src/components/LeftSidebar/LeftSidebar.astro +++ b/examples/docs/src/components/LeftSidebar/LeftSidebar.astro @@ -1,6 +1,6 @@ --- +import { getLanguageFromURL } from '../../languages.ts'; import { SIDEBAR } from '../../config.ts'; -import { getLanguageFromURL } from '../util.ts'; const {currentPage} = Astro.props; const currentPageMatch = currentPage.slice(1); const langCode = getLanguageFromURL(currentPage); diff --git a/examples/docs/src/components/util.ts b/examples/docs/src/components/util.ts deleted file mode 100644 index 0ec91bce0..000000000 --- a/examples/docs/src/components/util.ts +++ /dev/null @@ -1,4 +0,0 @@ -export function getLanguageFromURL(pathname: string) { - const langCodeMatch = pathname.match(/\/([a-z]{2}-?[A-Z]{0,2})\//); - return langCodeMatch ? langCodeMatch[1] : 'en'; -} diff --git a/examples/docs/src/config.ts b/examples/docs/src/config.ts index cf0d58ed5..a9001b8ab 100644 --- a/examples/docs/src/config.ts +++ b/examples/docs/src/config.ts @@ -1,22 +1,36 @@ -export const SIDEBAR = { - en: [ - { text: 'Getting Started', header: true }, - { text: 'Introduction', link: 'en/introduction' }, - { text: 'Getting Started', link: 'en/getting-started' }, - { text: 'Example', link: 'en/example' }, - ], -}; - export const SITE = { - title: 'Astro Documentation', - description: 'Build faster websites with less client-side Javascript.', + title: 'Your Documentation Website', + description: 'Your website description.', + defaultLanguage: 'en_US', }; export const OPEN_GRAPH = { - locale: 'en_US', image: { src: 'https://github.com/snowpackjs/astro/blob/main/assets/social/banner.png?raw=true', alt: 'astro logo on a starry expanse of space,' + ' with a purple saturn-like planet floating in the right foreground', }, twitter: 'astrodotbuild', }; + +export const KNOWN_LANGUAGES = { + English: 'en', +}; + +// Uncomment this to enable site search. +// See "Algolia" section of the README for more information. +// export const ALGOLIA = { +// indexName: 'XXXXXXXXXX', +// apiKey: 'XXXXXXXXXX', +// } + +export const SIDEBAR = { + en: [ + { text: 'Section Header', header: true }, + { text: 'Introduction', link: 'en/introduction' }, + { text: 'Page 2', link: 'en/page-2' }, + { text: 'Page 3', link: 'en/page-3' }, + + { text: 'Another Section', header: true }, + { text: 'Page 4', link: 'en/page-4' }, + ], +}; diff --git a/examples/docs/src/languages.ts b/examples/docs/src/languages.ts index e56855631..389c3d7a7 100644 --- a/examples/docs/src/languages.ts +++ b/examples/docs/src/languages.ts @@ -1,19 +1,8 @@ -export const LANGUAGE_NAMES = { - English: 'en', -}; +import { KNOWN_LANGUAGES } from './config.js'; -export const KNOWN_LANGUAGES = Object.values(LANGUAGE_NAMES); -export const langPathRegex = new RegExp(`\/(${KNOWN_LANGUAGES.join('|')})\/`); -export const getLanguageDetails = () => { - // @ts-ignore - let newLangWithRegion = (window.navigator.userLanguage || window.navigator.language || 'en-US').substr(0, 5); - let newLang = newLangWithRegion.substr(0, 2); +export const KNOWN_LANGUAGE_CODES = Object.values(KNOWN_LANGUAGES); - let actualDest = window.location.pathname.replace(langPathRegex, '/'); - return { - newLangWithRegion, - newLang, - langPathRegex, - actualDest, - }; -}; +export function getLanguageFromURL(pathname: string) { + const langCodeMatch = pathname.match(/\/([a-z]{2}-?[A-Z]{0,2})\//); + return langCodeMatch ? langCodeMatch[1] : 'en'; +} diff --git a/examples/docs/src/layouts/Main.astro b/examples/docs/src/layouts/Main.astro deleted file mode 100644 index bce5b1e6e..000000000 --- a/examples/docs/src/layouts/Main.astro +++ /dev/null @@ -1,239 +0,0 @@ ---- -// Component Imports -import ArticleFooter from '../components/ArticleFooter.astro'; -import SiteSidebar from '../components/SiteSidebar.astro'; -import ThemeToggle from '../components/ThemeToggle.tsx'; -import DocSidebar from '../components/DocSidebar.tsx'; - -// Component Script: -// You can write any JavaScript/TypeScript that you'd like here. -// It will run during the build, but never in the browser. -// All variables are available to use in the HTML template below. -const { content } = Astro.props; -const headers = content.astro.headers; -const currentPage = Astro.request.url.pathname; -const currentFile = currentPage === '/' ? 'src/pages/index.md' : `src/pages${currentPage.replace(/\/$/, "")}.md`; -const githubEditUrl = `https://github.com/USER/REPO/blob/main/${currentFile}` - -// Full Astro Component Syntax: -// https://docs.astro.build/core-concepts/astro-components/ ---- - - - {content.title} - - - - - -- cgit v1.2.3