Skip to content

Commit

Permalink
Change brand color and logotypes (mastodon#18592)
Browse files Browse the repository at this point in the history
- Add rake task for generating Apple/Android icons and favicons from SVG
- Add rake task for generating PNG icons and logos for e-mails from SVG
- Remove obsolete Microsoft icons and configuration
- Remove PWA shortcut icons
  • Loading branch information
Gargron authored Jun 9, 2022
1 parent a2871cd commit 45aa578
Show file tree
Hide file tree
Showing 112 changed files with 257 additions and 152 deletions.
3 changes: 3 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,9 @@ Style/RedundantRegexpEscape:
Style/RedundantReturn:
Enabled: true

Style/RedundantBegin:
Enabled: false

Style/RegexpLiteral:
Enabled: false

Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
![Mastodon](https://i.imgur.com/NhZc40l.png)
========
<h1><picture>
<source media="(prefers-color-scheme: dark)" srcset="./lib/assets/wordmark.dark.png?raw=true">
<source media="(prefers-color-scheme: light)" srcset="./lib/assets/wordmark.light.png?raw=true">
<img alt="Mastodon" src="./lib/asssets/wordmark.light.png?raw=true" height="34">
</picture></h1>

[![GitHub release](https://img.shields.io/github/release/mastodon/mastodon.svg)][releases]
[![Build Status](https://img.shields.io/circleci/project/github/mastodon/mastodon.svg)][circleci]
Expand Down Expand Up @@ -35,7 +38,7 @@ Click below to **learn more** in a video:

## Features

<img src="https://docs.joinmastodon.org/elephant.svg" align="right" width="30%" />
<img src="/app/javascript/images/elephant_ui_working.svg?raw=true" align="right" width="30%" />

### No vendor lock-in: Fully interoperable with any conforming platform

Expand Down
16 changes: 4 additions & 12 deletions app/helpers/accounts_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,20 @@ def account_action_button(account)
if user_signed_in?
if account.id == current_user.account_id
link_to settings_profile_url, class: 'button logo-button' do
safe_join([svg_logo, t('settings.edit_profile')])
safe_join([logo_as_symbol, t('settings.edit_profile')])
end
elsif current_account.following?(account) || current_account.requested?(account)
link_to account_unfollow_path(account), class: 'button logo-button button--destructive', data: { method: :post } do
safe_join([svg_logo, t('accounts.unfollow')])
safe_join([logo_as_symbol, t('accounts.unfollow')])
end
elsif !(account.memorial? || account.moved?)
link_to account_follow_path(account), class: "button logo-button#{account.blocking?(current_account) ? ' disabled' : ''}", data: { method: :post } do
safe_join([svg_logo, t('accounts.follow')])
safe_join([logo_as_symbol, t('accounts.follow')])
end
end
elsif !(account.memorial? || account.moved?)
link_to account_remote_follow_path(account), class: 'button logo-button modal-button', target: '_new' do
safe_join([svg_logo, t('accounts.follow')])
safe_join([logo_as_symbol, t('accounts.follow')])
end
end
end
Expand Down Expand Up @@ -99,12 +99,4 @@ def account_description(account)

[prepend_str, account.note].join(' · ')
end

def svg_logo
content_tag(:svg, tag(:use, 'xlink:href' => '#mastodon-svg-logo'), 'viewBox' => '0 0 216.4144 232.00976')
end

def svg_logo_full
content_tag(:svg, tag(:use, 'xlink:href' => '#mastodon-svg-logo-full'), 'viewBox' => '0 0 713.35878 175.8678')
end
end
11 changes: 3 additions & 8 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,6 @@ def locale_direction
end
end

def favicon_path
env_suffix = Rails.env.production? ? '' : '-dev'
"/favicon#{env_suffix}.ico"
end

def title
Rails.env.production? ? site_title : "#{site_title} (Dev)"
end
Expand Down Expand Up @@ -147,8 +142,8 @@ def interrelationships_icon(relationships, account_id)
end
end

def custom_emoji_tag(custom_emoji, animate = true)
if animate
def custom_emoji_tag(custom_emoji)
if prefers_autoplay?
image_tag(custom_emoji.image.url, class: 'emojione', alt: ":#{custom_emoji.shortcode}:")
else
image_tag(custom_emoji.image.url(:static), class: 'emojione custom-emoji', alt: ":#{custom_emoji.shortcode}", 'data-original' => full_asset_url(custom_emoji.image.url), 'data-static' => full_asset_url(custom_emoji.image.url(:static)))
Expand Down Expand Up @@ -198,7 +193,7 @@ def storage_host?

def quote_wrap(text, line_width: 80, break_sequence: "\n")
text = word_wrap(text, line_width: line_width - 2, break_sequence: break_sequence)
text.split("\n").map { |line| '> ' + line }.join("\n")
text.split("\n").map { |line| "> #{line}" }.join("\n")
end

def render_initial_state
Expand Down
37 changes: 37 additions & 0 deletions app/helpers/branding_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# frozen_string_literal: true

module BrandingHelper
def logo_as_symbol(version = :icon)
case version
when :icon
_logo_as_symbol_icon
when :wordmark
_logo_as_symbol_wordmark
end
end

def _logo_as_symbol_wordmark
content_tag(:svg, tag(:use, href: '#logo-symbol-wordmark'), viewBox: '0 0 261 66', class: 'logo logo--wordmark')
end

def _logo_as_symbol_icon
content_tag(:svg, tag(:use, href: '#logo-symbol-icon'), viewBox: '0 0 79 75', class: 'logo logo--icon')
end

def render_logo
image_pack_tag('logo.svg', alt: 'Mastodon', class: 'logo logo--icon')
end

def render_symbol(version = :icon)
path = begin
case version
when :icon
'logo-symbol-icon.svg'
when :wordmark
'logo-symbol-wordmark.svg'
end
end

render(file: Rails.root.join('app', 'javascript', 'images', path)).html_safe # rubocop:disable Rails/OutputSafety
end
end
Binary file added app/javascript/icons/android-chrome-144x144.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-192x192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-256x256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-36x36.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-384x384.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-512x512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-72x72.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/android-chrome-96x96.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-114x114.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-144x144.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-152x152.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-167x167.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-180x180.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-57x57.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-60x60.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-72x72.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/apple-touch-icon-76x76.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/favicon-16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/javascript/icons/favicon-48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions app/javascript/images/app-icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions app/javascript/images/icon_cached.svg

This file was deleted.

4 changes: 0 additions & 4 deletions app/javascript/images/icon_done.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_email.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_file_download.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_flag.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_grade.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_lock_open.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_person_add.svg
Diff not rendered.
4 changes: 0 additions & 4 deletions app/javascript/images/icon_reply.svg
Diff not rendered.
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_cached.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_done.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_email.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_file_download.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_flag.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_grade.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_lock_open.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_person_add.svg
1 change: 1 addition & 0 deletions app/javascript/images/icons/icon_reply.svg
2 changes: 2 additions & 0 deletions app/javascript/images/logo-symbol-icon.svg
Loading

0 comments on commit 45aa578

Please sign in to comment.