added Prettier, Tailwind, styling, branding, sitemap, tracking

This commit is contained in:
J. Scott Smith
2023-11-03 01:32:34 -07:00
parent c3ce698c4d
commit 081b74d899
28 changed files with 2627 additions and 98 deletions

13
.editorconfig Normal file
View File

@@ -0,0 +1,13 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

4
.env.sample Normal file
View File

@@ -0,0 +1,4 @@
# External APIs
GA_TRACKING_ID=
PLAUSIBLE_DOMAIN=
PLAUSIBLE_SRC=

37
.eslintrc.cjs Normal file
View File

@@ -0,0 +1,37 @@
module.exports = {
// ...
extends: [
// ...
'plugin:astro/recommended',
],
parserOptions: {
ecmaVersion: 'latest',
},
// ...
overrides: [
{
files: ['astro.config.mjs', 'tailwind.config.mjs'],
parserOptions: {
ecmaVersion: 13,
sourceType: 'module',
},
},
{
// Define the configuration for `.astro` file.
files: ['*.astro'],
// Allows Astro components to be parsed.
parser: 'astro-eslint-parser',
// Parse the script in `.astro` as TypeScript by adding the following configuration.
// It's the setting you need when using TypeScript.
parserOptions: {
parser: '@typescript-eslint/parser',
extraFileExtensions: ['.astro'],
},
rules: {
// override/add rules settings here, such as:
// "astro/no-set-html-directive": "error"
},
},
// ...
],
}

296
.gitignore vendored
View File

@@ -1,21 +1,293 @@
# build output ##
dist/ # FROM: https://github.com/github/gitignore/blob/main/Global/Diff.gitignore
# generated types ##
.astro/
# dependencies *.patch
node_modules/ *.diff
# logs
##
# FROM: https://github.com/github/gitignore/blob/main/Global/SublimeText.gitignore
##
# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
# *.sublime-project
# SFTP configuration file
sftp-config.json
sftp-config-alt*.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
##
# FROM: https://github.com/github/gitignore/blob/main/Global/Vim.gitignore
##
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
##
# FROM: https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
##
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
##
# FROM: https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
##
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
##
# FROM: https://github.com/github/gitignore/blob/main/Global/macOS.gitignore
##
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
##
# FROM: https://github.com/github/gitignore/blob/main/Node.gitignore
##
# Logs
logs
*.log
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
pnpm-debug.log* lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# environment variables # Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env .env
.env.production .env.development.local
.env.test.local
.env.production.local
.env.local
# macOS-specific files # parcel-bundler cache (https://parceljs.org/)
.DS_Store .cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
##
# Extras
##
.astro/
.cert
compost

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
v18.14.2

View File

