Giter VIP home page Giter VIP logo

website's Introduction

EuroPython Website 🌍🐍

Introduction πŸ‘‹

Welcome to the repository for the EuroPython website! We use Astro in combination with pnpm to manage dependencies.

Setup πŸ› οΈ

Local dev env

To get started, clone the repository and run pnpm install to fetch all the dependencies. Then, use pnpm run dev to start the development server.

The website will be available at http://localhost:4321.

Pre-commit Setup

To ensure code quality and consistency, we use pre-commit hooks. Follow these steps to set up pre-commit on your local environment:

  1. Install pre-commit. You can follow the instructions from pre-commit.com.
  2. Run pre-commit install in the root of your local repository.
  3. Now, pre-commit will run automatically on git commit. You can also run it manually on all files using pre-commit run --all-files.

This will help maintain a consistent coding style and catch common issues before submission.

Docker

If you want to run this in docker, run:

$ docker compose build
$ docker compose up

The website will be available at http://localhost:4321.

Content Structure πŸ—‚οΈ

The content of the site is store in this repository. We are using Astro's content collections to manage the content. The collections are configure inside src/content/config.ts.

Pages

Pages are stored in the src/content/pages directory. Each page is a mdx file with frontmatter.

Deadlines

Meanwhile, our important deadlines ⏰ are located inside the src/content/deadlines directory.

Using Astro Image Component πŸ–ΌοΈ

When adding images to the website, please make sure to use astro Image component and to specify the width of the image. This will make sure we are optimizing the images and not serving large images to the users.

Here is an example:

import { Image } from "astro:assset";

import image from "./image.jpg";

<Image src={image} width={500} />;

website's People

Contributors

ambv avatar aramboi avatar artcz avatar changhiskhan avatar cheukting avatar clytaemnestra avatar cmaureir avatar cybit avatar dependabot[bot] avatar dhanshreea avatar egeakman avatar faizaslam11 avatar fkiraly avatar fpierfed avatar gilgamezh avatar github-actions[bot] avatar hypha avatar kislovskiy avatar ladybiss avatar laisbsc avatar ntoll avatar nvaytet avatar patrick91 avatar pgryko avatar rodrigogiraoserrao avatar sangarshanan avatar sebastiaanz avatar thepetk avatar vaibhavs10 avatar whykay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Conference schedule enhancements

I would suggest to enhance conference schedule by:

  1. add option to download iCal (or common calendar format) calendar files which can be stored in attendees mobile devices
  2. add option for registered users to personalise schedule and select tracks into your personal list... to ease up planning of attendance.

This would actually help organisers to see potential interest on topics (how crowded rooms might be) and attendees would see if they have selected all tracks they are interested.
In addition there is no reason to have schedule on paper - save money on printing and save nature by not generating additional waste.

Add date/time/room to session pages

I think it would be tremendously beneficial if session pages (e.g., talk/tutorial/poster session pages) included the date, time, and the room in which the session is taking place.

Document release/archive process

EP 2022 has a dedicated branch @ archive/2022, the website on vercel now points to that branch.

We should document this properly once we add a new website for 2023 :)

Community voting is closed but the voting.europython.eu is open

I just saw that community voting closed on 14th April:

https://fosstodon.org/@europython/110190566061335730

And https://ep2023.europython.eu/voting confirms it has closed.

But https://voting.europython.eu bookmarked is still accepting votes. I was still voting on a few every day for the last three weeks despite it being officially "closed" πŸ™ƒ

Please could you actually close https://voting.europython.eu and add text at the top?

Anchor links for headers don't jump to the relevant header

