From: aescling Date: Sun, 19 Mar 2023 22:43:05 +0000 (-0400) Subject: Generate app icons before precomp X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=d3aeb8c26be4c952ee278fd96d175f29154ef7e6;p=mastodon.git Generate app icons before precomp Squashed commit of https://gitlab.com/kibicat/mastodon/-/merge_requests/30 and https://gitlab.com/kibicat/mastodon/-/merge_requests/31 This causes :blobcat_sleep: to Actually be the favicon now; more generally, it uses app/javascript/images/logo.png (ideally we would use SVG---TODO: do that) as the basis fur the front end favicon and app icons, which are now generated at build time. This is arguably suboptimal as we purrform redundant work now on every build, but I think that is an acceptable tradeoff. It's a small amount of work and we do not exactly build the code very often. I would prefer to not have to add an extra command to our build scripts... This removes app/javascript/icons and public/favicon.ico from repo. Naturally. --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a20909a2..56cf82aef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -101,6 +101,7 @@ diff: build: stage: build script: + - ./bin/rails branding:generate_app_icons # ew - ./bin/rails assets:precompile artifacts: name: assets diff --git a/app/javascript/icons/.gitignore b/app/javascript/icons/.gitignore new file mode 100644 index 000000000..795bda6b1 --- /dev/null +++ b/app/javascript/icons/.gitignore @@ -0,0 +1 @@ +# this file forces this folder to exist in the repository diff --git a/app/javascript/icons/android-chrome-144x144.png b/app/javascript/icons/android-chrome-144x144.png deleted file mode 100644 index d282a6d3d..000000000 Binary files a/app/javascript/icons/android-chrome-144x144.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-192x192.png b/app/javascript/icons/android-chrome-192x192.png deleted file mode 100644 index d3f9959c5..000000000 Binary files a/app/javascript/icons/android-chrome-192x192.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-256x256.png b/app/javascript/icons/android-chrome-256x256.png deleted file mode 100644 index 98ce6ffbb..000000000 Binary files a/app/javascript/icons/android-chrome-256x256.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-36x36.png b/app/javascript/icons/android-chrome-36x36.png deleted file mode 100644 index f8ffeeb76..000000000 Binary files a/app/javascript/icons/android-chrome-36x36.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-384x384.png b/app/javascript/icons/android-chrome-384x384.png deleted file mode 100644 index 60b375354..000000000 Binary files a/app/javascript/icons/android-chrome-384x384.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-48x48.png b/app/javascript/icons/android-chrome-48x48.png deleted file mode 100644 index ce49448d4..000000000 Binary files a/app/javascript/icons/android-chrome-48x48.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-512x512.png b/app/javascript/icons/android-chrome-512x512.png deleted file mode 100644 index bccaada29..000000000 Binary files a/app/javascript/icons/android-chrome-512x512.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-72x72.png b/app/javascript/icons/android-chrome-72x72.png deleted file mode 100644 index ce57ab746..000000000 Binary files a/app/javascript/icons/android-chrome-72x72.png and /dev/null differ diff --git a/app/javascript/icons/android-chrome-96x96.png b/app/javascript/icons/android-chrome-96x96.png deleted file mode 100644 index cd8f09ed4..000000000 Binary files a/app/javascript/icons/android-chrome-96x96.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-1024x1024.png b/app/javascript/icons/apple-touch-icon-1024x1024.png deleted file mode 100644 index b1f18f3e3..000000000 Binary files a/app/javascript/icons/apple-touch-icon-1024x1024.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-114x114.png b/app/javascript/icons/apple-touch-icon-114x114.png deleted file mode 100644 index e13aaa87d..000000000 Binary files a/app/javascript/icons/apple-touch-icon-114x114.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-120x120.png b/app/javascript/icons/apple-touch-icon-120x120.png deleted file mode 100644 index aa63012b5..000000000 Binary files a/app/javascript/icons/apple-touch-icon-120x120.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-144x144.png b/app/javascript/icons/apple-touch-icon-144x144.png deleted file mode 100644 index d282a6d3d..000000000 Binary files a/app/javascript/icons/apple-touch-icon-144x144.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-152x152.png b/app/javascript/icons/apple-touch-icon-152x152.png deleted file mode 100644 index 0dec7d63e..000000000 Binary files a/app/javascript/icons/apple-touch-icon-152x152.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-167x167.png b/app/javascript/icons/apple-touch-icon-167x167.png deleted file mode 100644 index a622e1215..000000000 Binary files a/app/javascript/icons/apple-touch-icon-167x167.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-180x180.png b/app/javascript/icons/apple-touch-icon-180x180.png deleted file mode 100644 index 864046b56..000000000 Binary files a/app/javascript/icons/apple-touch-icon-180x180.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-57x57.png b/app/javascript/icons/apple-touch-icon-57x57.png deleted file mode 100644 index 116918ce2..000000000 Binary files a/app/javascript/icons/apple-touch-icon-57x57.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-60x60.png b/app/javascript/icons/apple-touch-icon-60x60.png deleted file mode 100644 index 0eda96ed6..000000000 Binary files a/app/javascript/icons/apple-touch-icon-60x60.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-72x72.png b/app/javascript/icons/apple-touch-icon-72x72.png deleted file mode 100644 index ce57ab746..000000000 Binary files a/app/javascript/icons/apple-touch-icon-72x72.png and /dev/null differ diff --git a/app/javascript/icons/apple-touch-icon-76x76.png b/app/javascript/icons/apple-touch-icon-76x76.png deleted file mode 100644 index 50e162891..000000000 Binary files a/app/javascript/icons/apple-touch-icon-76x76.png and /dev/null differ diff --git a/app/javascript/icons/favicon-16x16.png b/app/javascript/icons/favicon-16x16.png deleted file mode 100644 index 33ef3bb8c..000000000 Binary files a/app/javascript/icons/favicon-16x16.png and /dev/null differ diff --git a/app/javascript/icons/favicon-32x32.png b/app/javascript/icons/favicon-32x32.png deleted file mode 100644 index 7b9a37403..000000000 Binary files a/app/javascript/icons/favicon-32x32.png and /dev/null differ diff --git a/app/javascript/icons/favicon-48x48.png b/app/javascript/icons/favicon-48x48.png deleted file mode 100644 index 5b35eb233..000000000 Binary files a/app/javascript/icons/favicon-48x48.png and /dev/null differ diff --git a/app/javascript/images/logo.png b/app/javascript/images/logo.png new file mode 100644 index 000000000..5f51de71e Binary files /dev/null and b/app/javascript/images/logo.png differ diff --git a/lib/tasks/branding.rake b/lib/tasks/branding.rake index 2eec7c9e1..3044591ba 100644 --- a/lib/tasks/branding.rake +++ b/lib/tasks/branding.rake @@ -33,14 +33,14 @@ namespace :branding do rsvg_convert.run(stylesheet: Rails.root.join('lib', 'assets', 'wordmark.light.css'), input: Rails.root.join('app', 'javascript', 'images', 'logo-symbol-wordmark.svg'), size: 102, output: output_dest.join('wordmark.light.png')) end - desc 'Generate favicons and app icons from SVG source files' + desc 'Generate favicons and app icons from source files' task generate_app_icons: :environment do - favicon_source = Rails.root.join('app', 'javascript', 'images', 'logo.svg') - app_icon_source = Rails.root.join('app', 'javascript', 'images', 'app-icon.svg') + favicon_source = Rails.root.join('app', 'javascript', 'images', 'logo.png') # ideally, we would use an SVG + app_icon_source = favicon_source output_dest = Rails.root.join('app', 'javascript', 'icons') - rsvg_convert = Terrapin::CommandLine.new('rsvg-convert', '-w :size -h :size --keep-aspect-ratio :input -o :output') convert = Terrapin::CommandLine.new('convert', ':input :output') + convert_resize = Terrapin::CommandLine.new('convert', ':input -resize :size :output') favicon_sizes = [16, 32, 48] apple_icon_sizes = [57, 60, 72, 76, 114, 120, 144, 152, 167, 180, 1024] @@ -51,17 +51,17 @@ namespace :branding do favicon_sizes.each do |size| output_path = output_dest.join("favicon-#{size}x#{size}.png") favicons << output_path - rsvg_convert.run(size: size, input: favicon_source, output: output_path) + convert_resize.run(size: "#{size}x#{size}", input: favicon_source, output: output_path) end convert.run(input: favicons, output: Rails.root.join('public', 'favicon.ico')) apple_icon_sizes.each do |size| - rsvg_convert.run(size: size, input: app_icon_source, output: output_dest.join("apple-touch-icon-#{size}x#{size}.png")) + convert_resize.run(size: "#{size}x#{size}", input: app_icon_source, output: output_dest.join("apple-touch-icon-#{size}x#{size}.png")) end android_icon_sizes.each do |size| - rsvg_convert.run(size: size, input: app_icon_source, output: output_dest.join("android-chrome-#{size}x#{size}.png")) + convert_resize.run(size: "#{size}x#{size}", input: app_icon_source, output: output_dest.join("android-chrome-#{size}x#{size}.png")) end end diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index b09a98bb9..000000000 Binary files a/public/favicon.ico and /dev/null differ