@@ -1,24 +1,147 @@
import { defineConfig } from 'astro/config'; import 'dotenv/config'
import starlight from '@astrojs/starlight'; 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}`
// SEE: https://plausible.io/docs/plausible-script
const plausibleDomain = process.env.PLAUSIBLE_DOMAIN
const plausibleSrc =
process.env.PLAUSIBLE_SRC || 'https://plausible.io/js/script.js'
const head = []
if (gaTrackingID) {
head.push(
{
tag: 'script',
attrs: {
src: gaSrc,
async: true,
},
},
{
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',
attrs: {
src: plausibleSrc,
'data-domain': plausibleDomain,
defer: true,
},
})
}
head.push(
{
tag: 'link',
attrs: {
rel: 'apple-touch-icon',
href: '/apple-touch-icon.png',
sizes: '180x180',
},
},
{
tag: 'link',
attrs: {
rel: 'icon',
type: 'image/png',
href: '/favicon-32x32.png',
sizes: '32x32',
},
},
{
tag: 'link',
attrs: {
rel: 'icon',
type: 'image/png',
href: '/favicon-16x16.png',
sizes: '16x16',
},
},
{
tag: 'link',
attrs: {
rel: 'manifest',
href: '/site.webmanifest',
},
},
{
tag: 'link',
attrs: {
rel: 'mask-icon',
href: '/safari-pinned-tab.svg',
color: '#7cc6fe',
},
},
{
tag: 'meta',
attrs: {
name: 'msapplication-TileColor',
content: '#7cc6fe',
},
},
{
tag: 'meta',
attrs: {
name: 'theme-color',
content: '#bee1ff',
},
},
)
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
integrations: [ integrations: [
starlight({ starlight({
title: 'grlx.dev', title: 'grlx Docs',
components: { Head: './src/components/Transitions.astro'}, description:
'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',
},
customCss: ['./src/tailwind.css'],
defaultLocale: 'root',
locales: {
root: {
label: 'English',
lang: 'en', // lang is required for root locales
},
},
favicon: '/favicon.ico',
head,
logo: { src: './src/assets/grlx.webp' }, logo: { src: './src/assets/grlx.webp' },
social: { social: {
github: 'https://gihthub.com/gogrlx/grlx', github: 'https://gihthub.com/gogrlx/grlx',
'x.com': 'https://x.com/gogrlx', 'x.com': 'https://x.com/gogrlx',
}, },
sidebar: [ sidebar: [
{label: 'Getting Started', link: '/getting-started'}, { label: 'Getting Started', link: '/getting-started' },
{ {
label: 'Ingredients', label: 'Ingredients',
autogenerate: { directory: 'ingredients' }, autogenerate: { directory: 'ingredients' },
}, },
], ],
}), }),
tailwind({
// Disable the default base styles:
applyBaseStyles: false,
}),
], ],
}); site: 'https://doc.grlx.dev',
})

1851
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
{ {
"name": "grlx-starlight", "name": "docs.grlx.dev",
"type": "module", "type": "module",
"version": "0.0.1", "version": "0.0.1",
"scripts": { "scripts": {
@@ -11,8 +11,15 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/starlight": "^0.11.1", "@astrojs/starlight": "^0.11.1",
"@astrojs/starlight-tailwind": "^2.0.1",
"@astrojs/tailwind": "^5.0.2",
"@fontsource/ibm-plex-mono": "^5.0.8",
"@fontsource/ibm-plex-sans": "^5.0.17",
"@fontsource/ibm-plex-serif": "^5.0.8",
"astro": "^3.2.3", "astro": "^3.2.3",
"sharp": "^0.32.5" "dotenv": "^16.3.1",
"sharp": "^0.32.5",
"tailwindcss": "^3.3.5"
}, },
"overrides": { "overrides": {
"astro": { "astro": {
@@ -21,5 +28,12 @@
"@astrojs/starlight": { "@astrojs/starlight": {
"zod": "^3.22.3" "zod": "^3.22.3"
} }
},
"devDependencies": {
"eslint": "^8.52.0",
"eslint-plugin-astro": "^0.29.1",
"prettier": "^3.0.3",
"prettier-plugin-astro": "^0.12.1",
"prettier-plugin-tailwindcss": "^0.5.6"
} }
} }

16
prettier.config.cjs Normal file
View File

@@ -0,0 +1,16 @@
/** @type {import("prettier").Config} */
module.exports = {
arrowParens: 'avoid',
semi: false,
singleQuote: true,
plugins: ['prettier-plugin-astro', 'prettier-plugin-tailwindcss'],
overrides: [
{
files: '*.astro',
options: {
parser: 'astro',
},
},
],
tailwindFunctions: ['tw'],
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

9
public/browserconfig.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#7cc6fe</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
public/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

BIN
public/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

4
public/robots.txt Normal file
View File

@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https:/docs.grlx.dev/sitemap-index.xml

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1380.000000pt" height="1380.000000pt" viewBox="0 0 1380.000000 1380.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,1380.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M7220 13754 c-187 -36 -392 -169 -639 -414 -211 -209 -400 -455 -456
-591 -14 -35 -30 -71 -35 -80 -4 -9 -14 -36 -21 -60 -7 -24 -14 -48 -15 -54
-24 -85 -59 -256 -69 -335 -2 -14 -8 -56 -14 -95 -9 -63 -18 -133 -26 -205 -4
-37 -24 -170 -30 -205 -6 -31 -75 -236 -219 -655 -141 -411 -177 -507 -271
-715 -7 -16 -23 -55 -34 -85 -23 -59 -27 -69 -62 -145 -32 -70 -63 -117 -144
-218 -103 -130 -132 -185 -142 -276 -5 -44 -51 -127 -151 -271 -25 -36 -61
-87 -80 -115 -19 -27 -45 -62 -56 -76 -12 -14 -32 -41 -46 -59 -23 -31 -122
-150 -162 -194 -21 -23 -35 -15 -43 27 -4 17 -11 37 -15 42 -15 20 -102 248
-131 342 -17 54 -37 112 -45 130 -8 17 -14 36 -14 42 0 18 -84 191 -119 246
-63 100 -238 285 -325 344 -12 8 -23 17 -26 20 -10 12 -66 48 -120 78 -80 45
-203 87 -319 109 -13 3 -53 11 -88 18 -92 20 -323 17 -393 -4 -30 -9 -59 -17
-63 -18 -24 -3 -122 -57 -176 -97 -131 -97 -260 -244 -362 -415 -50 -82 -104
-193 -114 -230 0 -3 -9 -28 -18 -56 -10 -28 -19 -59 -21 -70 -3 -10 -9 -39
-15 -64 -19 -84 -21 -105 -32 -253 -10 -135 -3 -368 15 -494 48 -329 191 -727
369 -1026 68 -114 77 -127 136 -185 42 -43 43 -45 25 -61 -18 -17 -151 -133
-223 -196 -168 -146 -299 -277 -431 -431 -66 -77 -256 -351 -311 -449 -135
-242 -233 -433 -342 -665 -67 -143 -91 -195 -92 -200 -1 -3 -10 -23 -19 -45
-10 -22 -31 -71 -48 -110 -55 -130 -59 -140 -68 -160 -68 -152 -117 -306 -133
-413 -10 -65 -13 -172 -12 -350 3 -239 6 -307 20 -452 3 -30 8 -79 11 -109 2
-30 7 -70 9 -90 2 -20 9 -76 15 -126 5 -49 12 -101 15 -115 2 -14 12 -72 21
-130 21 -134 20 -130 34 -230 16 -115 41 -189 102 -295 29 -49 56 -94 61 -100
4 -5 31 -46 59 -90 177 -278 495 -739 527 -765 3 -3 33 -38 66 -79 237 -293
456 -478 802 -679 105 -61 329 -174 443 -225 100 -43 155 -67 170 -72 3 -1 19
-7 35 -14 17 -6 41 -16 55 -21 14 -5 39 -15 55 -21 17 -7 35 -13 40 -15 6 -1
78 -26 160 -54 174 -60 368 -118 539 -161 137 -35 146 -37 201 -49 58 -13 74
-17 130 -30 28 -6 59 -13 70 -15 74 -11 104 -18 130 -30 46 -21 215 -82 265
-96 25 -7 50 -14 55 -15 25 -7 147 -35 170 -39 151 -28 201 -34 370 -40 119
-4 154 -1 235 17 101 23 181 26 445 14 77 -3 205 -8 285 -11 80 -3 188 -9 240
-12 188 -13 531 -6 559 11 3 2 67 7 141 11 74 3 152 8 173 9 20 2 42 -3 47 -9
13 -15 95 -52 136 -60 187 -38 393 -32 659 20 100 20 106 21 192 45 121 34
380 133 393 151 6 8 34 16 80 23 19 3 46 8 60 11 14 3 50 9 80 15 30 6 66 12
80 15 14 3 57 12 95 20 61 13 168 37 215 49 8 2 62 16 120 30 58 15 112 29
120 33 8 3 20 7 25 8 6 0 17 4 25 7 8 3 74 25 145 48 260 85 563 227 800 375
44 27 89 57 99 67 11 10 26 18 33 18 7 0 13 3 13 8 0 4 17 18 38 32 20 14 39
27 42 30 3 3 34 27 70 55 95 73 101 78 125 100 12 11 41 36 66 56 120 99 376
355 519 519 36 41 70 80 76 86 5 6 26 31 45 54 18 24 45 57 60 74 86 105 227
307 255 366 4 8 10 17 13 20 15 12 163 300 175 340 5 14 9 27 10 30 52 117
132 385 155 515 6 33 13 71 16 85 3 13 7 42 10 65 3 22 8 51 10 65 37 204 46
559 20 790 -12 113 -14 124 -24 185 -12 69 -12 69 -40 195 -45 203 -180 591
-286 825 -13 28 -43 95 -68 150 -142 317 -399 780 -551 992 -193 270 -393 461
-703 670 -75 50 -90 64 -80 75 28 30 71 93 115 170 47 82 152 291 152 304 0 3
6 20 14 37 30 64 100 251 110 292 2 6 9 30 16 55 7 25 15 50 16 55 3 11 29
141 38 190 41 218 41 613 1 816 -26 134 -110 338 -192 466 -90 143 -219 287
-335 373 -125 94 -216 128 -366 138 -149 11 -250 -1 -457 -52 -187 -46 -338
-138 -510 -312 -201 -204 -241 -274 -365 -644 -29 -85 -56 -159 -61 -165 -5
-5 -9 -15 -9 -22 0 -7 -12 -38 -26 -70 -28 -64 -24 -64 -76 8 -82 113 -99 135
-106 145 -5 5 -15 21 -22 35 -7 13 -16 26 -19 29 -3 3 -33 46 -66 95 -33 50
-63 92 -67 95 -4 3 -12 17 -17 30 -6 14 -32 57 -56 95 -115 178 -124 197 -126
270 -1 38 -6 87 -10 109 -4 23 -10 58 -13 80 -4 21 -9 42 -12 47 -3 5 -7 17
-9 27 -6 34 -57 177 -67 190 -6 6 -8 12 -5 12 3 0 -8 27 -24 60 -16 33 -29 63
-29 65 0 6 -172 363 -200 415 -19 37 -119 259 -125 280 -1 3 -9 23 -19 45 -46
103 -114 318 -142 450 -23 104 -39 186 -49 240 -3 17 -12 71 -21 120 -9 50
-18 99 -19 110 -3 19 -62 377 -70 422 -2 12 -9 57 -15 100 -7 43 -14 87 -16
98 -3 11 -11 56 -19 100 -8 44 -17 91 -20 105 -3 14 -12 57 -20 95 -31 148
-45 203 -75 295 -17 52 -34 102 -37 110 -3 8 -7 17 -8 20 -1 3 -8 21 -17 40
-8 19 -20 52 -27 72 -8 23 -29 51 -59 74 -26 21 -49 42 -52 46 -23 32 -174 64
-240 52z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

19
public/site.webmanifest Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "grlx Docs",
"short_name": "grlx Docs",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#bee1ff",
"background_color": "#bee1ff",
"display": "standalone"
}

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d76b99d37649a6864264c4a6e26c4f0dbc50b4bed6de57909ef9b0afab455f4
size 12632

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2602ad5e3d7f2fbe8d1ec3c376c867e0c9f41c1616a3d247b591ab729c8d9b7
size 11238

View File

@@ -0,0 +1,35 @@
---
import type { Props } from '@astrojs/starlight/props'
import Default from '@astrojs/starlight/components/Footer.astro'
import { Image } from 'astro:assets'
import adatomicLogoBlack from '../assets/adatomic-logotype-color-black-h-1200x302.webp'
import adatomicLogoWhite from '../assets/adatomic-logotype-color-white-h-1200x302.webp'
const isHomepage = Astro.props.slug === ''
---
{
isHomepage ? (
<footer>
<a href="https://adatomic-com.onrender.com/">
<Image
class="dark:hidden"
width="280"
src={adatomicLogoBlack}
alt="ADAtomic logo"
/>
<Image
class="hidden dark:inline"
width="280"
src={adatomicLogoWhite}
alt="ADAtomic logo"
/>
</a>
<p>&copy; 2023 ADAtomic, Inc. All rights reserved.</p>
</footer>
) : (
<Default {...Astro.props}>
<slot />
</Default>
)
}

View File

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

View File

@@ -1,7 +1,7 @@
import { defineCollection } from 'astro:content'; import { defineCollection } from 'astro:content'
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'
export const collections = { export const collections = {
docs: defineCollection({ schema: docsSchema() }), docs: defineCollection({ schema: docsSchema() }),
i18n: defineCollection({ type: 'data', schema: i18nSchema() }), i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
}; }

View File

@@ -2,15 +2,20 @@
title: grlx.ingredients.service title: grlx.ingredients.service
description: service description: service
--- ---
The `service` ingredient handles the management of system services. Currently, this only supports `systemd` services. The `service` ingredient handles the management of system services. Currently, this only supports `systemd` services.
## **service.masked** ## **service.masked**
Checks if a service is masked and masks it if it is not Checks if a service is masked and masks it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.masked: service.masked:
- name: ssd-backup - name: ssd-backup
@@ -18,12 +23,16 @@ service.masked:
``` ```
## **service.unmasked** ## **service.unmasked**
Checks if a service is unmasked and unmasks it if it is not Checks if a service is unmasked and unmasks it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.unmasked: service.unmasked:
- name: ssd-backup - name: ssd-backup
@@ -31,12 +40,16 @@ service.unmasked:
``` ```
## **service.running** ## **service.running**
Checks if a service is running and starts it if it is not Checks if a service is running and starts it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.running: service.running:
- name: docker.service - name: docker.service
@@ -44,12 +57,16 @@ service.running:
``` ```
## **service.stopped** ## **service.stopped**
Checks if a service is stopped and stops it if it is not Checks if a service is stopped and stops it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.stopped: service.stopped:
- name: docker.service - name: docker.service
@@ -57,12 +74,16 @@ service.stopped:
``` ```
## **service.enabled** ## **service.enabled**
Checks if a service is enabled and enables it if it is not Checks if a service is enabled and enables it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.enabled: service.enabled:
- name: cronie.service - name: cronie.service
@@ -70,12 +91,16 @@ service.enabled:
``` ```
## **service.disabled** ## **service.disabled**
Checks if a service is disabled and disables it if it is not Checks if a service is disabled and disables it if it is not
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.disabled: service.disabled:
- name: cronie.service - name: cronie.service
@@ -83,15 +108,18 @@ service.disabled:
``` ```
## **service.restarted** ## **service.restarted**
Restarts a service Restarts a service
#### Parameters #### Parameters
| parameter | type | required | description | | parameter | type | required | description |
|-----------|------|----------|-------------| | ---------- | ------ | -------- | ------------------------------------------------ |
| _name_ | string | yes | the name of the `systemd` unit | _name_ | string | yes | the name of the `systemd` unit |
| _userMode_ | bool | no | to use `systemd` in user mode, defaults to false | _userMode_ | bool | no | to use `systemd` in user mode, defaults to false |
```yaml ```yaml
service.restarted: service.restarted:
- name: cronie.service - name: cronie.service
- userMode: false - userMode: false
``` ```

3
src/tailwind.css Normal file
View File

@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

37
tailwind.config.mjs Normal file
View File

@@ -0,0 +1,37 @@
import starlightPlugin from '@astrojs/starlight-tailwind'
import defaultTheme from 'tailwindcss/defaultTheme'
const accent = {
200: '#bee1ff',
600: '#2376ed',
900: '#1d448b',
950: '#162b55',
}
const gray = {
100: '#f4f6fa',
200: '#e9eef5',
300: '#bcc3ca',
400: '#818d9c',
500: '#4e5967',
700: '#2f3946',
800: '#1e2834',
900: '#14191e',
}
/** @type {import('tailwindcss').Config} */
export default {
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
theme: {
fontFamily: {
sans: ['IBM Plex Sans', ...defaultTheme.fontFamily.sans],
mono: ['IBM Plex Mono', ...defaultTheme.fontFamily.mono],
},
extend: {
colors: {
accent,
gray,
},
},
},
plugins: [starlightPlugin()],
}