# my-quartz-changes Quartz changes for my https://garden.pionaiki.com website. ## Changes: File: `/quartz/components/Body.tsx`: ```TS // @ts-ignore import clipboardScript from "./scripts/clipboard.inline" import clipboardStyle from "./styles/clipboard.scss" import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" let webringdata = [] let webringmyindex = 0 let webringnext = {name: "ERROR", url: "about:blank"} let webringprev = {name: "ERROR", url: "about:blank"} fetch('https://raw.githubusercontent.com/CORTEXIMPLANT/webring/main/websites.json') .then(function(response) { return response.json(); }) .then(function(myJson) { webringdata=myJson if (webringmyindex + 1 > webringdata.length - 1) { webringnext = webringdata[0] } else { webringnext = webringdata[webringmyindex + 1] } if (webringmyindex - 1 < 0) { webringprev = webringdata[webringdata.length - 1] } else { webringprev = webringdata[webringmyindex - 1] } // OVERWRITE webringnext = {"name": "NEXT", "url": "https://webring.obeythesystem.com/page?=next"} webringprev = {"name": "PREV", "url": "https://webring.obeythesystem.com/page?=previous"} }); const Body: QuartzComponent = ({ children }: QuartzComponentProps) => { return (

{children}
) } Body.afterDOMLoaded = clipboardScript Body.css = clipboardStyle export default (() => Body) satisfies QuartzComponentConstructor ``` File: `/quartz/components/Footer.tsx`: ```TS import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" import style from "./styles/footer.scss" import { version } from "../../package.json" import { i18n } from "../i18n" interface Options { links: Record } export default ((opts?: Options) => { const Footer: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => { const year = new Date().getFullYear() const links = opts?.links ?? [] return ( ) } Footer.css = style return Footer }) satisfies QuartzComponentConstructor ``` File: `/quartz/styles/custom.scss`: ```SCSS @use "./base.scss"; @use "./variables.scss" as *; // put your custom CSS here! .page-title { & a { hyphens: none; } } .webring-container { position: fixed; top: 0; width: 100%; @media all and (max-width: $fullPageWidth) { position: inherit; max-width: 750px; } background-color: var(--light); & .webring { display: flex; justify-content: space-between; margin: 0.5em; & .webring-previous { &::before { content: "⇠ "; } } & .webring-next { &::after { content: " ⇢"; } } & .webring-short { display: none; } @media screen and (max-width: 600px) { & .webring-long { display: none; /* Hide long text on small screens */ } & .webring-short { display: inline; /* Display shortcut text on small screens */ } } } } ```