Compare commits
2 commits
bc01642fa4
...
84703e3117
Author | SHA1 | Date | |
---|---|---|---|
outfoxxed | 84703e3117 | ||
outfoxxed | cafdf14928 |
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
import { ThemeSelect } from "@components/hooks/ThemeSwitch";
|
||||
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 type { TypeTOC } from "./navigation/sidebars/types";
|
||||
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<{
|
||||
class?: string;
|
||||
}> = props => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
import Accordion from "./Accordion.astro";
|
||||
import Accordion from "@components/Accordion.astro";
|
||||
import navMarker from "@icons/nav-marker.svg?raw";
|
||||
|
||||
interface Props {
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
import NavCollapsible from "@components/NavCollapsible.astro";
|
||||
import NavCollapsible from "./NavCollapsible.astro";
|
||||
import Self from "./Tree.astro";
|
||||
import Link from "./Link.astro";
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
import SidebarWrapper from "./nav/SidebarWrapper.tsx";
|
||||
import RootNav from "./nav/RootNav.astro";
|
||||
import SidebarWrapper from "./SidebarWrapper.tsx";
|
||||
import RootNav from "./RootNav.astro";
|
||||
|
||||
const url = Astro.url.pathname.split("/");
|
||||
const currentRoute = url[2];
|
|
@ -6,7 +6,7 @@ import CreateCopyButtons from "@components/hooks/CreateCopyButtons.astro";
|
|||
import PreTheme from "@config/PreTheme.astro";
|
||||
import Header from "@components/Header.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 Footer from "@src/components/Footer.astro";
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ const details = route.data.details
|
|||
---
|
||||
|
||||
<DocsLayout
|
||||
title={route.type + " Type Documentation"}
|
||||
title={route.type + " Module Types"}
|
||||
description="Quickshell Type Documentation"
|
||||
>
|
||||
<div class="docs-content">
|
||||
|
|
|
@ -6,20 +6,26 @@ const routes = await getTypeData();
|
|||
|
||||
const modules = [...new Set(routes.map(route => route.type))];
|
||||
---
|
||||
<DocsLayout title="Quickshell Type Definitions" description="Quickshell Type Documentation">
|
||||
<h2>Type Definitions</h2>
|
||||
<div class="root-nav">
|
||||
{modules.map(moduleEntry => {
|
||||
const indexData = routes.filter(route => route.name === "index")
|
||||
const indexSingled = indexData.filter(indexEntry => indexEntry.type === moduleEntry)[0]
|
||||
const description = indexSingled.data.description
|
||||
return (
|
||||
<div class="root-nav-entry">
|
||||
<a class="root-nav-link" href={`/docs/types/${moduleEntry}`}>
|
||||
{moduleEntry}
|
||||
</a>
|
||||
<span class="root-nav-desc">{description}</span>
|
||||
</div>)
|
||||
})}
|
||||
<DocsLayout title="Quickshell Module Listing" description="Quickshell Type Documentation">
|
||||
<div class="docs-content">
|
||||
<hr/>
|
||||
<h2>Module Listing</h2>
|
||||
<section>
|
||||
<span>All modules included with Quickshell</span>
|
||||
<div class="root-nav" data-pagefind-ignore>
|
||||
{modules.map(moduleEntry => {
|
||||
const indexData = routes.filter(route => route.name === "index")
|
||||
const indexSingled = indexData.filter(indexEntry => indexEntry.type === moduleEntry)[0]
|
||||
const description = indexSingled.data.description
|
||||
return (
|
||||
<div class="root-nav-entry">
|
||||
<a class="root-nav-link" href={`/docs/types/${moduleEntry}`}>
|
||||
{moduleEntry}
|
||||
</a>
|
||||
<span class="root-nav-desc">{description}</span>
|
||||
</div>)
|
||||
})}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</DocsLayout>
|
||||
|
|
|
@ -19,29 +19,6 @@
|
|||
&:not(:last-child) {
|
||||
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;
|
||||
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 {
|
||||
padding-left: 1rem;
|
||||
border-left: 1px solid hsl(var(--blue) 10 15 / 0.6);
|
||||
|
|
|
@ -28,6 +28,10 @@
|
|||
&.nav-current {
|
||||
color: hsl(var(--nav-selected-text));
|
||||
background-color: hsl(var(--nav-selected-bkg));
|
||||
|
||||
&:hover {
|
||||
background-color: hsl(var(--nav-selected-hovered-bkg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,12 +83,16 @@
|
|||
}
|
||||
|
||||
& .accordion-container > div {
|
||||
padding-left: 1.2em;
|
||||
padding-left: 1.3em;
|
||||
|
||||
& p:first-child {
|
||||
padding-top: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
& :last-child {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue