Skip to content

Commit 5bfca35

Browse files
dblockCopilot
andcommitted
Redesign Shell website with charcoal ribbon artwork
Bring the shared responsive website layout to Shell, retain the original terminal branding and demo, and add keyboard-operable help. Preserve existing Slack OAuth, registration, status, and privacy behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent ca5b5e1 commit 5bfca35

19 files changed

Lines changed: 375 additions & 69 deletions

‎.rubocop_todo.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This configuration was generated by
22
# `rubocop --auto-gen-config`
3-
# on 2026-10-24 23:19:23 UTC using RuboCop version 1.92.1.
3+
# on 2026-10-25 15:08:27 UTC using RuboCop version 1.92.1.
44
# The point is for the user to remove these configuration records
55
# one by one as the offenses are removed from the code base.
66
# Note that changes in the inspected code, or installation of new
@@ -72,7 +72,7 @@ RSpec/ContextWording:
7272
- 'spec/models/team_spec.rb'
7373
- 'spec/support/api/endpoints/it_behaves_like_a_cursor_api.rb'
7474

75-
# Offense count: 9
75+
# Offense count: 13
7676
# Configuration parameters: CountAsOne.
7777
RSpec/ExampleLength:
7878
Max: 11
@@ -94,7 +94,7 @@ RSpec/LetSetup:
9494
RSpec/MessageSpies:
9595
EnforcedStyle: receive
9696

97-
# Offense count: 23
97+
# Offense count: 29
9898
RSpec/MultipleExpectations:
9999
Max: 6
100100

@@ -128,7 +128,7 @@ RSpec/SpecFilePathFormat:
128128
- 'spec/commands/whoami_spec.rb'
129129
- 'spec/version_spec.rb'
130130

131-
# Offense count: 9
131+
# Offense count: 11
132132
# This cop supports safe autocorrection (--autocorrect).
133133
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
134134
# URISchemes: http, https

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
### Changelog
22

