-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Initialize VitePress-based documentation site with comprehensiv…
…e structure
- Loading branch information
Showing
32 changed files
with
7,808 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.cursorrules | ||
.vitepress/cache | ||
/.vitepress/dist/ | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
import { defineConfig } from "vitepress"; | ||
import { withMermaid } from "vitepress-plugin-mermaid"; | ||
|
||
export default withMermaid(defineConfig({ | ||
title: "FTL Documentation", | ||
description: "Documentation for FTL - Faster Than Light Deployment Tool", | ||
srcDir: "./docs", | ||
|
||
markdown: { | ||
theme: { | ||
light: 'github-light', | ||
dark: 'github-dark' | ||
}, | ||
languages: ['yaml', 'bash', 'javascript', 'json', 'dockerfile'] | ||
}, | ||
|
||
themeConfig: { | ||
nav: [ | ||
{ text: "Home", link: "/" }, | ||
{ text: "Getting Started", link: "/getting-started/" }, | ||
{ text: "Core Tasks", link: "/core-tasks/" }, | ||
{ text: "Configuration", link: "/configuration/" }, | ||
{ text: "Guides", link: "/guides/" }, | ||
{ text: "Reference", link: "/reference/" } | ||
], | ||
|
||
sidebar: { | ||
"/": [ | ||
{ | ||
text: "Getting Started", | ||
collapsed: false, | ||
items: [ | ||
{ text: "Introduction", link: "/getting-started/" }, | ||
{ text: "Installation", link: "/getting-started/installation" }, | ||
{ text: "Configuration", link: "/getting-started/configuration" }, | ||
{ | ||
text: "First Deployment", | ||
link: "/getting-started/first-deployment", | ||
}, | ||
], | ||
}, | ||
{ | ||
text: "Core Tasks", | ||
collapsed: false, | ||
items: [ | ||
{ text: "Overview", link: "/core-tasks/" }, | ||
{ text: "Server Setup", link: "/core-tasks/server-setup" }, | ||
{ text: "Building", link: "/core-tasks/building" }, | ||
{ text: "Deployment", link: "/core-tasks/deployment" }, | ||
{ text: "Logging", link: "/core-tasks/logging" }, | ||
{ text: "Tunneling", link: "/core-tasks/tunneling" }, | ||
], | ||
}, | ||
{ | ||
text: "Configuration", | ||
collapsed: true, | ||
items: [ | ||
{ text: "Overview", link: "/configuration/" }, | ||
{ | ||
text: "Project Settings", | ||
link: "/configuration/project-settings", | ||
}, | ||
{ text: "Services", link: "/configuration/services" }, | ||
{ text: "Dependencies", link: "/configuration/dependencies" }, | ||
{ text: "Volumes", link: "/configuration/volumes" }, | ||
], | ||
}, | ||
{ | ||
text: "Guides", | ||
collapsed: true, | ||
items: [ | ||
{ text: "Overview", link: "/guides/" }, | ||
{ text: "Zero-downtime Deployment", link: "/guides/zero-downtime" }, | ||
{ text: "Health Checks", link: "/guides/health-checks" }, | ||
{ text: "SSL Management", link: "/guides/ssl-management" }, | ||
], | ||
}, | ||
{ | ||
text: "Reference", | ||
collapsed: true, | ||
items: [ | ||
{ text: "Overview", link: "/reference/" }, | ||
{ text: "CLI Commands", link: "/reference/cli-commands" }, | ||
{ | ||
text: "Configuration File", | ||
link: "/reference/configuration-file", | ||
}, | ||
{ text: "Environment Variables", link: "/reference/environment" }, | ||
{ text: "Troubleshooting", link: "/reference/troubleshooting" }, | ||
], | ||
}, | ||
], | ||
}, | ||
|
||
socialLinks: [{ icon: "github", link: "https://github.com/yarlson/ftl" }], | ||
|
||
footer: { | ||
message: "Released under the MIT License.", | ||
copyright: "Copyright © 2024-present FTL Contributors", | ||
}, | ||
|
||
search: { | ||
provider: "local", | ||
}, | ||
|
||
outline: { | ||
level: [2, 3], | ||
label: "On this page", | ||
}, | ||
}, | ||
})); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// https://vitepress.dev/guide/custom-theme | ||
import { h } from 'vue' | ||
import type { Theme } from 'vitepress' | ||
import DefaultTheme from 'vitepress/theme' | ||
import './vars.css' | ||
import './style.css' | ||
|
||
export default { | ||
extends: DefaultTheme, | ||
Layout: () => { | ||
return h(DefaultTheme.Layout, null, { | ||
// https://vitepress.dev/guide/extending-default-theme#layout-slots | ||
}) | ||
}, | ||
enhanceApp({ app, router, siteData }) { | ||
// ... | ||
} | ||
} satisfies Theme |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
:root { | ||
/* Light mode */ | ||
--vp-c-bg: var(--flexoki-paper); | ||
--vp-c-bg-soft: var(--flexoki-50); | ||
--vp-c-bg-mute: var(--flexoki-100); | ||
--vp-c-bg-alt: var(--flexoki-200); | ||
|
||
/* Adjusted text colors for better contrast */ | ||
--vp-c-text-1: var(--flexoki-950); /* Darkened from 900 */ | ||
--vp-c-text-2: var(--flexoki-800); /* Darkened from 700 */ | ||
--vp-c-text-3: var(--flexoki-700); /* Darkened from 600 */ | ||
|
||
/* Adjusted brand colors for better contrast */ | ||
--vp-c-brand-1: var(--flexoki-blue-700); /* Darkened from 600 */ | ||
--vp-c-brand-2: var(--flexoki-blue-600); /* Darkened from 500 */ | ||
--vp-c-brand-3: var(--flexoki-blue-500); /* Darkened from 400 */ | ||
--vp-c-brand-soft: var(--flexoki-blue-100); | ||
|
||
/* Buttons with improved contrast */ | ||
--vp-button-brand-bg: var(--flexoki-blue-700); /* Darkened for better contrast on white */ | ||
--vp-button-brand-hover-bg: var(--flexoki-blue-800); | ||
--vp-button-brand-active-bg: var(--flexoki-blue-900); | ||
|
||
/* Links with improved contrast */ | ||
--vp-c-link: var(--flexoki-blue-700); /* Darkened from 600 */ | ||
--vp-c-link-hover: var(--flexoki-blue-800); | ||
--vp-c-link-active: var(--flexoki-blue-900); | ||
|
||
/* Borders */ | ||
--vp-c-border: var(--flexoki-300); /* Darkened for better contrast */ | ||
--vp-c-divider: var(--flexoki-200); | ||
--vp-c-gutter: var(--flexoki-200); | ||
|
||
/* Code blocks */ | ||
--vp-code-block-bg: var(--flexoki-50); | ||
--vp-code-block-divider: var(--flexoki-300); | ||
--vp-code-tab-divider: var(--flexoki-300); | ||
--vp-code-copy-code-bg: var(--flexoki-100); | ||
--vp-code-copy-code-hover-bg: var(--flexoki-200); | ||
|
||
/* Custom block colors with improved contrast */ | ||
--vp-custom-block-tip-border: var(--flexoki-green-600); | ||
--vp-custom-block-tip-text: var(--flexoki-green-900); | ||
--vp-custom-block-tip-bg: var(--flexoki-green-50); | ||
|
||
--vp-custom-block-warning-border: var(--flexoki-yellow-600); | ||
--vp-custom-block-warning-text: var(--flexoki-yellow-900); | ||
--vp-custom-block-warning-bg: var(--flexoki-yellow-50); | ||
|
||
--vp-custom-block-danger-border: var(--flexoki-red-600); | ||
--vp-custom-block-danger-text: var(--flexoki-red-900); | ||
--vp-custom-block-danger-bg: var(--flexoki-red-50); | ||
|
||
/* Syntax highlighting with improved contrast */ | ||
--vp-c-text-code: var(--flexoki-magenta-700); | ||
--vp-code-line-highlight-bg: var(--flexoki-yellow-100); | ||
--vp-code-line-number-color: var(--flexoki-600); | ||
|
||
/* Sidebar and Navigation */ | ||
--vp-sidebar-bg-color: var(--vp-c-bg-soft); | ||
--vp-c-bg-navbar: var(--vp-c-bg-soft); | ||
--vp-c-text-nav: var(--vp-c-text-1); | ||
--vp-c-text-sidebar: var(--vp-c-text-1); | ||
--vp-sidebar-border-color: var(--vp-c-border); | ||
--vp-c-brand: var(--vp-c-brand-1); | ||
--vp-c-brand-dark: var(--vp-c-brand-2); | ||
} | ||
|
||
/* Dark mode */ | ||
.dark { | ||
--vp-c-bg: var(--flexoki-black); | ||
--vp-c-bg-soft: var(--flexoki-950); | ||
--vp-c-bg-mute: var(--flexoki-900); | ||
--vp-c-bg-alt: var(--flexoki-850); | ||
|
||
/* Adjusted text colors for better contrast */ | ||
--vp-c-text-1: var(--flexoki-50); /* Lightened from 100 */ | ||
--vp-c-text-2: var(--flexoki-200); /* Lightened from 300 */ | ||
--vp-c-text-3: var(--flexoki-300); /* Lightened from 400 */ | ||
|
||
/* Adjusted brand colors for better contrast */ | ||
--vp-c-brand-1: var(--flexoki-blue-300); /* Lightened from 400 */ | ||
--vp-c-brand-2: var(--flexoki-blue-200); /* Lightened from 500 */ | ||
--vp-c-brand-3: var(--flexoki-blue-100); /* Lightened from 600 */ | ||
--vp-c-brand-soft: var(--flexoki-blue-800); | ||
|
||
/* Buttons with improved contrast */ | ||
--vp-button-brand-bg: var(--flexoki-blue-300); | ||
--vp-button-brand-hover-bg: var(--flexoki-blue-200); | ||
--vp-button-brand-active-bg: var(--flexoki-blue-100); | ||
|
||
/* Links with improved contrast */ | ||
--vp-c-link: var(--flexoki-blue-300); | ||
--vp-c-link-hover: var(--flexoki-blue-200); | ||
--vp-c-link-active: var(--flexoki-blue-100); | ||
|
||
/* Borders */ | ||
--vp-c-border: var(--flexoki-700); /* Lightened for better contrast */ | ||
--vp-c-divider: var(--flexoki-800); | ||
--vp-c-gutter: var(--flexoki-800); | ||
|
||
/* Code blocks */ | ||
--vp-code-block-bg: var(--flexoki-950); | ||
--vp-code-block-divider: var(--flexoki-700); | ||
--vp-code-tab-divider: var(--flexoki-700); | ||
--vp-code-copy-code-bg: var(--flexoki-900); | ||
--vp-code-copy-code-hover-bg: var(--flexoki-800); | ||
|
||
/* Custom block colors with improved contrast */ | ||
--vp-custom-block-tip-border: var(--flexoki-green-500); | ||
--vp-custom-block-tip-text: var(--flexoki-green-200); | ||
--vp-custom-block-tip-bg: var(--flexoki-green-900); | ||
|
||
--vp-custom-block-warning-border: var(--flexoki-yellow-500); | ||
--vp-custom-block-warning-text: var(--flexoki-yellow-200); | ||
--vp-custom-block-warning-bg: var(--flexoki-yellow-900); | ||
|
||
--vp-custom-block-danger-border: var(--flexoki-red-500); | ||
--vp-custom-block-danger-text: var(--flexoki-red-200); | ||
--vp-custom-block-danger-bg: var(--flexoki-red-900); | ||
|
||
/* Syntax highlighting with improved contrast */ | ||
--vp-c-text-code: var(--flexoki-magenta-300); | ||
--vp-code-line-highlight-bg: var(--flexoki-yellow-900); | ||
--vp-code-line-number-color: var(--flexoki-500); | ||
|
||
/* Sidebar and Navigation - Dark mode */ | ||
--vp-sidebar-bg-color: var(--vp-c-bg-soft); | ||
--vp-c-bg-navbar: var(--vp-c-bg-soft); | ||
--vp-c-text-nav: var(--vp-c-text-1); | ||
--vp-c-text-sidebar: var(--vp-c-text-1); | ||
--vp-sidebar-border-color: var(--vp-c-border); | ||
} | ||
|
||
/* Rest of the styles remain the same */ | ||
.VPSidebar { | ||
border-right: 1px solid var(--vp-c-border); | ||
} | ||
|
||
.VPSidebarItem.level-0 > .item .text, | ||
.VPSidebarItem.level-1 > .item .text { | ||
font-weight: 500; | ||
} | ||
|
||
.VPSidebarItem .item.is-active:not(.has-active) { | ||
background-color: var(--vp-c-brand-soft); | ||
} | ||
|
||
.VPNav { | ||
border-bottom: 1px solid var(--vp-c-border); | ||
} | ||
|
||
::-webkit-scrollbar { | ||
width: 8px; | ||
height: 8px; | ||
} | ||
|
||
::-webkit-scrollbar-track { | ||
background: var(--vp-c-bg-soft); | ||
} | ||
|
||
::-webkit-scrollbar-thumb { | ||
background: var(--vp-c-border); | ||
border-radius: 4px; | ||
} | ||
|
||
::-webkit-scrollbar-thumb:hover { | ||
background: var(--vp-c-text-3); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
:root { | ||
/* Base colors */ | ||
--flexoki-black: #100F0F; | ||
--flexoki-paper: #FFFCF0; | ||
|
||
/* Base scale */ | ||
--flexoki-50: #F2F0E5; | ||
--flexoki-100: #E6E4D9; | ||
--flexoki-150: #DAD8CE; | ||
--flexoki-200: #CECDC3; | ||
--flexoki-300: #B7B5AC; | ||
--flexoki-400: #9F9D96; | ||
--flexoki-500: #878580; | ||
--flexoki-600: #6F6E69; | ||
--flexoki-700: #575653; | ||
--flexoki-800: #403E3C; | ||
--flexoki-850: #343331; | ||
--flexoki-900: #282726; | ||
--flexoki-950: #1C1B1A; | ||
|
||
/* Blue */ | ||
--flexoki-blue-50: #E1ECEB; | ||
--flexoki-blue-100: #C6DDE8; | ||
--flexoki-blue-200: #92BFDB; | ||
--flexoki-blue-300: #66A0C8; | ||
--flexoki-blue-400: #4385BE; | ||
--flexoki-blue-500: #3171B2; | ||
--flexoki-blue-600: #205EA6; | ||
--flexoki-blue-700: #1A4F8C; | ||
--flexoki-blue-900: #12253B; | ||
|
||
/* Red */ | ||
--flexoki-red-50: #FFE1D5; | ||
--flexoki-red-300: #E8705F; | ||
--flexoki-red-400: #D14D41; | ||
--flexoki-red-600: #AF3029; | ||
--flexoki-red-700: #942822; | ||
--flexoki-red-950: #261312; | ||
|
||
/* Green */ | ||
--flexoki-green-50: #EDEECF; | ||
--flexoki-green-300: #A0AF54; | ||
--flexoki-green-400: #879A39; | ||
--flexoki-green-600: #66800B; | ||
--flexoki-green-700: #536907; | ||
--flexoki-green-950: #1A1E0C; | ||
|
||
/* Yellow */ | ||
--flexoki-yellow-50: #FAEEC6; | ||
--flexoki-yellow-300: #DFB431; | ||
--flexoki-yellow-400: #D0A215; | ||
--flexoki-yellow-600: #AD8301; | ||
--flexoki-yellow-700: #8E6B01; | ||
--flexoki-yellow-950: #241E08; | ||
|
||
/* Magenta */ | ||
--flexoki-magenta-50: #FEE4E5; | ||
--flexoki-magenta-300: #E47DA8; | ||
--flexoki-magenta-400: #CE5D97; | ||
--flexoki-magenta-600: #A02F6F; | ||
--flexoki-magenta-700: #87285E; | ||
--flexoki-magenta-950: #24131D; | ||
} |
Oops, something went wrong.