From c2eff5117daba62d0a66e5fdcebd51e76fac9d71 Mon Sep 17 00:00:00 2001 From: Tiago Siebler Date: Thu, 13 Jun 2024 11:32:58 +0100 Subject: [PATCH] feat(): add logo & doc update --- README.md | 11 ++++++--- docs/images/logo1.png | Bin 0 -> 37822 bytes docs/images/logo1.svg | 55 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 docs/images/logo1.png create mode 100644 docs/images/logo1.svg diff --git a/README.md b/README.md index fd3dd8d..b73eaea 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,14 @@ # Node.js & JavaScript SDK for Gate.io REST APIs and WebSockets (including WebSocket API). -[![E2E Tests](https://github.com/tiagosiebler/gateio-api/actions/workflows/e2etest.yml/badge.svg?branch=master)](https://github.com/tiagosiebler/gateio-api/actions/workflows/e2etest.yml) [![npm version](https://img.shields.io/npm/v/gateio-api)][1] [![npm size](https://img.shields.io/bundlephobia/min/gateio-api/latest)][1] [![npm downloads](https://img.shields.io/npm/dt/gateio-api)][1] +[![Build & Test](https://github.com/tiagosiebler/gateio-api/actions/workflows/e2etest.yml/badge.svg?branch=master)](https://github.com/tiagosiebler/gateio-api/actions/workflows/e2etest.yml) [![last commit](https://img.shields.io/github/last-commit/tiagosiebler/gateio-api)][1] [![CodeFactor](https://www.codefactor.io/repository/github/tiagosiebler/gateio-api/badge)](https://www.codefactor.io/repository/github/tiagosiebler/gateio-api) +[![Telegram](https://img.shields.io/badge/chat-on%20telegram-blue.svg)](https://t.me/nodetraders) + +[![sdk logo](https://github.com/tiagosiebler/gateio-api/blob/master/docs/images/logo1.svg?raw=true)][1] [1]: https://www.npmjs.com/package/gateio-api @@ -13,18 +16,18 @@ Updated & performant JavaScript & Node.js SDK for the Gate.io REST APIs and WebS - Extensive integration with Gate.io REST APIs and WebSockets. - TypeScript support (with type declarations for most API requests & responses). -- Supports Gate.io REST APIs for Gate.io Spot, Margin, Perpetual Futures, Delivery Futures, Options & Announcements APIs. +- Gate.io REST APIs for Gate.io Spot, Margin, Perpetual Futures, Delivery Futures, Options & Announcements APIs. - Strongly typed on most requests and responses. - Extremely robust & performant JavaScript/Node.js Gate.io SDK. - Actively maintained with a modern, promise-driven interface. - Support for seamless API authentication for private Gate.io REST API and WebSocket calls. -- Supports Websockets for Gate.io Spot, Margin, Perpetual Futures, Delivery Futures & Options. +- Gate.io Spot, Margin, Perpetual Futures, Delivery Futures & Options. - Event driven messaging. - Smart websocket persistence - Automatically handle silent websocket disconnections through timed heartbeats, including the scheduled 24hr disconnect. - Automatically handle listenKey persistence and expiration/refresh. - Emit `reconnected` event when dropped connection is restored. -- Supports Websocket API for Gate.io Spot, Margin, Perpetual Futures & Delivery Futures. +- Websocket API for Gate.io Spot, Margin, Perpetual Futures & Delivery Futures. - Automatic connectivity via existing WebsocketClient, just call sendWSAPIRequest to trigger a request. - Automatic authentication, just call sendWSAPIRequest with channel & parameters. - Choose between two interfaces for WS API communication: diff --git a/docs/images/logo1.png b/docs/images/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..24bd210f54b4018321591b93d201b479e583bcf7 GIT binary patch literal 37822 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 literal 0 HcmV?d00001 diff --git a/docs/images/logo1.svg b/docs/images/logo1.svg new file mode 100644 index 0000000..fd4fe4a --- /dev/null +++ b/docs/images/logo1.svg @@ -0,0 +1,55 @@ + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file