init mkdocs
parent
a99d5c8d93
commit
16f21bb01d
|
|
@ -8,6 +8,9 @@ on:
|
|||
|
||||
jobs:
|
||||
publish-docs:
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ${{env.SUBFOLDER}}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
|
|
@ -17,24 +20,27 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
node-version: "16"
|
||||
cache: "npm"
|
||||
cache-dependency-path: "**/package-lock.json"
|
||||
python-version: 3.x
|
||||
|
||||
- name: Install Packages
|
||||
working-directory: ${{env.SUBFOLDER}}
|
||||
run: npm i
|
||||
- run: echo "CACHE_ID=$(date --utc '+%V')" >> $GITHUB_ENV
|
||||
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
key: mkdocs-material-${{ env.CACHE_ID }}
|
||||
path: .cache
|
||||
restore-keys: |
|
||||
mkdocs-material-
|
||||
|
||||
- run: pip install -r requirements.txt
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{env.SUBFOLDER}}
|
||||
run: npm run build
|
||||
run: mkdocs build --site-dir public
|
||||
|
||||
- name: Upload
|
||||
working-directory: ${{env.SUBFOLDER}}
|
||||
env:
|
||||
PROJECT_NAME: velnet-docs
|
||||
CLOUDFLARE_ACCOUNT_ID: 8077b5b1f8e2ade41874cbaa3f883069
|
||||
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
run: npx wrangler@3.1.1 pages deploy dist --project-name="${{env.PROJECT_NAME}}" --branch="${{env.GITHUB_REF_NAME}}"
|
||||
run: npx wrangler@3.1.1 pages deploy public --project-name="${{env.PROJECT_NAME}}" --branch="${{env.GITHUB_REF_NAME}}"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
.DS_Store
|
||||
my.secrets
|
||||
.git.bfg-report/
|
||||
Documentation-old/
|
||||
env/
|
||||
Documentation/public/
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"configurations": [
|
||||
|
||||
]
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
# build output
|
||||
dist/
|
||||
|
||||
# generated types
|
||||
.astro/
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# environment variables
|
||||
.env
|
||||
.env.production
|
||||
|
||||
# macOS-specific files
|
||||
.DS_Store
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"recommendations": ["astro-build.astro-vscode"],
|
||||
"unwantedRecommendations": []
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"command": "./node_modules/.bin/astro dev",
|
||||
"name": "Development server",
|
||||
"request": "launch",
|
||||
"type": "node-terminal"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
# Astro Starter Kit: Basics
|
||||
|
||||
```
|
||||
npm create astro@latest -- --template basics
|
||||
```
|
||||
|
||||
[](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
|
||||
[](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
|
||||
[](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
|
||||
|
||||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
||||
|
||||

|
||||
|
||||
## 🚀 Project Structure
|
||||
|
||||
Inside of your Astro project, you'll see the following folders and files:
|
||||
|
||||
```
|
||||
/
|
||||
├── public/
|
||||
│ └── favicon.svg
|
||||
├── src/
|
||||
│ ├── components/
|
||||
│ │ └── Card.astro
|
||||
│ ├── layouts/
|
||||
│ │ └── Layout.astro
|
||||
│ └── pages/
|
||||
│ └── index.astro
|
||||
└── package.json
|
||||
```
|
||||
|
||||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
|
||||
|
||||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
|
||||
|
||||
Any static assets, like images, can be placed in the `public/` directory.
|
||||
|
||||
## 🧞 Commands
|
||||
|
||||
All commands are run from the root of the project, from a terminal:
|
||||
|
||||
| Command | Action |
|
||||
| :------------------------ | :----------------------------------------------- |
|
||||
| `npm install` | Installs dependencies |
|
||||
| `npm run dev` | Starts local dev server at `localhost:3000` |
|
||||
| `npm run build` | Build your production site to `./dist/` |
|
||||
| `npm run preview` | Preview your build locally, before deploying |
|
||||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
|
||||
| `npm run astro -- --help` | Get help using the Astro CLI |
|
||||
|
||||
## 👀 Want to learn more?
|
||||
|
||||
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
import { defineConfig } from 'astro/config';
|
||||
import mdx from "@astrojs/mdx";
|
||||
import tailwind from "@astrojs/tailwind";
|
||||
|
||||
import cloudflare from "@astrojs/cloudflare";
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
integrations: [mdx(), tailwind()],
|
||||
output: "server",
|
||||
adapter: cloudflare()
|
||||
});
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
|
|
@ -1,15 +1,19 @@
|
|||
---
|
||||
title: VelNet Unity
|
||||
description: Unity integration package for VelNet
|
||||
layout: ../layouts/Layout.astro
|
||||
---
|
||||
# VelNet
|
||||
|
||||
# VelNet Unity
|
||||
An easy-to-use networking library for Unity. VelNet is architected similar to Photon PUN, with a single server that acts as a relay for information sent by all clients.
|
||||
|
||||
VelNet consists of two main parts:
|
||||
|
||||
### [VelNet Server]()
|
||||
|
||||
|
||||
|
||||
### VelNet Unity
|
||||
|
||||
## Installing
|
||||
|
||||
1. Set up the [server](/server_setup), or use the default server at `velnet-example.ugavel.com`
|
||||
2. Install the UPM package in Unity
|
||||
- Option 1:
|
||||
- Add the VEL package registry:
|
||||
|
||||
- Option 1:
|
||||
- Add the VEL package registry:
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
:root {
|
||||
--md-primary-fg-color: #ba0c2f;
|
||||
--md-primary-fg-color--light: #ffffff;
|
||||
--md-primary-fg-color--dark: #e4002b;
|
||||
--md-primary-bg-color: hsla(0, 0%, 100%, 1);
|
||||
--md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
|
||||
|
||||
/* --md-accent-fg-color: #ffffff;
|
||||
--md-accent-fg-color--transparent: #ffffff11;
|
||||
--md-accent-bg-color: hsla(0, 0%, 100%, 1);
|
||||
--md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7); */
|
||||
}
|
||||
[data-md-color-scheme="slate"] {
|
||||
--md-hue: 34;
|
||||
--md-default-bg-color: #191818;
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
site_name: VelNet Docs
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
scheme: slate
|
||||
primary: custom
|
||||
accent: red
|
||||
# background: custom
|
||||
font:
|
||||
# text: Oswald
|
||||
# text: Merriweather
|
||||
text: Merriweather Sans
|
||||
logo: assets/logo.png
|
||||
|
||||
extra_css:
|
||||
- stylesheets/extra.css
|
||||
# theme:
|
||||
# name: material
|
||||
# palette:
|
||||
# # Palette toggle for dark mode
|
||||
# - scheme: custom
|
||||
# media: "(prefers-color-scheme: dark)"
|
||||
# # primary: custom
|
||||
# toggle:
|
||||
# icon: material/weather-sunny
|
||||
# name: Switch to light mode
|
||||
|
||||
# # Palette toggle for light mode
|
||||
# - scheme: default
|
||||
# media: "(prefers-color-scheme: light)"
|
||||
# toggle:
|
||||
# icon: material/weather-night
|
||||
# name: Switch to dark mode
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "",
|
||||
"type": "module",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
"build": "astro build",
|
||||
"preview": "astro preview",
|
||||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/cloudflare": "^6.6.2",
|
||||
"@astrojs/mdx": "^0.19.7",
|
||||
"@astrojs/tailwind": "^4.0.0",
|
||||
"astro": "^2.10.1",
|
||||
"tailwindcss": "^3.3.3"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,592 +0,0 @@
|
|||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Global focus outline reset */
|
||||
*:focus:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Firefox */
|
||||
* {
|
||||
scrollbar-color: var(--theme-dim-light) transparent;
|
||||
}
|
||||
|
||||
/* Webkit */
|
||||
/* Make scrollbars transparent except for main page scrollbar. */
|
||||
::-webkit-scrollbar,
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: transparent;
|
||||
}
|
||||
body::-webkit-scrollbar,
|
||||
body::-webkit-scrollbar-track {
|
||||
background: var(--theme-bg-gradient);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: var(--theme-dim-light);
|
||||
border: 4px solid transparent;
|
||||
background-clip: content-box;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
:root {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Ensure that the auto-hiding/showing address bar on iOS Safari
|
||||
always has a background color matching our theme.
|
||||
*/
|
||||
html {
|
||||
background: var(--theme-bg-gradient-bottom);
|
||||
}
|
||||
|
||||
/*
|
||||
Use a pseudo-element to add a gradient background that covers the entire viewport.
|
||||
Using a regular fixed background does not work properly on mobile browsers like iOS Safari.
|
||||
*/
|
||||
body::before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -999;
|
||||
background: var(--theme-bg-gradient);
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--theme-text);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
font-family: var(--font-body);
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.content > section > * + *,
|
||||
.content > section > blockquote > * + *,
|
||||
.content > section > :is(ul, ol) > li > * + *,
|
||||
.content details > * + *,
|
||||
.content * > astro-slot > * + * {
|
||||
margin-top: 1.25rem;
|
||||
}
|
||||
|
||||
.content > section > :is(ul, ol) > li > * + * {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.content > section > :is(ul, ol) > li,
|
||||
.content > section > :is(ul, ol) > li > * + *,
|
||||
.content > section > :is(ul, ol) > li > :is(ul, ol) > li,
|
||||
.content > section > :is(ul, ol) > li > :is(ul, ol) > li > * + * {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.content > section > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.content > section > :is(ul, ol),
|
||||
.content > section > :is(ul, ol) :is(ul, ol) {
|
||||
padding-inline-start: 1.5em;
|
||||
}
|
||||
|
||||
/* Typography */
|
||||
:is(h1, h2, h3, h4, h5, h6),
|
||||
.content > section > .heading-wrapper {
|
||||
margin-bottom: 1rem;
|
||||
font-weight: bold;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
:is(h1, h2, h3, h4, h5, h6) + *,
|
||||
.content > section > .heading-wrapper + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2 {
|
||||
max-width: 40ch;
|
||||
}
|
||||
|
||||
:is(h2):not(:first-child),
|
||||
.heading-wrapper:not(:first-child):is(.level-h2) {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
:is(h3, h4):not(:first-child),
|
||||
.heading-wrapper:not(:first-child):is(.level-h3, .level-h4) {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
:is(h5, h6):not(:first-child),
|
||||
.heading-wrapper:not(:first-child):is(.level-h5, .level-h6) {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
:is(h1, h2, h3, h4, h5, h6, .heading-wrapper)
|
||||
+ :is(h1, h2, h3, h4, h5, h6, .heading-wrapper):not(:first-child) {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
:is(h1, h2, h3, h4, h5) code {
|
||||
--border-radius: 4px;
|
||||
--padding-block: 0.1rem;
|
||||
--padding-inline: 0.4rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.5rem; /* 40px */
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
@media (min-width: 37.75em) {
|
||||
h1 {
|
||||
font-size: 3rem; /* 48px */
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.875rem; /* 30px */
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.5rem; /* 24px */
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.25rem; /* 20px */
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1rem; /* 16px */
|
||||
}
|
||||
|
||||
.heading-wrapper {
|
||||
--icon-size-x: 2rem;
|
||||
--icon-size-y: 1.5rem;
|
||||
margin-inline-end: var(--icon-size-x);
|
||||
}
|
||||
|
||||
.heading-wrapper:not(:first-child) {
|
||||
margin-block: 0;
|
||||
}
|
||||
|
||||
.heading-wrapper > * {
|
||||
display: inline;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.heading-wrapper > .anchor-link {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
margin-inline-end: calc(-1 * var(--icon-size-x));
|
||||
width: var(--icon-size-x);
|
||||
height: var(--icon-size-y);
|
||||
color: var(--theme-text-light);
|
||||
text-decoration: none;
|
||||
justify-content: center;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/* Float anchor links to the left of headings on larger screens. */
|
||||
@media (min-width: 50em) {
|
||||
.heading-wrapper {
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
justify-content: flex-end;
|
||||
align-items: baseline;
|
||||
margin-inline-start: calc(-1 * var(--icon-size-x));
|
||||
}
|
||||
|
||||
.heading-wrapper > .anchor-link {
|
||||
margin-inline-end: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.heading-wrapper > .anchor-link {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.heading-wrapper > .anchor-link {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.heading-wrapper:hover > .anchor-link,
|
||||
.anchor-link:focus {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
p,
|
||||
.content ul,
|
||||
.content ol {
|
||||
line-height: 1.75;
|
||||
}
|
||||
|
||||
p,
|
||||
.content ul {
|
||||
color: var(--theme-text-light);
|
||||
}
|
||||
|
||||
small,
|
||||
.text_small {
|
||||
font-size: 0.833rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--theme-accent-secondary);
|
||||
text-underline-offset: 0.08em;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
article > section :is(ul, ol) > * + * {
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
|
||||
article > section nav :is(ul, ol) > * + * {
|
||||
margin-top: inherit;
|
||||
}
|
||||
|
||||
article > section li > :is(p, pre, .expressive-code, blockquote):not(:first-child) {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
article > section nav :is(ul, ol) {
|
||||
padding-inline-start: inherit;
|
||||
}
|
||||
|
||||
article > section nav {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
article > section ::marker {
|
||||
font-weight: bold;
|
||||
color: var(--theme-text-light);
|
||||
}
|
||||
|
||||
article > section iframe {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
|
||||
a > code {
|
||||
position: relative;
|
||||
color: var(--theme-text-accent);
|
||||
text-underline-offset: var(--padding-block);
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:focus {
|
||||
outline: 2px solid currentColor;
|
||||
outline-offset: 0.25em;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: 600;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* Supporting Content */
|
||||
code {
|
||||
--border-radius: 3px;
|
||||
--padding-block: 0.2rem;
|
||||
--padding-inline: 0.3rem;
|
||||
font-family: var(--font-mono);
|
||||
font-size: 0.85em;
|
||||
color: var(--theme-code-inline-text);
|
||||
background-color: var(--theme-code-inline-bg);
|
||||
padding: var(--padding-block) var(--padding-inline);
|
||||
margin: calc(var(--padding-block) * -1) 0;
|
||||
border-radius: var(--border-radius);
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/*RTL Fix Code dir for inline code*/
|
||||
[dir='rtl'] code {
|
||||
unicode-bidi: plaintext;
|
||||
}
|
||||
|
||||
/*RTL Fix Arrows*/
|
||||
[dir='rtl'] .toc-mobile-container svg {
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
.content kbd {
|
||||
font-family: var(--font-body);
|
||||
font-size: 0.9375rem;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0.0625rem 0.375rem;
|
||||
border: 1px solid var(--theme-shade-subtle);
|
||||
box-shadow: 0 2px var(--theme-shade-subtle);
|
||||
background-color: var(--theme-bg-offset);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.theme-dark .content kbd {
|
||||
border-color: var(--theme-divider);
|
||||
background-color: var(--theme-divider);
|
||||
}
|
||||
|
||||
thead {
|
||||
font-family: var(--font-body);
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
padding: var(--padding-block) 0;
|
||||
margin: 0;
|
||||
border-collapse: collapse;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
/* Zebra striping */
|
||||
tbody tr:nth-of-type(odd) {
|
||||
background: var(--theme-divider);
|
||||
}
|
||||
th {
|
||||
font-weight: bold;
|
||||
}
|
||||
td,
|
||||
th {
|
||||
padding: 6px;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
blockquote code {
|
||||
background-color: var(--theme-bg);
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 2rem 0 2rem 0;
|
||||
padding: 1.25em 1.5rem;
|
||||
border-inline-start: 8px solid var(--theme-divider);
|
||||
background-color: var(--theme-bg-offset);
|
||||
border-radius: 0 0.25rem 0.25rem 0;
|
||||
line-height: 1.7;
|
||||
/* Indicates the blockquote boundaries for forced colors users, transparent is changed to a solid color */
|
||||
outline: 1px solid transparent;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.content video {
|
||||
box-shadow: 0 0 var(--theme-glow-blur) var(--theme-glow-diffuse);
|
||||
}
|
||||
|
||||
.content details {
|
||||
--details-padding-block: 0.25rem;
|
||||
--details-padding-inline: 1rem;
|
||||
--details-corners: 0.5rem;
|
||||
border-radius: var(--details-corners);
|
||||
border: 1px solid var(--theme-shade-subtle);
|
||||
padding: var(--details-padding-block) var(--details-padding-inline);
|
||||
}
|
||||
|
||||
.content details:hover {
|
||||
background: var(--theme-bg-offset);
|
||||
}
|
||||
|
||||
.content details[open] {
|
||||
background: var(--theme-bg-offset);
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
.content details summary {
|
||||
margin: calc(-1 * var(--details-padding-block)) calc(-1 * var(--details-padding-inline));
|
||||
padding: var(--details-padding-block) var(--details-padding-inline);
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.content details summary::marker,
|
||||
.content details summary::-webkit-details-marker {
|
||||
color: var(--theme-accent-secondary);
|
||||
}
|
||||
|
||||
.content details[open] > summary {
|
||||
border-bottom: 1px solid var(--theme-shade-subtle);
|
||||
}
|
||||
|
||||
.content details pre {
|
||||
--padding-inline: 1.25rem;
|
||||
border: var(--glow-border);
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
button {
|
||||
border: 0;
|
||||
font-size: 1rem;
|
||||
padding: 0.33em 0.67em;
|
||||
}
|
||||
|
||||
h2.heading {
|
||||
font-size: 1em;
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.5rem;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.header-link {
|
||||
font-size: 1em;
|
||||
transition: border-inline-start-color 100ms ease-out, background-color 200ms ease-out;
|
||||
}
|
||||
|
||||
a.header-link {
|
||||
display: inline-flex;
|
||||
gap: 0.5em;
|
||||
width: 100%;
|
||||
font: inherit;
|
||||
padding-top: 0.4rem;
|
||||
padding-bottom: 0.4rem;
|
||||
line-height: 1.3;
|
||||
color: var(--theme-text-lighter);
|
||||
text-decoration: none;
|
||||
unicode-bidi: plaintext;
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
a.header-link {
|
||||
padding-top: 0.275rem;
|
||||
padding-bottom: 0.275rem;
|
||||
}
|
||||
}
|
||||
|
||||
.header-link:hover,
|
||||
.header-link:focus,
|
||||
.header-link:focus-within {
|
||||
border-inline-start-color: var(--theme-accent-secondary);
|
||||
}
|
||||
|
||||
a.header-link:hover,
|
||||
a.header-link:focus {
|
||||
color: var(--theme-text);
|
||||
text-decoration: underline;
|
||||
}
|
||||
.header-link svg {
|
||||
opacity: 0.6;
|
||||
}
|
||||
.header-link:hover svg {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* Add line and padding on the left side */
|
||||
.header-link {
|
||||
padding-inline-start: 1rem;
|
||||
}
|
||||
.header-link.depth-3 {
|
||||
padding-inline-start: 2rem;
|
||||
}
|
||||
.header-link.depth-4 {
|
||||
padding-inline-start: 3rem;
|
||||
}
|
||||
|
||||
/* Apply different TOC styling for wide viewports showing the right sidebar */
|
||||
@media (min-width: 72em) {
|
||||
h2.heading {
|
||||
padding-inline-start: calc(1rem + 4px);
|
||||
}
|
||||
|
||||
.header-link {
|
||||
border-inline-start: 4px solid var(--theme-divider);
|
||||
}
|
||||
}
|
||||
|
||||
/* Highlight TOC header link matching the current scroll position */
|
||||
a.current-header-link {
|
||||
background-color: var(--theme-bg-accent);
|
||||
/* Indicates the current heading for forced colors users in older browsers */
|
||||
outline: 1px solid transparent;
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
a.current-header-link {
|
||||
border: 1px solid CanvasText;
|
||||
}
|
||||
}
|
||||
|
||||
a.current-header-link {
|
||||
color: var(--theme-text);
|
||||
}
|
||||
|
||||
/* Screenreader Only Text */
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.focus\:not-sr-only:focus,
|
||||
.focus\:not-sr-only:focus-visible {
|
||||
position: static;
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
clip: auto;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/*
|
||||
Add the correct amount of scroll padding to ensure that linked headings are always visible
|
||||
and have enough distance to the viewport edge and potential fixed navigation bars.
|
||||
|
||||
Please note that this can't be done with `scroll-margin` on the scroll targets themselves
|
||||
due to lack of iOS Safari browser support.
|
||||
*/
|
||||
html {
|
||||
/* Mobile TOC is displayed above page content */
|
||||
scroll-padding-top: calc(1.5rem + var(--theme-navbar-height) + var(--theme-mobile-toc-height));
|
||||
}
|
||||
|
||||
@media (min-width: 72em) {
|
||||
html {
|
||||
/* Regular TOC is displayed as a sidebar */
|
||||
scroll-padding-top: calc(1.5rem + var(--theme-navbar-height));
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
details svg {
|
||||
/* Removes the collapsible sidebar svg animation */
|
||||
transition: none !important;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,202 +0,0 @@
|
|||
|
||||
|
||||
pre,
|
||||
code {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: .5rem;
|
||||
line-height: 1.25;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
@media print {
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
background: transparent !important;
|
||||
color: #000 !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a[href]:after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
abbr[title]:after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
a[href^="#"]:after,
|
||||
a[href^="javascript:"]:after {
|
||||
content: "";
|
||||
}
|
||||
|
||||
pre,
|
||||
blockquote {
|
||||
border: 1px solid #999;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
tr,
|
||||
img {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
p,
|
||||
h2,
|
||||
h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
|
||||
h2,
|
||||
h3 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
color: #01ff70;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus,
|
||||
a:active {
|
||||
color: #2ecc40;
|
||||
}
|
||||
|
||||
.retro-no-decoration {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 32rem) and (max-width: 48rem) {
|
||||
html {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 48rem) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.85;
|
||||
}
|
||||
|
||||
p,
|
||||
.retro-p {
|
||||
font-size: 1rem;
|
||||
margin-bottom: 1.3rem;
|
||||
}
|
||||
|
||||
h1,
|
||||
.retro-h1,
|
||||
h2,
|
||||
.retro-h2,
|
||||
h3,
|
||||
.retro-h3,
|
||||
h4,
|
||||
.retro-h4 {
|
||||
margin: 1.414rem 0 .5rem;
|
||||
font-weight: inherit;
|
||||
line-height: 1.42;
|
||||
}
|
||||
|
||||
h1,
|
||||
.retro-h1 {
|
||||
margin-top: 0;
|
||||
font-size: 3.998rem;
|
||||
}
|
||||
|
||||
h2,
|
||||
.retro-h2 {
|
||||
font-size: 2.827rem;
|
||||
}
|
||||
|
||||
h3,
|
||||
.retro-h3 {
|
||||
font-size: 1.999rem;
|
||||
}
|
||||
|
||||
h4,
|
||||
.retro-h4 {
|
||||
font-size: 1.414rem;
|
||||
}
|
||||
|
||||
h5,
|
||||
.retro-h5 {
|
||||
font-size: 1.121rem;
|
||||
}
|
||||
|
||||
h6,
|
||||
.retro-h6 {
|
||||
font-size: .88rem;
|
||||
}
|
||||
|
||||
small,
|
||||
.retro-small {
|
||||
font-size: .707em;
|
||||
}
|
||||
|
||||
/* https://github.com/mrmrs/fluidity */
|
||||
|
||||
img,
|
||||
canvas,
|
||||
iframe,
|
||||
video,
|
||||
svg,
|
||||
select,
|
||||
textarea {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
background-color: #222;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #fafafa;
|
||||
font-family: "Courier New";
|
||||
line-height: 1.45;
|
||||
margin: 6rem auto 1rem;
|
||||
max-width: 48rem;
|
||||
padding: .25rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 3px solid #01ff70;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
|
@ -1,207 +0,0 @@
|
|||
/*
|
||||
Define common sizes and spacings
|
||||
*/
|
||||
:root {
|
||||
--theme-navbar-height: 6rem;
|
||||
--theme-mobile-toc-height: 4rem;
|
||||
--theme-left-sidebar-width: 18rem;
|
||||
--theme-right-sidebar-width: 18rem;
|
||||
/*
|
||||
Minimum visual horizontal spacing from the edges of the viewport,
|
||||
and between vertically arranged elements
|
||||
*/
|
||||
--min-spacing-inline: 1rem;
|
||||
/* Vertical spacing around the article content and the right sidebar */
|
||||
--doc-padding-block: 0.5rem;
|
||||
--max-width: 100%;
|
||||
--cur-viewport-height: 100vh;
|
||||
/* Font sizes */
|
||||
--theme-text-lg: 1.25rem;
|
||||
--theme-text-base: 1rem;
|
||||
--theme-text-sm: 0.9375rem;
|
||||
--theme-text-xs: 0.875rem;
|
||||
/* Animation helpers */
|
||||
--theme-ease-bounce: cubic-bezier(0.4, 2.5, 0.6, 1);
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
:root {
|
||||
--min-spacing-inline: 1.5rem;
|
||||
--doc-padding-block: 1rem;
|
||||
--max-width: 46em;
|
||||
--theme-text-sm: 0.875rem;
|
||||
--theme-text-xs: 0.8125rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 72em) {
|
||||
:root {
|
||||
--doc-padding-block: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Use dynamic viewport height if the unit is supported by the browser */
|
||||
@supports (height: 100dvh) {
|
||||
:root {
|
||||
--cur-viewport-height: 100dvh;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Define common fonts and colors
|
||||
*/
|
||||
:root,
|
||||
::backdrop {
|
||||
--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif,
|
||||
Apple Color Emoji, Segoe UI Emoji;
|
||||
--font-body: system-ui, var(--font-fallback);
|
||||
--font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console',
|
||||
'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono',
|
||||
'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
|
||||
|
||||
/*
|
||||
Variables with --color-base prefix define
|
||||
the hue, and saturation values to be used for
|
||||
hsla colors.
|
||||
|
||||
Example:
|
||||
--color-base-{color}: {hue}, {saturation};
|
||||
*/
|
||||
|
||||
--color-base-white: 0, 0%;
|
||||
--color-base-black: 240, 100%;
|
||||
--color-base-gray: 250, 14%;
|
||||
--color-base-blue: 212, 100%;
|
||||
--color-base-blue-dark: 212, 72%;
|
||||
--color-base-teal: 180, 80%;
|
||||
--color-base-green: 158, 79%;
|
||||
--color-base-orange: 22, 100%;
|
||||
--color-base-purple: 269, 79%;
|
||||
--color-base-red: 351, 100%;
|
||||
--color-base-yellow: 41, 100%;
|
||||
|
||||
/*
|
||||
Color palettes are made using --color-base
|
||||
variables, along with a lightness value to
|
||||
define different variants.
|
||||
*/
|
||||
|
||||
--color-gray-5: var(--color-base-gray), 5%;
|
||||
--color-gray-10: var(--color-base-gray), 10%;
|
||||
--color-gray-20: var(--color-base-gray), 20%;
|
||||
--color-gray-30: var(--color-base-gray), 30%;
|
||||
--color-gray-40: var(--color-base-gray), 40%;
|
||||
--color-gray-50: var(--color-base-gray), 50%;
|
||||
--color-gray-60: var(--color-base-gray), 60%;
|
||||
--color-gray-70: var(--color-base-gray), 70%;
|
||||
--color-gray-80: var(--color-base-gray), 80%;
|
||||
--color-gray-90: var(--color-base-gray), 90%;
|
||||
--color-gray-95: var(--color-base-gray), 95%;
|
||||
|
||||
--color-blue: var(--color-base-blue), 61%;
|
||||
--color-blue-dark: var(--color-base-blue-dark), 39%;
|
||||
--color-green: var(--color-base-green), 42%;
|
||||
--color-orange: var(--color-base-orange), 50%;
|
||||
--color-purple: var(--color-base-purple), 54%;
|
||||
--color-red: var(--color-base-red), 54%;
|
||||
--color-yellow: var(--color-base-yellow), 59%;
|
||||
}
|
||||
|
||||
:root,
|
||||
::backdrop {
|
||||
color-scheme: light;
|
||||
--theme-accent: hsla(var(--color-orange), 1);
|
||||
--theme-accent-secondary: hsl(324, 75%, 38%);
|
||||
--theme-dim: hsla(var(--color-gray-70), 1);
|
||||
--theme-dim-light: hsla(var(--color-gray-80), 1);
|
||||
--theme-dim-lighter: hsla(var(--color-gray-90), 1);
|
||||
--theme-accent-opacity: 0.1;
|
||||
--theme-divider: hsla(var(--color-purple), 0.1);
|
||||
--theme-shade-subtle: hsla(var(--color-purple), 0.3);
|
||||
--theme-text: hsla(var(--color-gray-10), 1);
|
||||
--theme-text-light: hsla(var(--color-gray-30), 1);
|
||||
--theme-text-lighter: hsla(var(--color-gray-40), 1);
|
||||
--theme-bg: hsl(273, 37%, 93%);
|
||||
--theme-bg-gradient-top: var(--theme-bg);
|
||||
--theme-bg-gradient-bottom: #fdfeff;
|
||||
--theme-bg-hover: hsla(var(--color-purple), 0.075);
|
||||
--theme-bg-offset: hsla(var(--color-purple), 0.1);
|
||||
--theme-bg-accent: hsla(var(--color-purple), var(--theme-accent-opacity));
|
||||
--theme-backdrop-overlay: hsla(var(--color-gray-50), 0.8);
|
||||
--theme-code-inline-bg: hsla(var(--color-purple), 0.1);
|
||||
--theme-code-inline-text: var(--theme-text);
|
||||
--theme-code-bg: hsla(257, 31%, 22%, 1);
|
||||
--theme-code-tabs: hsla(257, 38%, 32%, 1);
|
||||
--theme-code-text: hsla(var(--color-gray-95), 1);
|
||||
--theme-navbar-bg: var(--theme-bg);
|
||||
--theme-selection-color: hsla(var(--color-purple), 1);
|
||||
--theme-selection-bg: hsla(var(--color-purple), var(--theme-accent-opacity));
|
||||
--theme-code-selection-bg: hsla(var(--color-purple), 0.4);
|
||||
--theme-code-mark-bg: hsl(226, 50%, 33%);
|
||||
--theme-code-mark-border: hsl(224, 50%, 54%);
|
||||
--theme-code-ins-bg: hsl(122, 22%, 23%);
|
||||
--theme-code-ins-border: hsl(128, 42%, 38%);
|
||||
--theme-code-ins-text: hsl(128, 31%, 65%);
|
||||
--theme-code-del-bg: hsl(338, 40%, 26%);
|
||||
--theme-code-del-border: hsl(338, 46%, 53%);
|
||||
--theme-code-del-text: hsl(338, 36%, 70%);
|
||||
|
||||
--theme-bg-gradient: linear-gradient(
|
||||
180deg,
|
||||
var(--theme-bg-gradient-top),
|
||||
var(--theme-bg-gradient-top) calc(var(--theme-navbar-height) + var(--theme-mobile-toc-height)),
|
||||
var(--theme-bg-gradient-bottom)
|
||||
);
|
||||
|
||||
--theme-glow-highlight: transparent;
|
||||
--theme-glow-diffuse: hsla(var(--color-base-purple), 65%, 0.5);
|
||||
--theme-glow-blur: 10px;
|
||||
}
|
||||
|
||||
:root.theme-dark,
|
||||
.theme-dark ::backdrop {
|
||||
color-scheme: dark;
|
||||
/* We lighten-up the orange in dark mode, to help with link contrast. */
|
||||
--color-orange: var(--color-base-orange), 60%;
|
||||
--theme-accent-opacity: 0.4;
|
||||
--theme-accent: hsla(var(--color-orange), 1);
|
||||
--theme-accent-secondary: hsla(var(--color-orange), 1);
|
||||
--theme-text-accent: hsla(var(--color-orange), 1);
|
||||
--theme-dim: hsla(var(--color-gray-90), 0.3);
|
||||
--theme-dim-light: hsla(var(--color-gray-90), 0.2);
|
||||
--theme-dim-lighter: hsla(var(--color-gray-90), 0.1);
|
||||
--theme-divider: hsla(var(--color-gray-95), 0.1);
|
||||
--theme-shade-subtle: hsla(var(--color-gray-95), 0.4);
|
||||
--theme-text: hsla(var(--color-gray-90), 1);
|
||||
--theme-text-light: hsla(var(--color-gray-80), 1);
|
||||
--theme-text-lighter: hsla(var(--color-gray-70), 1);
|
||||
--theme-bg: hsl(256, 27%, 19%);
|
||||
--theme-bg-gradient-top: var(--theme-bg);
|
||||
--theme-bg-gradient-bottom: hsl(251, 29%, 11%);
|
||||
--theme-bg-hover: hsla(var(--color-purple), 0.2);
|
||||
--theme-bg-offset: #0008;
|
||||
--theme-backdrop-overlay: hsla(var(--color-gray-10), 0.8);
|
||||
--theme-code-inline-bg: #ffffff16;
|
||||
--theme-code-inline-text: var(--theme-text-light);
|
||||
--theme-code-bg: hsla(257, 31%, 11%, 1);
|
||||
--theme-code-tabs: hsla(261, 40%, 21%, 1);
|
||||
--theme-code-text: hsla(var(--color-base-white), 80%, 1);
|
||||
--theme-navbar-bg: var(--theme-bg);
|
||||
--theme-selection-color: hsla(var(--color-base-white), 100%, 1);
|
||||
--theme-code-mark-bg: hsl(224, 60%, 25%);
|
||||
--theme-code-mark-border: hsl(225, 42%, 46%);
|
||||
--theme-code-ins-bg: hsl(122, 29%, 17%);
|
||||
--theme-code-ins-border: hsl(128, 41%, 32%);
|
||||
--theme-code-ins-text: hsl(128, 31%, 55%);
|
||||
--theme-code-del-bg: hsl(337, 47%, 19%);
|
||||
--theme-code-del-border: hsl(340, 34%, 43%);
|
||||
--theme-code-del-text: hsl(340, 24%, 65%);
|
||||
|
||||
--theme-glow-highlight: hsla(var(--color-base-purple), 50%, 1);
|
||||
--theme-glow-diffuse: hsla(var(--color-base-purple), 35%, 0.4);
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: var(--theme-selection-color);
|
||||
background-color: var(--theme-selection-bg);
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
||||
<style>
|
||||
path { fill: #000; }
|
||||
@media (prefers-color-scheme: dark) {
|
||||
path { fill: #FFF; }
|
||||
}
|
||||
</style>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 749 B |
|
|
@ -0,0 +1 @@
|
|||
mkdocs-material
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
---
|
||||
|
||||
<footer>
|
||||
<ul class="footer-links">
|
||||
<li>
|
||||
<a href="https://vel.engr.uga.edu"> Virtual Experiences Laboratory</a>
|
||||
</li>
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
<style>
|
||||
footer {
|
||||
padding: 6rem 0 2rem;
|
||||
text-align: center;
|
||||
color: var(--theme-text-lighter);
|
||||
font-size: var(--theme-text-xs);
|
||||
}
|
||||
|
||||
.footer-links {
|
||||
display: flex;
|
||||
gap: 1.5em;
|
||||
justify-content: center;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.footer-links a {
|
||||
color: var(--theme-text-lighter);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.footer-links a:focus,
|
||||
.footer-links a:hover {
|
||||
color: var(--theme-text);
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
---
|
||||
const { currentPage } = Astro.props;
|
||||
---
|
||||
|
||||
<header>
|
||||
<nav class="nav-wrapper">
|
||||
<div dir="ltr" lang="en" class="logo flex">
|
||||
<ul>
|
||||
<li>
|
||||
<a class="astro" href="https://astro.build/">
|
||||
<span class="sr-only">Astro</span>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="363"
|
||||
height="102"
|
||||
viewBox="0 0 363 102"
|
||||
fill="none"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<style>
|
||||
.text {
|
||||
fill: var(--theme-text);
|
||||
}
|
||||
.hover {
|
||||
fill: var(--theme-accent);
|
||||
}
|
||||
</style>
|
||||
<path
|
||||
class="text"
|
||||
fill-rule="evenodd"
|
||||
d="M55.07 14.216l16.81 54.865a72.6 72.6 0 00-20.765-6.984L39.808 24.135a1.475 1.475 0 00-2.827.005L25.81 62.078a72.598 72.598 0 00-20.859 6.995L21.847 14.2c.998-3.243 1.497-4.865 2.47-6.066a8 8 0 013.239-2.392c1.434-.576 3.13-.576 6.524-.576h8.751c3.398 0 5.097 0 6.532.577a8 8 0 013.241 2.397c.972 1.203 1.47 2.827 2.465 6.076z"
|
||||
clip-rule="evenodd"></path>
|
||||
<path
|
||||
fill="#FF5D01"
|
||||
fill-rule="evenodd"
|
||||
d="M54.618 71.779c-2.863 2.432-8.578 4.091-15.161 4.091-8.08 0-14.852-2.499-16.649-5.86-.642 1.926-.786 4.13-.786 5.539 0 0-.423 6.915 4.418 11.725 0-2.498 2.037-4.522 4.551-4.522 4.309 0 4.304 3.734 4.3 6.764v.27c0 4.6 2.829 8.541 6.852 10.203a9.22 9.22 0 01-.938-4.064c0-4.386 2.592-6.02 5.604-7.917 2.396-1.51 5.06-3.188 6.894-6.554a12.297 12.297 0 001.502-5.905c0-1.314-.206-2.581-.587-3.77z"
|
||||
clip-rule="evenodd"></path>
|
||||
<path
|
||||
class="text"
|
||||
d="M126.554 69c13.115 0 21.047-3.14 25.68-9.654 0 2.904.157 5.651.55 8.163h7.774c-.706-4.082-.863-6.75-.863-14.128V43.334c0-10.831-8.403-16.56-24.424-16.56-15.47 0-25.522 5.964-26.779 14.598h8.246c1.256-5.808 7.774-8.87 18.533-8.87 10.602 0 16.885 3.69 16.885 9.969v.785l-24.502 1.413c-9.974.549-13.665 1.962-16.492 4.003-2.67 1.962-4.162 5.023-4.162 8.555C107 64.683 114.696 69 126.554 69zm2.513-5.573c-9.109 0-14.135-2.119-14.135-6.357 0-4.553 3.141-6.593 14.214-7.3l23.01-1.412v1.805c0 8.241-9.66 13.264-23.089 13.264zM196.086 69c16.256 0 22.775-5.337 22.775-13.108 0-6.436-4.006-9.732-14.215-10.596l-19.083-1.49c-5.183-.393-8.088-1.884-8.088-5.102 0-4.082 4.476-6.201 14.135-6.201 10.995 0 16.727 2.198 20.497 7.064l6.361-3.061c-3.927-6.122-12.644-9.733-26.151-9.733-13.9 0-22.224 4.631-22.224 12.244 0 6.829 4.947 10.125 14.292 10.91l18.926 1.492c6.204.47 8.089 1.726 8.089 4.944 0 4.631-4.79 6.829-14.293 6.829-11.544 0-18.847-3.14-22.381-8.87l-6.204 3.376C173.312 64.918 181.715 69 196.086 69zM234.929 34.151v18.916c0 7.77 2.67 15.54 17.198 15.54 3.691 0 8.167-.706 10.131-1.57V60.68c-2.749.628-6.047 1.1-9.267 1.1-6.832 0-10.523-2.67-10.523-9.42V34.151h19.633v-5.887h-19.633V15l-7.539 3.061v10.204h-12.33v5.886h12.33zM280.823 28.265h-6.911v39.244h7.461V52.83c0-5.65 1.099-10.439 4.24-13.735 2.749-3.061 6.283-4.788 12.487-4.788 2.12 0 3.455.157 5.262.471v-7.22c-1.65-.393-3.063-.472-5.184-.472-8.402 0-15.078 4.945-17.355 12.558v-11.38zM334.807 69C351.534 69 363 60.523 363 47.887c0-12.637-11.466-21.114-28.193-21.114-16.727 0-28.193 8.477-28.193 21.114C306.614 60.523 318.08 69 334.807 69zm0-6.2c-12.329 0-20.261-5.809-20.261-14.913 0-9.105 7.932-14.913 20.261-14.913 12.251 0 20.261 5.808 20.261 14.913 0 9.104-8.01 14.912-20.261 14.912z"
|
||||
></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="docs" href={`/getting-started/`}>
|
||||
<span class="sr-only">Docs</span>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="226"
|
||||
height="102"
|
||||
viewBox="0 0 226 102"
|
||||
fill="none"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<path
|
||||
class="docs-path"
|
||||
fill="currentColor"
|
||||
d="M25.805 68c14.688 0 24.883-8.41 24.883-21.14 0-12.786-9.62-19.756-24.653-19.756H0V68h25.805zm-14.17-33.005H24.25c8.352 0 14.17 4.09 14.17 12.039 0 8.236-5.3 13.075-14.113 13.075H11.635V34.995zM82.673 69.382c16.704 0 27.418-8.582 27.418-21.83 0-13.248-10.771-21.83-27.418-21.83-16.589 0-27.418 8.582-27.418 21.83 0 13.19 10.83 21.83 27.418 21.83zm0-8.64c-9.1 0-15.149-5.299-15.149-13.19 0-7.891 6.048-13.19 15.15-13.19 9.1 0 15.205 5.299 15.205 13.19 0 7.891-6.105 13.19-15.206 13.19zM141.497 69.382c13.306 0 22.637-5.299 25.978-14.572l-11.866-2.535c-1.67 5.415-6.393 8.295-13.709 8.295-9.216 0-15.033-5.127-15.033-13.018 0-8.006 5.702-13.018 14.918-13.018 7.43 0 12.154 3.053 13.709 8.64l12.038-2.13c-2.707-9.562-12.268-15.322-25.574-15.322-16.128 0-27.302 9.043-27.302 22.003 0 13.133 10.425 21.657 26.841 21.657zM194.94 69.382c14.745 0 23.212-5.01 23.212-14.054 0-7.603-4.665-10.944-15.955-12.096l-11.289-1.094c-5.242-.576-6.97-1.556-6.97-4.09 0-2.765 3.456-4.262 9.792-4.262 7.834 0 13.709 2.476 16.762 6.508l7.315-6.163c-5.069-5.702-13.133-8.41-23.501-8.41-13.997 0-21.888 4.781-21.888 12.903 0 7.546 4.781 11.232 14.803 12.326l12.557 1.383c4.896.518 6.624 1.555 6.624 4.09 0 3.225-3.456 4.723-10.886 4.723-8.352 0-14.688-3.226-18.087-8.007l-8.294 5.818c4.205 6.451 13.709 10.425 25.805 10.425z"
|
||||
></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<style>
|
||||
header {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: var(--theme-navbar-height);
|
||||
z-index: 11;
|
||||
padding: 2rem 0;
|
||||
background-color: var(--theme-navbar-bg);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: left;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
ul,
|
||||
li {
|
||||
all: inherit;
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
.nav-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.75rem;
|
||||
width: 100%;
|
||||
padding-inline: var(--min-spacing-inline);
|
||||
}
|
||||
|
||||
/* If the device is likely to show a scrollbar gutter, reserve space for it */
|
||||
@media (hover: hover) {
|
||||
.nav-wrapper {
|
||||
max-width: calc(100vw - 1.1rem);
|
||||
}
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
font-size: 1rem;
|
||||
flex-grow: 1;
|
||||
flex-shrink: 0;
|
||||
font-weight: 600;
|
||||
line-height: 1;
|
||||
color: hsla(var(--color-base-white), 100%, 1);
|
||||
text-decoration: none;
|
||||
gap: 0.5em;
|
||||
}
|
||||
|
||||
:global([dir='rtl']) .logo {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.logo a {
|
||||
padding: 0.5em 0.25em;
|
||||
margin: -0.5em -0.25em;
|
||||
}
|
||||
|
||||
.logo svg {
|
||||
height: 40px;
|
||||
width: auto;
|
||||
display: block;
|
||||
color: var(--theme-accent);
|
||||
}
|
||||
|
||||
.logo .hover {
|
||||
opacity: 0;
|
||||
}
|
||||
.logo a {
|
||||
transition: transform 180ms ease-out;
|
||||
}
|
||||
|
||||
.logo a:hover,
|
||||
.logo a:focus {
|
||||
opacity: 1;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.logo a:focus:not(:focus-visible) {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.logo h1 {
|
||||
font: inherit;
|
||||
color: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.astro {
|
||||
overflow: hidden;
|
||||
width: 41px;
|
||||
}
|
||||
|
||||
.docs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (min-width: 20em) {
|
||||
.docs {
|
||||
display: inherit;
|
||||
max-width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 23.5em) {
|
||||
.docs {
|
||||
max-width: none;
|
||||
}
|
||||
.nav-wrapper {
|
||||
gap: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
header {
|
||||
padding: 2.5rem 0 1.5rem 0;
|
||||
}
|
||||
.astro {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
.text {
|
||||
fill: LinkText;
|
||||
}
|
||||
.docs-path {
|
||||
fill: ActiveText;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,235 +0,0 @@
|
|||
---
|
||||
import { removeLeadingSlash, removeTrailingSlash } from "../util";
|
||||
|
||||
export interface Props {
|
||||
currentPage: string;
|
||||
}
|
||||
|
||||
const { currentPage } = Astro.props as Props;
|
||||
const currentPageMatch = removeLeadingSlash(removeTrailingSlash(currentPage));
|
||||
|
||||
const content = [
|
||||
{
|
||||
title: "Setup",
|
||||
children: [
|
||||
{
|
||||
title: "Getting Started",
|
||||
url: "/getting_started",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Guides",
|
||||
children: [],
|
||||
},
|
||||
{
|
||||
title: "Classes",
|
||||
children: [],
|
||||
},
|
||||
];
|
||||
---
|
||||
|
||||
<nav>
|
||||
<ul class={`nav-groups`}>
|
||||
{
|
||||
content.map((section) => (
|
||||
<li class:list={["nav-group"]}>
|
||||
<details open>
|
||||
<summary class="nav-group-title">
|
||||
<h2>
|
||||
{section.title}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 1 16 16"
|
||||
width="16"
|
||||
height="16"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"
|
||||
/>
|
||||
</svg>
|
||||
</h2>
|
||||
</summary>
|
||||
<ul>
|
||||
{section.children.map((child) => (
|
||||
<li class="nav-link">
|
||||
<a
|
||||
href={child.url}
|
||||
aria-current={`${
|
||||
currentPageMatch.endsWith(child.url) ? "page" : "false"
|
||||
}`}
|
||||
/>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
))
|
||||
}
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Preserve sidebar scroll across page loads -->
|
||||
<script is:inline>
|
||||
{
|
||||
const leftSidebar = document.querySelector(".nav-groups");
|
||||
const leftSidebarScroll = localStorage.getItem("sidebar-scroll");
|
||||
if (leftSidebarScroll !== null) {
|
||||
leftSidebar.scrollTop = parseInt(leftSidebarScroll, 10);
|
||||
}
|
||||
window.addEventListener("beforeunload", () => {
|
||||
localStorage.setItem("sidebar-scroll", leftSidebar.scrollTop);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
nav {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: var(--theme-text-sm);
|
||||
}
|
||||
.nav-groups {
|
||||
padding-top: 1rem;
|
||||
max-height: 100%;
|
||||
overflow-x: visible;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
.nav-groups {
|
||||
position: fixed;
|
||||
top: calc(var(--theme-navbar-height) + 3rem);
|
||||
bottom: 0;
|
||||
width: calc(
|
||||
var(--theme-left-sidebar-width) - var(--min-spacing-inline) * 1.6
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@media not screen and (min-width: 50em) {
|
||||
nav :global(.TabGroup) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-group {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.nav-group .placeholder {
|
||||
opacity: 0.6;
|
||||
text-align: center;
|
||||
display: block;
|
||||
}
|
||||
@media (max-width: 50em) {
|
||||
.sm-hidden {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
.nav-group {
|
||||
display: none;
|
||||
margin-bottom: 1.75rem;
|
||||
}
|
||||
}
|
||||
.nav-group.active {
|
||||
display: block;
|
||||
}
|
||||
.nav-group-title {
|
||||
font-size: 1em;
|
||||
font-weight: 600;
|
||||
padding: 0.3rem 2rem;
|
||||
}
|
||||
|
||||
.nav-link a {
|
||||
margin: 1px;
|
||||
padding: 0.3rem 2rem;
|
||||
font: inherit;
|
||||
color: var(--theme-text-lighter);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: var(--theme-bg-hover);
|
||||
}
|
||||
|
||||
&[aria-current="page"],
|
||||
&[data-current-parent="true"] {
|
||||
color: var(--theme-text);
|
||||
background-color: var(--theme-bg-accent);
|
||||
font-weight: 500;
|
||||
/* Indicates the current page for forced colors users in older browsers */
|
||||
outline: 1px solid transparent;
|
||||
|
||||
&:focus {
|
||||
outline: 2px solid;
|
||||
}
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
&[aria-current="page"],
|
||||
&[data-current-parent="true"] {
|
||||
border: 1px solid LinkText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 50em) {
|
||||
.nav-group-title,
|
||||
.nav-link a {
|
||||
padding: 0.2rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
:global(:root.theme-dark) .nav-link a[aria-current="page"],
|
||||
:global(:root.theme-dark) .nav-link a[data-current-parent="true"] {
|
||||
color: hsla(var(--color-base-white), 100%, 1);
|
||||
}
|
||||
|
||||
.fallback {
|
||||
font-size: 0.75em;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
color: var(--theme-text-light);
|
||||
}
|
||||
|
||||
details > summary {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
details > summary::marker,
|
||||
details > summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
details[open] > summary svg {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
summary {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
summary h2 {
|
||||
all: inherit;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
svg {
|
||||
transform: rotate(0);
|
||||
transition: 0.15s transform ease;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
:global([dir="rtl"]) svg {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
svg path {
|
||||
fill: currentColor;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1 +0,0 @@
|
|||
/// <reference types="astro/client" />
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
---
|
||||
import Header from "../components/Header.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
import LeftSidebar from "../components/LeftSidebar.astro";
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
const { title, description } = Astro.props;
|
||||
const url = Astro.url;
|
||||
const currentPage = url.pathname;
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="description" content={description} />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>{title}</title>
|
||||
<!-- <link rel="stylesheet" href="/css/theme.css" />
|
||||
<link rel="stylesheet" href="/css/index.css" /> -->
|
||||
<link rel="stylesheet" href="/css/pico.classless.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
<!-- Header -->
|
||||
<header>
|
||||
<hgroup>
|
||||
<h1>VelNet Unity</h1>
|
||||
<h2>An open source networking library for Unity</h2>
|
||||
</hgroup>
|
||||
</header>
|
||||
</body>
|
||||
<!-- ./ Header -->
|
||||
|
||||
<!-- Main -->
|
||||
<main>
|
||||
<grid>
|
||||
<aside>
|
||||
<LeftSidebar currentPage={currentPage} />
|
||||
</aside>
|
||||
<div>
|
||||
<slot />
|
||||
</div>
|
||||
</grid>
|
||||
</main>
|
||||
<!-- ./ Main -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<small
|
||||
>Built with <a href="https://picocss.com">Pico</a> •
|
||||
<a
|
||||
href="https://github.com/picocss/examples/blob/master/v1-classless/index.html"
|
||||
>Source code</a
|
||||
></small
|
||||
>
|
||||
</footer>
|
||||
<!-- ./ Footer -->
|
||||
|
||||
<!-- Minimal theme switcher -->
|
||||
<!-- <script src="js/minimal-theme-switcher.js"></script> -->
|
||||
</html>
|
||||
|
||||
<style is:global>
|
||||
/* Red Light scheme (Default) */
|
||||
/* Can be forced with data-theme="light" */
|
||||
[data-theme="light"],
|
||||
:root:not([data-theme="dark"]) {
|
||||
--primary: #e53935;
|
||||
--primary-hover: #d32f2f;
|
||||
--primary-focus: rgba(229, 57, 53, 0.125);
|
||||
--primary-inverse: #fff;
|
||||
}
|
||||
|
||||
/* Red Dark scheme (Auto) */
|
||||
/* Automatically enabled if user has Dark mode enabled */
|
||||
@media only screen and (prefers-color-scheme: dark) {
|
||||
:root:not([data-theme]) {
|
||||
--primary: #e53935;
|
||||
--primary-hover: #f44336;
|
||||
--primary-focus: rgba(229, 57, 53, 0.25);
|
||||
--primary-inverse: #fff;
|
||||
--background-color: #222;
|
||||
}
|
||||
}
|
||||
|
||||
/* Red (Common styles) */
|
||||
:root {
|
||||
/* --form-element-active-border-color: var(--primary);
|
||||
--form-element-focus-color: var(--primary-focus); */
|
||||
--switch-color: var(--primary-inverse);
|
||||
--switch-checked-background-color: var(--primary);
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,472 +0,0 @@
|
|||
<!-- Header -->
|
||||
<header>
|
||||
<hgroup>
|
||||
<h1>Classless example</h1>
|
||||
<h2>Just a pure semantic HTML markup, without <code>.classes</code></h2>
|
||||
</hgroup>
|
||||
<nav>
|
||||
<ul>
|
||||
<li>
|
||||
<details role="list">
|
||||
<summary aria-haspopup="listbox" role="button">Theme</summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="#" data-theme-switcher="auto">Auto</a></li>
|
||||
<li><a href="#" data-theme-switcher="light">Light</a></li>
|
||||
<li><a href="#" data-theme-switcher="dark">Dark</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li>
|
||||
<details role="list">
|
||||
<summary aria-haspopup="listbox">Examples (v1)</summary>
|
||||
<ul role="listbox">
|
||||
<li><a href="../v1-preview/">Preview</a></li>
|
||||
<li><a href="../v1-preview-rtl/">Right-to-left</a></li>
|
||||
<li><a href="../v1-classless/">Classless</a></li>
|
||||
<li><a href="../v1-basic-template/">Basic template</a></li>
|
||||
<li><a href="../v1-company/">Company</a></li>
|
||||
<li><a href="../v1-google-amp/">Google Amp</a></li>
|
||||
<li><a href="../v1-sign-in/">Sign in</a></li>
|
||||
<li><a href="../v1-bootstrap-grid/">Bootstrap grid</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<!-- ./ Header -->
|
||||
|
||||
<!-- Main -->
|
||||
<main>
|
||||
<!-- Preview -->
|
||||
<section id="preview">
|
||||
<h2>Preview</h2>
|
||||
<p>
|
||||
Sed ultricies dolor non ante vulputate hendrerit. Vivamus sit amet
|
||||
suscipit sapien. Nulla iaculis eros a elit pharetra egestas.
|
||||
</p>
|
||||
<form>
|
||||
<input
|
||||
type="text"
|
||||
name="firstname"
|
||||
placeholder="First name"
|
||||
aria-label="First name"
|
||||
required
|
||||
/>
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Email address"
|
||||
aria-label="Email address"
|
||||
required
|
||||
/>
|
||||
<fieldset>
|
||||
<label for="terms">
|
||||
<input type="checkbox" role="switch" id="terms" name="terms" />
|
||||
I agree to the <a href="#" onclick="event.preventDefault()"
|
||||
>Privacy Policy</a
|
||||
>
|
||||
</label>
|
||||
</fieldset>
|
||||
<button type="submit">Subscribe</button>
|
||||
</form>
|
||||
</section>
|
||||
<!-- ./ Preview -->
|
||||
|
||||
<!-- Typography-->
|
||||
<section id="typography">
|
||||
<h2>Typography</h2>
|
||||
<p>
|
||||
Aliquam lobortis vitae nibh nec rhoncus. Morbi mattis neque eget efficitur
|
||||
feugiat. Vivamus porta nunc a erat mattis, mattis feugiat turpis pretium.
|
||||
Quisque sed tristique felis.
|
||||
</p>
|
||||
|
||||
<!-- Blockquote-->
|
||||
<blockquote>
|
||||
"Maecenas vehicula metus tellus, vitae congue turpis hendrerit non. Nam at
|
||||
dui sit amet ipsum cursus ornare."
|
||||
<footer>
|
||||
<cite>- Phasellus eget lacinia</cite>
|
||||
</footer>
|
||||
</blockquote>
|
||||
|
||||
<!-- Lists-->
|
||||
<h3>Lists</h3>
|
||||
<ul>
|
||||
<li>Aliquam lobortis lacus eu libero ornare facilisis.</li>
|
||||
<li>Nam et magna at libero scelerisque egestas.</li>
|
||||
<li>Suspendisse id nisl ut leo finibus vehicula quis eu ex.</li>
|
||||
<li>Proin ultricies turpis et volutpat vehicula.</li>
|
||||
</ul>
|
||||
|
||||
<!-- Inline text elements-->
|
||||
<h3>Inline text elements</h3>
|
||||
<figure>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="#" onclick="event.preventDefault()">Link</a></td>
|
||||
<td><strong>Bold</strong></td>
|
||||
<td><em>Italic</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><u>Underline</u></td>
|
||||
<td><del>Deleted</del></td>
|
||||
<td><ins>Inserted</ins></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><s>Strikethrough</s></td>
|
||||
<td><small>Small</small></td>
|
||||
<td
|
||||
><abbr title="Abbreviation" data-tooltip="Abbreviation"
|
||||
>Abbr.</abbr
|
||||
></td
|
||||
>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Text <sub>Sub</sub></td>
|
||||
<td>Text <sup>Sup</sup></td>
|
||||
<td><kbd>Kbd</kbd></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><mark>Highlighted</mark></td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
|
||||
<!-- Headings-->
|
||||
<h3>Heading 3</h3>
|
||||
<p>
|
||||
Integer bibendum malesuada libero vel eleifend. Fusce iaculis turpis
|
||||
ipsum, at efficitur sem scelerisque vel. Aliquam auctor diam ut purus
|
||||
cursus fringilla. Class aptent taciti sociosqu ad litora torquent per
|
||||
conubia nostra, per inceptos himenaeos.
|
||||
</p>
|
||||
<h4>Heading 4</h4>
|
||||
<p>
|
||||
Cras fermentum velit vitae auctor aliquet. Nunc non congue urna, at
|
||||
blandit nibh. Donec ac fermentum felis. Vivamus tincidunt arcu ut lacus
|
||||
hendrerit, eget mattis dui finibus.
|
||||
</p>
|
||||
<h5>Heading 5</h5>
|
||||
<p>
|
||||
Donec nec egestas nulla. Sed varius placerat felis eu suscipit. Mauris
|
||||
maximus ante in consequat luctus. Morbi euismod sagittis efficitur. Aenean
|
||||
non eros orci. Vivamus ut diam sem.
|
||||
</p>
|
||||
<h6>Heading 6</h6>
|
||||
<p>
|
||||
Ut sed quam non mauris placerat consequat vitae id risus. Vestibulum
|
||||
tincidunt nulla ut tortor posuere, vitae malesuada tortor molestie. Sed
|
||||
nec interdum dolor. Vestibulum id auctor nisi, a efficitur sem. Aliquam
|
||||
sollicitudin efficitur turpis, sollicitudin hendrerit ligula semper id.
|
||||
Nunc risus felis, egestas eu tristique eget, convallis in velit.
|
||||
</p>
|
||||
|
||||
<!-- Medias-->
|
||||
<figure>
|
||||
<img
|
||||
src="img/aleksandar-jason-a562ZEFKW8I-unsplash-2000x1000.jpg"
|
||||
alt="Minimal landscape"
|
||||
/>
|
||||
<figcaption>
|
||||
Image from
|
||||
<a href="https://unsplash.com/photos/a562ZEFKW8I" target="_blank"
|
||||
>unsplash.com</a
|
||||
>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</section>
|
||||
<!-- ./ Typography-->
|
||||
|
||||
<!-- Button-->
|
||||
<section id="button">
|
||||
<h2>Button</h2>
|
||||
<button>Primary</button>
|
||||
</section>
|
||||
<!-- ./ Button -->
|
||||
|
||||
<!-- Form elements-->
|
||||
<section id="form">
|
||||
<form>
|
||||
<h2>Form elements</h2>
|
||||
|
||||
<!-- Search -->
|
||||
<label for="search">Search</label>
|
||||
<input type="search" id="search" name="search" placeholder="Search" />
|
||||
|
||||
<!-- Text -->
|
||||
<label for="text">Text</label>
|
||||
<input type="text" id="text" name="text" placeholder="Text" />
|
||||
<small>Curabitur consequat lacus at lacus porta finibus.</small>
|
||||
|
||||
<!-- Select -->
|
||||
<label for="select">Select</label>
|
||||
<select id="select" name="select" required>
|
||||
<option value="" selected>Select…</option>
|
||||
<option>…</option>
|
||||
</select>
|
||||
|
||||
<!-- File browser -->
|
||||
<label for="file"
|
||||
>File browser
|
||||
<input type="file" id="file" name="file" />
|
||||
</label>
|
||||
|
||||
<!-- Range slider control -->
|
||||
<label for="range"
|
||||
>Range slider
|
||||
<input
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
value="50"
|
||||
id="range"
|
||||
name="range"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<!-- Valid -->
|
||||
<label for="valid">
|
||||
Valid
|
||||
<input
|
||||
type="text"
|
||||
id="valid"
|
||||
name="valid"
|
||||
placeholder="Valid"
|
||||
aria-invalid="false"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<!-- Invalid -->
|
||||
<label for="invalid">
|
||||
Invalid
|
||||
<input
|
||||
type="text"
|
||||
id="invalid"
|
||||
name="invalid"
|
||||
placeholder="Invalid"
|
||||
aria-invalid="true"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<!-- Disabled -->
|
||||
<label for="disabled">
|
||||
Disabled
|
||||
<input
|
||||
type="text"
|
||||
id="disabled"
|
||||
name="disabled"
|
||||
placeholder="Disabled"
|
||||
disabled
|
||||
/>
|
||||
</label>
|
||||
|
||||
<!-- Date-->
|
||||
<label for="date"
|
||||
>Date
|
||||
<input type="date" id="date" name="date" />
|
||||
</label>
|
||||
|
||||
<!-- Time-->
|
||||
<label for="time"
|
||||
>Time
|
||||
<input type="time" id="time" name="time" />
|
||||
</label>
|
||||
|
||||
<!-- Color-->
|
||||
<label for="color"
|
||||
>Color
|
||||
<input type="color" id="color" name="color" value="#0eaaaa" />
|
||||
</label>
|
||||
|
||||
<!-- Checkboxes -->
|
||||
<fieldset>
|
||||
<legend><strong>Checkboxes</strong></legend>
|
||||
<label for="checkbox-1">
|
||||
<input type="checkbox" id="checkbox-1" name="checkbox-1" checked />
|
||||
Checkbox
|
||||
</label>
|
||||
<label for="checkbox-2">
|
||||
<input type="checkbox" id="checkbox-2" name="checkbox-2" />
|
||||
Checkbox
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<!-- Radio buttons -->
|
||||
<fieldset>
|
||||
<legend><strong>Radio buttons</strong></legend>
|
||||
<label for="radio-1">
|
||||
<input
|
||||
type="radio"
|
||||
id="radio-1"
|
||||
name="radio"
|
||||
value="radio-1"
|
||||
checked
|
||||
/>
|
||||
Radio button
|
||||
</label>
|
||||
<label for="radio-2">
|
||||
<input type="radio" id="radio-2" name="radio" value="radio-2" />
|
||||
Radio button
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<!-- Switch -->
|
||||
<fieldset>
|
||||
<legend><strong>Switches</strong></legend>
|
||||
<label for="switch-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="switch-1"
|
||||
name="switch-1"
|
||||
role="switch"
|
||||
checked
|
||||
/>
|
||||
Switch
|
||||
</label>
|
||||
<label for="switch-2">
|
||||
<input type="checkbox" id="switch-2" name="switch-2" role="switch" />
|
||||
Switch
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<!-- Buttons -->
|
||||
<input type="reset" value="Reset" onclick="event.preventDefault()" />
|
||||
<input type="submit" value="Submit" onclick="event.preventDefault()" />
|
||||
</form>
|
||||
</section>
|
||||
<!-- ./ Form elements-->
|
||||
|
||||
<!-- Tables -->
|
||||
<section id="tables">
|
||||
<h2>Tables</h2>
|
||||
<figure>
|
||||
<table role="grid">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
<th scope="col">Heading</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">1</th>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">2</th>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">3</th>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
<td>Cell</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</figure>
|
||||
</section>
|
||||
<!-- ./ Tables -->
|
||||
|
||||
<!-- Accordions -->
|
||||
<section id="accordions">
|
||||
<h2>Accordions</h2>
|
||||
<details>
|
||||
<summary>Accordion 1</summary>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque
|
||||
urna diam, tincidunt nec porta sed, auctor id velit. Etiam venenatis
|
||||
nisl ut orci consequat, vitae tempus quam commodo. Nulla non mauris
|
||||
ipsum. Aliquam eu posuere orci. Nulla convallis lectus rutrum quam
|
||||
hendrerit, in facilisis elit sollicitudin. Mauris pulvinar pulvinar mi,
|
||||
dictum tristique elit auctor quis. Maecenas ac ipsum ultrices, porta
|
||||
turpis sit amet, congue turpis.
|
||||
</p>
|
||||
</details>
|
||||
<details open>
|
||||
<summary>Accordion 2</summary>
|
||||
<ul>
|
||||
<li>Vestibulum id elit quis massa interdum sodales.</li>
|
||||
<li>Nunc quis eros vel odio pretium tincidunt nec quis neque.</li>
|
||||
<li>Quisque sed eros non eros ornare elementum.</li>
|
||||
<li>Cras sed libero aliquet, porta dolor quis, dapibus ipsum.</li>
|
||||
</ul>
|
||||
</details>
|
||||
</section>
|
||||
<!-- ./ Accordions -->
|
||||
|
||||
<!-- Article-->
|
||||
<article id="article">
|
||||
<h2>Article</h2>
|
||||
<p>
|
||||
Nullam dui arcu, malesuada et sodales eu, efficitur vitae dolor. Sed
|
||||
ultricies dolor non ante vulputate hendrerit. Vivamus sit amet suscipit
|
||||
sapien. Nulla iaculis eros a elit pharetra egestas. Nunc placerat
|
||||
facilisis cursus. Sed vestibulum metus eget dolor pharetra rutrum.
|
||||
</p>
|
||||
<footer>
|
||||
<small>Duis nec elit placerat, suscipit nibh quis, finibus neque.</small>
|
||||
</footer>
|
||||
</article>
|
||||
<!-- ./ Article-->
|
||||
|
||||
<!-- Progress -->
|
||||
<section id="progress">
|
||||
<h2>Progress bar</h2>
|
||||
<progress id="progress-1" value="25" max="100"></progress>
|
||||
<progress id="progress-2"></progress>
|
||||
</section>
|
||||
<!-- ./ Progress -->
|
||||
|
||||
<!-- Loading -->
|
||||
<section id="loading">
|
||||
<h2>Loading</h2>
|
||||
<article aria-busy="true"></article>
|
||||
<button aria-busy="true">Please wait…</button>
|
||||
</section>
|
||||
<!-- ./ Loading -->
|
||||
</main>
|
||||
<!-- ./ Main -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<small
|
||||
>Built with <a href="https://picocss.com">Pico</a> •
|
||||
<a
|
||||
href="https://github.com/picocss/examples/blob/master/v1-classless/index.html"
|
||||
>Source code</a
|
||||
></small
|
||||
>
|
||||
</footer>
|
||||
<!-- ./ Footer -->
|
||||
|
||||
<!-- Minimal theme switcher -->
|
||||
<!-- <script src="js/minimal-theme-switcher.js"></script> -->
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
/** Remove \ and / from beginning of string */
|
||||
export function removeLeadingSlash(path: string) {
|
||||
return path.replace(/^[/\\]+/, '');
|
||||
}
|
||||
|
||||
/** Remove \ and / from end of string */
|
||||
export function removeTrailingSlash(path: string) {
|
||||
return path.replace(/[/\\]+$/, '');
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"extends": "astro/tsconfigs/strict"
|
||||
}
|
||||
Loading…
Reference in New Issue