If you add a markdown header to a "pages-content" file, the Next.JS rendering will automatically wrap the header in a link with an anchor for that header (e.g., https://ep2023.europython.eu/mentorship#mentee for the header "Mentee" on the mentorship page). The problem is that the target anchor name isn't added as the id attribute of the header HTML tag.

This means that anchor links don't actually jump to the relevant location on the page.

E-mail obfuscation

On the sprints page, the organizers were asked to leave their e-mails, and the generated page then contained email: links without any obfuscation. Such exposed addresses tend to be harvested by bots for spamming, and that happened with my address.

What can be done instead is to obfuscate the address by using HTML entity in place of the @ character, so that it still works correctly in the browser, but is harder to find with a simple bot scan.

Styling issues

  • A: Hyperlinks with the anchor element has no underline or primary colour styling.
  • B: Lists using MD (- or *) doesn't show bullets; using <li> changes font size. Currently amended main.css here
  • C: title's # doesn't get hidden on mobile
  • D: <ButtonWithTitle> and <ButtonLink> - need a linebreak after the button. The title currently applies h3, which looks a bit big.
  • E: <img> needs a linkebreak after the image.
  • F: p.large styling doesn't exist. <p> styling is also different from text without the tag.
  • G: I think the sponsor page width needs to be wider to fit the tiers.
  • H: with the font size bigger than 2022, I am not sure if it makes sense to increase the overall width for the text.
    Edit: According to Sebastiaan, the general recommendation for text length is between 50-80 characters per line for readability. We might want to consider what an appropriate width is.
  • I: the bullet point points to the middle of several lines. This looks very confusing when it is nested. e.g. the following renders as seen in screenshot
    image
  • Fruit
    • Apple

[UX] Mark tutorial days on schedule days dropdown

Right now the default day is the first tutorial day. It is not clear we're looking at tutorials and not at talks and it may be very confusing for users. Adding some mark in the dropdown, like it is present right now for sprints, should improve that.

[UX] consider having shorter length per line

          I briefly looked into sources on the effect of line length on readability for digital screens. Unfortunately, I don't have access to most full-text articles anymore.

There seem to be a couple of different approaches to this question, though. Those approaches include measuring a speed/comprehension trade-off, testing for scanning/visual search in text, and measuring subjective preferences for line lengths. The problem is that there seem to be different answers based on what is measured.

In general, I've read that:

  • Longer line lengths are better for quick scanning, as you have to scroll less and make fewer line jumps.
  • Medium line lengths (often defined as somewhere between 50 - 80 characters per line) are better for accuracy
  • Medium line lengths are preferred by most participants.

Here ar a few sources:

Dyson, M.C., & Kipping, G.J. (1998). The Effects of Line Length and Method of Movement on Patterns of Reading from Screen. Visible Language, 32.

This study comes to two different conclusions:

  • People read faster at long line lengths (defined as 100 characters per line) compared to shorter line lengths while reading comprehension stayed pretty much constant over line lengths
  • People subjectively preferred reading at medium line lengths (with the most preferred length being 55 characters per line)

In the discussion, they suggest that you should be careful applying principles from printed text to text on screens.

Ling, J., & Van Schaik, P. (2006). The influence of font type and line length on visual search and information retrieval in web pages. International journal of human-computer studies, 64(5), 395-404.

This study comes to the conclusion that longer lines allow for faster scanning of a text for specific terms, but when it comes to processing the information and recalling it later, they found an optimal line length of 70 characters per line. In addition, the subjective preference was for shorter line lengths (55 - 70 characters per line), with a strong effect size in their first experiment and a small-to-medium effect size in their second experiment.

Their main design recommendation relevant to our discussion is:

Given a choice between using long (85–100) and short line lengths (55–70), designers should opt for the latter, because although scanning web pages is also a major activity when finding information on websites (Kitajima et al., 2000), the majority of textual web content is presented to be read rather than skimmed. (page 403)

Baymard Institute

This is a private institute from Denmark, but they do a lot of applied UX research. They have an article on line length that recommends 50-75 characters per line.

Wikipedia

Wikipedia does not provide a clear guideline in terms of line length for electronic text, but also states that shorter line lengths are better for accuracy, while longer line length have benefits for scanning tasks. See https://en.wikipedia.org/wiki/Line_length.

Originally posted by @SebastiaanZ in #224 (comment)

Add ci job to render/lint the markdown pages

We use mdx with some custom plugins and if there's weird (or unsupported) syntax the pages won't render, but since we render them on demand the build won't fail and we won't notice it in PRs.

Issues loading some pages on Firefox

There https://ep2023.europython.eu/wasm page on firefox (v114) has issues and doesn't render the content:
image

Well, technically it renders it for a fraction of a second and then it dissapears:
https://github.com/EuroPython/website/assets/4189262/0d57bd75-ebba-4217-a131-16fd20f94fd6

On the same machine with Chrome I get a clean console output:
image

The error messages:

Error: Connection closed.
    NextJS 42
46-e273b211b434aca0.js:1:3406
    NextJS 44
Uncaught Error: Minified React error #423; visit https://reactjs.org/docs/error-decoder.html?invariant=423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    NextJS 40
9766e88b-8e662d1be9194dc0.js:9:113072
Uncaught Error: Connection closed.
    NextJS 42
46-e273b211b434aca0.js:9:4656
    NextJS 42

fix registration listing

  • Don't show as "announcements", but ideally "Registration" or nothing. Can make a session type on pretalx.
  • Room is all wrong - showing Club A for every instance is probably a pretalx bug. But we can just remove the room in the separate listings all together.

Keynote social card wrong dimensions

  1. I think the dimensions of the card is wrong. It appears cropped on twitter.
  2. should not transform keynoters' picture (cropping is better than warping)

Talks level only displayed on schedule but not inside individual listing

On the schedule, on top of each talk, we display the level (which I assume is Python level and not domain level). But when you click into the talk to see more details, you no longer see the level of the talk. I think both the Python and domain level should be listed before the Abstract.

[Feature Request] additions to the schedule

  • 4 tutorial tracks are accessible to tutorial & combined tickets holders. But we have one track for people with a conference tickets, and the other open to public (both requires additional registration on their dedicated event page). It'd be really nice to have a way to mark the differences on the schedule - perhaps putting a thicker grid between the normal tracks and special tracks and add "registration advised/required" to the special tracks.
  • We have some reserved slots for the open space, e.g. Mentored Sprints. We'll list the events on the menu /events. But would be good to have these represented on the schedule (could be a tab called Open Space).
  • Would be good to list the sprints on the schedule (rooms, coffee break) - perhaps show a dropdown on the schedule but redirect to the sprint page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.