add about page
This commit is contained in:
		
							parent
							
								
									9c669b4afa
								
							
						
					
					
						commit
						068e206226
					
				
					 5 changed files with 86 additions and 19 deletions
				
			
		| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
export interface Props {
 | 
					export interface Props {
 | 
				
			||||||
  currentRoute: string;
 | 
					  currentRoute?: string;
 | 
				
			||||||
  currentModule: string;
 | 
					  currentModule?: string;
 | 
				
			||||||
  currentClass: string;
 | 
					  currentClass?: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const { currentRoute, currentModule, currentClass } = Astro.props;
 | 
					const { currentRoute, currentModule, currentClass } = Astro.props;
 | 
				
			||||||
| 
						 | 
					@ -36,14 +36,14 @@ function genGuideNav(base: string): TreeEntry[] | undefined {
 | 
				
			||||||
const guide = {
 | 
					const guide = {
 | 
				
			||||||
  title: "Usage Guide",
 | 
					  title: "Usage Guide",
 | 
				
			||||||
  link: "/docs/guide",
 | 
					  link: "/docs/guide",
 | 
				
			||||||
  current: currentRoute.startsWith("guide"),
 | 
					  current: currentRoute?.startsWith("guide") ?? false,
 | 
				
			||||||
  entries: genGuideNav(""),
 | 
					  entries: genGuideNav(""),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const types = {
 | 
					const types = {
 | 
				
			||||||
  title: "Quickshell Types",
 | 
					  title: "Quickshell Types",
 | 
				
			||||||
  link: "/docs/types",
 | 
					  link: "/docs/types",
 | 
				
			||||||
  current: currentRoute.startsWith("types"),
 | 
					  current: currentRoute?.startsWith("types") ?? false,
 | 
				
			||||||
  entries: Object.entries(groupedRoutes.types).map(
 | 
					  entries: Object.entries(groupedRoutes.types).map(
 | 
				
			||||||
    ([module, items]) => ({
 | 
					    ([module, items]) => ({
 | 
				
			||||||
      title: module,
 | 
					      title: module,
 | 
				
			||||||
| 
						 | 
					@ -59,6 +59,11 @@ const types = {
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
<nav class="navtree">
 | 
					<nav class="navtree">
 | 
				
			||||||
 | 
					  <Link
 | 
				
			||||||
 | 
					    title="About Quickshell"
 | 
				
			||||||
 | 
					    link="/docs/about"
 | 
				
			||||||
 | 
					    current={currentRoute === "about"}
 | 
				
			||||||
 | 
					  />
 | 
				
			||||||
  <Tree {...guide}/>
 | 
					  <Tree {...guide}/>
 | 
				
			||||||
  <Tree {...types}/>
 | 
					  <Tree {...types}/>
 | 
				
			||||||
  <Link
 | 
					  <Link
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										25
									
								
								src/layouts/GuideLayout.astro
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/layouts/GuideLayout.astro
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					import DocsLayout from "@layouts/DocsLayout.astro";
 | 
				
			||||||
 | 
					import TOC from "@components/navigation/sidebars/TOC.astro";
 | 
				
			||||||
 | 
					import TOCIntersectionObserver from "@src/components/hooks/TOCIntersectionObserver.astro";
 | 
				
			||||||
 | 
					import type { ConfigHeading } from "@src/components/navigation/sidebars/types";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface Props {
 | 
				
			||||||
 | 
					  headings: ConfigHeading[];
 | 
				
			||||||
 | 
					  title: string;
 | 
				
			||||||
 | 
					  description: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { title, description, headings } = Astro.props;
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					<DocsLayout title={title} description={description} headings={headings}>
 | 
				
			||||||
 | 
					  <div class="docs">
 | 
				
			||||||
 | 
					    <div class="docs-content">
 | 
				
			||||||
 | 
					      <hr>
 | 
				
			||||||
 | 
					      <slot/>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <TOC mobile={false} headings={headings} data-pagefind-ignore/>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</DocsLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<TOCIntersectionObserver/>
 | 
				
			||||||
							
								
								
									
										17
									
								
								src/layouts/GuideMdLayout.astro
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/layouts/GuideMdLayout.astro
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					import GuideLayout from "@layouts/GuideLayout.astro";
 | 
				
			||||||
 | 
					import type { ConfigHeading } from "@src/components/navigation/sidebars/types";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface Props {
 | 
				
			||||||
 | 
					  headings: ConfigHeading[];
 | 
				
			||||||
 | 
					  frontmatter: {
 | 
				
			||||||
 | 
					    title: string;
 | 
				
			||||||
 | 
					    description?: string;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { headings, frontmatter: { title, description } } = Astro.props;
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					<GuideLayout title={title} description={description ?? ""} headings={headings}>
 | 
				
			||||||
 | 
					  <slot/>
 | 
				
			||||||
 | 
					</GuideLayout>
 | 
				
			||||||
							
								
								
									
										30
									
								
								src/pages/docs/about.mdx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/pages/docs/about.mdx
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					layout: "@layouts/GuideMdLayout.astro"
 | 
				
			||||||
 | 
					title: "About Quickshell"
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					# {frontmatter.title}
 | 
				
			||||||
 | 
					Quickshell is a toolkit for building a desktop shell, which is to say components
 | 
				
			||||||
 | 
					of your desktop like bars, widgets, lock screens, display managers, and the like.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Quickshell is based on QtQuick and configured with QML, the QtQuick interface
 | 
				
			||||||
 | 
					description language. It provides integrations for common shell functionality,
 | 
				
			||||||
 | 
					as well as support for hot reloading and tools to work with processes,
 | 
				
			||||||
 | 
					sockets, files, and more.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Built-in integrations are currently provided for:
 | 
				
			||||||
 | 
					- Wayland and X11 for windowing
 | 
				
			||||||
 | 
					- Wayland for window management and screen recording
 | 
				
			||||||
 | 
					- Workspace management in Hyprland, I3, and Sway
 | 
				
			||||||
 | 
					- Pipewire for audio controls
 | 
				
			||||||
 | 
					- Pam for authentication and building lockscreens
 | 
				
			||||||
 | 
					- Greetd for building a display manager
 | 
				
			||||||
 | 
					- UPower for monitoring battery statistics
 | 
				
			||||||
 | 
					- Power Profiles Daemon
 | 
				
			||||||
 | 
					- MPRIS compatible media players
 | 
				
			||||||
 | 
					- StatusNotifierItem compatible system tray clients
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Quickshell is actively developed and will still receive breaking changes.
 | 
				
			||||||
 | 
					A tagged release is planned soon, however there will be breakage before
 | 
				
			||||||
 | 
					that point.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the [Usage Guide](/docs/guide) to learn how to set up and use Quickshell
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,5 @@
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
import DocsLayout from "@layouts/DocsLayout.astro";
 | 
					import GuideLayout from "@layouts/GuideLayout.astro";
 | 
				
			||||||
import TOC from "@components/navigation/sidebars/TOC.astro";
 | 
					 | 
				
			||||||
import TOCIntersectionObserver from "@src/components/hooks/TOCIntersectionObserver.astro";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { getCollection, render } from "astro:content";
 | 
					import { getCollection, render } from "astro:content";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,14 +15,6 @@ export async function getStaticPaths() {
 | 
				
			||||||
const { page } = Astro.props;
 | 
					const { page } = Astro.props;
 | 
				
			||||||
const { Content, headings } = await render(page);
 | 
					const { Content, headings } = await render(page);
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
<DocsLayout title={page.data.title} description="" headings={headings}>
 | 
					<GuideLayout title={page.data.title} description="" headings={headings}>
 | 
				
			||||||
  <div class="docs">
 | 
					 | 
				
			||||||
    <div class="docs-content">
 | 
					 | 
				
			||||||
      <hr>
 | 
					 | 
				
			||||||
  <Content/>
 | 
					  <Content/>
 | 
				
			||||||
    </div>
 | 
					</GuideLayout>
 | 
				
			||||||
    <TOC mobile={false} headings={headings} data-pagefind-ignore/>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</DocsLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<TOCIntersectionObserver/>
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue