diff --git a/.github/social-preview.png b/.github/social-preview.png new file mode 100644 index 0000000000..6814f479b7 Binary files /dev/null and b/.github/social-preview.png differ diff --git a/README.md b/README.md index 4efd2ed963..186c7735e9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,12 @@

⚙️ libtmux

Drive tmux from Python: typed, object-oriented control over servers, sessions, windows, and panes.

- libtmux logo + + + + libtmux logo + +

PyPI version diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 0000000000..6a297c70b6 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,14 @@ +# Logo assets + +SVG and 512 × 512 transparent PNG artwork from the libtmux logo kit, +revision `555f60aff5341d8ba59c7466eb9abb537084c98d`. + +Library marks use the cog, workspace marks the tiled tmuxp base, and MCP +marks the Model Context Protocol symbol. Language colors follow +[GitHub Linguist](https://github.com/github-linguist/linguist/blob/538da05f034fa5c83bd81df128d144e208898da3/lib/linguist/languages.yml). +The source libtmux and tmuxp artwork belongs to the project owner. The MCP +symbol comes from the [upstream logo](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/088176704a4e8f20e7f1d237de1de8484aa412fd/docs/logo/light.svg). + +Package-specific artwork sits beside its README where the package format +supports it. `.github/social-preview.png` is the cog sharing card, ready to +upload under the repository's **Settings → Social preview**. diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000..88b6ae9e5e Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000000..fc6ff5dc96 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,2 @@ + + diff --git a/docs/_static/brand/app-icon-1024-dark.png b/docs/_static/brand/app-icon-1024-dark.png new file mode 100644 index 0000000000..798eca1075 Binary files /dev/null and b/docs/_static/brand/app-icon-1024-dark.png differ diff --git a/docs/_static/brand/app-icon-1024-light.png b/docs/_static/brand/app-icon-1024-light.png new file mode 100644 index 0000000000..132521bfac Binary files /dev/null and b/docs/_static/brand/app-icon-1024-light.png differ diff --git a/docs/_static/brand/apple-touch-icon-dark.png b/docs/_static/brand/apple-touch-icon-dark.png new file mode 100644 index 0000000000..e6c318fe24 Binary files /dev/null and b/docs/_static/brand/apple-touch-icon-dark.png differ diff --git a/docs/_static/brand/apple-touch-icon-light.png b/docs/_static/brand/apple-touch-icon-light.png new file mode 100644 index 0000000000..d39af1b33c Binary files /dev/null and b/docs/_static/brand/apple-touch-icon-light.png differ diff --git a/docs/_static/brand/browserconfig-dark.xml b/docs/_static/brand/browserconfig-dark.xml new file mode 100644 index 0000000000..f974f2ec33 --- /dev/null +++ b/docs/_static/brand/browserconfig-dark.xml @@ -0,0 +1 @@ +#3572A5 diff --git a/docs/_static/brand/browserconfig.xml b/docs/_static/brand/browserconfig.xml new file mode 100644 index 0000000000..45900a804b --- /dev/null +++ b/docs/_static/brand/browserconfig.xml @@ -0,0 +1 @@ +#3572A5 diff --git a/docs/_static/brand/favicon.ico b/docs/_static/brand/favicon.ico new file mode 100644 index 0000000000..ecff6f1f2d Binary files /dev/null and b/docs/_static/brand/favicon.ico differ diff --git a/docs/_static/brand/logo-1024.png b/docs/_static/brand/logo-1024.png new file mode 100644 index 0000000000..49276e7d77 Binary files /dev/null and b/docs/_static/brand/logo-1024.png differ diff --git a/docs/_static/brand/logo-128.png b/docs/_static/brand/logo-128.png new file mode 100644 index 0000000000..54f430ad53 Binary files /dev/null and b/docs/_static/brand/logo-128.png differ diff --git a/docs/_static/brand/logo-144.png b/docs/_static/brand/logo-144.png new file mode 100644 index 0000000000..ce32153888 Binary files /dev/null and b/docs/_static/brand/logo-144.png differ diff --git a/docs/_static/brand/logo-152.png b/docs/_static/brand/logo-152.png new file mode 100644 index 0000000000..fc180c534b Binary files /dev/null and b/docs/_static/brand/logo-152.png differ diff --git a/docs/_static/brand/logo-16.png b/docs/_static/brand/logo-16.png new file mode 100644 index 0000000000..4a3e638add Binary files /dev/null and b/docs/_static/brand/logo-16.png differ diff --git a/docs/_static/brand/logo-167.png b/docs/_static/brand/logo-167.png new file mode 100644 index 0000000000..6c0d38eb89 Binary files /dev/null and b/docs/_static/brand/logo-167.png differ diff --git a/docs/_static/brand/logo-180.png b/docs/_static/brand/logo-180.png new file mode 100644 index 0000000000..ebda55dee3 Binary files /dev/null and b/docs/_static/brand/logo-180.png differ diff --git a/docs/_static/brand/logo-192.png b/docs/_static/brand/logo-192.png new file mode 100644 index 0000000000..001101dd84 Binary files /dev/null and b/docs/_static/brand/logo-192.png differ diff --git a/docs/_static/brand/logo-24.png b/docs/_static/brand/logo-24.png new file mode 100644 index 0000000000..690560368b Binary files /dev/null and b/docs/_static/brand/logo-24.png differ diff --git a/docs/_static/brand/logo-256.png b/docs/_static/brand/logo-256.png new file mode 100644 index 0000000000..b679ee3c9a Binary files /dev/null and b/docs/_static/brand/logo-256.png differ diff --git a/docs/_static/brand/logo-32.png b/docs/_static/brand/logo-32.png new file mode 100644 index 0000000000..12d62df595 Binary files /dev/null and b/docs/_static/brand/logo-32.png differ diff --git a/docs/_static/brand/logo-384.png b/docs/_static/brand/logo-384.png new file mode 100644 index 0000000000..344dba3c88 Binary files /dev/null and b/docs/_static/brand/logo-384.png differ diff --git a/docs/_static/brand/logo-48.png b/docs/_static/brand/logo-48.png new file mode 100644 index 0000000000..caa73a40a5 Binary files /dev/null and b/docs/_static/brand/logo-48.png differ diff --git a/docs/_static/brand/logo-512.png b/docs/_static/brand/logo-512.png new file mode 100644 index 0000000000..88b6ae9e5e Binary files /dev/null and b/docs/_static/brand/logo-512.png differ diff --git a/docs/_static/brand/logo-64.png b/docs/_static/brand/logo-64.png new file mode 100644 index 0000000000..836acf150e Binary files /dev/null and b/docs/_static/brand/logo-64.png differ diff --git a/docs/_static/brand/logo-96.png b/docs/_static/brand/logo-96.png new file mode 100644 index 0000000000..408e70f886 Binary files /dev/null and b/docs/_static/brand/logo-96.png differ diff --git a/docs/_static/brand/logo.svg b/docs/_static/brand/logo.svg new file mode 100644 index 0000000000..fc6ff5dc96 --- /dev/null +++ b/docs/_static/brand/logo.svg @@ -0,0 +1,2 @@ + + diff --git a/docs/_static/brand/maskable-192-dark.png b/docs/_static/brand/maskable-192-dark.png new file mode 100644 index 0000000000..d43a73de6c Binary files /dev/null and b/docs/_static/brand/maskable-192-dark.png differ diff --git a/docs/_static/brand/maskable-192-light.png b/docs/_static/brand/maskable-192-light.png new file mode 100644 index 0000000000..ff2a539e75 Binary files /dev/null and b/docs/_static/brand/maskable-192-light.png differ diff --git a/docs/_static/brand/maskable-512-dark.png b/docs/_static/brand/maskable-512-dark.png new file mode 100644 index 0000000000..b37fbe604c Binary files /dev/null and b/docs/_static/brand/maskable-512-dark.png differ diff --git a/docs/_static/brand/maskable-512-light.png b/docs/_static/brand/maskable-512-light.png new file mode 100644 index 0000000000..204a3e8ebc Binary files /dev/null and b/docs/_static/brand/maskable-512-light.png differ diff --git a/docs/_static/brand/mstile-150-dark.png b/docs/_static/brand/mstile-150-dark.png new file mode 100644 index 0000000000..244e16fccf Binary files /dev/null and b/docs/_static/brand/mstile-150-dark.png differ diff --git a/docs/_static/brand/mstile-150-light.png b/docs/_static/brand/mstile-150-light.png new file mode 100644 index 0000000000..fef6de66a4 Binary files /dev/null and b/docs/_static/brand/mstile-150-light.png differ diff --git a/docs/_static/brand/mstile-310-dark.png b/docs/_static/brand/mstile-310-dark.png new file mode 100644 index 0000000000..dae8dfe2b0 Binary files /dev/null and b/docs/_static/brand/mstile-310-dark.png differ diff --git a/docs/_static/brand/mstile-310-light.png b/docs/_static/brand/mstile-310-light.png new file mode 100644 index 0000000000..a20f13f543 Binary files /dev/null and b/docs/_static/brand/mstile-310-light.png differ diff --git a/docs/_static/brand/opengraph-dark.jpg b/docs/_static/brand/opengraph-dark.jpg new file mode 100644 index 0000000000..e96507d2fb Binary files /dev/null and b/docs/_static/brand/opengraph-dark.jpg differ diff --git a/docs/_static/brand/opengraph-dark.png b/docs/_static/brand/opengraph-dark.png new file mode 100644 index 0000000000..b0b42a4991 Binary files /dev/null and b/docs/_static/brand/opengraph-dark.png differ diff --git a/docs/_static/brand/opengraph-light.jpg b/docs/_static/brand/opengraph-light.jpg new file mode 100644 index 0000000000..1736c28e09 Binary files /dev/null and b/docs/_static/brand/opengraph-light.jpg differ diff --git a/docs/_static/brand/opengraph-light.png b/docs/_static/brand/opengraph-light.png new file mode 100644 index 0000000000..6814f479b7 Binary files /dev/null and b/docs/_static/brand/opengraph-light.png differ diff --git a/docs/_static/brand/safari-pinned-tab.svg b/docs/_static/brand/safari-pinned-tab.svg new file mode 100644 index 0000000000..e13f51ea65 --- /dev/null +++ b/docs/_static/brand/safari-pinned-tab.svg @@ -0,0 +1,2 @@ + + diff --git a/docs/_static/brand/site-dark.webmanifest b/docs/_static/brand/site-dark.webmanifest new file mode 100644 index 0000000000..2880459c4f --- /dev/null +++ b/docs/_static/brand/site-dark.webmanifest @@ -0,0 +1,36 @@ +{ + "name": "libtmux for Python", + "short_name": "libtmux", + "id": "/", + "start_url": "/", + "scope": "/", + "display": "standalone", + "background_color": "#12161D", + "theme_color": "#3572A5", + "icons": [ + { + "src": "logo-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "maskable-192-dark.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "logo-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "maskable-512-dark.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/docs/_static/brand/site.webmanifest b/docs/_static/brand/site.webmanifest new file mode 100644 index 0000000000..99d56355a6 --- /dev/null +++ b/docs/_static/brand/site.webmanifest @@ -0,0 +1,36 @@ +{ + "name": "libtmux for Python", + "short_name": "libtmux", + "id": "/", + "start_url": "/", + "scope": "/", + "display": "standalone", + "background_color": "#F4F4F1", + "theme_color": "#3572A5", + "icons": [ + { + "src": "logo-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "maskable-192-light.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "logo-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "maskable-512-light.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/docs/_static/brand/social-square-dark.png b/docs/_static/brand/social-square-dark.png new file mode 100644 index 0000000000..313f8fd420 Binary files /dev/null and b/docs/_static/brand/social-square-dark.png differ diff --git a/docs/_static/brand/social-square-light.png b/docs/_static/brand/social-square-light.png new file mode 100644 index 0000000000..e8934c330f Binary files /dev/null and b/docs/_static/brand/social-square-light.png differ diff --git a/docs/_static/brand/twitter-dark.png b/docs/_static/brand/twitter-dark.png new file mode 100644 index 0000000000..8effa4a986 Binary files /dev/null and b/docs/_static/brand/twitter-dark.png differ diff --git a/docs/_static/brand/twitter-light.png b/docs/_static/brand/twitter-light.png new file mode 100644 index 0000000000..cf2637da8d Binary files /dev/null and b/docs/_static/brand/twitter-light.png differ diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico index d38a0a61dc..ecff6f1f2d 100644 Binary files a/docs/_static/favicon.ico and b/docs/_static/favicon.ico differ diff --git a/docs/_static/img/libtmux.svg b/docs/_static/img/libtmux.svg index 30f9423a67..fc6ff5dc96 100644 --- a/docs/_static/img/libtmux.svg +++ b/docs/_static/img/libtmux.svg @@ -1,191 +1,2 @@ - - - - - libtmux - - - - - - - Blue Square Group object (Shape) - - Blue Square shadow object (Shape) - - - Blue Square object (Shape) - - - - Yellow Square Group object (Shape) - - Yellow Square Shadow object (Shape) - - - Yellow Square object (Shape) - - - - Bottom bar object (Shape) - - - Light Blue Square Group object (Shape) - - Light Blue Square Shadow 1 object (Shape) - - - Light Blue Square object (Shape) - - - Light Blue Square Shadow 2 object (Shape) - - - - Gear object (Group) - - Gear Shadow object (Shape) - - - Gear object (Shape) - - - - - - - libtmux - - - - + + diff --git a/docs/_templates/page.html b/docs/_templates/page.html index 312bad2e92..1ad804e8b2 100644 --- a/docs/_templates/page.html +++ b/docs/_templates/page.html @@ -35,45 +35,17 @@ } {%- endif %} - {%- if theme_show_meta_manifest_tag == true %} - - {% endif -%} - {%- if theme_show_meta_og_tags == true %} - - - - - - - - - - - - - - - - {% endif -%} - {%- if theme_show_meta_app_icon_tags == true %} - - - - - - - - - - - - - - - - - - - - {% endif -%} + + + + + + + + + + + + + {% endblock %} diff --git a/docs/conf.py b/docs/conf.py index 379d0b3c6e..18d91a0be1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -49,6 +49,8 @@ ), }, html_favicon="_static/favicon.ico", + ogp_image="_static/brand/opengraph-light.png", + ogp_image_alt="libtmux for Python", html_css_files=["css/custom.css"], html_extra_path=["manifest.json"], rediraffe_redirects="redirects.txt", @@ -56,4 +58,8 @@ # page; keep Sphinx from treating it as an orphan document. exclude_patterns=["_build", "AGENTS.md", "CLAUDE.md"], ) +conf["html_context"] = { + **conf.get("html_context", {}), + "brand_twitter_image": f"{about['__docs__']}/_static/brand/twitter-light.png", +} globals().update(conf) diff --git a/docs/manifest.json b/docs/manifest.json index 3d370ee74e..3f65099c26 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1,53 +1,30 @@ { "name": "libtmux", "short_name": "libtmux", - "description": "scripting library / orm for tmux", - "theme_color": "#2196f3", + "description": "Typed scripting library / ORM / API wrapper for tmux", + "theme_color": "#3572A5", "background_color": "#fff", "display": "browser", - "Scope": "https://libtmux.git-pull.com/", "start_url": "https://libtmux.git-pull.com/", "icons": [ { - "src": "_static/img/icons/icon-72x72.png", - "sizes": "72x72", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-96x96.png", - "sizes": "96x96", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-128x128.png", - "sizes": "128x128", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-144x144.png", - "sizes": "144x144", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-152x152.png", - "sizes": "152x152", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-192x192.png", + "src": "_static/brand/logo-192.png", "sizes": "192x192", - "type": "image/png" + "type": "image/png", + "purpose": "any" }, { - "src": "_static/img/icons/icon-384x384.png", - "sizes": "384x384", - "type": "image/png" + "src": "_static/brand/logo-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" }, { - "src": "_static/img/icons/icon-512x512.png", + "src": "_static/brand/maskable-512-light.png", "sizes": "512x512", - "type": "image/png" + "type": "image/png", + "purpose": "maskable" } ], - "splash_pages": null + "scope": "/" }