remove view transitions and added architecture stub

This commit is contained in:
Ethan Holz
2023-11-05 14:34:35 -06:00
parent 143e8de114
commit 35622eface
3 changed files with 84 additions and 70 deletions

View File

@@ -1,140 +1,143 @@
import "dotenv/config";
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import tailwind from "@astrojs/tailwind";
import 'dotenv/config'
import { defineConfig } from 'astro/config'
import starlight from '@astrojs/starlight'
import tailwind from '@astrojs/tailwind'
// SEE: https://developers.google.com/analytics/devguides/collection/gtagjs
const gaTrackingID = process.env.GA_TRACKING_ID;
const gaSrc = `https://www.googletagmanager.com/gtag/js?id=${gaTrackingID}`;
const gaTrackingID = process.env.GA_TRACKING_ID
const gaSrc = `https://www.googletagmanager.com/gtag/js?id=${gaTrackingID}`
// SEE: https://plausible.io/docs/plausible-script
const plausibleDomain = process.env.PLAUSIBLE_DOMAIN;
const plausibleDomain = process.env.PLAUSIBLE_DOMAIN
const plausibleSrc =
process.env.PLAUSIBLE_SRC || "https://plausible.io/js/script.js";
process.env.PLAUSIBLE_SRC || 'https://plausible.io/js/script.js'
const head = [];
const head = []
if (gaTrackingID) {
head.push(
{
tag: "script",
tag: 'script',
attrs: {
src: gaSrc,
async: true,
},
},
{
tag: "script",
tag: 'script',
content: `
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${gaTrackingID}');
`,
}
);
},
)
}
if (plausibleDomain && plausibleSrc) {
head.push({
tag: "script",
tag: 'script',
attrs: {
src: plausibleSrc,
"data-domain": plausibleDomain,
'data-domain': plausibleDomain,
defer: true,
},
});
})
}
head.push(
{
tag: "link",
tag: 'link',
attrs: {
rel: "apple-touch-icon",
href: "/apple-touch-icon.png",
sizes: "180x180",
rel: 'apple-touch-icon',
href: '/apple-touch-icon.png',
sizes: '180x180',
},
},
{
tag: "link",
tag: 'link',
attrs: {
rel: "icon",
type: "image/png",
href: "/favicon-32x32.png",
sizes: "32x32",
rel: 'icon',
type: 'image/png',
href: '/favicon-32x32.png',
sizes: '32x32',
},
},
{
tag: "link",
tag: 'link',
attrs: {
rel: "icon",
type: "image/png",
href: "/favicon-16x16.png",
sizes: "16x16",
rel: 'icon',
type: 'image/png',
href: '/favicon-16x16.png',
sizes: '16x16',
},
},
{
tag: "link",
tag: 'link',
attrs: {
rel: "manifest",
href: "/site.webmanifest",
rel: 'manifest',
href: '/site.webmanifest',
},
},
{
tag: "link",
tag: 'link',
attrs: {
rel: "mask-icon",
href: "/safari-pinned-tab.svg",
color: "#7cc6fe",
rel: 'mask-icon',
href: '/safari-pinned-tab.svg',
color: '#7cc6fe',
},
},
{
tag: "meta",
tag: 'meta',
attrs: {
name: "msapplication-TileColor",
content: "#7cc6fe",
name: 'msapplication-TileColor',
content: '#7cc6fe',
},
},
{
tag: "meta",
tag: 'meta',
attrs: {
name: "theme-color",
content: "#bee1ff",
name: 'theme-color',
content: '#bee1ff',
},
}
);
},
)
// https://astro.build/config
export default defineConfig({
integrations: [
starlight({
title: "grlx Docs",
title: 'grlx Docs',
description:
"Documentation for grlx. Fleet configuration management that is low overhead, dependency free, and easy to install.",
'Documentation for grlx. Fleet configuration management that is low overhead, dependency free, and easy to install.',
components: {
Head: "./src/components/Transitions.astro",
Footer: "./src/components/AdatomicFooter.astro",
Footer: './src/components/AdatomicFooter.astro',
},
customCss: ["./src/tailwind.css"],
defaultLocale: "root",
customCss: ['./src/tailwind.css'],
defaultLocale: 'root',
locales: {
root: {
label: "English",
lang: "en", // lang is required for root locales
label: 'English',
lang: 'en', // lang is required for root locales
},
},
favicon: "/favicon.ico",
favicon: '/favicon.ico',
head,
logo: { src: "./src/assets/grlx.webp" },
logo: { src: './src/assets/grlx.webp' },
social: {
github: "https://github.com/gogrlx/grlx",
"x.com": "https://x.com/gogrlx",
github: 'https://github.com/gogrlx/grlx',
'x.com': 'https://x.com/gogrlx',
},
sidebar: [
{ label: "Getting Started", link: "/getting-started" },
{ label: 'Getting Started', link: '/getting-started' },
{
label: "Ingredients",
autogenerate: { directory: "ingredients" },
label: 'Ingredients',
autogenerate: { directory: 'ingredients' },
},
{
label: 'Architecture',
autogenerate: { directory: 'architecture' },
},
],
}),
@@ -143,5 +146,5 @@ export default defineConfig({
applyBaseStyles: false,
}),
],
site: "https://doc.grlx.dev",
});
site: 'https://doc.grlx.dev',
})

View File

@@ -1,8 +0,0 @@
---
import type { Props } from '@astro/starlight/props'
import Default from '@astrojs/starlight/components/Head.astro'
import { ViewTransitions } from 'astro:transitions'
---
<ViewTransitions />
<Default {...Astro.props}><slot /><</Default>

View File

@@ -0,0 +1,19 @@
---
title: Overview
description: A brief description of the grlx architecture
---
At a high level our architecture looks like the following:
We can boil down the `grlx` into three different parts: the farmer, the sprout, and the CLI.
## Farmer
The farmer is your control server. This has analogs in other similar configuration platforms. In SaltStack, this is your Salt Master, or in Chef, your Chef Server. `grlx` utilizes the farmer for things like authentication, job processing, and [ingredients](/architecture/overview#ingredients).
## Sprout
The sprout is what the farmer manages. This is similar to a Salt Minion in SaltStack or a Chef Client in Chef. Jobs are received from the farmer over the NATS message bus for actions to be performed on the sprout itself.
## CLI
## Ingredients