Skip to content

Rework seasonal branding structure #123

@ks129

Description

@ks129

The current setup we have for seasonal branding is out of date. Even the name doesn't work anymore. In order to work well with python-discord/bot#1431, we need to reorganize these assets and standardize on a single approach.

Wait, what's this for?

Read python-discord/bot#1431 before you read this. Basically we want every PyDis event (or maybe we should call it something else? Holiday? Doodle?) to contain all the information needed in order for the bot to automatically manage branding assets.

So, it's Valentines day, and the bot changes the icon, changes the discord banner, and posts a message into #changelog with a short explanation about what the icon represents. That's the end product.

Okay, so what changes do we need to make?

Well, currently we have the seasonal folder, and we've got the events folder. These two should be merged into a single folder, and we should get rid of anything that doesn't fit our new structure.

For each event, we'll need a structure roughly like this:

├── events/
│ ├── valentines/
│ │ ├── server_icons/
│ │ │ ├── love_heart.gif
│ │ │ ├── beating_heart.gif
│ │ │ ├── valentines.png
│ │ ├── misc/
│ │ │ ├── anything_can_be_in_here.txt
│ │ │ ├── the_bot_will_ignore_it.png
│ │ │ ├── could_be_useful_for_major_events.zip
│ │ ├── banner.png
│ │ ├── meta.md

This is pretty similar to how the seasonal folders were organized back in #46, with the exception of the meta.md file.

So how would the meta.md look?

Here's an example of how it might look, although you're free to iterate on this as you see fit.

---
start_date: 2021-12-01
end_date: 2021-12-25
repeats: annually  # For one-time events, we could put 'never'.
---
**Advent of Code**
The server icon and banner have been changed to the **Advent of Code** branding. You can learn more about Advent of Code [on their website](https://adventofcode.com).

What about all the stuff we're currently missing?

Since we do not have banners for all the stuff inside events, and we don't have meta.md for any of the events, this additional material should be created in this PR. If that's not feasible, we should just get rid of the event, and we can reimplement it with a fully compatible PR later on.

How do we test and validate submissions?

It would be fantastic if we were able to validate the contents of a PR into this folder using CI, but I think this should probably be a separate issue that we can tackle later. I imagine a piece of CI that would ensure dates were valid, ensure the dates didn't conflict with another event, and ensure that all the required files were there.

edited by lemonsaurus

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: pydisRelated to our core brandingstatus: WIPWork in progress

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions