-
-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redesign of events page #1210
Redesign of events page #1210
Conversation
✅ Deploy Preview for pydis-static ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
- Added standalone pages for each event - Added initial design of new layout - Refactored some sidebars and templates to update current/upcoming event - Put two CJ10 assets into their own dedicated folder Includes dummy text for event descriptions and content that is not up-to-date: Current and Upcoming event components.
1c2aa3e
to
51bfa2c
Compare
… into feat/events-redesign
Aka, many minor changes I shouldn't've grouped together in a single commit. - Add main page events description - Use date icons every where - Fill up one-off events list - Use a media-like layout for one-off events instead - Use 2-column masonry for one-off events list - Update schedules for this year - Add a colored top border line to cards in the main gallery that do not have thumbnail banners - Add april fools to fill the gap in the second row so the grid looks better - Re-purpose 'all events' sidebar as 'ToC' with appropriate anchor links - Use circle-info icon everywhere for learn more buttons - Added python release streams to the one-off events That light blue cloud icon for devops hour looks dope IMO :P - And of course, thanks to the layout change for one-off events list I do not have to hurriedly create ad-hoc thumbnails for them 😔. phew - Which means our fancy hats workshop can use the beautiful magician hat emoji as the icon! - Renamed 'scheduled' and 'recent' events to be year-independent. This makes it consistent because we might end up updating the list mid-year. This means all dates will have the year specified. The pain of updating the gallery sections' height for both main and one-off events section continues to be a limitation.
7cccae0
to
319ca9a
Compare
There are still a number of issues with the design, but I've run out of ideas on how to best solve them. So I'll mark this PR as ready for review now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't take an in-depth look at the code because I more-so care how it presents (and html is only so interesting). Overall, I love it! It presents what we do really well and is really and easily digestible.
Thank you so much for your work on this.
It's not completely over yet as the winners are yet to be announced, but the coding phase, as shown in the date "March 17-24th" has passed so it no longer makes sense to list it as ongoing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good to me, thank you for the hard work!
I have a few tiny nitpicks, after that it looks good to merge to me. Thank you again!
Co-authored-by: jchristgit <jc@jchri.st>
Closes #494
This PR attempts address the proposal from the linked issue by redesigning our events page to draw more engagement. This includes making the content more easily accessible and organized.
It is also an opportunity to update the page to be more up-to-date on the latest events for this new year.
Pages on preview:
https://deploy-preview-1210--pydis-static.netlify.app/events/
Behold, responsive masonry in CSS only
pydis_masonry.mov
Implications
The events page would need to be updated more frequently due to this redesign. This means every time an event starts or finishes, we should update the page.
Limitations
Masonry grids
To have a good-looking grid with items of variable heights for our regular and one-off events, masonry was required.
Why do we want Masonry??
For maximum end-user-experience and developer experience, Masonry itself would be probably be the best bet. However I was against adding a whole javascript dependency just for these two sections so I made use of the newly discovered CSS-only flexbox solution instead.
We can't simply use Bulma columns because we need to preserve item ordering on mobile, where no columns are used.
What do you mean??
This came with the limitation that whenever items in the grids are updated we have to modify the
height
in CSS manually, ensuring it has enough room for all screen widths from around 600px to 1000px. This was a pain during development, and for the future when we are adding/removing items from the grid the person who updates it should not be overly involved in the CSS.The implementation is in the
events/base.css
CSS file with comments.Ideas for the future
Assets
Should use the same icons for the same event, or should we use the annual branding? For instance, we have different branding for each Pyweek and Code Jam, should the icon used in the "scheduled"/"previous" events use the specific branding for that year, this makes multiple entries of the same event have different icons.
Currently, I use the same Pyweek icons, but for Code Jam 2023, I used the 2023 icon, and for the rest, used 2022 icon.
Todo
Design
Content
Finalize the assets to useEtc.
--- Optimistic deadline: February ---
--- WIP ➡️ ready for reviews ---
Maybe