diff --git a/.github/social-preview.png b/.github/social-preview.png
new file mode 100644
index 00000000..1c92c237
Binary files /dev/null and b/.github/social-preview.png differ
diff --git a/README.md b/README.md
index 220d8d00..cfc38d5b 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,14 @@
# libtmux-mcp
+
+
+
+
+
+
+
+
+
A [Model Context Protocol](https://modelcontextprotocol.io) server for [tmux](https://github.com/tmux/tmux), built on [libtmux](https://libtmux.git-pull.com).
[](https://pypi.org/project/libtmux-mcp/)
diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico
index d38a0a61..8642f3ee 100644
Binary files a/docs/_static/favicon.ico and b/docs/_static/favicon.ico differ
diff --git a/docs/_static/img/README.md b/docs/_static/img/README.md
new file mode 100644
index 00000000..131148db
--- /dev/null
+++ b/docs/_static/img/README.md
@@ -0,0 +1,16 @@
+# Logo assets
+
+The documentation and README use the Python palette and MCP overlay from
+the libtmux asset kit. `libtmux.svg` is the vector mark; `libtmux.png` is
+its transparent 512px fallback. Both sidebar themes use the same mark.
+
+`icons/` contains the browser and mobile icons listed in
+`../../manifest.json`, Apple touch artwork, and the Safari mask.
+`../favicon.ico` contains the ICO fallback. `opengraph.png` is the
+1200 × 630 social card; `twitter.png` is the 1200 × 600 card. The repository
+social preview at `../../../.github/social-preview.png` uses the same MCP
+artwork as `opengraph.png`.
+
+The geometry comes from the project owner’s libtmux and tmuxp SVGs. The palette
+uses [GitHub Linguist’s Python color](https://github.com/github-linguist/linguist/blob/538da05f034fa5c83bd81df128d144e208898da3/lib/linguist/languages.yml).
+The overlay uses the symbol from the [MCP logo](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/088176704a4e8f20e7f1d237de1de8484aa412fd/docs/logo/light.svg).
diff --git a/docs/_static/img/icons/apple-touch-icon.png b/docs/_static/img/icons/apple-touch-icon.png
new file mode 100644
index 00000000..c5b6bd86
Binary files /dev/null and b/docs/_static/img/icons/apple-touch-icon.png differ
diff --git a/docs/_static/img/icons/icon-1024x1024.png b/docs/_static/img/icons/icon-1024x1024.png
new file mode 100644
index 00000000..d1fa0a06
Binary files /dev/null and b/docs/_static/img/icons/icon-1024x1024.png differ
diff --git a/docs/_static/img/icons/icon-128x128.png b/docs/_static/img/icons/icon-128x128.png
index a7158088..ab377e88 100644
Binary files a/docs/_static/img/icons/icon-128x128.png and b/docs/_static/img/icons/icon-128x128.png differ
diff --git a/docs/_static/img/icons/icon-144x144.png b/docs/_static/img/icons/icon-144x144.png
index 74cb8a52..10f00f16 100644
Binary files a/docs/_static/img/icons/icon-144x144.png and b/docs/_static/img/icons/icon-144x144.png differ
diff --git a/docs/_static/img/icons/icon-152x152.png b/docs/_static/img/icons/icon-152x152.png
index b569bfdc..bd73e6be 100644
Binary files a/docs/_static/img/icons/icon-152x152.png and b/docs/_static/img/icons/icon-152x152.png differ
diff --git a/docs/_static/img/icons/icon-167x167.png b/docs/_static/img/icons/icon-167x167.png
new file mode 100644
index 00000000..b274e160
Binary files /dev/null and b/docs/_static/img/icons/icon-167x167.png differ
diff --git a/docs/_static/img/icons/icon-16x16.png b/docs/_static/img/icons/icon-16x16.png
new file mode 100644
index 00000000..722009e4
Binary files /dev/null and b/docs/_static/img/icons/icon-16x16.png differ
diff --git a/docs/_static/img/icons/icon-180x180.png b/docs/_static/img/icons/icon-180x180.png
new file mode 100644
index 00000000..643bdb69
Binary files /dev/null and b/docs/_static/img/icons/icon-180x180.png differ
diff --git a/docs/_static/img/icons/icon-192x192.png b/docs/_static/img/icons/icon-192x192.png
index 24376411..dbc5371b 100644
Binary files a/docs/_static/img/icons/icon-192x192.png and b/docs/_static/img/icons/icon-192x192.png differ
diff --git a/docs/_static/img/icons/icon-256x256.png b/docs/_static/img/icons/icon-256x256.png
new file mode 100644
index 00000000..d25a70be
Binary files /dev/null and b/docs/_static/img/icons/icon-256x256.png differ
diff --git a/docs/_static/img/icons/icon-32x32.png b/docs/_static/img/icons/icon-32x32.png
new file mode 100644
index 00000000..c8915dc5
Binary files /dev/null and b/docs/_static/img/icons/icon-32x32.png differ
diff --git a/docs/_static/img/icons/icon-384x384.png b/docs/_static/img/icons/icon-384x384.png
index 8727cef4..21774686 100644
Binary files a/docs/_static/img/icons/icon-384x384.png and b/docs/_static/img/icons/icon-384x384.png differ
diff --git a/docs/_static/img/icons/icon-48x48.png b/docs/_static/img/icons/icon-48x48.png
new file mode 100644
index 00000000..83754286
Binary files /dev/null and b/docs/_static/img/icons/icon-48x48.png differ
diff --git a/docs/_static/img/icons/icon-512x512.png b/docs/_static/img/icons/icon-512x512.png
index 0be877c9..4075f81b 100644
Binary files a/docs/_static/img/icons/icon-512x512.png and b/docs/_static/img/icons/icon-512x512.png differ
diff --git a/docs/_static/img/icons/icon-64x64.png b/docs/_static/img/icons/icon-64x64.png
new file mode 100644
index 00000000..817f0456
Binary files /dev/null and b/docs/_static/img/icons/icon-64x64.png differ
diff --git a/docs/_static/img/icons/icon-72x72.png b/docs/_static/img/icons/icon-72x72.png
index 1587d4d7..ebe848a0 100644
Binary files a/docs/_static/img/icons/icon-72x72.png and b/docs/_static/img/icons/icon-72x72.png differ
diff --git a/docs/_static/img/icons/icon-96x96.png b/docs/_static/img/icons/icon-96x96.png
index 19f4f3d2..cb6c59b0 100644
Binary files a/docs/_static/img/icons/icon-96x96.png and b/docs/_static/img/icons/icon-96x96.png differ
diff --git a/docs/_static/img/icons/maskable-192x192.png b/docs/_static/img/icons/maskable-192x192.png
new file mode 100644
index 00000000..ae2ea954
Binary files /dev/null and b/docs/_static/img/icons/maskable-192x192.png differ
diff --git a/docs/_static/img/icons/maskable-512x512.png b/docs/_static/img/icons/maskable-512x512.png
new file mode 100644
index 00000000..b9261b9a
Binary files /dev/null and b/docs/_static/img/icons/maskable-512x512.png differ
diff --git a/docs/_static/img/icons/safari-pinned-tab.svg b/docs/_static/img/icons/safari-pinned-tab.svg
new file mode 100644
index 00000000..f5300a43
--- /dev/null
+++ b/docs/_static/img/icons/safari-pinned-tab.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/_static/img/libtmux.png b/docs/_static/img/libtmux.png
new file mode 100644
index 00000000..4075f81b
Binary files /dev/null and b/docs/_static/img/libtmux.png differ
diff --git a/docs/_static/img/libtmux.svg b/docs/_static/img/libtmux.svg
index 30f9423a..25bb97ed 100644
--- a/docs/_static/img/libtmux.svg
+++ b/docs/_static/img/libtmux.svg
@@ -1,191 +1,2 @@
-
-
-
-
+
+
diff --git a/docs/_static/img/opengraph.png b/docs/_static/img/opengraph.png
new file mode 100644
index 00000000..1c92c237
Binary files /dev/null and b/docs/_static/img/opengraph.png differ
diff --git a/docs/_static/img/twitter.png b/docs/_static/img/twitter.png
new file mode 100644
index 00000000..388db3d3
Binary files /dev/null and b/docs/_static/img/twitter.png differ
diff --git a/docs/_templates/page.html b/docs/_templates/page.html
index 82c26ec3..6de58e9e 100644
--- a/docs/_templates/page.html
+++ b/docs/_templates/page.html
@@ -9,6 +9,23 @@
#}
{% extends "!page.html" %}
+{% block extrahead %}
+{{ super() }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{% endblock %}
+
{% block logo_prefetch_links %}
{%- if logo_url -%}
diff --git a/docs/conf.py b/docs/conf.py
index 288f705b..ce91f0d7 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -88,6 +88,8 @@ def _patched_tool_collector_tool(self: ToolCollector, **kwargs: t.Any) -> t.Any:
),
},
html_favicon="_static/favicon.ico",
+ ogp_image="_static/img/opengraph.png",
+ ogp_image_alt="libtmux for Python MCP",
html_extra_path=["manifest.json"],
rediraffe_redirects="redirects.txt",
copybutton_selector="div.highlight pre, div.admonition.prompt > p:last-child",
@@ -115,6 +117,11 @@ def _patched_tool_collector_tool(self: ToolCollector, **kwargs: t.Any) -> t.Any:
],
)
+conf["html_context"] = {
+ **conf.get("html_context", {}),
+ "brand_twitter_image": f"{about['__url__'].rstrip('/')}/_static/img/twitter.png",
+}
+
conf["myst_enable_extensions"] = [*conf["myst_enable_extensions"], "attrs_inline"]
conf["exclude_patterns"] = [
*conf.get("exclude_patterns", ()),
diff --git a/docs/manifest.json b/docs/manifest.json
index 50b1df74..da04a47d 100644
--- a/docs/manifest.json
+++ b/docs/manifest.json
@@ -2,52 +2,72 @@
"name": "libtmux-mcp",
"short_name": "libtmux-mcp",
"description": "MCP server for tmux, powered by libtmux",
- "theme_color": "#2196f3",
- "background_color": "#fff",
+ "theme_color": "#3572A5",
+ "background_color": "#F4F4F1",
"display": "browser",
- "Scope": "https://libtmux-mcp.git-pull.com/",
"start_url": "https://libtmux-mcp.git-pull.com/",
"icons": [
{
"src": "_static/img/icons/icon-72x72.png",
"sizes": "72x72",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-96x96.png",
"sizes": "96x96",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-128x128.png",
"sizes": "128x128",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-144x144.png",
"sizes": "144x144",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-152x152.png",
"sizes": "152x152",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-192x192.png",
"sizes": "192x192",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-384x384.png",
"sizes": "384x384",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
},
{
"src": "_static/img/icons/icon-512x512.png",
"sizes": "512x512",
- "type": "image/png"
+ "type": "image/png",
+ "purpose": "any"
+ },
+ {
+ "src": "_static/img/icons/maskable-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png",
+ "purpose": "maskable"
+ },
+ {
+ "src": "_static/img/icons/maskable-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "maskable"
}
],
- "splash_pages": null
+ "splash_pages": null,
+ "scope": "/"
}