From c7f58808ebb26446d862078c444778f1dbc38204 Mon Sep 17 00:00:00 2001 From: joegasewicz Date: Sun, 5 Apr 2026 20:22:01 +0100 Subject: [PATCH] Improve and update the tornado branding and readme header #3609 --- README.rst | 8 ++++---- docs/tornado.png | Bin 7101 -> 19953 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 1c689f5c15..bcc70209b4 100644 --- a/README.rst +++ b/README.rst @@ -1,10 +1,10 @@ +.. image:: docs/tornado.png?raw=true + :alt: Tornado Web + :align: center + Tornado Web Server ================== -.. image:: https://badges.gitter.im/Join%20Chat.svg - :alt: Join the chat at https://gitter.im/tornadoweb/tornado - :target: https://gitter.im/tornadoweb/tornado?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge - `Tornado `_ is a Python web framework and asynchronous networking library, originally developed at `FriendFeed `_. By using non-blocking network I/O, Tornado diff --git a/docs/tornado.png b/docs/tornado.png index a920aa566fdb7d35c7beb117f8defbb9f8d1c8c5..b347df52df41e3c24cedab9b7b980d9d443124a9 100644 GIT binary patch literal 19953 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 z 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