ab2f03213b
The manual is authored man-page style: every synopsis, example, option table, and description sits in one 4-space-indented block. On the site that renders as a single unhighlighted grey slab, because an indented block declares no language. Split each block into its paragraphs at site-build time and classify them: synopsis and shell examples become ```fish fences, descriptions become real prose, and column-aligned reference tables keep their indentation. 175 blocks now highlight; the 412 lines of genuine tables are left alone. The transform is site-only. docs/manual/** keeps the indented form the pandoc man-page pipeline and config-help depend on, and a test enforces that no fence is ever written back to the SSOT. Also: - Point Expressive Code at the bundled Catppuccin Mocha/Latte themes so code blocks match the palette in catppuccin.css. - Build the functions sidebar group explicitly. `autogenerate` labelled it with the raw directory slug and republished the directory index as a child of the group it already titled, producing the duplicate "Functions Reference" row. - Skip `Synopsis:` lines when deriving card descriptions; they restated the calling convention the card already shows as its title. - Widen the palette: tinted heading levels, inline code, links, card hover accents, aside accents, and table headers. Fixes a bug where _split_entries stripped the leading indentation of an entry's first line, detaching `Synopsis:` from the block it opens.
33 lines
1012 B
JavaScript
33 lines
1012 B
JavaScript
import { defineConfig } from 'astro/config';
|
|
import starlight from '@astrojs/starlight';
|
|
import sidebar from './src/sidebar.json' with { type: 'json' };
|
|
|
|
export default defineConfig({
|
|
site: 'https://fish-config-docs.pages.dev',
|
|
integrations: [
|
|
starlight({
|
|
title: 'Fish Config',
|
|
description: 'Reference manual for the rootiest fish configuration.',
|
|
social: [
|
|
{
|
|
icon: 'code-branch',
|
|
label: 'Gitea',
|
|
href: 'https://git.rootiest.dev/rootiest/fish-config',
|
|
},
|
|
],
|
|
customCss: ['./src/styles/catppuccin.css'],
|
|
expressiveCode: {
|
|
// Shiki ships both Catppuccin flavours; Starlight picks by the
|
|
// reader's colour scheme, matching the palette in catppuccin.css.
|
|
themes: ['catppuccin-mocha', 'catppuccin-latte'],
|
|
styleOverrides: {
|
|
borderRadius: '0.4rem',
|
|
borderColor: 'var(--sl-color-gray-5)',
|
|
codeFontSize: '0.875rem',
|
|
},
|
|
},
|
|
sidebar,
|
|
}),
|
|
],
|
|
});
|