new donate page

This commit is contained in:
Robert McRackan
2026-07-25 11:11:09 -04:00
parent 15838fb2cf
commit 123da3c653
4 changed files with 117 additions and 10 deletions

View File

@@ -3,11 +3,27 @@ import { defineConfig } from "vitepress";
// https://vitepress.dev/reference/site-config
export default defineConfig({
vite: {
// esbuild 0.28+ will not downlevel destructuring for safari14 / chrome87.
// Raise the target so docs:dev and docs:build do not need that transform.
build: {
target: "es2022",
},
optimizeDeps: {
esbuildOptions: {
target: "es2022",
},
},
esbuild: {
supported: {
destructuring: true,
},
},
// Avoid watching the C# solution / VS locks (EBUSY on .vsidx files).
server: {
watch: {
ignored: ["**/Source/**", "**/.vs/**", "**/bin/**", "**/obj/**"],
},
},
},
title: "Libation",
description:

View File

@@ -9,6 +9,51 @@
"Liberation Mono", "Courier New", monospace;
}
/* Donate page: primary options */
.donate-options {
display: flex;
flex-wrap: wrap;
gap: 1rem;
margin: 1.25rem 0 0.5rem;
}
.donate-option {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.15rem;
min-width: 11rem;
padding: 1rem 1.25rem;
border: 1px solid var(--vp-c-divider);
border-radius: 8px;
background: var(--vp-c-bg-soft);
text-decoration: none !important;
color: var(--vp-c-text-1) !important;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.donate-option:hover {
border-color: var(--vp-c-brand-1);
background: var(--vp-c-bg-elv);
}
.donate-option__icon {
width: 1.75rem;
height: 1.75rem;
margin-bottom: 0.35rem;
}
.donate-option__label {
font-size: 1.1rem;
font-weight: 600;
line-height: 1.3;
}
.donate-option__hint {
font-size: 0.85rem;
color: var(--vp-c-text-2);
}
/* Hide certain nav items on tablet devices to prevent horizontal scroll */
@media (min-width: 640px) and (max-width: 959px) {
/* Target specific nav items by their position */

View File

@@ -1,27 +1,47 @@
# Website & Docs
This documentation is built with [VitePress](https://vitepress.dev/) and located in the `docs` directory. For more information like [markdown syntax](https://vitepress.dev/guide/markdown#advanced-configuration) and [routing](https://vitepress.dev/guide/routing) or other features, refer [VitePress documentation](https://vitepress.dev/guide).
The [getlibation.com](https://getlibation.com) site is built with [VitePress](https://vitepress.dev/). Site content lives in this repo: the home page is `index.md` at the root, documentation pages are under `docs/`, and site config / theme files are in `.vitepress/`.
### Prerequisites
For VitePress details (markdown, routing, and more), see the [VitePress guide](https://vitepress.dev/guide).
- Node.js 18+
## Prerequisites
### Commands
- [Node.js](https://nodejs.org/) 18 or newer
## Run the site locally
From the **repository root** (`Libation/`, where `package.json` is):
### One-time setup
Install npm dependencies (needed once after cloning, or again after dependency changes):
```bash
# Install dependencies
npm install
```
# Start local dev server (http://localhost:5173)
### Start the dev server
```bash
npm run docs:dev
```
# Build for production (output: docs/.vitepress/dist)
Then open [http://localhost:5173](http://localhost:5173) in your browser. The server reloads when you edit markdown or theme files.
Stop it with `Ctrl+C` in that terminal.
### Other commands
```bash
# Production build (output: .vitepress/dist)
npm run docs:build
# Preview production build
# Preview the production build locally
npm run docs:preview
```
### Note
## Adding pages
New pages are automatically routed based on their folder structure (e.g., `docs/docs/index.md` maps to `/docs/index`). To add them to the sidebar, update the `sidebar` configuration in `.vitepress/config.js`.
New markdown files are routed from their path automatically (for example `docs/getting-started.md` -> `/docs/getting-started`, or `donate.md` at the repo root -> `/donate`).
To show a page in the sidebar or top nav, add it in `.vitepress/config.js`. A page can exist and be reachable by URL without being linked in navigation.

26
donate.md Normal file
View File

@@ -0,0 +1,26 @@
# Donate
Libation is free and always will be. If you'd like to tip anyway: thank you. It means a lot.
<div class="donate-options donate-options--primary">
<a class="donate-option" href="https://www.paypal.com/paypalme/mcrackan" target="_blank" rel="noopener noreferrer">
<svg class="donate-option__icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="#003087" d="M7.016 19.198h-4.2a.562.562 0 0 1-.555-.65L5.093.584A.692.692 0 0 1 5.776 0h7.222c3.417 0 5.904 2.488 5.846 5.5-.006.25-.027.5-.066.747A6.794 6.794 0 0 1 12.071 12H8.743a.69.69 0 0 0-.682.583l-.325 2.056-.013.083-.692 4.39-.015.087z"/><path fill="#009CDE" d="M19.79 6.142c-.01.087-.01.175-.023.261a7.76 7.76 0 0 1-7.695 6.598H9.007l-.283 1.795-.013.083-.692 4.39-.134.843-.014.088H6.86l-.497 3.15a.562.562 0 0 0 .555.65h3.612c.34 0 .63-.249.683-.585l.952-6.031a.692.692 0 0 1 .683-.584h2.126a6.793 6.793 0 0 0 6.707-5.752c.306-1.95-.466-3.744-1.89-4.906z"/></svg>
<span class="donate-option__label">PayPal</span>
<span class="donate-option__hint">paypal.me/mcrackan</span>
</a>
<a class="donate-option" href="https://venmo.com/Robert-McRackan-1" target="_blank" rel="noopener noreferrer">
<svg class="donate-option__icon" viewBox="0 0 24 24" aria-hidden="true"><path fill="#008CFF" d="M4.2 2.8h5.4L12 13.6 14.4 2.8h5.4L13.5 21.2h-3L4.2 2.8z"/></svg>
<span class="donate-option__label">Venmo</span>
<span class="donate-option__hint">@Robert-McRackan-1</span>
</a>
</div>
::: info Skip purchase protection
If PayPal or Venmo offers "purchase protection" / goods & services, please skip it. That option just gives part of your tip to them.
:::
- **[Amazon gift card](https://www.amazon.com/dp/B07PCMWTSG)** - send it to the email on my [GitHub profile](https://github.com/rmcrackan) (you must be logged in to GitHub to see it)
- If none of these are you're cup of tea, please donate to a charity such as the [No Limits Foundation](https://www.nolimitsfoundation.org/ways-to-give). I don't get any personal benefit from this, but they're a beautiful organization I've been involved with for years