diff --git a/.github/workflows/run-static.yml b/.github/workflows/run-static.yml index 422c6d136..ff70d1a58 100644 --- a/.github/workflows/run-static.yml +++ b/.github/workflows/run-static.yml @@ -58,13 +58,30 @@ jobs: SKIP: no-commit-to-branch - name: Check SDK documentation is up to date run: | + # Save original docs.json for comparison + cp docs/docs.json docs/docs.json.orig + + # Generate documentation just api-ref-all > /dev/null 2>&1 - if ! git diff --quiet docs/python-sdk/ docs/docs.json; then + + # Check if python-sdk files changed + if ! git diff --quiet docs/python-sdk/; then echo "❌ SDK documentation is out of date!" echo "Files that were updated:" - git diff --name-only docs/python-sdk/ docs/docs.json + git diff --name-only docs/python-sdk/ echo "" echo "Run 'just api-ref-all' and commit the changes." exit 1 fi + + # Check if docs.json content changed (ignoring formatting) + if ! jq --sort-keys . docs/docs.json.orig | diff -q - <(jq --sort-keys . docs/docs.json) > /dev/null 2>&1; then + echo "❌ docs.json content has changed!" + echo "Run 'just api-ref-all' and commit the changes." + exit 1 + fi + + # Restore original docs.json to avoid false positives + mv docs/docs.json.orig docs/docs.json + echo "✅ SDK documentation is up to date" diff --git a/docs/assets/brand/card-background.png b/docs/assets/brand/card-background.png new file mode 100644 index 000000000..73e0581ca Binary files /dev/null and b/docs/assets/brand/card-background.png differ diff --git a/docs/assets/favicon.svg b/docs/assets/brand/favicon.svg similarity index 100% rename from docs/assets/favicon.svg rename to docs/assets/brand/favicon.svg diff --git a/docs/assets/brand/logo-wordmark-dark.svg b/docs/assets/brand/logo-wordmark-dark.svg new file mode 100644 index 000000000..207134c62 --- /dev/null +++ b/docs/assets/brand/logo-wordmark-dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/assets/brand/logo-wordmark.svg b/docs/assets/brand/logo-wordmark.svg new file mode 100644 index 000000000..6e704d538 --- /dev/null +++ b/docs/assets/brand/logo-wordmark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/css/style.css b/docs/css/style.css index 6f526c7bc..f25fda7fb 100644 --- a/docs/css/style.css +++ b/docs/css/style.css @@ -1,3 +1,7 @@ +img.nav-logo { + height: 34px; +} + /* Code highlighting -- target only inline code elements, not code blocks */ p code:not(pre code), table code:not(pre code), @@ -12,3 +16,5 @@ h6 code:not(pre code) { color: #f72585 !important; background-color: rgba(247, 37, 133, 0.09); } + + diff --git a/docs/docs.json b/docs/docs.json index 2c5d7739d..4c3e5e153 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -4,6 +4,10 @@ "default": "system", "strict": false }, + "logo": { + "light": "/assets/brand/logo-wordmark.svg", + "dark": "/assets/brand/logo-wordmark-dark.svg" + }, "background": { "color": { "dark": "#222831", @@ -11,6 +15,10 @@ }, "decoration": "windows" }, + "thumbnails": { + "appearance": "light", + "background": "/assets/brand/card-background.png" + }, "banner": { "content": "Remote MCP that just works.   [Try FastMCP Cloud ->](https://fastmcp.link/IhmBxWn)" }, @@ -21,8 +29,8 @@ }, "description": "The fast, Pythonic way to build MCP servers and clients.", "favicon": { - "dark": "/assets/favicon.svg", - "light": "/assets/favicon.svg" + "dark": "/assets/brand/favicon.svg", + "light": "/assets/brand/favicon.svg" }, "footer": { "socials": {