Skip to content

Commit df582bd

Browse files
committed
docs: add support links and repo badges to docs pages
1 parent c901798 commit df582bd

16 files changed

Lines changed: 118 additions & 1 deletion

File tree

‎docs/.vitepress/theme/custom.css‎

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ abbr {
5353
border-radius: 8px;
5454
}
5555

56+
/* Repo badges (shields.io and GitHub Actions) sit in a row. VitePress makes every
57+
img a block, which would stack them one per line. */
58+
.vp-doc img[src^='https://img.shields.io/'],
59+
.vp-doc img[src$='/badge.svg'] {
60+
display: inline-block;
61+
vertical-align: middle;
62+
border-radius: 3px;
63+
}
64+
5665
/* ---- Noir identity -------------------------------------------------------
5766
Hard edges, strong contrast and one grey, to match the logo. */
5867

@@ -252,3 +261,66 @@ abbr {
252261
transform: none;
253262
}
254263
}
264+
265+
/* ---- Support links (home page) -------------------------------------------
266+
Two equal-weight outlined buttons, so neither service is pushed over the other.
267+
44px tall to meet touch-target guidance; they fill to solid on hover and focus. */
268+
.bn-support {
269+
display: flex;
270+
flex-wrap: wrap;
271+
gap: 12px;
272+
margin: 20px 0;
273+
}
274+
275+
.vp-doc a.bn-support-link {
276+
display: inline-flex;
277+
align-items: center;
278+
gap: 8px;
279+
min-height: 44px;
280+
padding: 0 20px;
281+
border: 1px solid var(--bn-line-strong);
282+
border-radius: var(--bn-radius);
283+
color: var(--vp-c-text-1);
284+
font-size: 14px;
285+
font-weight: 600;
286+
text-decoration: none;
287+
transition:
288+
background-color 0.15s,
289+
color 0.15s;
290+
}
291+
292+
.vp-doc a.bn-support-link:hover,
293+
.vp-doc a.bn-support-link:focus-visible {
294+
background-color: var(--vp-c-brand-1);
295+
color: var(--vp-c-bg);
296+
}
297+
298+
.bn-support-ext {
299+
font-size: 12px;
300+
opacity: 0.7;
301+
}
302+
303+
.bn-sr-only {
304+
position: absolute;
305+
width: 1px;
306+
height: 1px;
307+
margin: -1px;
308+
padding: 0;
309+
overflow: hidden;
310+
clip: rect(0, 0, 0, 0);
311+
white-space: nowrap;
312+
border: 0;
313+
}
314+
315+
@media (max-width: 480px) {
316+
.vp-doc a.bn-support-link {
317+
flex: 1 1 100%;
318+
justify-content: center;
319+
}
320+
}
321+
322+
@media (prefers-reduced-motion: reduce) {
323+
.vp-doc a.bn-support-link {
324+
transition: none;
325+
}
326+
}

