master @ 58 LINES
[ HISTORY ] [ UP ]
┌─ ASTRO ────────────────────────────────────────────────────────────────────┐
│ --- │
│ import ArticleLayout from "../layouts/ArticleLayout/ArticleLayout.astro"; │
│ import TopHeader from "../components/TopHeader/TopHeader.astro"; │
│ import Frame from "../components/Frame/Frame.astro"; │
│ import Pre from "../components/Pre/Pre.astro"; │
│ import Panel from "../components/Panel/Panel.astro"; │
│ import Button from "../components/Button/Button.astro"; │
│ import ArticleFooter from "../components/ArticleFooter/ArticleFooter.astro"; │
│ import { row2, ruleD } from "../lib/ascii"; │
│ │
│ const buildHeader = (w: number) => │
│ [row2("PROJECT LEDGER", "DEPT. OF OOKS", w), ruleD(w)].join("\n"); │
│ │
│ const PROJECTS: { name: string; desc: string; git: string; docs?: string; web?: st │
│ ring }[] = [ │
│ { │
│ name: "OOKNET", │
│ desc: "my personal nixos infrastructure configuration", │
│ git: "https://github.com/ooks-io/ooknet", │
│ }, │
│ { │
│ name: "OOKNET.ORG", │
│ desc: "personal website - a text-mode knowledge base and the ascii design syst │
│ em that renders it, everything on a strict monospace grid", │
│ git: "https://github.com/ooks-io/ooknet.org", │
│ }, │
│ { │
│ name: "WOWSIM-STATS", │
│ desc: "a nix pipeline that orchestrates mist of pandaria simulations at scale, │
│ and a statically generated challenge mode leaderboard", │
│ git: "https://github.com/ooks-io/wowsim-stats", │
│ web: "https://wowsimstats.com", │
│ }, │
│ ]; │
│ --- │
│ <ArticleLayout title="OOKNET KB - Projects" │
│ description="The project ledger: what the dept. of ooks builds, with source and │
│ documentation for each."> │
│ <TopHeader /> │
│ <Frame build={buildHeader} /> │
│ <Pre>{" "}</Pre> │
│ {PROJECTS.map((p) => ( │
│ <Fragment> │
│ <Panel title={p.name}> │
│ <p class="project-desc">{p.desc}</p> │
│ <Pre><Button label="GIT" href={p.git} />{p.docs && <Fragment>{" "}<Button │
│ label="MORE" href={p.docs} /></Fragment>}{p.web && <Fragment>{" "}<Button label= │
│ "WEB" href={p.web} /></Fragment>}</Pre> │
│ </Panel> │
│ <Pre>{" "}</Pre> │
│ </Fragment> │
│ ))} │
│ <ArticleFooter /> │
│ </ArticleLayout> │
│ │
│ <style lang="scss"> │
│ .project-desc { │
│ margin: 0 0 0.7em; │
│ font-family: var(--mono); │
│ font-size: var(--fs); │
│ line-height: var(--lh); │
│ } │
│ </style> │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ASTRO ──────────────────────────────┐
│ --- │
│ import ArticleLayout from "../layouts/Articl │
│ eLayout/ArticleLayout.astro"; │
│ import TopHeader from "../components/TopHead │
│ er/TopHeader.astro"; │
│ import Frame from "../components/Frame/Frame │
│ .astro"; │
│ import Pre from "../components/Pre/Pre.astro │
│ "; │
│ import Panel from "../components/Panel/Panel │
│ .astro"; │
│ import Button from "../components/Button/But │
│ ton.astro"; │
│ import ArticleFooter from "../components/Art │
│ icleFooter/ArticleFooter.astro"; │
│ import { row2, ruleD } from "../lib/ascii"; │
│ │
│ const buildHeader = (w: number) => │
│ [row2("PROJECT LEDGER", "DEPT. OF OOKS", w │
│ ), ruleD(w)].join("\n"); │
│ │
│ const PROJECTS: { name: string; desc: string │
│ ; git: string; docs?: string; web?: string } │
│ [] = [ │
│ { │
│ name: "OOKNET", │
│ desc: "my personal nixos infrastructure │
│ configuration", │
│ git: "https://github.com/ooks-io/ooknet" │
│ , │
│ }, │
│ { │
│ name: "OOKNET.ORG", │
│ desc: "personal website - a text-mode kn │
│ owledge base and the ascii design system tha │
│ t renders it, everything on a strict monospa │
│ ce grid", │
│ git: "https://github.com/ooks-io/ooknet. │
│ org", │
│ }, │
│ { │
│ name: "WOWSIM-STATS", │
│ desc: "a nix pipeline that orchestrates │
│ mist of pandaria simulations at scale, and a │
│ statically generated challenge mode leaderb │
│ oard", │
│ git: "https://github.com/ooks-io/wowsim- │
│ stats", │
│ web: "https://wowsimstats.com", │
│ }, │
│ ]; │
│ --- │
│ <ArticleLayout title="OOKNET KB - Projects" │
│ description="The project ledger: what the │
│ dept. of ooks builds, with source and docume │
│ ntation for each."> │
│ <TopHeader /> │
│ <Frame build={buildHeader} /> │
│ <Pre>{" "}</Pre> │
│ {PROJECTS.map((p) => ( │
│ <Fragment> │
│ <Panel title={p.name}> │
│ <p class="project-desc">{p.desc}</p> │
│ <Pre><Button label="GIT" href={p.git │
│ } />{p.docs && <Fragment>{" "}<Button label │
│ ="MORE" href={p.docs} /></Fragment>}{p.web & │
│ & <Fragment>{" "}<Button label="WEB" href={ │
│ p.web} /></Fragment>}</Pre> │
│ </Panel> │
│ <Pre>{" "}</Pre> │
│ </Fragment> │
│ ))} │
│ <ArticleFooter /> │
│ </ArticleLayout> │
│ │
│ <style lang="scss"> │
│ .project-desc { │
│ margin: 0 0 0.7em; │
│ font-family: var(--mono); │
│ font-size: var(--fs); │
│ line-height: var(--lh); │
│ } │
│ </style> │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET