diff --git a/CHANGELOG.md b/CHANGELOG.md index cf548ff..1a1476e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## v0.1.3 - 2020-06-13 + +* Add project logo (kudos to Alexey Chernyshov). +* Beautify README.md for project. +* Update images to reflect new logo. + ## v0.1.2 - 2020-06-12 * Add `inChannel()` method to `Message` object. diff --git a/README.md b/README.md index a1c2219..1186845 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,40 @@ - -:notebook: **Note:** Thorough, in-depth docs are in the process and will be available by **mid-June**. - -# Block Builder - +

+ Logo +

+ +

+

Maintainable code for Slack interactive messages, modals, and home tabs.

+

+ +

+ Lightweight, zero-dependency JavasScript library for Slack Block Kit UI. +
+
+ View Real-World Examples » +
+
+ Quick Start Guide + · + Request Feature + · + Report Bug +

+

+ +![An example of using Block Builder](resources/images/main/hero-image.png) + +*** + +[![npm](https://img.shields.io/npm/v/slack-block-builder?color=bright-green)](https://www.npmjs.com/package/slack-block-builder) +![NPM](https://img.shields.io/npm/l/slack-block-builder?color=bright-green) [![codecov](https://codecov.io/gh/raycharius/slack-block-builder/branch/master/graph/badge.svg)](https://codecov.io/gh/raycharius/slack-block-builder) [![Maintainability](https://api.codeclimate.com/v1/badges/17a96b146284b1b82b9e/maintainability)](https://codeclimate.com/github/raycharius/slack-block-builder/maintainability) -**Block Builder** is a lightweight, dependency-free JavaScript library for creating interactive messages, modals, and home tabs for Slack, with a builder syntax inspired by [SwiftUI](https://developer.apple.com/xcode/swiftui/). +**Block Builder** helps you keep your Slack app code for UI maintainable, testable, and reusable. It has a simple builder syntax inspired by [SwiftUI](https://developer.apple.com/documentation/swiftui) and lets you code the _you_ want to code. -![An example of using Block Builder](resources/images/main/hero.png) -## :zap: Features + +## :zap:   Features * Simple [SwiftUI](https://developer.apple.com/xcode/swiftui/)-inspired syntax. * Builder syntax for better visual code structure. @@ -21,7 +45,7 @@ * A `printPreviewURL()` method that outputs to the console a link to preview your UI on Slack's [Block Kit Builder website](https://app.slack.com/block-kit-builder). * Small size, with zero dependencies. -#### :hammer: Coming Soon +## :rocket:   Coming Soon * In-depth doc site. * TypeScript type definitions. @@ -30,7 +54,7 @@ * Guide for [Slack](https://slack.com) apps with tips, tricks, and best practices. -## :gift: Benefits +## :gift:   Benefits * Write three times less code. * Build more sophistocated, elegant flows. @@ -39,7 +63,7 @@ * Code the way you want to code – [not forced into any single paradigm](#advanced-use-cases). * Easily integrate localizations into your app. -## :floppy_disk: Installation +## :floppy_disk:   Installation #### Using NPM: @@ -53,7 +77,7 @@ npm install --save slack-block-builder yarn add slack-block-builder ``` -## :space_invader: Usage +## :space_invader:   Usage * [**Importing**](#importing) * [**Exposed Objects**](#exposed-objects) @@ -471,7 +495,7 @@ Note that only one method can be called on the object, and needs to be called af There are multiple ways to handle conditionals with **Block Builder**. This is where **Block Builder** provides the most flexibility, since the builder methods, when receiving an argument that is `undefined`, simply do not set the property. -While you can definitely use traditional `if` statements, you can also pass in potentially undefined values, inline ternary expressions, the `&&` operator, or even self-invoking functions. Below there is a [real-world example](#conditionals-real-world-example), but let's first take a look at the basics: +While you can definitely use traditional `if` statements, you can also pass in potentially undefined values, inline ternary expressions, the `&&` operator, or even self-invoking functions. Below there is a [real-world example](#mag--real-world-examples), but let's first take a look at the basics: ```javascript import { Modal, Blocks, Elements, Bits } from 'slack-block-builder'; @@ -549,7 +573,9 @@ const someModal = ({ someData }) => { }; ``` -#### Conditionals Real-World Example +## :mag:   Real-World Examples + +### Conditionals Let's say you have an app that manages team rosters, through a [Slack](https://slack.com) modal. @@ -611,19 +637,20 @@ There are multiple ways to add logic with this in mind. If you're feeling especi Originally, the idea of accepting a value of `undefined` was to help assist with simple things, such as passing in a value to the `initialOption()` method for select menus, but it opens the door for a lot manipulation. It's up to you to decide where you draw the line with this type of inline logic. -## Other Useful Slack-Related Projects +## :link:   Other Useful Slack-Related Projects [Bolt for Javascript](https://github.com/SlackAPI/bolt) – A simple framework for building [Slack](https://slack.com) apps, developed by [Slack](https://slack.com) themselves. [Node Slack SDK](https://github.com/slackapi/node-slack-sdk) – A great and powerful SDK for building [Slack](https://slack.com) Apps from the ground up. -## Author +## :fire:   Acknowledgements + +@bravecow Taras Neporozhniy ([@bravecow](https://github.com/bravecow)) - For all of the advice! -@raycharius Ray East ([@raycharius](https://github.com/raycharius)) - Huge Fan of Slack and Block Builder Maintainer - -## License - -[MIT License](LICENSE) +@ft502 Alexey Chernyshov ([@ft502](https://dribbble.com/ft502) on Dribbble) - For such a beautiful logo! +@slackhq SlackHQ ([@slackhq](https://github.com/slackhq)) - For such a wonderful product and API! +## :black_nib:   Author +@raycharius Ray East ([@raycharius](https://github.com/raycharius)) - Huge Fan of Slack and Block Builder Maintainer diff --git a/package.json b/package.json index 2fb99c4..4dfbf5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "slack-block-builder", - "version": "0.1.2", + "version": "0.1.3", "description": "Lightweight, zero-dependency library for creating Slack messages and modals, with a builder interface inspired by SwiftUI.", "author": { "name": "Ray East", diff --git a/resources/images/main/advanced-menu-with-users.png b/resources/images/main/advanced-menu-with-users.png index ee013b3..b185a6c 100644 Binary files a/resources/images/main/advanced-menu-with-users.png and b/resources/images/main/advanced-menu-with-users.png differ diff --git a/resources/images/main/advanced-menu.png b/resources/images/main/advanced-menu.png index 92840f3..5b28e55 100644 Binary files a/resources/images/main/advanced-menu.png and b/resources/images/main/advanced-menu.png differ diff --git a/resources/images/main/hero-image.png b/resources/images/main/hero-image.png new file mode 100644 index 0000000..8333d92 Binary files /dev/null and b/resources/images/main/hero-image.png differ diff --git a/resources/images/main/hero.png b/resources/images/main/hero.png deleted file mode 100644 index 7861ad1..0000000 Binary files a/resources/images/main/hero.png and /dev/null differ diff --git a/resources/images/main/logo-horizontal.png b/resources/images/main/logo-horizontal.png new file mode 100644 index 0000000..be44f2a Binary files /dev/null and b/resources/images/main/logo-horizontal.png differ diff --git a/resources/images/main/simple-message-example.png b/resources/images/main/simple-message-example.png index 71c4fe4..22bb1c2 100644 Binary files a/resources/images/main/simple-message-example.png and b/resources/images/main/simple-message-example.png differ diff --git a/resources/images/main/simple-modal-example.png b/resources/images/main/simple-modal-example.png index 3ce602a..52e5e14 100644 Binary files a/resources/images/main/simple-modal-example.png and b/resources/images/main/simple-modal-example.png differ