added Prettier, Tailwind, styling, branding, sitemap, tracking
13
.editorconfig
Normal 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
@@ -0,0 +1,4 @@
|
|||||||
|
# External APIs
|
||||||
|
GA_TRACKING_ID=
|
||||||
|
PLAUSIBLE_DOMAIN=
|
||||||
|
PLAUSIBLE_SRC=
|
||||||
37
.eslintrc.cjs
Normal 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
@@ -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
|
||||||
|
|||||||
135
astro.config.mjs
@@ -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
18
package.json
@@ -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
@@ -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'],
|
||||||
|
}
|
||||||
BIN
public/android-chrome-192x192.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
public/android-chrome-512x512.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
public/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
9
public/browserconfig.xml
Normal 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
|
After Width: | Height: | Size: 759 B |
BIN
public/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/mstile-150x150.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
4
public/robots.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
User-agent: *
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
Sitemap: https:/docs.grlx.dev/sitemap-index.xml
|
||||||
70
public/safari-pinned-tab.svg
Normal 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
@@ -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"
|
||||||
|
}
|
||||||
3
src/assets/adatomic-logotype-color-black-h-1200x302.webp
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6d76b99d37649a6864264c4a6e26c4f0dbc50b4bed6de57909ef9b0afab455f4
|
||||||
|
size 12632
|
||||||
3
src/assets/adatomic-logotype-color-white-h-1200x302.webp
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e2602ad5e3d7f2fbe8d1ec3c376c867e0c9f41c1616a3d247b591ab729c8d9b7
|
||||||
|
size 11238
|
||||||
35
src/components/AdatomicFooter.astro
Normal 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>© 2023 ADAtomic, Inc. All rights reserved.</p>
|
||||||
|
</footer>
|
||||||
|
) : (
|
||||||
|
<Default {...Astro.props}>
|
||||||
|
<slot />
|
||||||
|
</Default>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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() }),
|
||||||
};
|
}
|
||||||
|
|||||||
@@ -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
@@ -0,0 +1,3 @@
|
|||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
37
tailwind.config.mjs
Normal 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()],
|
||||||
|
}
|
||||||