‎docs/apps/callrx.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: callrx
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fcallrx-181717?logo=github)](https://github.com/binarynoir/callrx) [![Latest release](https://img.shields.io/github/v/release/binarynoir/callrx)](https://github.com/binarynoir/callrx/releases/latest) [![CI](https://github.com/binarynoir/callrx/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/callrx/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/callrx)](https://github.com/binarynoir/callrx/blob/main/LICENSE)
10+
911
callrx looks up US amateur radio callsigns from your terminal. It pulls the license record from the FCC Universal Licensing System and prints it with color, clickable links and a clean table layout.
1012

1113
## Install

‎docs/apps/noircon.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: NoirCon
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fnoircon-181717?logo=github)](https://github.com/binarynoir/noircon) [![Latest release](https://img.shields.io/github/v/release/binarynoir/noircon)](https://github.com/binarynoir/noircon/releases/latest) [![CI](https://github.com/binarynoir/noircon/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/noircon/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/noircon)](https://github.com/binarynoir/noircon/blob/main/LICENSE)
10+
911
NoirCon checks whether websites, servers and network services are reachable, and notifies you when one stops responding and again when it comes back. Notifications can go to your desktop (macOS, Linux and Windows) or to your phone through Pushover.
1012

1113
## What it can check

‎docs/apps/noirwatch.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: NoirWatch
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fnoirwatch-181717?logo=github)](https://github.com/binarynoir/noirwatch) [![Latest release](https://img.shields.io/github/v/release/binarynoir/noirwatch)](https://github.com/binarynoir/noirwatch/releases/latest) [![CI](https://github.com/binarynoir/noirwatch/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/noirwatch/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/noirwatch)](https://github.com/binarynoir/noirwatch/blob/main/LICENSE)
10+
911
NoirWatch watches web pages and notifies you when one changes. Notifications can go to your desktop (macOS, Linux and Windows) or to your phone through Pushover.
1012

1113
## Features

‎docs/index.md‎

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ features:
100100
- **Want a tool for your terminal?** Pick one on the [apps page](/apps/). Each installs with one Homebrew command.
101101
- **Building a site like this one?** Read [how this site works](/guide/how-this-site-works) and copy what is useful.
102102

103-
## Install the whole toolkit
103+
## Install the whole VitePress toolkit
104104

105105
```sh
106106
npm install --save-dev \
@@ -116,3 +116,20 @@ npm install --save-dev \
116116
```
117117

118118
Every plugin is optional and independent. Take one, or take them all. Each plugin's page shows how to register it, and the VitePress plugins need Node 22 or newer.
119+
120+
## Support the work
121+
122+
Every plugin and app here is free and MIT-licensed. There are no paid tiers and nothing held back. If one of them saved you time, a contribution helps keep them maintained, documented and moving along the [roadmap](/apps/roadmap).
123+
124+
<div class="bn-support">
125+
<a class="bn-support-link" href="https://buymeacoffee.com/binarynoir" target="_blank" rel="noopener">Buy Me a Coffee<span class="bn-support-ext" aria-hidden="true">↗</span><span class="bn-sr-only"> (opens in a new tab)</span></a>
126+
<a class="bn-support-link" href="https://ko-fi.com/binarynoir" target="_blank" rel="noopener">Ko-fi<span class="bn-support-ext" aria-hidden="true">↗</span><span class="bn-sr-only"> (opens in a new tab)</span></a>
127+
</div>
128+
129+
Both open on the service's own site, which handles the payment, so this site never sees your details. Contributing is optional, and everything stays free either way.
130+
131+
Not in a position to give? These help too:
132+
133+
- Star the repos you use on [GitHub](https://github.com/binarynoir).
134+
- Report a bug or suggest a feature in a repo's issues.
135+
- Tell a teammate or friend about a tool that would help them.

‎docs/plugins/auto-navbar.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: Auto Navbar
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fvitepress--auto--navbar-181717?logo=github)](https://github.com/binarynoir/vitepress-auto-navbar) [![npm version](https://img.shields.io/npm/v/@binarynoir/vitepress-auto-navbar)](https://www.npmjs.com/package/@binarynoir/vitepress-auto-navbar) [![CI](https://github.com/binarynoir/vitepress-auto-navbar/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/vitepress-auto-navbar/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/vitepress-auto-navbar)](https://github.com/binarynoir/vitepress-auto-navbar/blob/main/LICENSE)
10+
911
`@binarynoir/vitepress-auto-navbar` is the companion to [Auto Sidebar](/plugins/auto-sidebar). It builds `themeConfig.nav` from the same folder scan, with the same ordering and exclusion syntax, in `.nav` files.
1012

1113
## See it live

‎docs/plugins/auto-sidebar.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: Auto Sidebar
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fvitepress--auto--sidebar-181717?logo=github)](https://github.com/binarynoir/vitepress-auto-sidebar) [![npm version](https://img.shields.io/npm/v/@binarynoir/vitepress-auto-sidebar)](https://www.npmjs.com/package/@binarynoir/vitepress-auto-sidebar) [![CI](https://github.com/binarynoir/vitepress-auto-sidebar/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/vitepress-auto-sidebar/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/vitepress-auto-sidebar)](https://github.com/binarynoir/vitepress-auto-sidebar/blob/main/LICENSE)
10+
911
`@binarynoir/vitepress-auto-sidebar` builds your sidebar by scanning your docs folder, so you stop hand-maintaining `themeConfig.sidebar`. Add a Markdown file and it appears in the sidebar, titled from its heading.
1012

1113
## See it live

‎docs/plugins/downloads.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: Downloads
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fvitepress--downloads-181717?logo=github)](https://github.com/binarynoir/vitepress-downloads) [![npm version](https://img.shields.io/npm/v/@binarynoir/vitepress-downloads)](https://www.npmjs.com/package/@binarynoir/vitepress-downloads) [![CI](https://github.com/binarynoir/vitepress-downloads/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/vitepress-downloads/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/vitepress-downloads)](https://github.com/binarynoir/vitepress-downloads/blob/main/LICENSE)
10+
911
`@binarynoir/vitepress-downloads` turns a folder named `downloads` into downloadable files, linked with a plain relative path. VitePress is built for pages, so a `.sql`, `.zip` or `.xlsx` normally has to be copied into `public/` and linked by an absolute URL. With this plugin the file stays next to the page that uses it.
1012

1113
```txt

‎docs/plugins/glossary/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: Glossary Tooltips
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fmarkdown--it--glossary-181717?logo=github)](https://github.com/binarynoir/markdown-it-glossary) [![npm version](https://img.shields.io/npm/v/markdown-it-glossary)](https://www.npmjs.com/package/markdown-it-glossary) [![CI](https://github.com/binarynoir/markdown-it-glossary/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/markdown-it-glossary/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/markdown-it-glossary)](https://github.com/binarynoir/markdown-it-glossary/blob/main/LICENSE)
10+
911
`markdown-it-glossary` lets you define a term once, in a plain Markdown file, and wraps every plain-text mention of it across your site in a hover tooltip. No linking each mention by hand, no repeating the definition on every page.
1012

1113
## See it live

‎docs/plugins/html-escape/index.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ title: HTML Escape
66

77
[[readingTime]]
88

9+
[![GitHub repo](https://img.shields.io/badge/GitHub-binarynoir%2Fvitepress--html--escape-181717?logo=github)](https://github.com/binarynoir/vitepress-html-escape) [![npm version](https://img.shields.io/npm/v/@binarynoir/vitepress-html-escape)](https://www.npmjs.com/package/@binarynoir/vitepress-html-escape) [![CI](https://github.com/binarynoir/vitepress-html-escape/actions/workflows/ci.yml/badge.svg)](https://github.com/binarynoir/vitepress-html-escape/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/binarynoir/vitepress-html-escape)](https://github.com/binarynoir/vitepress-html-escape/blob/main/LICENSE)
10+
911
`@binarynoir/vitepress-html-escape` keeps stray angle brackets and `{{ }}` in Markdown from breaking your build. VitePress compiles every page as a Vue template, so a sentence like "returns Array<string>" normally stops the build with `Element is missing end tag`. With this plugin it shows up as text. Real HTML and Vue components work exactly as before.
1012

1113
It is built for docs sites with many contributors, where you can't count on everyone to remember the backticks. This site runs it on every page, and every example below is live: each one shows the Markdown as written, then the same Markdown rendered by this site.

0 commit comments

Comments
 (0)