Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -264,11 +264,38 @@ jobs:
uses: ./.github/actions/setup

- name: bun audit (block on high/critical)
# Blume's image-size has no patched release yet — ignore those GHSAs until one ships.
# Ignored GHSAs are all docs/dev/build-time-only with no reach into
# published `packages/*` tarballs (zero-dep core; adapters ship core +
# framework peer only) — revisit on Blume / Angular / toolchain bumps.
run: |
set +e
# bun emits ANSI color even when piped — strip it or the severity grep misses it.
NO_COLOR=1 bun audit --ignore=GHSA-w3rx-r6r6-pgpr --ignore=GHSA-5p2g-fcmc-qvqq 2>&1 | sed -E 's/\x1b\[[0-9;]*m//g' > /tmp/bun-audit.log
IGNORES=(
# Blume's image-size has no patched release yet (dep dropped in Blume
# 2.1.3, so currently no-ops — kept in case the dep returns).
--ignore=GHSA-w3rx-r6r6-pgpr --ignore=GHSA-5p2g-fcmc-qvqq
# Angular SSR via docs recipe islands (@analogjs/astro-angular) and the
# adapter dev harness (@angular/build): no SSR in published tarballs.
--ignore=GHSA-v3p8-whq6-r5jg --ignore=GHSA-f6mr-pjwc-34m4
--ignore=GHSA-j3r3-mxqp-r2p4 --ignore=GHSA-f67j-2jqw-jpq7
# Docs Vue islands + adapter test harness (@vue/test-utils): published
# runtime peer is client-only vue.
--ignore=GHSA-g2v6-rqmx-r4w6
# Blume/Astro docs-build subtree (glob, serialization, fetch/SVG/sourcemaps).
--ignore=GHSA-qhr7-859c-m2p7 --ignore=GHSA-6j4f-fj2g-mc7p
--ignore=GHSA-vfj7-8cjw-p6xm
--ignore=GHSA-j22f-vq7h-c4qm --ignore=GHSA-mcm9-63f2-9j32 --ignore=GHSA-x5rw-q4pp-hg5g
--ignore=GHSA-ch52-4w7c-c8xp --ignore=GHSA-2883-xcg3-v3hh
--ignore=GHSA-w27v-7q3p-w38r --ignore=GHSA-68fv-2mgg-jv7q
--ignore=GHSA-rfgv-xxqx-mfg5 --ignore=GHSA-w293-vg96-wgc3 --ignore=GHSA-vp8m-p9jh-q5pm
# Build/test tooling only: @angular/build workers, oxfmt workers,
# playground serialization, codemap/MCP express helpers.
--ignore=GHSA-67c8-pqhq-4rmx
--ignore=GHSA-5gmw-xhrv-c9v3 --ignore=GHSA-85c8-ppgw-ccpr
--ignore=GHSA-p6vx-979v-rg4c --ignore=GHSA-jp82-f5mq-hwhp
--ignore=GHSA-jqcg-44mw-7w3h
)
NO_COLOR=1 bun audit "${IGNORES[@]}" 2>&1 | sed -E 's/\x1b\[[0-9;]*m//g' > /tmp/bun-audit.log
cat /tmp/bun-audit.log
if grep -E '(^|[[:space:]])(high|critical):[[:space:]]' /tmp/bun-audit.log; then
echo "::error::high or critical vulnerabilities found — blocking"
Expand Down
51 changes: 34 additions & 17 deletions apps/docs/blume.config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { defineConfig } from "blume";
import { orama } from "blume/search";
import { filesystem, githubReleases } from "blume/sources";

import { CURATED_POPULAR } from "./components/curated-popular";

Expand All @@ -21,33 +23,31 @@ export default defineConfig({
dir: "apps/docs",
},

lastModified: true,
lastModified: "git",

content: {
sources: [
{ type: "filesystem", root: "content" },
{
type: "github-releases",
filesystem({ root: "content" }),
githubReleases({
prefix: "changelog",
owner: "stainless-code",
repo: "layers",
limit: 100,
},
}),
],
},

navigation: {
tabs: [
{ label: "Guides", path: "/guides", icon: "book-open" },
{ label: "Examples", path: "/examples", icon: "rocket" },
{ label: "Guides", path: "/guides" },
{ label: "Examples", path: "/examples" },
{
label: "Integrations",
path: "/integrations",
icon: "blocks",
},
{ label: "Concepts", path: "/concepts", icon: "layers" },
{ label: "Adapters", path: "/adapters", icon: "plug" },
{ label: "Reference", path: "/reference", icon: "code" },
{ label: "Concepts", path: "/concepts" },
{ label: "Adapters", path: "/adapters" },
{ label: "Reference", path: "/reference" },
],
featured: [
{ label: "Changelog", href: "/changelog", icon: "sparkles" },
Expand All @@ -60,26 +60,45 @@ export default defineConfig({
sidebar: { display: "flat" },
},

footer: {
links: [
{ label: "Getting started", href: "/guides/getting-started" },
{ label: "Core API", href: "/reference/core-api" },
{ label: "Changelog", href: "/changelog" },
],
socials: {
github: "https://github.com/stainless-code/layers",
},
},

theme: { accent: "teal", radius: "md", mode: "system" },
search: {
provider: "orama",
provider: orama(),
popular: CURATED_POPULAR.map(({ route, label }) => ({
href: route,
label,
})),
},

markdown: {
code: { icons: true },
codeBlocks: { theme: { light: "github-light", dark: "github-dark" } },
externalLinks: true,
code: {
icons: true,
theme: { light: "github-light", dark: "github-dark" },
},
},

variables: {
"svelte-runes-min": "5.7+",
},

toc: { minHeadingLevel: 2, maxHeadingLevel: 3 },

export: { epub: true, pdf: true },

ai: {
agents: {
llmsTxt: true,
agentReadability: true,
markdownComponents: {
HeroDemo: () =>
"_Live hero demo: interactive confirm, toast, serial queue, and nested-confirm scenarios running the real React adapter. See the page for the rendered demo._",
Expand Down Expand Up @@ -115,11 +134,9 @@ export default defineConfig({
sitemap: true,
robots: true,
structuredData: true,
agentReadability: true,
},

deployment: {
output: "static",
site: "https://stainless-code.com",
base: "/layers",
},
Expand Down
2 changes: 2 additions & 0 deletions apps/docs/components.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { defineComponents } from "blume";

import Header from "./components/blume/Header.astro";
Comment thread
SutuSebastian marked this conversation as resolved.
import Pagination from "./components/blume/Pagination.astro";
import RecipeCodeBlock from "./components/RecipeCodeBlock.astro";

Expand All @@ -12,6 +13,7 @@ export default defineComponents({
CodeBlock: RecipeCodeBlock,
},
layout: {
Header,
// Use the theme radius token (rounded-blume) instead of the built-in pills
// (rounded-full) — softer corners that match the table/install cards.
Pagination,
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/components/blume/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ const groups: { label: string; links: { href: string; label: string; external?:
];
---

<footer class="border-border border-t">
<div class="mx-auto max-w-[1400px] px-6 py-16 sm:py-20">
<footer class="landing-gutter border-border border-t">
<div class="mx-auto max-w-[1160px] py-16 sm:py-20">
<div class="grid gap-12 lg:grid-cols-[1.4fr_3fr] lg:gap-16">
<div class="lg:w-72 lg:shrink-0">
<Logo logo={logo} site={site} />
Expand Down
Loading
Loading