Compare commits
2 commits
bc01642fa4
...
84703e3117
Author | SHA1 | Date | |
---|---|---|---|
84703e3117 | |||
cafdf14928 |
10 changed files with 37 additions and 114 deletions
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
import { ThemeSelect } from "@components/hooks/ThemeSwitch";
|
import { ThemeSelect } from "@components/hooks/ThemeSwitch";
|
||||||
import { getTypeData } from "@config/io/generateTypeData";
|
import { getTypeData } from "@config/io/generateTypeData";
|
||||||
import Nav from "@components/navigation/sidebars/Nav.astro";
|
import Nav from "@components/navigation/sidebars/nav/index.astro";
|
||||||
import TOC from "@components/navigation/sidebars/TOC.astro";
|
import TOC from "@components/navigation/sidebars/TOC.astro";
|
||||||
import type { TypeTOC } from "./navigation/sidebars/types";
|
import type { TypeTOC } from "./navigation/sidebars/types";
|
||||||
import Search from "./navigation/Search.astro";
|
import Search from "./navigation/Search.astro";
|
||||||
|
|
|
@ -94,53 +94,6 @@ export const MenuToX: VoidComponent<{
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ShevronSmallDown: VoidComponent<{
|
|
||||||
class?: string;
|
|
||||||
}> = props => {
|
|
||||||
return (
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="1em"
|
|
||||||
height="1em"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
class={props.class}
|
|
||||||
>
|
|
||||||
<title>Open</title>
|
|
||||||
<g transform="rotate(-90 12 12)">
|
|
||||||
<path
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-dasharray="8"
|
|
||||||
stroke-dashoffset="0"
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-width="2"
|
|
||||||
d="M9 12L14 7M9 12L14 17"
|
|
||||||
fill="currentColor"
|
|
||||||
></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const CaretCircleRight: VoidComponent<{
|
|
||||||
class?: string;
|
|
||||||
}> = props => {
|
|
||||||
return (
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="1em"
|
|
||||||
height="1em"
|
|
||||||
viewBox="0 0 256 256"
|
|
||||||
class={props.class}
|
|
||||||
>
|
|
||||||
<title>Open</title>
|
|
||||||
<path
|
|
||||||
fill="currentColor"
|
|
||||||
d="M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88m29.66-93.66a8 8 0 0 1 0 11.32l-40 40a8 8 0 0 1-11.32-11.32L140.69 128l-34.35-34.34a8 8 0 0 1 11.32-11.32Z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const Clipboard: VoidComponent<{
|
export const Clipboard: VoidComponent<{
|
||||||
class?: string;
|
class?: string;
|
||||||
}> = props => {
|
}> = props => {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
import Accordion from "./Accordion.astro";
|
import Accordion from "@components/Accordion.astro";
|
||||||
import navMarker from "@icons/nav-marker.svg?raw";
|
import navMarker from "@icons/nav-marker.svg?raw";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
import NavCollapsible from "@components/NavCollapsible.astro";
|
import NavCollapsible from "./NavCollapsible.astro";
|
||||||
import Self from "./Tree.astro";
|
import Self from "./Tree.astro";
|
||||||
import Link from "./Link.astro";
|
import Link from "./Link.astro";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
import SidebarWrapper from "./nav/SidebarWrapper.tsx";
|
import SidebarWrapper from "./SidebarWrapper.tsx";
|
||||||
import RootNav from "./nav/RootNav.astro";
|
import RootNav from "./RootNav.astro";
|
||||||
|
|
||||||
const url = Astro.url.pathname.split("/");
|
const url = Astro.url.pathname.split("/");
|
||||||
const currentRoute = url[2];
|
const currentRoute = url[2];
|
|
@ -6,7 +6,7 @@ import CreateCopyButtons from "@components/hooks/CreateCopyButtons.astro";
|
||||||
import PreTheme from "@config/PreTheme.astro";
|
import PreTheme from "@config/PreTheme.astro";
|
||||||
import Header from "@components/Header.astro";
|
import Header from "@components/Header.astro";
|
||||||
import Head from "@config/Head.astro";
|
import Head from "@config/Head.astro";
|
||||||
import Nav from "@components/navigation/sidebars/Nav.astro";
|
import Nav from "@components/navigation/sidebars/nav/index.astro";
|
||||||
import type { ConfigHeading } from "@src/components/navigation/sidebars/types";
|
import type { ConfigHeading } from "@src/components/navigation/sidebars/types";
|
||||||
import Footer from "@src/components/Footer.astro";
|
import Footer from "@src/components/Footer.astro";
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ const details = route.data.details
|
||||||
---
|
---
|
||||||
|
|
||||||
<DocsLayout
|
<DocsLayout
|
||||||
title={route.type + " Type Documentation"}
|
title={route.type + " Module Types"}
|
||||||
description="Quickshell Type Documentation"
|
description="Quickshell Type Documentation"
|
||||||
>
|
>
|
||||||
<div class="docs-content">
|
<div class="docs-content">
|
||||||
|
|
|
@ -6,20 +6,26 @@ const routes = await getTypeData();
|
||||||
|
|
||||||
const modules = [...new Set(routes.map(route => route.type))];
|
const modules = [...new Set(routes.map(route => route.type))];
|
||||||
---
|
---
|
||||||
<DocsLayout title="Quickshell Type Definitions" description="Quickshell Type Documentation">
|
<DocsLayout title="Quickshell Module Listing" description="Quickshell Type Documentation">
|
||||||
<h2>Type Definitions</h2>
|
<div class="docs-content">
|
||||||
<div class="root-nav">
|
<hr/>
|
||||||
{modules.map(moduleEntry => {
|
<h2>Module Listing</h2>
|
||||||
const indexData = routes.filter(route => route.name === "index")
|
<section>
|
||||||
const indexSingled = indexData.filter(indexEntry => indexEntry.type === moduleEntry)[0]
|
<span>All modules included with Quickshell</span>
|
||||||
const description = indexSingled.data.description
|
<div class="root-nav" data-pagefind-ignore>
|
||||||
return (
|
{modules.map(moduleEntry => {
|
||||||
<div class="root-nav-entry">
|
const indexData = routes.filter(route => route.name === "index")
|
||||||
<a class="root-nav-link" href={`/docs/types/${moduleEntry}`}>
|
const indexSingled = indexData.filter(indexEntry => indexEntry.type === moduleEntry)[0]
|
||||||
{moduleEntry}
|
const description = indexSingled.data.description
|
||||||
</a>
|
return (
|
||||||
<span class="root-nav-desc">{description}</span>
|
<div class="root-nav-entry">
|
||||||
</div>)
|
<a class="root-nav-link" href={`/docs/types/${moduleEntry}`}>
|
||||||
})}
|
{moduleEntry}
|
||||||
|
</a>
|
||||||
|
<span class="root-nav-desc">{description}</span>
|
||||||
|
</div>)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</DocsLayout>
|
</DocsLayout>
|
||||||
|
|
|
@ -19,29 +19,6 @@
|
||||||
&:not(:last-child) {
|
&:not(:last-child) {
|
||||||
border-bottom: 1px solid hsla(var(--blue) 10 15 / 0.6);
|
border-bottom: 1px solid hsla(var(--blue) 10 15 / 0.6);
|
||||||
}
|
}
|
||||||
|
|
||||||
& .root-nav-link {
|
|
||||||
font-size: 1.137rem;
|
|
||||||
max-height: 2rem;
|
|
||||||
position: relative;
|
|
||||||
text-decoration: none;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
&::before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 1px;
|
|
||||||
background: linear-gradient(
|
|
||||||
90deg,
|
|
||||||
transparent 25%,
|
|
||||||
hsla(var(--accent-500) / 0.88) 50%,
|
|
||||||
transparent 75%
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,27 +330,6 @@ html.dark .typevariants {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 0.60fr 1.40fr;
|
grid-template-columns: 0.60fr 1.40fr;
|
||||||
|
|
||||||
& .root-nav-link {
|
|
||||||
justify-self: start;
|
|
||||||
height: max-content;
|
|
||||||
|
|
||||||
&::before {
|
|
||||||
width: 0;
|
|
||||||
background: linear-gradient(
|
|
||||||
to right,
|
|
||||||
hsla(var(--accent-400) / 0.5) var(--percent),
|
|
||||||
hsla(var(--accent-400) / 0) 100%
|
|
||||||
);
|
|
||||||
animation: percentToZero 250ms ease-in-out forwards;
|
|
||||||
transition: width 0.25s ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover::before {
|
|
||||||
animation: percentToFifty 250ms ease-in-out forwards;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& .root-nav-desc {
|
& .root-nav-desc {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
border-left: 1px solid hsl(var(--blue) 10 15 / 0.6);
|
border-left: 1px solid hsl(var(--blue) 10 15 / 0.6);
|
||||||
|
|
|
@ -28,6 +28,10 @@
|
||||||
&.nav-current {
|
&.nav-current {
|
||||||
color: hsl(var(--nav-selected-text));
|
color: hsl(var(--nav-selected-text));
|
||||||
background-color: hsl(var(--nav-selected-bkg));
|
background-color: hsl(var(--nav-selected-bkg));
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: hsl(var(--nav-selected-hovered-bkg));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,12 +83,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
& .accordion-container > div {
|
& .accordion-container > div {
|
||||||
padding-left: 1.2em;
|
padding-left: 1.3em;
|
||||||
|
|
||||||
& p:first-child {
|
& p:first-child {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
& :last-child {
|
||||||
|
margin-bottom: 0rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue