From 29388f81639cb0287aeba136753c42e7b9ae6789 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Sat, 6 Mar 2021 15:32:44 +0100 Subject: [PATCH 01/14] Git: add '.idea' to ignores --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index e43b0f98..f27ba8ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ +# Apple things .DS_Store + +# JetBrains stuff +.idea/ From e49f1f59cb5ad147f219bce0a4909737706abbda Mon Sep 17 00:00:00 2001 From: kwzrd Date: Sat, 6 Mar 2021 21:15:08 +0100 Subject: [PATCH 02/14] Events: organise managed events in new directory Move all files from the 'seasonal' directory into 'events' and adjust internal event structure for the new schema. A new directory 'jams' contains jam-related assets. These may eventually live in 'events' as well, but since the event-calender is not officially decided yet, I decided to keep them separately. All files removed by this commit were duplicates. --- {seasonal => events}/README.md | 0 .../banner.svg} | 0 .../icon.svg} | 0 .../icon_cornerless.png} | Bin ...lack_history_month_banner.png => banner.png} | Bin .../icon.png} | Bin .../christmas/2018/festive.min.svg | 0 {seasonal => events}/christmas/2018/festive.png | Bin {seasonal => events}/christmas/2018/festive.svg | 0 .../christmas/2018/festive_256.png | Bin .../christmas/2018/festive_512.png | Bin .../christmas/2018/festive_64.png | Bin .../christmas/2018/festive_large.png | Bin .../christmas/2018/festive_transparent.png | Bin {seasonal => events}/christmas/2019/banner.png | Bin .../christmas/2019/festive_256.gif | Bin .../christmas/2019/festive_64.gif | Bin {seasonal => events}/christmas/2019/sticker.png | Bin .../christmas/2019/tshirt_template.png | Bin .../christmas/2020/tshirt_template.png | Bin {seasonal => events}/christmas/banner.png | Bin .../christmas/server_icons/festive_256.gif | Bin .../easter/assets/easter.min.svg | 0 {seasonal => events}/easter/assets/easter.png | Bin {seasonal => events}/easter/assets/easter.svg | 0 .../easter/assets/easter_256.png | Bin .../easter/assets/easter_512.png | Bin .../easter/assets/easter_64.png | Bin .../easter/assets/easter_large.png | Bin .../easter/assets/easter_transparent.png | Bin .../easter/server_icons/easter_256.png | Bin .../evergreen/animated_logos/apple/apple.gif | Bin .../animated_logos/apple/apple_256.gif | Bin .../animated_logos/apple/apple_512.gif | Bin .../evergreen/animated_logos/apple/apple_64.gif | Bin .../evergreen/animated_logos/blinky/blinky.gif | Bin .../animated_logos/blinky/blinky_256.gif | Bin .../animated_logos/blinky/blinky_512.gif | Bin .../animated_logos/blinky/blinky_64.gif | Bin .../animated_logos/heartbeat/heartbeat.gif | Bin .../animated_logos/heartbeat/heartbeat_256.gif | Bin .../animated_logos/heartbeat/heartbeat_512.gif | Bin .../animated_logos/heartbeat/heartbeat_64.gif | Bin .../evergreen/animated_logos/jumper/jumper.gif | Bin .../animated_logos/jumper/jumper_256.gif | Bin .../animated_logos/jumper/jumper_512.gif | Bin .../animated_logos/jumper/jumper_64.gif | Bin .../evergreen/animated_logos/runner/runner.gif | Bin .../animated_logos/runner/runner_256.gif | Bin .../animated_logos/runner/runner_512.gif | Bin .../animated_logos/runner/runner_64.gif | Bin .../animated_logos/spinner/spinner.gif | Bin .../animated_logos/spinner/spinner_256.gif | Bin .../animated_logos/spinner/spinner_512.gif | Bin .../animated_logos/spinner/spinner_64.gif | Bin .../evergreen/animated_logos/swoopy/swoopy.gif | Bin .../animated_logos/tongues/tongues.gif | Bin .../animated_logos/tongues/tongues_256.gif | Bin .../animated_logos/tongues/tongues_512.gif | Bin .../animated_logos/tongues/tongues_64.gif | Bin .../evergreen/animated_logos/winky/winky.gif | Bin .../animated_logos/winky/winky_256.gif | Bin .../animated_logos/winky/winky_512.gif | Bin .../evergreen/animated_logos/winky/winky_64.gif | Bin {seasonal => events}/evergreen/banner.png | Bin .../evergreen/green_logos/logo_evergreen.png | Bin .../evergreen/green_logos/logo_evergreen.svg | 0 .../green_logos/logo_evergreen_256.png | Bin .../green_logos/logo_evergreen_512.png | Bin .../evergreen/green_logos/logo_evergreen_64.png | Bin .../green_logos/logo_evergreen_large.png | Bin .../green_logos/logo_evergreen_transparent.png | Bin .../evergreen/other_assets/avatar_blue.png | Bin .../evergreen/other_assets/banner.svg | 0 .../other_assets/logo_evergreen.min.svg | 0 .../evergreen/server_icons/apple_256.gif | Bin .../evergreen/server_icons/blinky_256.gif | Bin .../evergreen/server_icons/heartbeat_256.gif | Bin .../evergreen/server_icons/jumper_256.gif | Bin .../evergreen/server_icons/runner_256.gif | Bin .../evergreen/server_icons/spinner_256.gif | Bin .../evergreen/server_icons/tongues_256.gif | Bin .../evergreen/server_icons/winky_256.gif | Bin .../2020 => events/hacktoberfest}/banner.png | Bin .../2019/animated_neon_flicker/base_icon.svg | 0 .../animated_neon_flicker/frames/blue_60.png | Bin .../animated_neon_flicker/frames/blue_off.png | Bin .../animated_neon_flicker/frames/both_30.png | Bin .../animated_neon_flicker/frames/both_35.png | Bin .../animated_neon_flicker/frames/both_40.png | Bin .../animated_neon_flicker/frames/both_45.png | Bin .../animated_neon_flicker/frames/both_50.png | Bin .../animated_neon_flicker/frames/both_55.png | Bin .../animated_neon_flicker/frames/both_60.png | Bin .../animated_neon_flicker/frames/both_65.png | Bin .../animated_neon_flicker/frames/both_70.png | Bin .../animated_neon_flicker/frames/both_off.png | Bin .../frames/imagemagick_creation_command.txt | 0 .../animated_neon_flicker/frames/pink_60.png | Bin .../animated_neon_flicker/frames/pink_off.png | Bin .../icon_neon_flicker_256x256.gif | Bin .../hacktoberfest/2019/banner.png | Bin .../2019/hacktober_transparent.png | Bin .../hacktoberfest/2019/hacktoberfest.png | Bin .../2019/hacktoberfest_animated.gif | Bin .../hacktoberfest/2020/banner.svg | 0 .../hacktoberfest}/hacktoberfest/2020/logo.png | Bin .../hacktoberfest}/hacktoberfest/2020/logo.svg | 0 .../hacktoberfest}/halloween/spooky.min.svg | 0 .../hacktoberfest}/halloween/spooky.png | Bin .../hacktoberfest}/halloween/spooky.svg | 0 .../hacktoberfest}/halloween/spooky_256.png | Bin .../hacktoberfest}/halloween/spooky_512.png | Bin .../hacktoberfest}/halloween/spooky_64.png | Bin .../hacktoberfest}/halloween/spooky_large.png | Bin .../halloween/spooky_transparent.png | Bin .../server_icons}/animated_server_icon.gif | Bin events/new_year/{ => assets}/annual.min.svg | 0 events/new_year/{ => assets}/annual.png | Bin events/new_year/{ => assets}/annual.svg | 0 events/new_year/{ => assets}/annual_512.png | Bin events/new_year/{ => assets}/annual_64.png | Bin events/new_year/{ => assets}/annual_large.png | Bin .../{ => assets}/annual_transparent.png | Bin .../new_year/{ => server_icons}/annual_256.png | Bin .../animated/logo_agender/logo_agender.png | Bin .../animated/logo_agender/logo_agender.svg | 0 .../animated/logo_agender/logo_agender_256.png | Bin .../animated/logo_agender/logo_agender_512.png | Bin .../animated/logo_agender/logo_agender_64.png | Bin .../logo_agender/logo_agender_large.png | Bin .../animated/logo_androgyne/logo_androgyne.png | Bin .../animated/logo_androgyne/logo_androgyne.svg | 0 .../logo_androgyne/logo_androgyne_256.png | Bin .../logo_androgyne/logo_androgyne_512.png | Bin .../logo_androgyne/logo_androgyne_64.png | Bin .../logo_androgyne/logo_androgyne_large.png | Bin .../animated/logo_aromantic/logo_aromantic.png | Bin .../animated/logo_aromantic/logo_aromantic.svg | 0 .../logo_aromantic/logo_aromantic_256.png | Bin .../logo_aromantic/logo_aromantic_512.png | Bin .../logo_aromantic/logo_aromantic_64.png | Bin .../logo_aromantic/logo_aromantic_large.png | Bin .../animated/logo_asexual/logo_asexual.png | Bin .../animated/logo_asexual/logo_asexual.svg | 0 .../animated/logo_asexual/logo_asexual_256.png | Bin .../animated/logo_asexual/logo_asexual_512.png | Bin .../animated/logo_asexual/logo_asexual_64.png | Bin .../logo_asexual/logo_asexual_large.png | Bin .../animated/logo_bigender/logo_bigender.png | Bin .../animated/logo_bigender/logo_bigender.svg | 0 .../logo_bigender/logo_bigender_256.png | Bin .../logo_bigender/logo_bigender_512.png | Bin .../animated/logo_bigender/logo_bigender_64.png | Bin .../logo_bigender/logo_bigender_large.png | Bin .../animated/logo_bisexual/logo_bisexual.png | Bin .../animated/logo_bisexual/logo_bisexual.svg | 0 .../logo_bisexual/logo_bisexual_256.png | Bin .../logo_bisexual/logo_bisexual_512.png | Bin .../animated/logo_bisexual/logo_bisexual_64.png | Bin .../logo_bisexual/logo_bisexual_large.png | Bin .../animated/logo_demiboy/logo_demiboy.png | Bin .../animated/logo_demiboy/logo_demiboy.svg | 0 .../animated/logo_demiboy/logo_demiboy_256.png | Bin .../animated/logo_demiboy/logo_demiboy_512.png | Bin .../animated/logo_demiboy/logo_demiboy_64.png | Bin .../logo_demiboy/logo_demiboy_large.png | Bin .../animated/logo_demigirl/logo_demigirl.png | Bin .../animated/logo_demigirl/logo_demigirl.svg | 0 .../logo_demigirl/logo_demigirl_256.png | Bin .../logo_demigirl/logo_demigirl_512.png | Bin .../animated/logo_demigirl/logo_demigirl_64.png | Bin .../logo_demigirl/logo_demigirl_large.png | Bin .../logo_demisexual/logo_demisexual.png | Bin .../logo_demisexual/logo_demisexual.svg | 0 .../logo_demisexual/logo_demisexual_256.png | Bin .../logo_demisexual/logo_demisexual_512.png | Bin .../logo_demisexual/logo_demisexual_64.png | Bin .../logo_demisexual/logo_demisexual_large.png | Bin .../logo_genderfluid/logo_genderfluid.png | Bin .../logo_genderfluid/logo_genderfluid.svg | 0 .../logo_genderfluid/logo_genderfluid_256.png | Bin .../logo_genderfluid/logo_genderfluid_512.png | Bin .../logo_genderfluid/logo_genderfluid_64.png | Bin .../logo_genderfluid/logo_genderfluid_large.png | Bin .../logo_genderqueer/logo_genderqueer.png | Bin .../logo_genderqueer/logo_genderqueer.svg | 0 .../logo_genderqueer/logo_genderqueer_256.png | Bin .../logo_genderqueer/logo_genderqueer_512.png | Bin .../logo_genderqueer/logo_genderqueer_64.png | Bin .../logo_genderqueer/logo_genderqueer_large.png | Bin .../animated/logo_intersex/logo_intersex.png | Bin .../animated/logo_intersex/logo_intersex.svg | 0 .../logo_intersex/logo_intersex_256.png | Bin .../logo_intersex/logo_intersex_512.png | Bin .../animated/logo_intersex/logo_intersex_64.png | Bin .../logo_intersex/logo_intersex_large.png | Bin .../animated/logo_lesbian/logo_lesbian.png | Bin .../animated/logo_lesbian/logo_lesbian.svg | 0 .../animated/logo_lesbian/logo_lesbian_256.png | Bin .../animated/logo_lesbian/logo_lesbian_512.png | Bin .../animated/logo_lesbian/logo_lesbian_64.png | Bin .../logo_lesbian/logo_lesbian_large.png | Bin .../animated/logo_nonbinary/logo_nonbinary.png | Bin .../animated/logo_nonbinary/logo_nonbinary.svg | 0 .../logo_nonbinary/logo_nonbinary_256.png | Bin .../logo_nonbinary/logo_nonbinary_512.png | Bin .../logo_nonbinary/logo_nonbinary_64.png | Bin .../logo_nonbinary/logo_nonbinary_large.png | Bin .../logo_omnisexual/logo_omnisexual.png | Bin .../logo_omnisexual/logo_omnisexual.svg | 0 .../logo_omnisexual/logo_omnisexual_256.png | Bin .../logo_omnisexual/logo_omnisexual_512.png | Bin .../logo_omnisexual/logo_omnisexual_64.png | Bin .../logo_omnisexual/logo_omnisexual_large.png | Bin .../animated/logo_pangender/logo_pandgender.png | Bin .../animated/logo_pangender/logo_pandgender.svg | 0 .../logo_pangender/logo_pandgender_256.png | Bin .../logo_pangender/logo_pandgender_512.png | Bin .../logo_pangender/logo_pandgender_64.png | Bin .../logo_pangender/logo_pandgender_large.png | Bin .../animated/logo_pansexual/logo_pansexual.png | Bin .../animated/logo_pansexual/logo_pansexual.svg | 0 .../logo_pansexual/logo_pansexual_256.png | Bin .../logo_pansexual/logo_pansexual_512.png | Bin .../logo_pansexual/logo_pansexual_64.png | Bin .../logo_pansexual/logo_pansexual_large.png | Bin .../logo_polysexual/logo_polysexual.png | Bin .../logo_polysexual/logo_polysexual.svg | 0 .../logo_polysexual/logo_polysexual_256.png | Bin .../logo_polysexual/logo_polysexual_512.png | Bin .../logo_polysexual/logo_polysexual_64.png | Bin .../logo_polysexual/logo_polysexual_large.png | Bin .../pride/animated/logo_pride.gif | Bin .../logo_transgender/logo_transgender.png | Bin .../logo_transgender/logo_transgender.svg | 0 .../logo_transgender/logo_transgender_256.png | Bin .../logo_transgender/logo_transgender_512.png | Bin .../logo_transgender/logo_transgender_64.png | Bin .../logo_transgender/logo_transgender_large.png | Bin .../animated/logo_trigender/logo_trigender.png | Bin .../animated/logo_trigender/logo_trigender.svg | 0 .../logo_trigender/logo_trigender_256.png | Bin .../logo_trigender/logo_trigender_512.png | Bin .../logo_trigender/logo_trigender_64.png | Bin .../logo_trigender/logo_trigender_large.png | Bin {seasonal => events}/pride/banner.png | Bin {seasonal => events}/pride/black/banner.png | Bin {seasonal => events}/pride/black/logo.png | Bin {seasonal => events}/pride/black/logo.svg | 0 {seasonal => events}/pride/black/logo_256.png | Bin {seasonal => events}/pride/black/logo_512.png | Bin {seasonal => events}/pride/black/logo_64.png | Bin {seasonal => events}/pride/black/logo_large.png | Bin .../pride/server_icons/logo_pride.gif | Bin .../pride/static/logo_pride.png | Bin .../pride/static/logo_pride.svg | 0 .../pride/static/logo_pride_256.png | Bin .../pride/static/logo_pride_512.png | Bin .../pride/static/logo_pride_64.png | Bin .../pride/static/logo_pride_large.png | Bin .../banner.svg} | 0 .../server_icon.svg} | 0 .../{st_patricks_banner.png => banner.png} | Bin .../server_icon.png} | Bin .../valentines/animated/loved_up_256.gif | Bin .../valentines/animated/loved_up_512.gif | Bin .../valentines/animated/loved_up_64.gif | Bin {seasonal => events}/valentines/banner.png | Bin .../valentines/server_icons/loved_up_256.gif | Bin .../valentines/static/loved_up.min.svg | 0 .../valentines/static/loved_up.png | Bin .../valentines/static/loved_up.svg | 0 .../valentines/static/loved_up_256.png | Bin .../valentines/static/loved_up_512.png | Bin .../valentines/static/loved_up_64.png | Bin .../valentines/static/loved_up_large.png | Bin .../valentines/static/loved_up_transparent.png | Bin .../game jam 2020 - announcement header.png | Bin .../game jam 2020 - discord banner.png | Bin .../game jam 2020 - website banner.png | Bin .../gamejam 2020 - icon (full).png | Bin .../game_jam_2020/gamejam 2020 - icon.png | Bin .../game_jam_2020/gamejam 2020 - icon.svg | 0 .../pyweek_30/banner.png | Bin .../pyweek_30/server_icons/icon_1.gif | Bin .../pyweek_30/server_icons/icon_2.gif | Bin .../pyweek_30/server_icons/icon_3.gif | Bin .../pyweek_30/server_icons/icon_4.gif | Bin .../pyweek_30/server_icons/icon_5.gif | Bin .../assets_animated}/logo_spin_plain_126.gif | Bin .../assets_animated}/logo_spin_plain_504.gif | Bin .../assets_animated}/logo_spin_plain_63.gif | Bin .../retro_gaming/assets_static}/banner.psd | Bin .../assets_static}/logo_8bit_indexed_24.png | Bin .../assets_static}/logo_8bit_indexed_504.png | Bin .../assets_static}/logo_8bit_rgb_24.png | Bin .../assets_static}/logo_8bit_rgb_504.png | Bin {events => jams}/retro_gaming/banner.png | Bin .../server_icons}/logo_spin_plain_252.gif | Bin .../early internet icon smaller.png | Bin .../early internet icon.png | Bin .../stream assets/aeros camframe.png | Bin .../stream assets/cue card empty.png | Bin .../stream assets/joe camframe.png | Bin .../stream assets/lemonframe.png | Bin .../stream assets/python background.png | Bin .../stream assets/ves camframe.png | Bin .../summer cj 2020 discord banner.png | Bin ...ummer code jam - early internet banner 2.png | Bin ...ummer code jam - early internet banner 3.png | Bin ...ummer code jam - early internet banner 4.png | Bin ...ummer code jam - early internet banner 5.png | Bin ...ummer code jam - early internet banner 6.png | Bin .../summer code jam - early internet banner.png | Bin .../summer code jam 2020 - website banner.png | Bin .../summer code jam logo.png | Bin .../code jam 6 - announcement banner.png | Bin .../code jam 6 - website banner.png | Bin .../winer_code_jam_2020/code jam 6.png | Bin seasonal/christmas/avatar.png | Bin 7804 -> 0 bytes seasonal/easter/avatar.png | Bin 7832 -> 0 bytes seasonal/evergreen/avatar.png | Bin 16158 -> 0 bytes seasonal/halloween/avatar.png | Bin 7353 -> 0 bytes seasonal/pride/avatar.png | Bin 9981 -> 0 bytes seasonal/valentines/avatar.png | Bin 8009 -> 0 bytes 326 files changed, 0 insertions(+), 0 deletions(-) rename {seasonal => events}/README.md (100%) rename events/black_history_month/{black_history_month_banner.svg => assets/banner.svg} (100%) rename events/black_history_month/{black_history_month.svg => assets/icon.svg} (100%) rename events/black_history_month/{black_history_month_cornerless.png => assets/icon_cornerless.png} (100%) rename events/black_history_month/{black_history_month_banner.png => banner.png} (100%) rename events/black_history_month/{black_history_month.png => server_icons/icon.png} (100%) rename {seasonal => events}/christmas/2018/festive.min.svg (100%) rename {seasonal => events}/christmas/2018/festive.png (100%) rename {seasonal => events}/christmas/2018/festive.svg (100%) rename {seasonal => events}/christmas/2018/festive_256.png (100%) rename {seasonal => events}/christmas/2018/festive_512.png (100%) rename {seasonal => events}/christmas/2018/festive_64.png (100%) rename {seasonal => events}/christmas/2018/festive_large.png (100%) rename {seasonal => events}/christmas/2018/festive_transparent.png (100%) rename {seasonal => events}/christmas/2019/banner.png (100%) rename {seasonal => events}/christmas/2019/festive_256.gif (100%) rename {seasonal => events}/christmas/2019/festive_64.gif (100%) rename {seasonal => events}/christmas/2019/sticker.png (100%) rename {seasonal => events}/christmas/2019/tshirt_template.png (100%) rename {seasonal => events}/christmas/2020/tshirt_template.png (100%) rename {seasonal => events}/christmas/banner.png (100%) rename {seasonal => events}/christmas/server_icons/festive_256.gif (100%) rename {seasonal => events}/easter/assets/easter.min.svg (100%) rename {seasonal => events}/easter/assets/easter.png (100%) rename {seasonal => events}/easter/assets/easter.svg (100%) rename {seasonal => events}/easter/assets/easter_256.png (100%) rename {seasonal => events}/easter/assets/easter_512.png (100%) rename {seasonal => events}/easter/assets/easter_64.png (100%) rename {seasonal => events}/easter/assets/easter_large.png (100%) rename {seasonal => events}/easter/assets/easter_transparent.png (100%) rename {seasonal => events}/easter/server_icons/easter_256.png (100%) rename {seasonal => events}/evergreen/animated_logos/apple/apple.gif (100%) rename {seasonal => events}/evergreen/animated_logos/apple/apple_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/apple/apple_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/apple/apple_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/blinky/blinky.gif (100%) rename {seasonal => events}/evergreen/animated_logos/blinky/blinky_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/blinky/blinky_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/blinky/blinky_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/heartbeat/heartbeat.gif (100%) rename {seasonal => events}/evergreen/animated_logos/heartbeat/heartbeat_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/heartbeat/heartbeat_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/heartbeat/heartbeat_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/jumper/jumper.gif (100%) rename {seasonal => events}/evergreen/animated_logos/jumper/jumper_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/jumper/jumper_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/jumper/jumper_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/runner/runner.gif (100%) rename {seasonal => events}/evergreen/animated_logos/runner/runner_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/runner/runner_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/runner/runner_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/spinner/spinner.gif (100%) rename {seasonal => events}/evergreen/animated_logos/spinner/spinner_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/spinner/spinner_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/spinner/spinner_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/swoopy/swoopy.gif (100%) rename {seasonal => events}/evergreen/animated_logos/tongues/tongues.gif (100%) rename {seasonal => events}/evergreen/animated_logos/tongues/tongues_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/tongues/tongues_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/tongues/tongues_64.gif (100%) rename {seasonal => events}/evergreen/animated_logos/winky/winky.gif (100%) rename {seasonal => events}/evergreen/animated_logos/winky/winky_256.gif (100%) rename {seasonal => events}/evergreen/animated_logos/winky/winky_512.gif (100%) rename {seasonal => events}/evergreen/animated_logos/winky/winky_64.gif (100%) rename {seasonal => events}/evergreen/banner.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen.svg (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen_256.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen_512.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen_64.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen_large.png (100%) rename {seasonal => events}/evergreen/green_logos/logo_evergreen_transparent.png (100%) rename {seasonal => events}/evergreen/other_assets/avatar_blue.png (100%) rename {seasonal => events}/evergreen/other_assets/banner.svg (100%) rename {seasonal => events}/evergreen/other_assets/logo_evergreen.min.svg (100%) rename {seasonal => events}/evergreen/server_icons/apple_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/blinky_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/heartbeat_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/jumper_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/runner_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/spinner_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/tongues_256.gif (100%) rename {seasonal => events}/evergreen/server_icons/winky_256.gif (100%) rename {seasonal/halloween/hacktoberfest/2020 => events/hacktoberfest}/banner.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/base_icon.svg (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/blue_60.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/blue_off.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_30.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_35.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_40.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_45.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_50.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_55.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_60.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_65.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_70.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/both_off.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/imagemagick_creation_command.txt (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/pink_60.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/frames/pink_off.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/animated_neon_flicker/icon_neon_flicker_256x256.gif (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/banner.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/hacktober_transparent.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/hacktoberfest.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2019/hacktoberfest_animated.gif (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2020/banner.svg (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2020/logo.png (100%) rename {seasonal/halloween => events/hacktoberfest}/hacktoberfest/2020/logo.svg (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky.min.svg (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky.png (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky.svg (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky_256.png (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky_512.png (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky_64.png (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky_large.png (100%) rename {seasonal/halloween => events/hacktoberfest}/halloween/spooky_transparent.png (100%) rename {seasonal/halloween/hacktoberfest/2020 => events/hacktoberfest/server_icons}/animated_server_icon.gif (100%) rename events/new_year/{ => assets}/annual.min.svg (100%) rename events/new_year/{ => assets}/annual.png (100%) rename events/new_year/{ => assets}/annual.svg (100%) rename events/new_year/{ => assets}/annual_512.png (100%) rename events/new_year/{ => assets}/annual_64.png (100%) rename events/new_year/{ => assets}/annual_large.png (100%) rename events/new_year/{ => assets}/annual_transparent.png (100%) rename events/new_year/{ => server_icons}/annual_256.png (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender.png (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender.svg (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender_256.png (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender_512.png (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender_64.png (100%) rename {seasonal => events}/pride/animated/logo_agender/logo_agender_large.png (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne.png (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne.svg (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne_256.png (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne_512.png (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne_64.png (100%) rename {seasonal => events}/pride/animated/logo_androgyne/logo_androgyne_large.png (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic.png (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic.svg (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic_256.png (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic_512.png (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic_64.png (100%) rename {seasonal => events}/pride/animated/logo_aromantic/logo_aromantic_large.png (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual.png (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual.svg (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_asexual/logo_asexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender.png (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender.svg (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender_256.png (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender_512.png (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender_64.png (100%) rename {seasonal => events}/pride/animated/logo_bigender/logo_bigender_large.png (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual.png (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual.svg (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_bisexual/logo_bisexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy.png (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy.svg (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy_256.png (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy_512.png (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy_64.png (100%) rename {seasonal => events}/pride/animated/logo_demiboy/logo_demiboy_large.png (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl.png (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl.svg (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl_256.png (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl_512.png (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl_64.png (100%) rename {seasonal => events}/pride/animated/logo_demigirl/logo_demigirl_large.png (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual.png (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual.svg (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_demisexual/logo_demisexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid.png (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid.svg (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid_256.png (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid_512.png (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid_64.png (100%) rename {seasonal => events}/pride/animated/logo_genderfluid/logo_genderfluid_large.png (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer.png (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer.svg (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer_256.png (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer_512.png (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer_64.png (100%) rename {seasonal => events}/pride/animated/logo_genderqueer/logo_genderqueer_large.png (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex.png (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex.svg (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex_256.png (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex_512.png (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex_64.png (100%) rename {seasonal => events}/pride/animated/logo_intersex/logo_intersex_large.png (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian.png (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian.svg (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian_256.png (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian_512.png (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian_64.png (100%) rename {seasonal => events}/pride/animated/logo_lesbian/logo_lesbian_large.png (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary.png (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary.svg (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary_256.png (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary_512.png (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary_64.png (100%) rename {seasonal => events}/pride/animated/logo_nonbinary/logo_nonbinary_large.png (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual.png (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual.svg (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_omnisexual/logo_omnisexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender.png (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender.svg (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender_256.png (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender_512.png (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender_64.png (100%) rename {seasonal => events}/pride/animated/logo_pangender/logo_pandgender_large.png (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual.png (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual.svg (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_pansexual/logo_pansexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual.png (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual.svg (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual_256.png (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual_512.png (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual_64.png (100%) rename {seasonal => events}/pride/animated/logo_polysexual/logo_polysexual_large.png (100%) rename {seasonal => events}/pride/animated/logo_pride.gif (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender.png (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender.svg (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender_256.png (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender_512.png (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender_64.png (100%) rename {seasonal => events}/pride/animated/logo_transgender/logo_transgender_large.png (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender.png (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender.svg (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender_256.png (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender_512.png (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender_64.png (100%) rename {seasonal => events}/pride/animated/logo_trigender/logo_trigender_large.png (100%) rename {seasonal => events}/pride/banner.png (100%) rename {seasonal => events}/pride/black/banner.png (100%) rename {seasonal => events}/pride/black/logo.png (100%) rename {seasonal => events}/pride/black/logo.svg (100%) rename {seasonal => events}/pride/black/logo_256.png (100%) rename {seasonal => events}/pride/black/logo_512.png (100%) rename {seasonal => events}/pride/black/logo_64.png (100%) rename {seasonal => events}/pride/black/logo_large.png (100%) rename {seasonal => events}/pride/server_icons/logo_pride.gif (100%) rename {seasonal => events}/pride/static/logo_pride.png (100%) rename {seasonal => events}/pride/static/logo_pride.svg (100%) rename {seasonal => events}/pride/static/logo_pride_256.png (100%) rename {seasonal => events}/pride/static/logo_pride_512.png (100%) rename {seasonal => events}/pride/static/logo_pride_64.png (100%) rename {seasonal => events}/pride/static/logo_pride_large.png (100%) rename events/st_patricks_day/{st_patricks_banner.svg => assets/banner.svg} (100%) rename events/st_patricks_day/{st_patricks_day_server_icon.svg => assets/server_icon.svg} (100%) rename events/st_patricks_day/{st_patricks_banner.png => banner.png} (100%) rename events/st_patricks_day/{st_patricks_server_icon.png => server_icons/server_icon.png} (100%) rename {seasonal => events}/valentines/animated/loved_up_256.gif (100%) rename {seasonal => events}/valentines/animated/loved_up_512.gif (100%) rename {seasonal => events}/valentines/animated/loved_up_64.gif (100%) rename {seasonal => events}/valentines/banner.png (100%) rename {seasonal => events}/valentines/server_icons/loved_up_256.gif (100%) rename {seasonal => events}/valentines/static/loved_up.min.svg (100%) rename {seasonal => events}/valentines/static/loved_up.png (100%) rename {seasonal => events}/valentines/static/loved_up.svg (100%) rename {seasonal => events}/valentines/static/loved_up_256.png (100%) rename {seasonal => events}/valentines/static/loved_up_512.png (100%) rename {seasonal => events}/valentines/static/loved_up_64.png (100%) rename {seasonal => events}/valentines/static/loved_up_large.png (100%) rename {seasonal => events}/valentines/static/loved_up_transparent.png (100%) rename {events => jams}/game_jam_2020/game jam 2020 - announcement header.png (100%) rename {events => jams}/game_jam_2020/game jam 2020 - discord banner.png (100%) rename {events => jams}/game_jam_2020/game jam 2020 - website banner.png (100%) rename {events => jams}/game_jam_2020/gamejam 2020 - icon (full).png (100%) rename {events => jams}/game_jam_2020/gamejam 2020 - icon.png (100%) rename {events => jams}/game_jam_2020/gamejam 2020 - icon.svg (100%) rename events/pyweek/pyweek_30/pyweek_30 discord banner.png => jams/pyweek_30/banner.png (100%) rename events/pyweek/pyweek_30/PyWeek 30 icon.gif => jams/pyweek_30/server_icons/icon_1.gif (100%) rename events/pyweek/pyweek_30/PyWeek 30 icon2.gif => jams/pyweek_30/server_icons/icon_2.gif (100%) rename events/pyweek/pyweek_30/PyWeek 30 Icon 3.gif => jams/pyweek_30/server_icons/icon_3.gif (100%) rename events/pyweek/pyweek_30/PyWeek 30 icon4.gif => jams/pyweek_30/server_icons/icon_4.gif (100%) rename events/pyweek/pyweek_30/PyWeek 30 Icon 5.gif => jams/pyweek_30/server_icons/icon_5.gif (100%) rename {events/retro_gaming/retro_gaming_animated => jams/retro_gaming/assets_animated}/logo_spin_plain_126.gif (100%) rename {events/retro_gaming/retro_gaming_animated => jams/retro_gaming/assets_animated}/logo_spin_plain_504.gif (100%) rename {events/retro_gaming/retro_gaming_animated => jams/retro_gaming/assets_animated}/logo_spin_plain_63.gif (100%) rename {events/retro_gaming => jams/retro_gaming/assets_static}/banner.psd (100%) rename {events/retro_gaming/retro_gaming => jams/retro_gaming/assets_static}/logo_8bit_indexed_24.png (100%) rename {events/retro_gaming/retro_gaming => jams/retro_gaming/assets_static}/logo_8bit_indexed_504.png (100%) rename {events/retro_gaming/retro_gaming => jams/retro_gaming/assets_static}/logo_8bit_rgb_24.png (100%) rename {events/retro_gaming/retro_gaming => jams/retro_gaming/assets_static}/logo_8bit_rgb_504.png (100%) rename {events => jams}/retro_gaming/banner.png (100%) rename {events/retro_gaming/retro_gaming_animated => jams/retro_gaming/server_icons}/logo_spin_plain_252.gif (100%) rename {events => jams}/summer_code_jam_2020/early internet icon smaller.png (100%) rename {events => jams}/summer_code_jam_2020/early internet icon.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/aeros camframe.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/cue card empty.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/joe camframe.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/lemonframe.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/python background.png (100%) rename {events => jams}/summer_code_jam_2020/stream assets/ves camframe.png (100%) rename {events => jams}/summer_code_jam_2020/summer cj 2020 discord banner.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner 2.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner 3.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner 4.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner 5.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner 6.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam - early internet banner.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam 2020 - website banner.png (100%) rename {events => jams}/summer_code_jam_2020/summer code jam logo.png (100%) rename {events => jams}/winer_code_jam_2020/code jam 6 - announcement banner.png (100%) rename {events => jams}/winer_code_jam_2020/code jam 6 - website banner.png (100%) rename {events => jams}/winer_code_jam_2020/code jam 6.png (100%) delete mode 100644 seasonal/christmas/avatar.png delete mode 100644 seasonal/easter/avatar.png delete mode 100644 seasonal/evergreen/avatar.png delete mode 100644 seasonal/halloween/avatar.png delete mode 100644 seasonal/pride/avatar.png delete mode 100644 seasonal/valentines/avatar.png diff --git a/seasonal/README.md b/events/README.md similarity index 100% rename from seasonal/README.md rename to events/README.md diff --git a/events/black_history_month/black_history_month_banner.svg b/events/black_history_month/assets/banner.svg similarity index 100% rename from events/black_history_month/black_history_month_banner.svg rename to events/black_history_month/assets/banner.svg diff --git a/events/black_history_month/black_history_month.svg b/events/black_history_month/assets/icon.svg similarity index 100% rename from events/black_history_month/black_history_month.svg rename to events/black_history_month/assets/icon.svg diff --git a/events/black_history_month/black_history_month_cornerless.png b/events/black_history_month/assets/icon_cornerless.png similarity index 100% rename from events/black_history_month/black_history_month_cornerless.png rename to events/black_history_month/assets/icon_cornerless.png diff --git a/events/black_history_month/black_history_month_banner.png b/events/black_history_month/banner.png similarity index 100% rename from events/black_history_month/black_history_month_banner.png rename to events/black_history_month/banner.png diff --git a/events/black_history_month/black_history_month.png b/events/black_history_month/server_icons/icon.png similarity index 100% rename from events/black_history_month/black_history_month.png rename to events/black_history_month/server_icons/icon.png diff --git a/seasonal/christmas/2018/festive.min.svg b/events/christmas/2018/festive.min.svg similarity index 100% rename from seasonal/christmas/2018/festive.min.svg rename to events/christmas/2018/festive.min.svg diff --git a/seasonal/christmas/2018/festive.png b/events/christmas/2018/festive.png similarity index 100% rename from seasonal/christmas/2018/festive.png rename to events/christmas/2018/festive.png diff --git a/seasonal/christmas/2018/festive.svg b/events/christmas/2018/festive.svg similarity index 100% rename from seasonal/christmas/2018/festive.svg rename to events/christmas/2018/festive.svg diff --git a/seasonal/christmas/2018/festive_256.png b/events/christmas/2018/festive_256.png similarity index 100% rename from seasonal/christmas/2018/festive_256.png rename to events/christmas/2018/festive_256.png diff --git a/seasonal/christmas/2018/festive_512.png b/events/christmas/2018/festive_512.png similarity index 100% rename from seasonal/christmas/2018/festive_512.png rename to events/christmas/2018/festive_512.png diff --git a/seasonal/christmas/2018/festive_64.png b/events/christmas/2018/festive_64.png similarity index 100% rename from seasonal/christmas/2018/festive_64.png rename to events/christmas/2018/festive_64.png diff --git a/seasonal/christmas/2018/festive_large.png b/events/christmas/2018/festive_large.png similarity index 100% rename from seasonal/christmas/2018/festive_large.png rename to events/christmas/2018/festive_large.png diff --git a/seasonal/christmas/2018/festive_transparent.png b/events/christmas/2018/festive_transparent.png similarity index 100% rename from seasonal/christmas/2018/festive_transparent.png rename to events/christmas/2018/festive_transparent.png diff --git a/seasonal/christmas/2019/banner.png b/events/christmas/2019/banner.png similarity index 100% rename from seasonal/christmas/2019/banner.png rename to events/christmas/2019/banner.png diff --git a/seasonal/christmas/2019/festive_256.gif b/events/christmas/2019/festive_256.gif similarity index 100% rename from seasonal/christmas/2019/festive_256.gif rename to events/christmas/2019/festive_256.gif diff --git a/seasonal/christmas/2019/festive_64.gif b/events/christmas/2019/festive_64.gif similarity index 100% rename from seasonal/christmas/2019/festive_64.gif rename to events/christmas/2019/festive_64.gif diff --git a/seasonal/christmas/2019/sticker.png b/events/christmas/2019/sticker.png similarity index 100% rename from seasonal/christmas/2019/sticker.png rename to events/christmas/2019/sticker.png diff --git a/seasonal/christmas/2019/tshirt_template.png b/events/christmas/2019/tshirt_template.png similarity index 100% rename from seasonal/christmas/2019/tshirt_template.png rename to events/christmas/2019/tshirt_template.png diff --git a/seasonal/christmas/2020/tshirt_template.png b/events/christmas/2020/tshirt_template.png similarity index 100% rename from seasonal/christmas/2020/tshirt_template.png rename to events/christmas/2020/tshirt_template.png diff --git a/seasonal/christmas/banner.png b/events/christmas/banner.png similarity index 100% rename from seasonal/christmas/banner.png rename to events/christmas/banner.png diff --git a/seasonal/christmas/server_icons/festive_256.gif b/events/christmas/server_icons/festive_256.gif similarity index 100% rename from seasonal/christmas/server_icons/festive_256.gif rename to events/christmas/server_icons/festive_256.gif diff --git a/seasonal/easter/assets/easter.min.svg b/events/easter/assets/easter.min.svg similarity index 100% rename from seasonal/easter/assets/easter.min.svg rename to events/easter/assets/easter.min.svg diff --git a/seasonal/easter/assets/easter.png b/events/easter/assets/easter.png similarity index 100% rename from seasonal/easter/assets/easter.png rename to events/easter/assets/easter.png diff --git a/seasonal/easter/assets/easter.svg b/events/easter/assets/easter.svg similarity index 100% rename from seasonal/easter/assets/easter.svg rename to events/easter/assets/easter.svg diff --git a/seasonal/easter/assets/easter_256.png b/events/easter/assets/easter_256.png similarity index 100% rename from seasonal/easter/assets/easter_256.png rename to events/easter/assets/easter_256.png diff --git a/seasonal/easter/assets/easter_512.png b/events/easter/assets/easter_512.png similarity index 100% rename from seasonal/easter/assets/easter_512.png rename to events/easter/assets/easter_512.png diff --git a/seasonal/easter/assets/easter_64.png b/events/easter/assets/easter_64.png similarity index 100% rename from seasonal/easter/assets/easter_64.png rename to events/easter/assets/easter_64.png diff --git a/seasonal/easter/assets/easter_large.png b/events/easter/assets/easter_large.png similarity index 100% rename from seasonal/easter/assets/easter_large.png rename to events/easter/assets/easter_large.png diff --git a/seasonal/easter/assets/easter_transparent.png b/events/easter/assets/easter_transparent.png similarity index 100% rename from seasonal/easter/assets/easter_transparent.png rename to events/easter/assets/easter_transparent.png diff --git a/seasonal/easter/server_icons/easter_256.png b/events/easter/server_icons/easter_256.png similarity index 100% rename from seasonal/easter/server_icons/easter_256.png rename to events/easter/server_icons/easter_256.png diff --git a/seasonal/evergreen/animated_logos/apple/apple.gif b/events/evergreen/animated_logos/apple/apple.gif similarity index 100% rename from seasonal/evergreen/animated_logos/apple/apple.gif rename to events/evergreen/animated_logos/apple/apple.gif diff --git a/seasonal/evergreen/animated_logos/apple/apple_256.gif b/events/evergreen/animated_logos/apple/apple_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/apple/apple_256.gif rename to events/evergreen/animated_logos/apple/apple_256.gif diff --git a/seasonal/evergreen/animated_logos/apple/apple_512.gif b/events/evergreen/animated_logos/apple/apple_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/apple/apple_512.gif rename to events/evergreen/animated_logos/apple/apple_512.gif diff --git a/seasonal/evergreen/animated_logos/apple/apple_64.gif b/events/evergreen/animated_logos/apple/apple_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/apple/apple_64.gif rename to events/evergreen/animated_logos/apple/apple_64.gif diff --git a/seasonal/evergreen/animated_logos/blinky/blinky.gif b/events/evergreen/animated_logos/blinky/blinky.gif similarity index 100% rename from seasonal/evergreen/animated_logos/blinky/blinky.gif rename to events/evergreen/animated_logos/blinky/blinky.gif diff --git a/seasonal/evergreen/animated_logos/blinky/blinky_256.gif b/events/evergreen/animated_logos/blinky/blinky_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/blinky/blinky_256.gif rename to events/evergreen/animated_logos/blinky/blinky_256.gif diff --git a/seasonal/evergreen/animated_logos/blinky/blinky_512.gif b/events/evergreen/animated_logos/blinky/blinky_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/blinky/blinky_512.gif rename to events/evergreen/animated_logos/blinky/blinky_512.gif diff --git a/seasonal/evergreen/animated_logos/blinky/blinky_64.gif b/events/evergreen/animated_logos/blinky/blinky_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/blinky/blinky_64.gif rename to events/evergreen/animated_logos/blinky/blinky_64.gif diff --git a/seasonal/evergreen/animated_logos/heartbeat/heartbeat.gif b/events/evergreen/animated_logos/heartbeat/heartbeat.gif similarity index 100% rename from seasonal/evergreen/animated_logos/heartbeat/heartbeat.gif rename to events/evergreen/animated_logos/heartbeat/heartbeat.gif diff --git a/seasonal/evergreen/animated_logos/heartbeat/heartbeat_256.gif b/events/evergreen/animated_logos/heartbeat/heartbeat_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/heartbeat/heartbeat_256.gif rename to events/evergreen/animated_logos/heartbeat/heartbeat_256.gif diff --git a/seasonal/evergreen/animated_logos/heartbeat/heartbeat_512.gif b/events/evergreen/animated_logos/heartbeat/heartbeat_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/heartbeat/heartbeat_512.gif rename to events/evergreen/animated_logos/heartbeat/heartbeat_512.gif diff --git a/seasonal/evergreen/animated_logos/heartbeat/heartbeat_64.gif b/events/evergreen/animated_logos/heartbeat/heartbeat_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/heartbeat/heartbeat_64.gif rename to events/evergreen/animated_logos/heartbeat/heartbeat_64.gif diff --git a/seasonal/evergreen/animated_logos/jumper/jumper.gif b/events/evergreen/animated_logos/jumper/jumper.gif similarity index 100% rename from seasonal/evergreen/animated_logos/jumper/jumper.gif rename to events/evergreen/animated_logos/jumper/jumper.gif diff --git a/seasonal/evergreen/animated_logos/jumper/jumper_256.gif b/events/evergreen/animated_logos/jumper/jumper_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/jumper/jumper_256.gif rename to events/evergreen/animated_logos/jumper/jumper_256.gif diff --git a/seasonal/evergreen/animated_logos/jumper/jumper_512.gif b/events/evergreen/animated_logos/jumper/jumper_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/jumper/jumper_512.gif rename to events/evergreen/animated_logos/jumper/jumper_512.gif diff --git a/seasonal/evergreen/animated_logos/jumper/jumper_64.gif b/events/evergreen/animated_logos/jumper/jumper_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/jumper/jumper_64.gif rename to events/evergreen/animated_logos/jumper/jumper_64.gif diff --git a/seasonal/evergreen/animated_logos/runner/runner.gif b/events/evergreen/animated_logos/runner/runner.gif similarity index 100% rename from seasonal/evergreen/animated_logos/runner/runner.gif rename to events/evergreen/animated_logos/runner/runner.gif diff --git a/seasonal/evergreen/animated_logos/runner/runner_256.gif b/events/evergreen/animated_logos/runner/runner_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/runner/runner_256.gif rename to events/evergreen/animated_logos/runner/runner_256.gif diff --git a/seasonal/evergreen/animated_logos/runner/runner_512.gif b/events/evergreen/animated_logos/runner/runner_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/runner/runner_512.gif rename to events/evergreen/animated_logos/runner/runner_512.gif diff --git a/seasonal/evergreen/animated_logos/runner/runner_64.gif b/events/evergreen/animated_logos/runner/runner_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/runner/runner_64.gif rename to events/evergreen/animated_logos/runner/runner_64.gif diff --git a/seasonal/evergreen/animated_logos/spinner/spinner.gif b/events/evergreen/animated_logos/spinner/spinner.gif similarity index 100% rename from seasonal/evergreen/animated_logos/spinner/spinner.gif rename to events/evergreen/animated_logos/spinner/spinner.gif diff --git a/seasonal/evergreen/animated_logos/spinner/spinner_256.gif b/events/evergreen/animated_logos/spinner/spinner_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/spinner/spinner_256.gif rename to events/evergreen/animated_logos/spinner/spinner_256.gif diff --git a/seasonal/evergreen/animated_logos/spinner/spinner_512.gif b/events/evergreen/animated_logos/spinner/spinner_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/spinner/spinner_512.gif rename to events/evergreen/animated_logos/spinner/spinner_512.gif diff --git a/seasonal/evergreen/animated_logos/spinner/spinner_64.gif b/events/evergreen/animated_logos/spinner/spinner_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/spinner/spinner_64.gif rename to events/evergreen/animated_logos/spinner/spinner_64.gif diff --git a/seasonal/evergreen/animated_logos/swoopy/swoopy.gif b/events/evergreen/animated_logos/swoopy/swoopy.gif similarity index 100% rename from seasonal/evergreen/animated_logos/swoopy/swoopy.gif rename to events/evergreen/animated_logos/swoopy/swoopy.gif diff --git a/seasonal/evergreen/animated_logos/tongues/tongues.gif b/events/evergreen/animated_logos/tongues/tongues.gif similarity index 100% rename from seasonal/evergreen/animated_logos/tongues/tongues.gif rename to events/evergreen/animated_logos/tongues/tongues.gif diff --git a/seasonal/evergreen/animated_logos/tongues/tongues_256.gif b/events/evergreen/animated_logos/tongues/tongues_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/tongues/tongues_256.gif rename to events/evergreen/animated_logos/tongues/tongues_256.gif diff --git a/seasonal/evergreen/animated_logos/tongues/tongues_512.gif b/events/evergreen/animated_logos/tongues/tongues_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/tongues/tongues_512.gif rename to events/evergreen/animated_logos/tongues/tongues_512.gif diff --git a/seasonal/evergreen/animated_logos/tongues/tongues_64.gif b/events/evergreen/animated_logos/tongues/tongues_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/tongues/tongues_64.gif rename to events/evergreen/animated_logos/tongues/tongues_64.gif diff --git a/seasonal/evergreen/animated_logos/winky/winky.gif b/events/evergreen/animated_logos/winky/winky.gif similarity index 100% rename from seasonal/evergreen/animated_logos/winky/winky.gif rename to events/evergreen/animated_logos/winky/winky.gif diff --git a/seasonal/evergreen/animated_logos/winky/winky_256.gif b/events/evergreen/animated_logos/winky/winky_256.gif similarity index 100% rename from seasonal/evergreen/animated_logos/winky/winky_256.gif rename to events/evergreen/animated_logos/winky/winky_256.gif diff --git a/seasonal/evergreen/animated_logos/winky/winky_512.gif b/events/evergreen/animated_logos/winky/winky_512.gif similarity index 100% rename from seasonal/evergreen/animated_logos/winky/winky_512.gif rename to events/evergreen/animated_logos/winky/winky_512.gif diff --git a/seasonal/evergreen/animated_logos/winky/winky_64.gif b/events/evergreen/animated_logos/winky/winky_64.gif similarity index 100% rename from seasonal/evergreen/animated_logos/winky/winky_64.gif rename to events/evergreen/animated_logos/winky/winky_64.gif diff --git a/seasonal/evergreen/banner.png b/events/evergreen/banner.png similarity index 100% rename from seasonal/evergreen/banner.png rename to events/evergreen/banner.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen.png b/events/evergreen/green_logos/logo_evergreen.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen.png rename to events/evergreen/green_logos/logo_evergreen.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen.svg b/events/evergreen/green_logos/logo_evergreen.svg similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen.svg rename to events/evergreen/green_logos/logo_evergreen.svg diff --git a/seasonal/evergreen/green_logos/logo_evergreen_256.png b/events/evergreen/green_logos/logo_evergreen_256.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen_256.png rename to events/evergreen/green_logos/logo_evergreen_256.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen_512.png b/events/evergreen/green_logos/logo_evergreen_512.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen_512.png rename to events/evergreen/green_logos/logo_evergreen_512.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen_64.png b/events/evergreen/green_logos/logo_evergreen_64.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen_64.png rename to events/evergreen/green_logos/logo_evergreen_64.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen_large.png b/events/evergreen/green_logos/logo_evergreen_large.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen_large.png rename to events/evergreen/green_logos/logo_evergreen_large.png diff --git a/seasonal/evergreen/green_logos/logo_evergreen_transparent.png b/events/evergreen/green_logos/logo_evergreen_transparent.png similarity index 100% rename from seasonal/evergreen/green_logos/logo_evergreen_transparent.png rename to events/evergreen/green_logos/logo_evergreen_transparent.png diff --git a/seasonal/evergreen/other_assets/avatar_blue.png b/events/evergreen/other_assets/avatar_blue.png similarity index 100% rename from seasonal/evergreen/other_assets/avatar_blue.png rename to events/evergreen/other_assets/avatar_blue.png diff --git a/seasonal/evergreen/other_assets/banner.svg b/events/evergreen/other_assets/banner.svg similarity index 100% rename from seasonal/evergreen/other_assets/banner.svg rename to events/evergreen/other_assets/banner.svg diff --git a/seasonal/evergreen/other_assets/logo_evergreen.min.svg b/events/evergreen/other_assets/logo_evergreen.min.svg similarity index 100% rename from seasonal/evergreen/other_assets/logo_evergreen.min.svg rename to events/evergreen/other_assets/logo_evergreen.min.svg diff --git a/seasonal/evergreen/server_icons/apple_256.gif b/events/evergreen/server_icons/apple_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/apple_256.gif rename to events/evergreen/server_icons/apple_256.gif diff --git a/seasonal/evergreen/server_icons/blinky_256.gif b/events/evergreen/server_icons/blinky_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/blinky_256.gif rename to events/evergreen/server_icons/blinky_256.gif diff --git a/seasonal/evergreen/server_icons/heartbeat_256.gif b/events/evergreen/server_icons/heartbeat_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/heartbeat_256.gif rename to events/evergreen/server_icons/heartbeat_256.gif diff --git a/seasonal/evergreen/server_icons/jumper_256.gif b/events/evergreen/server_icons/jumper_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/jumper_256.gif rename to events/evergreen/server_icons/jumper_256.gif diff --git a/seasonal/evergreen/server_icons/runner_256.gif b/events/evergreen/server_icons/runner_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/runner_256.gif rename to events/evergreen/server_icons/runner_256.gif diff --git a/seasonal/evergreen/server_icons/spinner_256.gif b/events/evergreen/server_icons/spinner_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/spinner_256.gif rename to events/evergreen/server_icons/spinner_256.gif diff --git a/seasonal/evergreen/server_icons/tongues_256.gif b/events/evergreen/server_icons/tongues_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/tongues_256.gif rename to events/evergreen/server_icons/tongues_256.gif diff --git a/seasonal/evergreen/server_icons/winky_256.gif b/events/evergreen/server_icons/winky_256.gif similarity index 100% rename from seasonal/evergreen/server_icons/winky_256.gif rename to events/evergreen/server_icons/winky_256.gif diff --git a/seasonal/halloween/hacktoberfest/2020/banner.png b/events/hacktoberfest/banner.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2020/banner.png rename to events/hacktoberfest/banner.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/base_icon.svg b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/base_icon.svg similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/base_icon.svg rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/base_icon.svg diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/blue_60.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/blue_60.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/blue_60.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/blue_60.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/blue_off.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/blue_off.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/blue_off.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/blue_off.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_30.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_30.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_30.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_30.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_35.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_35.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_35.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_35.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_40.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_40.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_40.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_40.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_45.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_45.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_45.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_45.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_50.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_50.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_50.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_50.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_55.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_55.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_55.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_55.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_60.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_60.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_60.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_60.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_65.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_65.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_65.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_65.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_70.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_70.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_70.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_70.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_off.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_off.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/both_off.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/both_off.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/imagemagick_creation_command.txt b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/imagemagick_creation_command.txt similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/imagemagick_creation_command.txt rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/imagemagick_creation_command.txt diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/pink_60.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/pink_60.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/pink_60.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/pink_60.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/pink_off.png b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/pink_off.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/frames/pink_off.png rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/frames/pink_off.png diff --git a/seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/icon_neon_flicker_256x256.gif b/events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/icon_neon_flicker_256x256.gif similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/animated_neon_flicker/icon_neon_flicker_256x256.gif rename to events/hacktoberfest/hacktoberfest/2019/animated_neon_flicker/icon_neon_flicker_256x256.gif diff --git a/seasonal/halloween/hacktoberfest/2019/banner.png b/events/hacktoberfest/hacktoberfest/2019/banner.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/banner.png rename to events/hacktoberfest/hacktoberfest/2019/banner.png diff --git a/seasonal/halloween/hacktoberfest/2019/hacktober_transparent.png b/events/hacktoberfest/hacktoberfest/2019/hacktober_transparent.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/hacktober_transparent.png rename to events/hacktoberfest/hacktoberfest/2019/hacktober_transparent.png diff --git a/seasonal/halloween/hacktoberfest/2019/hacktoberfest.png b/events/hacktoberfest/hacktoberfest/2019/hacktoberfest.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/hacktoberfest.png rename to events/hacktoberfest/hacktoberfest/2019/hacktoberfest.png diff --git a/seasonal/halloween/hacktoberfest/2019/hacktoberfest_animated.gif b/events/hacktoberfest/hacktoberfest/2019/hacktoberfest_animated.gif similarity index 100% rename from seasonal/halloween/hacktoberfest/2019/hacktoberfest_animated.gif rename to events/hacktoberfest/hacktoberfest/2019/hacktoberfest_animated.gif diff --git a/seasonal/halloween/hacktoberfest/2020/banner.svg b/events/hacktoberfest/hacktoberfest/2020/banner.svg similarity index 100% rename from seasonal/halloween/hacktoberfest/2020/banner.svg rename to events/hacktoberfest/hacktoberfest/2020/banner.svg diff --git a/seasonal/halloween/hacktoberfest/2020/logo.png b/events/hacktoberfest/hacktoberfest/2020/logo.png similarity index 100% rename from seasonal/halloween/hacktoberfest/2020/logo.png rename to events/hacktoberfest/hacktoberfest/2020/logo.png diff --git a/seasonal/halloween/hacktoberfest/2020/logo.svg b/events/hacktoberfest/hacktoberfest/2020/logo.svg similarity index 100% rename from seasonal/halloween/hacktoberfest/2020/logo.svg rename to events/hacktoberfest/hacktoberfest/2020/logo.svg diff --git a/seasonal/halloween/halloween/spooky.min.svg b/events/hacktoberfest/halloween/spooky.min.svg similarity index 100% rename from seasonal/halloween/halloween/spooky.min.svg rename to events/hacktoberfest/halloween/spooky.min.svg diff --git a/seasonal/halloween/halloween/spooky.png b/events/hacktoberfest/halloween/spooky.png similarity index 100% rename from seasonal/halloween/halloween/spooky.png rename to events/hacktoberfest/halloween/spooky.png diff --git a/seasonal/halloween/halloween/spooky.svg b/events/hacktoberfest/halloween/spooky.svg similarity index 100% rename from seasonal/halloween/halloween/spooky.svg rename to events/hacktoberfest/halloween/spooky.svg diff --git a/seasonal/halloween/halloween/spooky_256.png b/events/hacktoberfest/halloween/spooky_256.png similarity index 100% rename from seasonal/halloween/halloween/spooky_256.png rename to events/hacktoberfest/halloween/spooky_256.png diff --git a/seasonal/halloween/halloween/spooky_512.png b/events/hacktoberfest/halloween/spooky_512.png similarity index 100% rename from seasonal/halloween/halloween/spooky_512.png rename to events/hacktoberfest/halloween/spooky_512.png diff --git a/seasonal/halloween/halloween/spooky_64.png b/events/hacktoberfest/halloween/spooky_64.png similarity index 100% rename from seasonal/halloween/halloween/spooky_64.png rename to events/hacktoberfest/halloween/spooky_64.png diff --git a/seasonal/halloween/halloween/spooky_large.png b/events/hacktoberfest/halloween/spooky_large.png similarity index 100% rename from seasonal/halloween/halloween/spooky_large.png rename to events/hacktoberfest/halloween/spooky_large.png diff --git a/seasonal/halloween/halloween/spooky_transparent.png b/events/hacktoberfest/halloween/spooky_transparent.png similarity index 100% rename from seasonal/halloween/halloween/spooky_transparent.png rename to events/hacktoberfest/halloween/spooky_transparent.png diff --git a/seasonal/halloween/hacktoberfest/2020/animated_server_icon.gif b/events/hacktoberfest/server_icons/animated_server_icon.gif similarity index 100% rename from seasonal/halloween/hacktoberfest/2020/animated_server_icon.gif rename to events/hacktoberfest/server_icons/animated_server_icon.gif diff --git a/events/new_year/annual.min.svg b/events/new_year/assets/annual.min.svg similarity index 100% rename from events/new_year/annual.min.svg rename to events/new_year/assets/annual.min.svg diff --git a/events/new_year/annual.png b/events/new_year/assets/annual.png similarity index 100% rename from events/new_year/annual.png rename to events/new_year/assets/annual.png diff --git a/events/new_year/annual.svg b/events/new_year/assets/annual.svg similarity index 100% rename from events/new_year/annual.svg rename to events/new_year/assets/annual.svg diff --git a/events/new_year/annual_512.png b/events/new_year/assets/annual_512.png similarity index 100% rename from events/new_year/annual_512.png rename to events/new_year/assets/annual_512.png diff --git a/events/new_year/annual_64.png b/events/new_year/assets/annual_64.png similarity index 100% rename from events/new_year/annual_64.png rename to events/new_year/assets/annual_64.png diff --git a/events/new_year/annual_large.png b/events/new_year/assets/annual_large.png similarity index 100% rename from events/new_year/annual_large.png rename to events/new_year/assets/annual_large.png diff --git a/events/new_year/annual_transparent.png b/events/new_year/assets/annual_transparent.png similarity index 100% rename from events/new_year/annual_transparent.png rename to events/new_year/assets/annual_transparent.png diff --git a/events/new_year/annual_256.png b/events/new_year/server_icons/annual_256.png similarity index 100% rename from events/new_year/annual_256.png rename to events/new_year/server_icons/annual_256.png diff --git a/seasonal/pride/animated/logo_agender/logo_agender.png b/events/pride/animated/logo_agender/logo_agender.png similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender.png rename to events/pride/animated/logo_agender/logo_agender.png diff --git a/seasonal/pride/animated/logo_agender/logo_agender.svg b/events/pride/animated/logo_agender/logo_agender.svg similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender.svg rename to events/pride/animated/logo_agender/logo_agender.svg diff --git a/seasonal/pride/animated/logo_agender/logo_agender_256.png b/events/pride/animated/logo_agender/logo_agender_256.png similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender_256.png rename to events/pride/animated/logo_agender/logo_agender_256.png diff --git a/seasonal/pride/animated/logo_agender/logo_agender_512.png b/events/pride/animated/logo_agender/logo_agender_512.png similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender_512.png rename to events/pride/animated/logo_agender/logo_agender_512.png diff --git a/seasonal/pride/animated/logo_agender/logo_agender_64.png b/events/pride/animated/logo_agender/logo_agender_64.png similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender_64.png rename to events/pride/animated/logo_agender/logo_agender_64.png diff --git a/seasonal/pride/animated/logo_agender/logo_agender_large.png b/events/pride/animated/logo_agender/logo_agender_large.png similarity index 100% rename from seasonal/pride/animated/logo_agender/logo_agender_large.png rename to events/pride/animated/logo_agender/logo_agender_large.png diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne.png b/events/pride/animated/logo_androgyne/logo_androgyne.png similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne.png rename to events/pride/animated/logo_androgyne/logo_androgyne.png diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne.svg b/events/pride/animated/logo_androgyne/logo_androgyne.svg similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne.svg rename to events/pride/animated/logo_androgyne/logo_androgyne.svg diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne_256.png b/events/pride/animated/logo_androgyne/logo_androgyne_256.png similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne_256.png rename to events/pride/animated/logo_androgyne/logo_androgyne_256.png diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne_512.png b/events/pride/animated/logo_androgyne/logo_androgyne_512.png similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne_512.png rename to events/pride/animated/logo_androgyne/logo_androgyne_512.png diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne_64.png b/events/pride/animated/logo_androgyne/logo_androgyne_64.png similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne_64.png rename to events/pride/animated/logo_androgyne/logo_androgyne_64.png diff --git a/seasonal/pride/animated/logo_androgyne/logo_androgyne_large.png b/events/pride/animated/logo_androgyne/logo_androgyne_large.png similarity index 100% rename from seasonal/pride/animated/logo_androgyne/logo_androgyne_large.png rename to events/pride/animated/logo_androgyne/logo_androgyne_large.png diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic.png b/events/pride/animated/logo_aromantic/logo_aromantic.png similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic.png rename to events/pride/animated/logo_aromantic/logo_aromantic.png diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic.svg b/events/pride/animated/logo_aromantic/logo_aromantic.svg similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic.svg rename to events/pride/animated/logo_aromantic/logo_aromantic.svg diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic_256.png b/events/pride/animated/logo_aromantic/logo_aromantic_256.png similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic_256.png rename to events/pride/animated/logo_aromantic/logo_aromantic_256.png diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic_512.png b/events/pride/animated/logo_aromantic/logo_aromantic_512.png similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic_512.png rename to events/pride/animated/logo_aromantic/logo_aromantic_512.png diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic_64.png b/events/pride/animated/logo_aromantic/logo_aromantic_64.png similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic_64.png rename to events/pride/animated/logo_aromantic/logo_aromantic_64.png diff --git a/seasonal/pride/animated/logo_aromantic/logo_aromantic_large.png b/events/pride/animated/logo_aromantic/logo_aromantic_large.png similarity index 100% rename from seasonal/pride/animated/logo_aromantic/logo_aromantic_large.png rename to events/pride/animated/logo_aromantic/logo_aromantic_large.png diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual.png b/events/pride/animated/logo_asexual/logo_asexual.png similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual.png rename to events/pride/animated/logo_asexual/logo_asexual.png diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual.svg b/events/pride/animated/logo_asexual/logo_asexual.svg similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual.svg rename to events/pride/animated/logo_asexual/logo_asexual.svg diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual_256.png b/events/pride/animated/logo_asexual/logo_asexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual_256.png rename to events/pride/animated/logo_asexual/logo_asexual_256.png diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual_512.png b/events/pride/animated/logo_asexual/logo_asexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual_512.png rename to events/pride/animated/logo_asexual/logo_asexual_512.png diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual_64.png b/events/pride/animated/logo_asexual/logo_asexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual_64.png rename to events/pride/animated/logo_asexual/logo_asexual_64.png diff --git a/seasonal/pride/animated/logo_asexual/logo_asexual_large.png b/events/pride/animated/logo_asexual/logo_asexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_asexual/logo_asexual_large.png rename to events/pride/animated/logo_asexual/logo_asexual_large.png diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender.png b/events/pride/animated/logo_bigender/logo_bigender.png similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender.png rename to events/pride/animated/logo_bigender/logo_bigender.png diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender.svg b/events/pride/animated/logo_bigender/logo_bigender.svg similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender.svg rename to events/pride/animated/logo_bigender/logo_bigender.svg diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender_256.png b/events/pride/animated/logo_bigender/logo_bigender_256.png similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender_256.png rename to events/pride/animated/logo_bigender/logo_bigender_256.png diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender_512.png b/events/pride/animated/logo_bigender/logo_bigender_512.png similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender_512.png rename to events/pride/animated/logo_bigender/logo_bigender_512.png diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender_64.png b/events/pride/animated/logo_bigender/logo_bigender_64.png similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender_64.png rename to events/pride/animated/logo_bigender/logo_bigender_64.png diff --git a/seasonal/pride/animated/logo_bigender/logo_bigender_large.png b/events/pride/animated/logo_bigender/logo_bigender_large.png similarity index 100% rename from seasonal/pride/animated/logo_bigender/logo_bigender_large.png rename to events/pride/animated/logo_bigender/logo_bigender_large.png diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual.png b/events/pride/animated/logo_bisexual/logo_bisexual.png similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual.png rename to events/pride/animated/logo_bisexual/logo_bisexual.png diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual.svg b/events/pride/animated/logo_bisexual/logo_bisexual.svg similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual.svg rename to events/pride/animated/logo_bisexual/logo_bisexual.svg diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual_256.png b/events/pride/animated/logo_bisexual/logo_bisexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual_256.png rename to events/pride/animated/logo_bisexual/logo_bisexual_256.png diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual_512.png b/events/pride/animated/logo_bisexual/logo_bisexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual_512.png rename to events/pride/animated/logo_bisexual/logo_bisexual_512.png diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual_64.png b/events/pride/animated/logo_bisexual/logo_bisexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual_64.png rename to events/pride/animated/logo_bisexual/logo_bisexual_64.png diff --git a/seasonal/pride/animated/logo_bisexual/logo_bisexual_large.png b/events/pride/animated/logo_bisexual/logo_bisexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_bisexual/logo_bisexual_large.png rename to events/pride/animated/logo_bisexual/logo_bisexual_large.png diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy.png b/events/pride/animated/logo_demiboy/logo_demiboy.png similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy.png rename to events/pride/animated/logo_demiboy/logo_demiboy.png diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy.svg b/events/pride/animated/logo_demiboy/logo_demiboy.svg similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy.svg rename to events/pride/animated/logo_demiboy/logo_demiboy.svg diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy_256.png b/events/pride/animated/logo_demiboy/logo_demiboy_256.png similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy_256.png rename to events/pride/animated/logo_demiboy/logo_demiboy_256.png diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy_512.png b/events/pride/animated/logo_demiboy/logo_demiboy_512.png similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy_512.png rename to events/pride/animated/logo_demiboy/logo_demiboy_512.png diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy_64.png b/events/pride/animated/logo_demiboy/logo_demiboy_64.png similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy_64.png rename to events/pride/animated/logo_demiboy/logo_demiboy_64.png diff --git a/seasonal/pride/animated/logo_demiboy/logo_demiboy_large.png b/events/pride/animated/logo_demiboy/logo_demiboy_large.png similarity index 100% rename from seasonal/pride/animated/logo_demiboy/logo_demiboy_large.png rename to events/pride/animated/logo_demiboy/logo_demiboy_large.png diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl.png b/events/pride/animated/logo_demigirl/logo_demigirl.png similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl.png rename to events/pride/animated/logo_demigirl/logo_demigirl.png diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl.svg b/events/pride/animated/logo_demigirl/logo_demigirl.svg similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl.svg rename to events/pride/animated/logo_demigirl/logo_demigirl.svg diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl_256.png b/events/pride/animated/logo_demigirl/logo_demigirl_256.png similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl_256.png rename to events/pride/animated/logo_demigirl/logo_demigirl_256.png diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl_512.png b/events/pride/animated/logo_demigirl/logo_demigirl_512.png similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl_512.png rename to events/pride/animated/logo_demigirl/logo_demigirl_512.png diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl_64.png b/events/pride/animated/logo_demigirl/logo_demigirl_64.png similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl_64.png rename to events/pride/animated/logo_demigirl/logo_demigirl_64.png diff --git a/seasonal/pride/animated/logo_demigirl/logo_demigirl_large.png b/events/pride/animated/logo_demigirl/logo_demigirl_large.png similarity index 100% rename from seasonal/pride/animated/logo_demigirl/logo_demigirl_large.png rename to events/pride/animated/logo_demigirl/logo_demigirl_large.png diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual.png b/events/pride/animated/logo_demisexual/logo_demisexual.png similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual.png rename to events/pride/animated/logo_demisexual/logo_demisexual.png diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual.svg b/events/pride/animated/logo_demisexual/logo_demisexual.svg similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual.svg rename to events/pride/animated/logo_demisexual/logo_demisexual.svg diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual_256.png b/events/pride/animated/logo_demisexual/logo_demisexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual_256.png rename to events/pride/animated/logo_demisexual/logo_demisexual_256.png diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual_512.png b/events/pride/animated/logo_demisexual/logo_demisexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual_512.png rename to events/pride/animated/logo_demisexual/logo_demisexual_512.png diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual_64.png b/events/pride/animated/logo_demisexual/logo_demisexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual_64.png rename to events/pride/animated/logo_demisexual/logo_demisexual_64.png diff --git a/seasonal/pride/animated/logo_demisexual/logo_demisexual_large.png b/events/pride/animated/logo_demisexual/logo_demisexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_demisexual/logo_demisexual_large.png rename to events/pride/animated/logo_demisexual/logo_demisexual_large.png diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid.png b/events/pride/animated/logo_genderfluid/logo_genderfluid.png similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid.png rename to events/pride/animated/logo_genderfluid/logo_genderfluid.png diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid.svg b/events/pride/animated/logo_genderfluid/logo_genderfluid.svg similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid.svg rename to events/pride/animated/logo_genderfluid/logo_genderfluid.svg diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid_256.png b/events/pride/animated/logo_genderfluid/logo_genderfluid_256.png similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid_256.png rename to events/pride/animated/logo_genderfluid/logo_genderfluid_256.png diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid_512.png b/events/pride/animated/logo_genderfluid/logo_genderfluid_512.png similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid_512.png rename to events/pride/animated/logo_genderfluid/logo_genderfluid_512.png diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid_64.png b/events/pride/animated/logo_genderfluid/logo_genderfluid_64.png similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid_64.png rename to events/pride/animated/logo_genderfluid/logo_genderfluid_64.png diff --git a/seasonal/pride/animated/logo_genderfluid/logo_genderfluid_large.png b/events/pride/animated/logo_genderfluid/logo_genderfluid_large.png similarity index 100% rename from seasonal/pride/animated/logo_genderfluid/logo_genderfluid_large.png rename to events/pride/animated/logo_genderfluid/logo_genderfluid_large.png diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer.png b/events/pride/animated/logo_genderqueer/logo_genderqueer.png similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer.png rename to events/pride/animated/logo_genderqueer/logo_genderqueer.png diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer.svg b/events/pride/animated/logo_genderqueer/logo_genderqueer.svg similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer.svg rename to events/pride/animated/logo_genderqueer/logo_genderqueer.svg diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer_256.png b/events/pride/animated/logo_genderqueer/logo_genderqueer_256.png similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer_256.png rename to events/pride/animated/logo_genderqueer/logo_genderqueer_256.png diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer_512.png b/events/pride/animated/logo_genderqueer/logo_genderqueer_512.png similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer_512.png rename to events/pride/animated/logo_genderqueer/logo_genderqueer_512.png diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer_64.png b/events/pride/animated/logo_genderqueer/logo_genderqueer_64.png similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer_64.png rename to events/pride/animated/logo_genderqueer/logo_genderqueer_64.png diff --git a/seasonal/pride/animated/logo_genderqueer/logo_genderqueer_large.png b/events/pride/animated/logo_genderqueer/logo_genderqueer_large.png similarity index 100% rename from seasonal/pride/animated/logo_genderqueer/logo_genderqueer_large.png rename to events/pride/animated/logo_genderqueer/logo_genderqueer_large.png diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex.png b/events/pride/animated/logo_intersex/logo_intersex.png similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex.png rename to events/pride/animated/logo_intersex/logo_intersex.png diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex.svg b/events/pride/animated/logo_intersex/logo_intersex.svg similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex.svg rename to events/pride/animated/logo_intersex/logo_intersex.svg diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex_256.png b/events/pride/animated/logo_intersex/logo_intersex_256.png similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex_256.png rename to events/pride/animated/logo_intersex/logo_intersex_256.png diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex_512.png b/events/pride/animated/logo_intersex/logo_intersex_512.png similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex_512.png rename to events/pride/animated/logo_intersex/logo_intersex_512.png diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex_64.png b/events/pride/animated/logo_intersex/logo_intersex_64.png similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex_64.png rename to events/pride/animated/logo_intersex/logo_intersex_64.png diff --git a/seasonal/pride/animated/logo_intersex/logo_intersex_large.png b/events/pride/animated/logo_intersex/logo_intersex_large.png similarity index 100% rename from seasonal/pride/animated/logo_intersex/logo_intersex_large.png rename to events/pride/animated/logo_intersex/logo_intersex_large.png diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian.png b/events/pride/animated/logo_lesbian/logo_lesbian.png similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian.png rename to events/pride/animated/logo_lesbian/logo_lesbian.png diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian.svg b/events/pride/animated/logo_lesbian/logo_lesbian.svg similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian.svg rename to events/pride/animated/logo_lesbian/logo_lesbian.svg diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian_256.png b/events/pride/animated/logo_lesbian/logo_lesbian_256.png similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian_256.png rename to events/pride/animated/logo_lesbian/logo_lesbian_256.png diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian_512.png b/events/pride/animated/logo_lesbian/logo_lesbian_512.png similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian_512.png rename to events/pride/animated/logo_lesbian/logo_lesbian_512.png diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian_64.png b/events/pride/animated/logo_lesbian/logo_lesbian_64.png similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian_64.png rename to events/pride/animated/logo_lesbian/logo_lesbian_64.png diff --git a/seasonal/pride/animated/logo_lesbian/logo_lesbian_large.png b/events/pride/animated/logo_lesbian/logo_lesbian_large.png similarity index 100% rename from seasonal/pride/animated/logo_lesbian/logo_lesbian_large.png rename to events/pride/animated/logo_lesbian/logo_lesbian_large.png diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary.png b/events/pride/animated/logo_nonbinary/logo_nonbinary.png similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary.png rename to events/pride/animated/logo_nonbinary/logo_nonbinary.png diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary.svg b/events/pride/animated/logo_nonbinary/logo_nonbinary.svg similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary.svg rename to events/pride/animated/logo_nonbinary/logo_nonbinary.svg diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary_256.png b/events/pride/animated/logo_nonbinary/logo_nonbinary_256.png similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary_256.png rename to events/pride/animated/logo_nonbinary/logo_nonbinary_256.png diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary_512.png b/events/pride/animated/logo_nonbinary/logo_nonbinary_512.png similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary_512.png rename to events/pride/animated/logo_nonbinary/logo_nonbinary_512.png diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary_64.png b/events/pride/animated/logo_nonbinary/logo_nonbinary_64.png similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary_64.png rename to events/pride/animated/logo_nonbinary/logo_nonbinary_64.png diff --git a/seasonal/pride/animated/logo_nonbinary/logo_nonbinary_large.png b/events/pride/animated/logo_nonbinary/logo_nonbinary_large.png similarity index 100% rename from seasonal/pride/animated/logo_nonbinary/logo_nonbinary_large.png rename to events/pride/animated/logo_nonbinary/logo_nonbinary_large.png diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual.png b/events/pride/animated/logo_omnisexual/logo_omnisexual.png similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual.png rename to events/pride/animated/logo_omnisexual/logo_omnisexual.png diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual.svg b/events/pride/animated/logo_omnisexual/logo_omnisexual.svg similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual.svg rename to events/pride/animated/logo_omnisexual/logo_omnisexual.svg diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual_256.png b/events/pride/animated/logo_omnisexual/logo_omnisexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual_256.png rename to events/pride/animated/logo_omnisexual/logo_omnisexual_256.png diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual_512.png b/events/pride/animated/logo_omnisexual/logo_omnisexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual_512.png rename to events/pride/animated/logo_omnisexual/logo_omnisexual_512.png diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual_64.png b/events/pride/animated/logo_omnisexual/logo_omnisexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual_64.png rename to events/pride/animated/logo_omnisexual/logo_omnisexual_64.png diff --git a/seasonal/pride/animated/logo_omnisexual/logo_omnisexual_large.png b/events/pride/animated/logo_omnisexual/logo_omnisexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_omnisexual/logo_omnisexual_large.png rename to events/pride/animated/logo_omnisexual/logo_omnisexual_large.png diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender.png b/events/pride/animated/logo_pangender/logo_pandgender.png similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender.png rename to events/pride/animated/logo_pangender/logo_pandgender.png diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender.svg b/events/pride/animated/logo_pangender/logo_pandgender.svg similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender.svg rename to events/pride/animated/logo_pangender/logo_pandgender.svg diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender_256.png b/events/pride/animated/logo_pangender/logo_pandgender_256.png similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender_256.png rename to events/pride/animated/logo_pangender/logo_pandgender_256.png diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender_512.png b/events/pride/animated/logo_pangender/logo_pandgender_512.png similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender_512.png rename to events/pride/animated/logo_pangender/logo_pandgender_512.png diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender_64.png b/events/pride/animated/logo_pangender/logo_pandgender_64.png similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender_64.png rename to events/pride/animated/logo_pangender/logo_pandgender_64.png diff --git a/seasonal/pride/animated/logo_pangender/logo_pandgender_large.png b/events/pride/animated/logo_pangender/logo_pandgender_large.png similarity index 100% rename from seasonal/pride/animated/logo_pangender/logo_pandgender_large.png rename to events/pride/animated/logo_pangender/logo_pandgender_large.png diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual.png b/events/pride/animated/logo_pansexual/logo_pansexual.png similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual.png rename to events/pride/animated/logo_pansexual/logo_pansexual.png diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual.svg b/events/pride/animated/logo_pansexual/logo_pansexual.svg similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual.svg rename to events/pride/animated/logo_pansexual/logo_pansexual.svg diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual_256.png b/events/pride/animated/logo_pansexual/logo_pansexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual_256.png rename to events/pride/animated/logo_pansexual/logo_pansexual_256.png diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual_512.png b/events/pride/animated/logo_pansexual/logo_pansexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual_512.png rename to events/pride/animated/logo_pansexual/logo_pansexual_512.png diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual_64.png b/events/pride/animated/logo_pansexual/logo_pansexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual_64.png rename to events/pride/animated/logo_pansexual/logo_pansexual_64.png diff --git a/seasonal/pride/animated/logo_pansexual/logo_pansexual_large.png b/events/pride/animated/logo_pansexual/logo_pansexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_pansexual/logo_pansexual_large.png rename to events/pride/animated/logo_pansexual/logo_pansexual_large.png diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual.png b/events/pride/animated/logo_polysexual/logo_polysexual.png similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual.png rename to events/pride/animated/logo_polysexual/logo_polysexual.png diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual.svg b/events/pride/animated/logo_polysexual/logo_polysexual.svg similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual.svg rename to events/pride/animated/logo_polysexual/logo_polysexual.svg diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual_256.png b/events/pride/animated/logo_polysexual/logo_polysexual_256.png similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual_256.png rename to events/pride/animated/logo_polysexual/logo_polysexual_256.png diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual_512.png b/events/pride/animated/logo_polysexual/logo_polysexual_512.png similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual_512.png rename to events/pride/animated/logo_polysexual/logo_polysexual_512.png diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual_64.png b/events/pride/animated/logo_polysexual/logo_polysexual_64.png similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual_64.png rename to events/pride/animated/logo_polysexual/logo_polysexual_64.png diff --git a/seasonal/pride/animated/logo_polysexual/logo_polysexual_large.png b/events/pride/animated/logo_polysexual/logo_polysexual_large.png similarity index 100% rename from seasonal/pride/animated/logo_polysexual/logo_polysexual_large.png rename to events/pride/animated/logo_polysexual/logo_polysexual_large.png diff --git a/seasonal/pride/animated/logo_pride.gif b/events/pride/animated/logo_pride.gif similarity index 100% rename from seasonal/pride/animated/logo_pride.gif rename to events/pride/animated/logo_pride.gif diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender.png b/events/pride/animated/logo_transgender/logo_transgender.png similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender.png rename to events/pride/animated/logo_transgender/logo_transgender.png diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender.svg b/events/pride/animated/logo_transgender/logo_transgender.svg similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender.svg rename to events/pride/animated/logo_transgender/logo_transgender.svg diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender_256.png b/events/pride/animated/logo_transgender/logo_transgender_256.png similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender_256.png rename to events/pride/animated/logo_transgender/logo_transgender_256.png diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender_512.png b/events/pride/animated/logo_transgender/logo_transgender_512.png similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender_512.png rename to events/pride/animated/logo_transgender/logo_transgender_512.png diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender_64.png b/events/pride/animated/logo_transgender/logo_transgender_64.png similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender_64.png rename to events/pride/animated/logo_transgender/logo_transgender_64.png diff --git a/seasonal/pride/animated/logo_transgender/logo_transgender_large.png b/events/pride/animated/logo_transgender/logo_transgender_large.png similarity index 100% rename from seasonal/pride/animated/logo_transgender/logo_transgender_large.png rename to events/pride/animated/logo_transgender/logo_transgender_large.png diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender.png b/events/pride/animated/logo_trigender/logo_trigender.png similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender.png rename to events/pride/animated/logo_trigender/logo_trigender.png diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender.svg b/events/pride/animated/logo_trigender/logo_trigender.svg similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender.svg rename to events/pride/animated/logo_trigender/logo_trigender.svg diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender_256.png b/events/pride/animated/logo_trigender/logo_trigender_256.png similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender_256.png rename to events/pride/animated/logo_trigender/logo_trigender_256.png diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender_512.png b/events/pride/animated/logo_trigender/logo_trigender_512.png similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender_512.png rename to events/pride/animated/logo_trigender/logo_trigender_512.png diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender_64.png b/events/pride/animated/logo_trigender/logo_trigender_64.png similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender_64.png rename to events/pride/animated/logo_trigender/logo_trigender_64.png diff --git a/seasonal/pride/animated/logo_trigender/logo_trigender_large.png b/events/pride/animated/logo_trigender/logo_trigender_large.png similarity index 100% rename from seasonal/pride/animated/logo_trigender/logo_trigender_large.png rename to events/pride/animated/logo_trigender/logo_trigender_large.png diff --git a/seasonal/pride/banner.png b/events/pride/banner.png similarity index 100% rename from seasonal/pride/banner.png rename to events/pride/banner.png diff --git a/seasonal/pride/black/banner.png b/events/pride/black/banner.png similarity index 100% rename from seasonal/pride/black/banner.png rename to events/pride/black/banner.png diff --git a/seasonal/pride/black/logo.png b/events/pride/black/logo.png similarity index 100% rename from seasonal/pride/black/logo.png rename to events/pride/black/logo.png diff --git a/seasonal/pride/black/logo.svg b/events/pride/black/logo.svg similarity index 100% rename from seasonal/pride/black/logo.svg rename to events/pride/black/logo.svg diff --git a/seasonal/pride/black/logo_256.png b/events/pride/black/logo_256.png similarity index 100% rename from seasonal/pride/black/logo_256.png rename to events/pride/black/logo_256.png diff --git a/seasonal/pride/black/logo_512.png b/events/pride/black/logo_512.png similarity index 100% rename from seasonal/pride/black/logo_512.png rename to events/pride/black/logo_512.png diff --git a/seasonal/pride/black/logo_64.png b/events/pride/black/logo_64.png similarity index 100% rename from seasonal/pride/black/logo_64.png rename to events/pride/black/logo_64.png diff --git a/seasonal/pride/black/logo_large.png b/events/pride/black/logo_large.png similarity index 100% rename from seasonal/pride/black/logo_large.png rename to events/pride/black/logo_large.png diff --git a/seasonal/pride/server_icons/logo_pride.gif b/events/pride/server_icons/logo_pride.gif similarity index 100% rename from seasonal/pride/server_icons/logo_pride.gif rename to events/pride/server_icons/logo_pride.gif diff --git a/seasonal/pride/static/logo_pride.png b/events/pride/static/logo_pride.png similarity index 100% rename from seasonal/pride/static/logo_pride.png rename to events/pride/static/logo_pride.png diff --git a/seasonal/pride/static/logo_pride.svg b/events/pride/static/logo_pride.svg similarity index 100% rename from seasonal/pride/static/logo_pride.svg rename to events/pride/static/logo_pride.svg diff --git a/seasonal/pride/static/logo_pride_256.png b/events/pride/static/logo_pride_256.png similarity index 100% rename from seasonal/pride/static/logo_pride_256.png rename to events/pride/static/logo_pride_256.png diff --git a/seasonal/pride/static/logo_pride_512.png b/events/pride/static/logo_pride_512.png similarity index 100% rename from seasonal/pride/static/logo_pride_512.png rename to events/pride/static/logo_pride_512.png diff --git a/seasonal/pride/static/logo_pride_64.png b/events/pride/static/logo_pride_64.png similarity index 100% rename from seasonal/pride/static/logo_pride_64.png rename to events/pride/static/logo_pride_64.png diff --git a/seasonal/pride/static/logo_pride_large.png b/events/pride/static/logo_pride_large.png similarity index 100% rename from seasonal/pride/static/logo_pride_large.png rename to events/pride/static/logo_pride_large.png diff --git a/events/st_patricks_day/st_patricks_banner.svg b/events/st_patricks_day/assets/banner.svg similarity index 100% rename from events/st_patricks_day/st_patricks_banner.svg rename to events/st_patricks_day/assets/banner.svg diff --git a/events/st_patricks_day/st_patricks_day_server_icon.svg b/events/st_patricks_day/assets/server_icon.svg similarity index 100% rename from events/st_patricks_day/st_patricks_day_server_icon.svg rename to events/st_patricks_day/assets/server_icon.svg diff --git a/events/st_patricks_day/st_patricks_banner.png b/events/st_patricks_day/banner.png similarity index 100% rename from events/st_patricks_day/st_patricks_banner.png rename to events/st_patricks_day/banner.png diff --git a/events/st_patricks_day/st_patricks_server_icon.png b/events/st_patricks_day/server_icons/server_icon.png similarity index 100% rename from events/st_patricks_day/st_patricks_server_icon.png rename to events/st_patricks_day/server_icons/server_icon.png diff --git a/seasonal/valentines/animated/loved_up_256.gif b/events/valentines/animated/loved_up_256.gif similarity index 100% rename from seasonal/valentines/animated/loved_up_256.gif rename to events/valentines/animated/loved_up_256.gif diff --git a/seasonal/valentines/animated/loved_up_512.gif b/events/valentines/animated/loved_up_512.gif similarity index 100% rename from seasonal/valentines/animated/loved_up_512.gif rename to events/valentines/animated/loved_up_512.gif diff --git a/seasonal/valentines/animated/loved_up_64.gif b/events/valentines/animated/loved_up_64.gif similarity index 100% rename from seasonal/valentines/animated/loved_up_64.gif rename to events/valentines/animated/loved_up_64.gif diff --git a/seasonal/valentines/banner.png b/events/valentines/banner.png similarity index 100% rename from seasonal/valentines/banner.png rename to events/valentines/banner.png diff --git a/seasonal/valentines/server_icons/loved_up_256.gif b/events/valentines/server_icons/loved_up_256.gif similarity index 100% rename from seasonal/valentines/server_icons/loved_up_256.gif rename to events/valentines/server_icons/loved_up_256.gif diff --git a/seasonal/valentines/static/loved_up.min.svg b/events/valentines/static/loved_up.min.svg similarity index 100% rename from seasonal/valentines/static/loved_up.min.svg rename to events/valentines/static/loved_up.min.svg diff --git a/seasonal/valentines/static/loved_up.png b/events/valentines/static/loved_up.png similarity index 100% rename from seasonal/valentines/static/loved_up.png rename to events/valentines/static/loved_up.png diff --git a/seasonal/valentines/static/loved_up.svg b/events/valentines/static/loved_up.svg similarity index 100% rename from seasonal/valentines/static/loved_up.svg rename to events/valentines/static/loved_up.svg diff --git a/seasonal/valentines/static/loved_up_256.png b/events/valentines/static/loved_up_256.png similarity index 100% rename from seasonal/valentines/static/loved_up_256.png rename to events/valentines/static/loved_up_256.png diff --git a/seasonal/valentines/static/loved_up_512.png b/events/valentines/static/loved_up_512.png similarity index 100% rename from seasonal/valentines/static/loved_up_512.png rename to events/valentines/static/loved_up_512.png diff --git a/seasonal/valentines/static/loved_up_64.png b/events/valentines/static/loved_up_64.png similarity index 100% rename from seasonal/valentines/static/loved_up_64.png rename to events/valentines/static/loved_up_64.png diff --git a/seasonal/valentines/static/loved_up_large.png b/events/valentines/static/loved_up_large.png similarity index 100% rename from seasonal/valentines/static/loved_up_large.png rename to events/valentines/static/loved_up_large.png diff --git a/seasonal/valentines/static/loved_up_transparent.png b/events/valentines/static/loved_up_transparent.png similarity index 100% rename from seasonal/valentines/static/loved_up_transparent.png rename to events/valentines/static/loved_up_transparent.png diff --git a/events/game_jam_2020/game jam 2020 - announcement header.png b/jams/game_jam_2020/game jam 2020 - announcement header.png similarity index 100% rename from events/game_jam_2020/game jam 2020 - announcement header.png rename to jams/game_jam_2020/game jam 2020 - announcement header.png diff --git a/events/game_jam_2020/game jam 2020 - discord banner.png b/jams/game_jam_2020/game jam 2020 - discord banner.png similarity index 100% rename from events/game_jam_2020/game jam 2020 - discord banner.png rename to jams/game_jam_2020/game jam 2020 - discord banner.png diff --git a/events/game_jam_2020/game jam 2020 - website banner.png b/jams/game_jam_2020/game jam 2020 - website banner.png similarity index 100% rename from events/game_jam_2020/game jam 2020 - website banner.png rename to jams/game_jam_2020/game jam 2020 - website banner.png diff --git a/events/game_jam_2020/gamejam 2020 - icon (full).png b/jams/game_jam_2020/gamejam 2020 - icon (full).png similarity index 100% rename from events/game_jam_2020/gamejam 2020 - icon (full).png rename to jams/game_jam_2020/gamejam 2020 - icon (full).png diff --git a/events/game_jam_2020/gamejam 2020 - icon.png b/jams/game_jam_2020/gamejam 2020 - icon.png similarity index 100% rename from events/game_jam_2020/gamejam 2020 - icon.png rename to jams/game_jam_2020/gamejam 2020 - icon.png diff --git a/events/game_jam_2020/gamejam 2020 - icon.svg b/jams/game_jam_2020/gamejam 2020 - icon.svg similarity index 100% rename from events/game_jam_2020/gamejam 2020 - icon.svg rename to jams/game_jam_2020/gamejam 2020 - icon.svg diff --git a/events/pyweek/pyweek_30/pyweek_30 discord banner.png b/jams/pyweek_30/banner.png similarity index 100% rename from events/pyweek/pyweek_30/pyweek_30 discord banner.png rename to jams/pyweek_30/banner.png diff --git a/events/pyweek/pyweek_30/PyWeek 30 icon.gif b/jams/pyweek_30/server_icons/icon_1.gif similarity index 100% rename from events/pyweek/pyweek_30/PyWeek 30 icon.gif rename to jams/pyweek_30/server_icons/icon_1.gif diff --git a/events/pyweek/pyweek_30/PyWeek 30 icon2.gif b/jams/pyweek_30/server_icons/icon_2.gif similarity index 100% rename from events/pyweek/pyweek_30/PyWeek 30 icon2.gif rename to jams/pyweek_30/server_icons/icon_2.gif diff --git a/events/pyweek/pyweek_30/PyWeek 30 Icon 3.gif b/jams/pyweek_30/server_icons/icon_3.gif similarity index 100% rename from events/pyweek/pyweek_30/PyWeek 30 Icon 3.gif rename to jams/pyweek_30/server_icons/icon_3.gif diff --git a/events/pyweek/pyweek_30/PyWeek 30 icon4.gif b/jams/pyweek_30/server_icons/icon_4.gif similarity index 100% rename from events/pyweek/pyweek_30/PyWeek 30 icon4.gif rename to jams/pyweek_30/server_icons/icon_4.gif diff --git a/events/pyweek/pyweek_30/PyWeek 30 Icon 5.gif b/jams/pyweek_30/server_icons/icon_5.gif similarity index 100% rename from events/pyweek/pyweek_30/PyWeek 30 Icon 5.gif rename to jams/pyweek_30/server_icons/icon_5.gif diff --git a/events/retro_gaming/retro_gaming_animated/logo_spin_plain_126.gif b/jams/retro_gaming/assets_animated/logo_spin_plain_126.gif similarity index 100% rename from events/retro_gaming/retro_gaming_animated/logo_spin_plain_126.gif rename to jams/retro_gaming/assets_animated/logo_spin_plain_126.gif diff --git a/events/retro_gaming/retro_gaming_animated/logo_spin_plain_504.gif b/jams/retro_gaming/assets_animated/logo_spin_plain_504.gif similarity index 100% rename from events/retro_gaming/retro_gaming_animated/logo_spin_plain_504.gif rename to jams/retro_gaming/assets_animated/logo_spin_plain_504.gif diff --git a/events/retro_gaming/retro_gaming_animated/logo_spin_plain_63.gif b/jams/retro_gaming/assets_animated/logo_spin_plain_63.gif similarity index 100% rename from events/retro_gaming/retro_gaming_animated/logo_spin_plain_63.gif rename to jams/retro_gaming/assets_animated/logo_spin_plain_63.gif diff --git a/events/retro_gaming/banner.psd b/jams/retro_gaming/assets_static/banner.psd similarity index 100% rename from events/retro_gaming/banner.psd rename to jams/retro_gaming/assets_static/banner.psd diff --git a/events/retro_gaming/retro_gaming/logo_8bit_indexed_24.png b/jams/retro_gaming/assets_static/logo_8bit_indexed_24.png similarity index 100% rename from events/retro_gaming/retro_gaming/logo_8bit_indexed_24.png rename to jams/retro_gaming/assets_static/logo_8bit_indexed_24.png diff --git a/events/retro_gaming/retro_gaming/logo_8bit_indexed_504.png b/jams/retro_gaming/assets_static/logo_8bit_indexed_504.png similarity index 100% rename from events/retro_gaming/retro_gaming/logo_8bit_indexed_504.png rename to jams/retro_gaming/assets_static/logo_8bit_indexed_504.png diff --git a/events/retro_gaming/retro_gaming/logo_8bit_rgb_24.png b/jams/retro_gaming/assets_static/logo_8bit_rgb_24.png similarity index 100% rename from events/retro_gaming/retro_gaming/logo_8bit_rgb_24.png rename to jams/retro_gaming/assets_static/logo_8bit_rgb_24.png diff --git a/events/retro_gaming/retro_gaming/logo_8bit_rgb_504.png b/jams/retro_gaming/assets_static/logo_8bit_rgb_504.png similarity index 100% rename from events/retro_gaming/retro_gaming/logo_8bit_rgb_504.png rename to jams/retro_gaming/assets_static/logo_8bit_rgb_504.png diff --git a/events/retro_gaming/banner.png b/jams/retro_gaming/banner.png similarity index 100% rename from events/retro_gaming/banner.png rename to jams/retro_gaming/banner.png diff --git a/events/retro_gaming/retro_gaming_animated/logo_spin_plain_252.gif b/jams/retro_gaming/server_icons/logo_spin_plain_252.gif similarity index 100% rename from events/retro_gaming/retro_gaming_animated/logo_spin_plain_252.gif rename to jams/retro_gaming/server_icons/logo_spin_plain_252.gif diff --git a/events/summer_code_jam_2020/early internet icon smaller.png b/jams/summer_code_jam_2020/early internet icon smaller.png similarity index 100% rename from events/summer_code_jam_2020/early internet icon smaller.png rename to jams/summer_code_jam_2020/early internet icon smaller.png diff --git a/events/summer_code_jam_2020/early internet icon.png b/jams/summer_code_jam_2020/early internet icon.png similarity index 100% rename from events/summer_code_jam_2020/early internet icon.png rename to jams/summer_code_jam_2020/early internet icon.png diff --git a/events/summer_code_jam_2020/stream assets/aeros camframe.png b/jams/summer_code_jam_2020/stream assets/aeros camframe.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/aeros camframe.png rename to jams/summer_code_jam_2020/stream assets/aeros camframe.png diff --git a/events/summer_code_jam_2020/stream assets/cue card empty.png b/jams/summer_code_jam_2020/stream assets/cue card empty.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/cue card empty.png rename to jams/summer_code_jam_2020/stream assets/cue card empty.png diff --git a/events/summer_code_jam_2020/stream assets/joe camframe.png b/jams/summer_code_jam_2020/stream assets/joe camframe.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/joe camframe.png rename to jams/summer_code_jam_2020/stream assets/joe camframe.png diff --git a/events/summer_code_jam_2020/stream assets/lemonframe.png b/jams/summer_code_jam_2020/stream assets/lemonframe.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/lemonframe.png rename to jams/summer_code_jam_2020/stream assets/lemonframe.png diff --git a/events/summer_code_jam_2020/stream assets/python background.png b/jams/summer_code_jam_2020/stream assets/python background.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/python background.png rename to jams/summer_code_jam_2020/stream assets/python background.png diff --git a/events/summer_code_jam_2020/stream assets/ves camframe.png b/jams/summer_code_jam_2020/stream assets/ves camframe.png similarity index 100% rename from events/summer_code_jam_2020/stream assets/ves camframe.png rename to jams/summer_code_jam_2020/stream assets/ves camframe.png diff --git a/events/summer_code_jam_2020/summer cj 2020 discord banner.png b/jams/summer_code_jam_2020/summer cj 2020 discord banner.png similarity index 100% rename from events/summer_code_jam_2020/summer cj 2020 discord banner.png rename to jams/summer_code_jam_2020/summer cj 2020 discord banner.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner 2.png b/jams/summer_code_jam_2020/summer code jam - early internet banner 2.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner 2.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner 2.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner 3.png b/jams/summer_code_jam_2020/summer code jam - early internet banner 3.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner 3.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner 3.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner 4.png b/jams/summer_code_jam_2020/summer code jam - early internet banner 4.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner 4.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner 4.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner 5.png b/jams/summer_code_jam_2020/summer code jam - early internet banner 5.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner 5.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner 5.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner 6.png b/jams/summer_code_jam_2020/summer code jam - early internet banner 6.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner 6.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner 6.png diff --git a/events/summer_code_jam_2020/summer code jam - early internet banner.png b/jams/summer_code_jam_2020/summer code jam - early internet banner.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam - early internet banner.png rename to jams/summer_code_jam_2020/summer code jam - early internet banner.png diff --git a/events/summer_code_jam_2020/summer code jam 2020 - website banner.png b/jams/summer_code_jam_2020/summer code jam 2020 - website banner.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam 2020 - website banner.png rename to jams/summer_code_jam_2020/summer code jam 2020 - website banner.png diff --git a/events/summer_code_jam_2020/summer code jam logo.png b/jams/summer_code_jam_2020/summer code jam logo.png similarity index 100% rename from events/summer_code_jam_2020/summer code jam logo.png rename to jams/summer_code_jam_2020/summer code jam logo.png diff --git a/events/winer_code_jam_2020/code jam 6 - announcement banner.png b/jams/winer_code_jam_2020/code jam 6 - announcement banner.png similarity index 100% rename from events/winer_code_jam_2020/code jam 6 - announcement banner.png rename to jams/winer_code_jam_2020/code jam 6 - announcement banner.png diff --git a/events/winer_code_jam_2020/code jam 6 - website banner.png b/jams/winer_code_jam_2020/code jam 6 - website banner.png similarity index 100% rename from events/winer_code_jam_2020/code jam 6 - website banner.png rename to jams/winer_code_jam_2020/code jam 6 - website banner.png diff --git a/events/winer_code_jam_2020/code jam 6.png b/jams/winer_code_jam_2020/code jam 6.png similarity index 100% rename from events/winer_code_jam_2020/code jam 6.png rename to jams/winer_code_jam_2020/code jam 6.png diff --git a/seasonal/christmas/avatar.png b/seasonal/christmas/avatar.png deleted file mode 100644 index ca46f2a6619117c986bbb4f7618681b771ae256c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7804 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 S2;;Gt5um1|rC29#74biO#8L?W diff --git a/seasonal/evergreen/avatar.png b/seasonal/evergreen/avatar.png deleted file mode 100644 index d3a54e0c79a7537352e26290a119caf958152735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16158 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 QSp%T-L`|;pvDusd1D}4jb^rhX diff --git a/seasonal/halloween/avatar.png b/seasonal/halloween/avatar.png deleted file mode 100644 index fecdfe5e9cad8ff192409de13fd487a5f05fb7df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7353 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 KwdSF9)c*l5%Awi- diff --git a/seasonal/pride/avatar.png b/seasonal/pride/avatar.png deleted file mode 100644 index 6490c113bd756a6b1d8f87b06248e3eb84fe7d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9981 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μCqHe4vOG#1jW-Rj>!sBh9HEWta5HZ%PjvKgjHDS3L9Ge*4vPJ4se~$ol*D zc*AN+N(GSpAwa7O`WD4M?mMCfG28*sr8QnFBsMa{u^On>mfB#)ZE1u-EL2sur?iQT zdx8z6FT)5{4py?e1evOa5u2(e-8+*l=^__&7`|TeHw@50IL4CX1nE7!PvwKUsh@Mg za|g|R-w9`g2c>DTs>XIqS?*S6j()h%aP$z&RmOOJM-e|VGZjw!limnhQq|mE31#xQ zi_7`u_^Cl<)-1z3FG~M$&b6FrM7C0P>Lzh`i@IHqw=|{ju5B>GQ7alfPpM~)_1C-Kn zsq*EEIybbteI3I6+fJtbn9qqx9Pg&&Bc}vql1$U{{$NR0x2eR{%(DzHM2bBr+K!PF z2dq13S|HSa@l!siqQWLxZdhjf-&A~h_?@lZ0e!91;rDJRAvU2F&hZY%nNC!7EJ#80xmlr ziF*4bBR-f|?8<>Sm>ld{9@1MT1`nd8KjJHd`N36(Zo6}QD+bj*!olA4_1>cZUW4Z$ za|zWS>7@i0^$EZP3m8UpIwy`P&v-d+mQ?jQhULk?UPQ1Ozdo$aUw_i4K%?HA%OQ)w4G$i^JX}_i1ORJOkt2KbYv`*vnqO`-QlabJ@H<&=;SXk}UF7So-Xjv{0#EZ(2+7g&ZHb@< z-6_<{)X2j%1868DfqJg8an$7tM;9wcwfUv;h`O{7%J)nvy0rAcDIGU|Uc#2pMl{-gQb z|HlIr`Tusvtye@K6vNd671N==QuOKxC@&bu1tJ6BJz z>h%BU=-2<_vHt!4?H#hc|D!vi{zrG>Uzyh5TSH;7uK%OS!ClSeFVvD^v!iEjk7Mvv dA0Q4`@@b5L diff --git a/seasonal/valentines/avatar.png b/seasonal/valentines/avatar.png deleted file mode 100644 index dfe11f9befab144dc0ba4b06678920c8305ef693..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8009 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 b;~R(sQT#JzA=n@mFadQHZRK)BWXS&m7g@c7 From 6c918d7001224f21e5b5534e3aebe7ed5ad57da3 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Sat, 6 Mar 2021 22:08:08 +0100 Subject: [PATCH 03/14] Events: populate with 'meta.md' files For now, the files contain the start and end dates, and a header. Descriptions will be added later. The Evergreen season is a special case, registering as a 'fallback', rather than having a defined period. This is the branding that we use when no other event is active. By default, we understand the 'fallback' key to be False. --- events/black_history_month/meta.md | 5 +++++ events/christmas/meta.md | 5 +++++ events/easter/meta.md | 5 +++++ events/evergreen/meta.md | 4 ++++ events/hacktoberfest/meta.md | 5 +++++ events/new_year/meta.md | 5 +++++ events/pride/meta.md | 5 +++++ events/st_patricks_day/meta.md | 5 +++++ events/valentines/meta.md | 5 +++++ 9 files changed, 44 insertions(+) create mode 100644 events/black_history_month/meta.md create mode 100644 events/christmas/meta.md create mode 100644 events/easter/meta.md create mode 100644 events/evergreen/meta.md create mode 100644 events/hacktoberfest/meta.md create mode 100644 events/new_year/meta.md create mode 100644 events/pride/meta.md create mode 100644 events/st_patricks_day/meta.md create mode 100644 events/valentines/meta.md diff --git a/events/black_history_month/meta.md b/events/black_history_month/meta.md new file mode 100644 index 00000000..f8f0d1b9 --- /dev/null +++ b/events/black_history_month/meta.md @@ -0,0 +1,5 @@ +--- +start_date: February 16 +end_date: February 29 +--- +# Black History Month diff --git a/events/christmas/meta.md b/events/christmas/meta.md new file mode 100644 index 00000000..d13373f9 --- /dev/null +++ b/events/christmas/meta.md @@ -0,0 +1,5 @@ +--- +start_date: December 1 +end_date: December 25 +--- +# Christmas diff --git a/events/easter/meta.md b/events/easter/meta.md new file mode 100644 index 00000000..5532a5d5 --- /dev/null +++ b/events/easter/meta.md @@ -0,0 +1,5 @@ +--- +start_date: April 1 +end_date: April 30 +--- +# Easter diff --git a/events/evergreen/meta.md b/events/evergreen/meta.md new file mode 100644 index 00000000..91d137df --- /dev/null +++ b/events/evergreen/meta.md @@ -0,0 +1,4 @@ +--- +fallback: true +--- +# Evergreen diff --git a/events/hacktoberfest/meta.md b/events/hacktoberfest/meta.md new file mode 100644 index 00000000..713e8f48 --- /dev/null +++ b/events/hacktoberfest/meta.md @@ -0,0 +1,5 @@ +--- +start_date: October 1 +end_date: October 31 +--- +# Hacktoberfest diff --git a/events/new_year/meta.md b/events/new_year/meta.md new file mode 100644 index 00000000..632d60b2 --- /dev/null +++ b/events/new_year/meta.md @@ -0,0 +1,5 @@ +--- +start_date: December 26 +end_date: December 31 +--- +# New Year diff --git a/events/pride/meta.md b/events/pride/meta.md new file mode 100644 index 00000000..8d276883 --- /dev/null +++ b/events/pride/meta.md @@ -0,0 +1,5 @@ +--- +start_date: June 1 +end_date: June 30 +--- +# Pride diff --git a/events/st_patricks_day/meta.md b/events/st_patricks_day/meta.md new file mode 100644 index 00000000..5ae0745e --- /dev/null +++ b/events/st_patricks_day/meta.md @@ -0,0 +1,5 @@ +--- +start_date: March 10 +end_date: March 18 +--- +# Saint Patrick's Day diff --git a/events/valentines/meta.md b/events/valentines/meta.md new file mode 100644 index 00000000..a30c58a6 --- /dev/null +++ b/events/valentines/meta.md @@ -0,0 +1,5 @@ +--- +start_date: February 1 +end_date: February 15 +--- +# Valentine's From db18060ff2806bef1688589c9128ed614ea29e3c Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 14:36:35 +0100 Subject: [PATCH 04/14] Events: add 'requirements.txt' with validation deps --- events/requirements.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 events/requirements.txt diff --git a/events/requirements.txt b/events/requirements.txt new file mode 100644 index 00000000..1d3b3596 --- /dev/null +++ b/events/requirements.txt @@ -0,0 +1,3 @@ +# Python: 3.8 +python-frontmatter==1.0.0 +pyyaml==5.4.1 From ab6f1b35fe32dc61c250aca2b51e2800c4de6d1f Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 18:20:07 +0100 Subject: [PATCH 05/14] Events: add validation script --- events/validation.py | 239 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 events/validation.py diff --git a/events/validation.py b/events/validation.py new file mode 100644 index 00000000..ec90c210 --- /dev/null +++ b/events/validation.py @@ -0,0 +1,239 @@ +""" +Event validation. + +This module contains the logic used to validate event definitions. It runs in CI to validate pull requests, +but can and should also be ran locally. + +In order to run, install dependencies from 'events/requirements.txt'. + +We check that each event directory satisfies the following: +* Contains 'banner.png', 'meta.md' and 'server_icons' with at least 1 file inside +* The 'meta.md' file either registers the event as fallback, or specifies the start and end dates +* The end date must either be the same as the start date, or chronologically subsequent +* The 'meta.md' file contains an event description between 1 and 2048 characters in length + +If all events are set up correctly, we also validate that: +* There is exactly 1 fallback event +* Non-fallback events do not collide in time + +If a problem in event configuration is detected, the program will print information to stdout and stop with an +exit code of 1. Otherwise, exit code 0 indicates that events are set up correctly. +""" + +import sys +import typing as t +from collections import defaultdict +from datetime import date, datetime, timedelta +from pathlib import Path + +try: + import frontmatter +except ImportError: + print("Please install the dependencies specified in 'events/requirements.txt'") + sys.exit(1) + +# Arbitrary year in which we do date checks (note: intentionally leap to allow Feb 29) +ARBITRARY_YEAR = 2020 + + +class Misconfiguration(Exception): + """Raised to indicate event misconfiguration.""" + + pass + + +class Event(t.NamedTuple): + """Runtime representation of a correctly defined event.""" + + name: str + fallback: bool + start_date: t.Optional[date] + end_date: t.Optional[date] + description: str + + +def make_event(name: str, from_dir: Path) -> Event: + """ + Construct an `Event` instance from `from_dir`. + + This function performs all necessary validation to ensure that the event is configured properly. If an problem + is encountered, `Misconfiguration` will be raised with an explanation. + + An `Event` instance is returned only if the event is entirely valid. + """ + server_icons = Path(from_dir, "server_icons") + banner = Path(from_dir, "banner.png") + meta = Path(from_dir, "meta.md") + + asset_requirements = [ + ("server_icons", server_icons.is_dir()), + ("banner.png", banner.is_file()), + ("meta.md", meta.is_file()), + ] + missing_assets = ", ".join(name for name, exists in asset_requirements if not exists) + + if missing_assets: + raise Misconfiguration(f"Missing assets: {missing_assets}") + + icons = [icon for icon in server_icons.iterdir() if icon.is_file()] + + if not icons: + raise Misconfiguration("No files in 'server_icons'") + + try: + meta_bytes = meta.read_bytes() + attrs, description = frontmatter.parse(meta_bytes, encoding="UTF-8") + except Exception as parse_exc: + raise Misconfiguration(f"Failed to parse 'meta.md': {parse_exc}") + + if not description: + raise Misconfiguration("No description in 'meta.md'") + + if not len(description) <= 2048: + raise Misconfiguration(f"Description too long ({len(description)} characters), must be <= 2048") + + fallback = attrs.get("fallback", False) + + if not isinstance(fallback, bool): + raise Misconfiguration(f"Value under 'fallback' key must be a boolean") + + if fallback: + return Event(name=name, fallback=True, start_date=None, end_date=None, description=description) + + missing_dates = {"start_date", "end_date"} - attrs.keys() + + if missing_dates: + as_string = ", ".join(missing_dates) + raise Misconfiguration(f"Non-fallback event must have attributes: {as_string}") + + date_fmt = "%B %d %Y" # Ex: July 10 2020 + + start_date = attrs["start_date"] + try: + start_date = datetime.strptime(f"{start_date} {ARBITRARY_YEAR}", date_fmt).date() + except Exception as exc: + raise Misconfiguration(f"Attribute 'start_date' with value '{start_date}' failed to parse: {exc}") + + end_date = attrs["end_date"] + try: + end_date = datetime.strptime(f"{end_date} {ARBITRARY_YEAR}", date_fmt).date() + except Exception as exc: + raise Misconfiguration(f"Attribute 'end_date' with value '{end_date}' failed to parse: {exc}") + + if not start_date <= end_date: + raise Misconfiguration("End date must be equal or subsequent to start date") + + return Event(name=name, fallback=False, start_date=start_date, end_date=end_date, description=description) + + +def active_days(event: Event) -> t.Iterator[date]: + """ + Generate all days in which `event` is active. + + This can only be called for non-fallback events. The fallback event does not have start and end dates. + """ + if None in (event.start_date, event.end_date): + raise RuntimeError("Cannot generate days: event does not have start and date!") + + if not event.start_date <= event.end_date: + raise RuntimeError("Cannot generate days: start date does not precede end date!") + + state = event.start_date + while True: + yield state + if state == event.end_date: + break + state += timedelta(days=1) + + +def find_collisions(events: t.List[Event]) -> t.Dict[date, t.List[Event]]: + """ + Find the mapping of dates to colliding events, if any. + + The `events` arg cannot contain the fallback event. + """ + schedule = defaultdict(list) + + for event in events: + for day in active_days(event): + schedule[day].append(event) + + return {day: events for day, events in schedule.items() if len(events) > 1} + + +def check_date_configuration(events: t.List[Event]) -> None: + """ + Ensure that start and end dates of `events` do not collide. + + Additionally, this also verifies that there is exactly 1 fallback event. + + Raises `Misconfiguration` with a listing of colliding events, if any are found. + """ + fallback_events = [event for event in events if event.fallback] + + if not fallback_events: + raise Misconfiguration(f"There is no fallback event") + + if len(fallback_events) > 1: + as_string = ", ".join(event.name for event in fallback_events) + raise Misconfiguration(f"There are multiple fallback events: {as_string} (must be exactly 1)") + + non_fallback_events = [event for event in events if not event.fallback] + collisions = find_collisions(non_fallback_events) + + if not collisions: + return + + report_lines = [] + + for day, collision in collisions.items(): + date_string = day.strftime("%B %d") # Ex: January 24 + event_string = ", ".join(event.name for event in collision) + + report_lines.append(f"{date_string}: {event_string}") + + collision_report = "\n".join(report_lines) + raise Misconfiguration(f"Event collision detected:\n{collision_report}") + + +def main() -> None: + """ + Discover and validate all events. + + We first validate individual events and load them into `Event` instances. + + If all events are configured properly, we proceed with cross-event validation, checking for the existence + of the fallback event and finding any conflicts between non-fallback events. + + If any issues are encountered, stop the program with a return code of 1, and otherwise 0. + """ + parent = Path(__file__).parent + event_directories = [directory for directory in parent.iterdir() if directory.is_dir()] + + events: t.List[Event] = [] + + for directory in event_directories: + event_name = directory.name + try: + event = make_event(event_name, directory) + except Misconfiguration as misconfiguration: + print(f"[FAIL] [{event_name}] {misconfiguration}") + else: + print(f"[PASS] [{event_name}]") + events.append(event) + + if len(events) != len(event_directories): + print("Dates will not be verified until all events pass validation!") + sys.exit(1) + + try: + check_date_configuration(events) + except Misconfiguration as misconfiguration: + print(f"[FAIL] {misconfiguration}") + sys.exit(1) + + print(f"[PASS] All {len(events)} events passed validation") + + +if __name__ == "__main__": + main() From ef1d1a9960a6975ccd287d7a48a9e56492ec0544 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 20:24:50 +0100 Subject: [PATCH 06/14] CI: add event validation workflow --- .github/workflows/event-validation.yml | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/event-validation.yml diff --git a/.github/workflows/event-validation.yml b/.github/workflows/event-validation.yml new file mode 100644 index 00000000..cce2e5a1 --- /dev/null +++ b/.github/workflows/event-validation.yml @@ -0,0 +1,28 @@ +name: Event Validation + +on: + push: + branches: + - main + pull_request: + +jobs: + validate-events: + + name: Validate Events + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: Install dependencies + run: python -m pip install -r events/requirements.txt + + - name: Validate events + run: python events/validation.py From 3822c94ff91d012cda5cd233ac1c7c0e9f58fd76 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 21:19:18 +0100 Subject: [PATCH 07/14] CI: improve step name --- .github/workflows/event-validation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/event-validation.yml b/.github/workflows/event-validation.yml index cce2e5a1..06d6e5ad 100644 --- a/.github/workflows/event-validation.yml +++ b/.github/workflows/event-validation.yml @@ -24,5 +24,5 @@ jobs: - name: Install dependencies run: python -m pip install -r events/requirements.txt - - name: Validate events + - name: Run event validation script run: python events/validation.py From fead2b6125dd837dc80d6157fab4e9cca35fc68a Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 22:10:32 +0100 Subject: [PATCH 08/14] Events: update README to document new structure --- events/README.md | 103 ++++++++++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 41 deletions(-) diff --git a/events/README.md b/events/README.md index 72f72977..b43e1bb7 100644 --- a/events/README.md +++ b/events/README.md @@ -1,64 +1,85 @@ -### Seasonal branding +# Events -Each folder in this directory contains branding inspired by a specific season. Such assets are temporarily applied to the server to celebrate holidays, promote on-going events, or to show support for various world-wide movements. +This directory contains branding for events celebrated by Python Discord. Events are automatically discovered by the [Python](https://github.com/python-discord/bot/) bot and have their assets applied to the Discord guild when active. As such, event directories must follow a specific structure. -While the primary function is to organize the various assets we have, they are also used by **[Seasonalbot](https://github.com/python-discord/seasonalbot)'s branding manager**. The bot will automatically apply seasonal assets pulled directly from this repository to the server. In order for Seasonalbot to properly detect and apply assets, certain conventions must be followed. +## Event directory structure -#### Automatically managed assets +In order for an event directory to be valid, it has to contain the following assets. -There are 3 types of seasonal assets: **server icons**, **server banners**, and **bot avatars**. While a season always has **at most 1** banner and bot avatar, there may be **multiple** server icons. In such a case, Seasonalbot will periodically cycle available icons at a configurable interval (once every *n* days). +### `meta.md` -In order for banners and avatars to be discovered, they shall be placed directly in a seasonal directory, named `seasonal//banner.png` and `.../avatar.png` respectively. Note that these assets are expected to *always* carry the **png** extension. Server icons shall always (regardless of whether the is only 1, or many) be placed in a nested directory, as follows: `.../server_icons/festive_256.gif`. Server icons are name and extension agnostic - they are registered simply by being present in the `server_icons/` directory. +Meta files consist of two sections: a [YAML frontmatter](https://assemble.io/docs/YAML-front-matter.html) with the event's metadata, and a Markdown description. -If a non-evergreen season does not provide all assets, the bot will search for the missing ones in the evergreen directory. We will illustrate this behaviour with the following example: +In the frontmatter of each such file, each event must either be registered as the fallback: +```yaml +fallback: true ``` -├── seasonal/ -│ -│ ├── easter/ -│ │ ├── avatar.png -│ │ ├── banner.png -│ -│ ├── christmas/ -│ │ ├── server_icons/ -│ │ │ ├── snowing.gif -│ │ ├── avatar.png -│ -│ ├── evergreen/ -│ │ ├── server_icons/ -│ │ │ ├── winky.gif -│ │ │ ├── spinner.png -│ │ ├── avatar.png -│ │ ├── banner.png + +Or have a specified period: + +```yaml +start_date: July 10 +end_date: July 20 ``` -While the **easter** season is active, the bot will apply its `avatar.png` and `banner.png` assets. However as the season does not provide any server icons, the bot will continue to cycle the evergreen ones - `winky.gif` and `spinner.png`. +There must be exactly 1 fallback event, and 0 or more non-fallback events. Events cannot collide in time, and the end date must either be equal to the start date (1 day event) or chronologically subsequent. Both bounds are inclusive, and the format shown in the example above must be followed. + +The markdown section of the meta file then contains the event's description. Descriptions are made available directly in the Discord guild as embeds sent by the Python bot. For formatting, use Discord's watered down Markdown ~ keep in mind that e.g. the `#` symbol does not create a heading. + +A description is required to exist, and must be at most 2048 characters in length in order to fit into a Discord embed. + +### `banner.png` -Once we enter the **christmas** season, the bot will apply the `snowing.gif` server icon - it will not cycle, as there is only one icon. Additionally, the christmas `avatar.png` will be used. However, the bot will fall back to the evergreen `banner.png`. +Singular image asset to be used as the guild banner while the event is active. -While no specific season is active, the bot simply uses the evergreen one. +If you're wondering about the desired dimensions, take a look at existing assets for reference. -This means that there will **always** be available assets, as long as they are present in the evergreen directory. Should an asset become missing in this directory, the bot will simply ignore it. +### `server_icons` -Failure to comply with this schema will not break Seasonalbot, but it will prevent its branding manager from functioning properly. Please refer to its `BrandingManager` cog for further documentation and implementation details. +Directory with 1 or more icon assets. The bot will automatically rotate icons from this directory at a configured frequency. Subdirectories in `server_icons` are simply ignored ~ only icons present directly in `server_icons` are considered. -#### Other assets +If an event fails to satisfy these conditions, it will be ignored by Python. -Any files or sub-directories *not* listed above will be entirely ignored by Seasonalbot. A seasonal directory may be arbitrarily structured, as long as it doesn't interfere with the above-described conventions. This includes the `server_icons/` directory, which can have an arbitrary amount of sub-directories that the bot will ignore. Seasonalbot will *only* cycle **files** *directly* in `server_icons/`. +## Reference event -For example: +Below is an example of a well configured event: ``` -│ ├── some_season/ +├── events/ +│ ├── christmas/ +│ │ ├── misc_assets/ +│ │ │ ├── festive.svg │ │ ├── server_icons/ -│ │ │ ├── alt_size/ -│ │ │ │ ├── a_large.gif -│ │ │ │ ├── b_large.png -│ │ │ ├── a.gif -│ │ │ ├── b.png -│ │ ├── avatar.png +│ │ │ ├── snowing.gif +│ │ │ ├── festive.png │ │ ├── banner.png -│ │ ├── random_cat_pic.png +│ │ ├── meta.md +│ │ ├── reindeer.mp4 +``` ``` +--- +start_date: December 1 +end_date: December 25 +--- +**Christmas!** + +I wonder what I'm getting this year! +``` + +In this case, on the 1st of December, the bot will: +* Apply `banner.png` +* Begin rotating `snowing.gif` and `festive.png` +* Send a `#changelog` notification with the event description + +On the 26th, the transition into the next event takes place. + +Files such as `festive.svg` and `reindeer.mp4` are simply ignored. The bot doesn't use them, but doesn't mind them being there. + +## Automatic validation + +Fortunately, it is not necessarily to manually verify that all events are configured properly w.r.t. the requirements explained above. The `validation.py` script contains logic to ascertain correct setup, and will automatically run in CI on pull requests to prevent a broken configuration from reaching the production branch. + +Validation happens in two stages. First, all events are checked individually, to ensure that they contain all necessary assets and have a correctly structured `meta.md` file. If all events pass, the second stage verifies that there is exactly 1 fallback event, and that no events collide. In the case of collision, the exact dates and culprit events are printed. -In such a case, the bot will cycle `a.gif` and `b.png` server icons, and use the provided `avatar.png` and `banner.png`. All other files are ignored. +We depend on a minimal set of non-stdlib packages to parse meta files: [python-frontmatter](https://pypi.org/project/python-frontmatter/) wrapping around [pyyaml](https://pypi.org/project/PyYAML/). The exact version pins are provided in `requirements.txt` with the recommended Python version to use. From 4ab143eae4ef7861d04f989ac68867523eac94c4 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 15 Mar 2021 22:25:01 +0100 Subject: [PATCH 09/14] Events: add note on Pipenv installation to README --- events/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/events/README.md b/events/README.md index b43e1bb7..b5d21951 100644 --- a/events/README.md +++ b/events/README.md @@ -83,3 +83,11 @@ Fortunately, it is not necessarily to manually verify that all events are config Validation happens in two stages. First, all events are checked individually, to ensure that they contain all necessary assets and have a correctly structured `meta.md` file. If all events pass, the second stage verifies that there is exactly 1 fallback event, and that no events collide. In the case of collision, the exact dates and culprit events are printed. We depend on a minimal set of non-stdlib packages to parse meta files: [python-frontmatter](https://pypi.org/project/python-frontmatter/) wrapping around [pyyaml](https://pypi.org/project/PyYAML/). The exact version pins are provided in `requirements.txt` with the recommended Python version to use. + +If you'd prefer to create a virtual environment with Pipenv, it is possible with the following command: + +``` +pipenv install -r events/requirements.txt +``` + +This will spawn a lockfile that you can sync from. Please make sure that you do not accidentally commit the Pipenv-generated files. From 7e8b4429dea25ad39f51dfaa91cabec6c909f4e6 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Tue, 16 Mar 2021 23:08:58 +0100 Subject: [PATCH 10/14] Events: add Easter banner asset Use the evergreen logo SVG edited to use colours of the Easter logo. --- events/easter/assets/banner.svg | 99 ++++++++++++++++++++++++++++++++ events/easter/banner.png | Bin 0 -> 64079 bytes 2 files changed, 99 insertions(+) create mode 100644 events/easter/assets/banner.svg create mode 100644 events/easter/banner.png diff --git a/events/easter/assets/banner.svg b/events/easter/assets/banner.svg new file mode 100644 index 00000000..20366bc2 --- /dev/null +++ b/events/easter/assets/banner.svg @@ -0,0 +1,99 @@ + diff --git a/events/easter/banner.png b/events/easter/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..32b64694fd670975402666959226a6dc902a9bcf GIT binary patch literal 64079 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 X??_d2ob6eGUsOlSP_yis!~OpNz6p>d literal 0 HcmV?d00001 From 9392348a134361a4a362a97907b1eef0538d8dad Mon Sep 17 00:00:00 2001 From: kwzrd Date: Sat, 27 Mar 2021 17:32:14 +0100 Subject: [PATCH 11/14] Events: populate descriptions in 'meta.md' files Many of these were contributed by DawnOfMidnight! Co-authored-by: DawnOfMidnight <78233879+dawnofmidnight@users.noreply.github.com> --- events/black_history_month/meta.md | 4 +++- events/christmas/meta.md | 4 +++- events/diwali/meta.md | 4 +++- events/easter/meta.md | 4 +++- events/evergreen/meta.md | 4 +++- events/hacktoberfest/meta.md | 4 +++- events/new_year/meta.md | 4 +++- events/pride/meta.md | 4 +++- events/st_patricks_day/meta.md | 4 +++- events/valentines/meta.md | 4 +++- 10 files changed, 30 insertions(+), 10 deletions(-) diff --git a/events/black_history_month/meta.md b/events/black_history_month/meta.md index f8f0d1b9..8dbf5732 100644 --- a/events/black_history_month/meta.md +++ b/events/black_history_month/meta.md @@ -2,4 +2,6 @@ start_date: February 16 end_date: February 29 --- -# Black History Month +**Black History Month** + +[Black History Month](https://en.wikipedia.org/wiki/Black_History_Month) is an annual celebration of the people and historical events of the African diaspora. Historically, its significance lied in an encouragement of teaching the history of Black Americans in public schools. However, the event's importance and popularity have grown over the years, and BHM is now officially recognised and celebrated world-wide. diff --git a/events/christmas/meta.md b/events/christmas/meta.md index d13373f9..9aed17ff 100644 --- a/events/christmas/meta.md +++ b/events/christmas/meta.md @@ -2,4 +2,6 @@ start_date: December 1 end_date: December 25 --- -# Christmas +**Christmas** + +[Christmas](https://en.wikipedia.org/wiki/Christmas) in an annual festival that occurs on December 25, and commemorates the birth of Jesus Christ. It is a very widespread religious and cultural celebration. In the western world, one of the most notable Christmas traditions is the exchange of gifts between family members on the night of the 24th. Another common tradition is decorating a Christmas tree with bells, candles and ornaments. diff --git a/events/diwali/meta.md b/events/diwali/meta.md index c19a70fc..cffb7d7f 100644 --- a/events/diwali/meta.md +++ b/events/diwali/meta.md @@ -2,4 +2,6 @@ start_date: November 1 end_date: November 7 --- -# Diwali +**Diwali** + +[Diwali](https://en.wikipedia.org/wiki/Diwali) is an annual festival of lights and one of the major festivals celebrated by Hindus, Jains and Sikhs. It usually lasts five days and falls between mid-October and mid-November. diff --git a/events/easter/meta.md b/events/easter/meta.md index 5532a5d5..867e085e 100644 --- a/events/easter/meta.md +++ b/events/easter/meta.md @@ -2,4 +2,6 @@ start_date: April 1 end_date: April 30 --- -# Easter +**Easter** + +[Easter](https://en.wikipedia.org/wiki/Easter) is a Christian festival and holiday commemorating the resurrection of Jesus from the dead. It is celebrated on the first Sunday following the full moon that occurs on or just after the spring equinox. A common motive appearing in Easter customs are colourful eggs, associated with the themes of new life and birth. diff --git a/events/evergreen/meta.md b/events/evergreen/meta.md index 91d137df..9010a1e5 100644 --- a/events/evergreen/meta.md +++ b/events/evergreen/meta.md @@ -1,4 +1,6 @@ --- fallback: true --- -# Evergreen +**Evergreen** + +When no event is active, [Python Discord](https://pythondiscord.com/) is branded with its official logo. diff --git a/events/hacktoberfest/meta.md b/events/hacktoberfest/meta.md index 713e8f48..fee6865d 100644 --- a/events/hacktoberfest/meta.md +++ b/events/hacktoberfest/meta.md @@ -2,4 +2,6 @@ start_date: October 1 end_date: October 31 --- -# Hacktoberfest +**Hacktoberfest** + +[Hacktoberfest](https://hacktoberfest.digitalocean.com/) is an annual celebration of open source culture. The event encourages contributions to open source projects, and rewards participants with various unique prizes alongside an excellent opportunity to gain experience with collaborative software development. diff --git a/events/new_year/meta.md b/events/new_year/meta.md index 632d60b2..2cb552a1 100644 --- a/events/new_year/meta.md +++ b/events/new_year/meta.md @@ -2,4 +2,6 @@ start_date: December 26 end_date: December 31 --- -# New Year +**New Year** + +[New Year](https://en.wikipedia.org/wiki/New_Year) celebrations occur around the end of the calendar year, and the beginning of the next one. The event is associated with a rich variety of traditional and religious customs, often including fireworks, bright lights, and joyous atmosphere. New Year resolutions are a traditional promise of encouraging positive development and working towards personal goals in the upcoming year. diff --git a/events/pride/meta.md b/events/pride/meta.md index 8d276883..6b465a6f 100644 --- a/events/pride/meta.md +++ b/events/pride/meta.md @@ -2,4 +2,6 @@ start_date: June 1 end_date: June 30 --- -# Pride +**Pride** + +[LGBTQ+ pride](https://en.wikipedia.org/wiki/Gay_pride) is the promotion of the self-affirmation, dignity, equality, visibility, and rights of members of the LGBTQ+ community as a social group. It’s the predominant outlook that fuels a number of rights movements. In the United States, the event serves as a reminder of the [Stonewall riots](https://en.wikipedia.org/wiki/Stonewall_riots) of 1969. diff --git a/events/st_patricks_day/meta.md b/events/st_patricks_day/meta.md index 5ae0745e..f161719f 100644 --- a/events/st_patricks_day/meta.md +++ b/events/st_patricks_day/meta.md @@ -2,4 +2,6 @@ start_date: March 10 end_date: March 18 --- -# Saint Patrick's Day +**Saint Patrick's Day** + +[Saint Patrick's Day](https://en.wikipedia.org/wiki/Saint_Patrick%27s_Day) is an annual event celebrating the culture and heritage of the Irish. On the 17th of March, the members of the Irish diaspora commemorate the death of [Saint Patrick](https://en.wikipedia.org/wiki/Saint_Patrick), the primary patron saint of Ireland. Celebrations commonly include public parades, festivals and traditional music. Parade members often dress in green attire decorated with the shamrock symbol. diff --git a/events/valentines/meta.md b/events/valentines/meta.md index a30c58a6..31a0488f 100644 --- a/events/valentines/meta.md +++ b/events/valentines/meta.md @@ -2,4 +2,6 @@ start_date: February 1 end_date: February 15 --- -# Valentine's +**Valentine's Day** + +[Valentine's Day](https://en.wikipedia.org/wiki/Valentine%27s_Day) is an international celebration centered around romantic love. It is traditionally associated with red hearts, romance, flowers, candy or other sweet things, and the exchange of cards or messages, called *valentines*, that express love. It occurs annually on February 14th. From 2a2ab5a23442fc7b507591dff18991a64f695c2a Mon Sep 17 00:00:00 2001 From: kwzrd Date: Sat, 27 Mar 2021 17:50:05 +0100 Subject: [PATCH 12/14] Events: move New Year banner SVG into 'assets' --- events/new_year/{ => assets}/banner.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename events/new_year/{ => assets}/banner.svg (100%) diff --git a/events/new_year/banner.svg b/events/new_year/assets/banner.svg similarity index 100% rename from events/new_year/banner.svg rename to events/new_year/assets/banner.svg From f8c42825112ab37e39a924b2790b351ea71a80c4 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 29 Mar 2021 13:10:55 +0200 Subject: [PATCH 13/14] Events: improve grammar & docstring style Co-authored-by: Shivansh-007 --- events/README.md | 6 +++--- events/validation.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/events/README.md b/events/README.md index b5d21951..4fe3c439 100644 --- a/events/README.md +++ b/events/README.md @@ -4,7 +4,7 @@ This directory contains branding for events celebrated by Python Discord. Events ## Event directory structure -In order for an event directory to be valid, it has to contain the following assets. +For an event directory to be valid, it has to contain the following assets. ### `meta.md` @@ -27,7 +27,7 @@ There must be exactly 1 fallback event, and 0 or more non-fallback events. Event The markdown section of the meta file then contains the event's description. Descriptions are made available directly in the Discord guild as embeds sent by the Python bot. For formatting, use Discord's watered down Markdown ~ keep in mind that e.g. the `#` symbol does not create a heading. -A description is required to exist, and must be at most 2048 characters in length in order to fit into a Discord embed. +A description is required to exist, and must be at most 2048 characters in length to fit into a Discord embed. ### `banner.png` @@ -78,7 +78,7 @@ Files such as `festive.svg` and `reindeer.mp4` are simply ignored. The bot doesn ## Automatic validation -Fortunately, it is not necessarily to manually verify that all events are configured properly w.r.t. the requirements explained above. The `validation.py` script contains logic to ascertain correct setup, and will automatically run in CI on pull requests to prevent a broken configuration from reaching the production branch. +Fortunately, it is not necessary to manually verify that all events are configured properly w.r.t. the requirements explained above. The `validation.py` script contains logic to ascertain correct setup, and will automatically run in CI on pull requests to prevent a broken configuration from reaching the production branch. Validation happens in two stages. First, all events are checked individually, to ensure that they contain all necessary assets and have a correctly structured `meta.md` file. If all events pass, the second stage verifies that there is exactly 1 fallback event, and that no events collide. In the case of collision, the exact dates and culprit events are printed. diff --git a/events/validation.py b/events/validation.py index ec90c210..ff192f0b 100644 --- a/events/validation.py +++ b/events/validation.py @@ -37,7 +37,7 @@ class Misconfiguration(Exception): - """Raised to indicate event misconfiguration.""" + """Indication of event misconfiguration.""" pass @@ -167,7 +167,7 @@ def check_date_configuration(events: t.List[Event]) -> None: Additionally, this also verifies that there is exactly 1 fallback event. - Raises `Misconfiguration` with a listing of colliding events, if any are found. + Raise `Misconfiguration` with a listing of colliding events, if any are found. """ fallback_events = [event for event in events if event.fallback] From 04099d29b8d39e2970ffdad6ed7214d89190a5b0 Mon Sep 17 00:00:00 2001 From: kwzrd Date: Mon, 29 Mar 2021 13:12:03 +0200 Subject: [PATCH 14/14] Git: add 'Pipfile*' to ignores --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index f27ba8ef..aaf9a05b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ # JetBrains stuff .idea/ + +# Contributors may want to generate a local Pipfile for event validation +Pipfile*