3+
* 2026/10/25: [#87](https://github.com/slack-ruby/slack-shellbot/pull/87): Redesign the Shell website with shared responsive layouts, charcoal ribbon artwork, a black-bordered animated demo, an "Is this a joke?" FAQ linked from the homepage, and recommendations with original logos for Slava, Strada, Gamebot, and S'Up above Open source while preserving Slack installation and status flows - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/apps/copilot-swe-agent).
34
* 2026/10/24: [#86](https://github.com/slack-ruby/slack-shellbot/pull/86): Upgrade slack-ruby-bot-server to 2.2.1 to fix Grape error handling for unsupported requests and failing health checks - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/apps/copilot-swe-agent).
45
* 2026/10/23: Upgrade to Ruby 4.0.9 and refresh dependencies and CI browser tooling - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/apps/copilot-swe-agent).
56
* 2025/09/29: Upgraded to Ruby 3.4.6 - [@dblock](https://github.com/dblock).

‎README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ A shell bot for Slack. A demo is worth a thousand words.
1313

1414
This bot is built with [slack-ruby-bot-server-events](https://github.com/slack-ruby/slack-ruby-bot-server-events). See [CONTRIBUTING](CONTRIBUTING.md).
1515

16+
## Website artwork
17+
18+
The website follows the shared Slava, Strata, and Strada layout with a terminal-inspired black/charcoal palette (base `#303035`). The editable `public/img/screenshot-background.svg` adapts the shared ribbon artwork and keeps `preserveAspectRatio="none"` on a fixed viewport-sized layer so expanding help does not resize the background. Preserve the original transparent `public/img/icon.png` terminal logo, its matching multi-resolution favicon, and the original `public/img/shell.gif` demonstration when updating the design.
19+
20+
The bot recommendations use local copies of the original logos: `bot-slava.png` and `bot-strada.png` from their respective projects' `public/img/icon.png`, `bot-gamebot.png` from slack-gamebot2's `public/img/game.png`, and `bot-sup.png` from slack-sup2's `public/img/icon.png`. Preserve their original colors rather than applying the Shell website's monochrome styling.
21+
1622
## Copyright and License
1723

1824
Copyright (c) 2016-2025, Daniel Doubrovkine, Artsy and [Contributors](CHANGELOG.md).

‎public/favicon.ico‎

23.2 KB
Binary file not shown.

‎public/help.html.erb‎

Lines changed: 42 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,49 @@
1-
<html>
1+
<!DOCTYPE html>
2+
<html lang="en">
23
<head>
34
<title>Shell: Help</title>
45
<%= partial 'public/partials/_head.html.erb' %>
56
</head>
6-
<body>
7-
<p class='icon'>
8-
<a href='/'><img src='img/icon.png'></a>
9-
</p>
10-
<div class='help'>
11-
<pre>
12-
<%= CGI.escapeHTML(SlackShellbot::Commands::Man::HELP) %>
13-
</pre>
14-
</div>
7+
<body class="site-page help-page">
8+
<%= partial 'public/partials/_navigation.html.erb' %>
9+
<main id="main" class="page-container help-content">
10+
<header class="help-header">
11+
<h1>Shell: Help</h1>
12+
<p class="section-intro">A little help for your channel's command line.</p>
13+
</header>
14+
<section id="get-started" class="help-section" aria-labelledby="start-title">
15+
<h2 id="start-title">Get started</h2>
16+
<ol class="getting-started-steps">
17+
<li><%= partial 'public/partials/_install_button.html.erb' %> and authorize Shell for your workspace.</li>
18+
<li>Invite <code>@sh</code> into a Slack channel.</li>
19+
<li>Type <code>man</code> to see the commands, or <code>ls</code> to list files.</li>
20+
</ol>
21+
<p>Each channel has its own rudimentary file system. This is a shell bot inside Slack, not a connection to your computer's shell.</p>
22+
</section>
23+
<section class="help-section" aria-labelledby="commands-title">
24+
<h2 id="commands-title">Commands &amp; questions</h2>
25+
<details id="is-this-a-joke" class="help-topic" open>
26+
<summary>Is this a joke?</summary>
27+
<p>Yes. Also, it works! Shell is a tiny Unix-like shell inside Slack, because apparently Slack needed a command line. Its commands and per-channel file system really work, but it is a toy, not a remote terminal.</p>
28+
</details>
29+
<details class="help-topic">
30+
<summary>Command reference</summary>
31+
<pre><%= CGI.escapeHTML(SlackShellbot::Commands::Man::HELP) %></pre>
32+
</details>
33+
<details class="help-topic">
34+
<summary>How do I create and read a file?</summary>
35+
<p>Try <code>touch notes</code> to create a file, <code>ls</code> to see it, and <code>cat notes</code> to read its contents. Use <code>mkdir projects</code> to create a directory.</p>
36+
</details>
37+
<details class="help-topic">
38+
<summary>How do I leave the editor?</summary>
39+
<p>The basic <code>vi</code>-like editor updates messages in place. Use <code>:wq</code> to quit and save, or <code>:q</code> to quit without saving.</p>
40+
</details>
41+
</section>
42+
<section id="support" class="help-section" aria-labelledby="support-title">
43+
<h2 id="support-title">Need a hand?</h2>
44+
<p>Contact <a href="mailto:dblock@vestris.com">dblock@vestris.com</a>, DM <a href="https://twitter.com/playplayio">@playplayio</a>, or <a href="https://github.com/slack-ruby/slack-shellbot/issues">report an issue on GitHub</a>.</p>
45+
</section>
46+
</main>
1547
<%= partial 'public/partials/_footer.html.erb' %>
1648
</body>
1749
</html>
18-

‎public/img/bot-gamebot.png‎

6.72 KB
Loading

‎public/img/bot-slava.png‎

36.6 KB
Loading

‎public/img/bot-strada.png‎

28.1 KB
Loading

‎public/img/bot-sup.png‎

17.2 KB
Loading
Lines changed: 43 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)