diff options
Diffstat (limited to '')
69 files changed, 783 insertions, 994 deletions
| diff --git a/pydis_site/apps/home/README.md b/pydis_site/apps/home/README.md index 34c1e367..1296ea3f 100644 --- a/pydis_site/apps/home/README.md +++ b/pydis_site/apps/home/README.md @@ -1,8 +1,7 @@  # The "home" app  This Django application takes care of serving the homepage of our website, that -is, the first page that you see when you open pythondiscord.com. It also -manages the timeline page showcasing the history of our community. +is, the first page that you see when you open pythondiscord.com.  ## Directory structure diff --git a/pydis_site/apps/home/urls.py b/pydis_site/apps/home/urls.py index 30321ece..ccbb5824 100644 --- a/pydis_site/apps/home/urls.py +++ b/pydis_site/apps/home/urls.py @@ -1,9 +1,8 @@  from django_distill import distill_path -from .views import HomeView, timeline +from .views import HomeView  app_name = 'home'  urlpatterns = [      distill_path('', HomeView.as_view(), name='home'), -    distill_path('timeline/', timeline, name="timeline"),  ] diff --git a/pydis_site/apps/home/views.py b/pydis_site/apps/home/views.py index bfa9e02d..71f95293 100644 --- a/pydis_site/apps/home/views.py +++ b/pydis_site/apps/home/views.py @@ -153,8 +153,3 @@ class HomeView(View):          """Collect repo data and render the homepage view."""          repo_data = self._get_repo_data()          return render(request, "home/index.html", {"repo_data": repo_data}) - - -def timeline(request: WSGIRequest) -> HttpResponse: -    """Render timeline view.""" -    return render(request, 'home/timeline.html') diff --git a/pydis_site/apps/timeline/README.md b/pydis_site/apps/timeline/README.md new file mode 100644 index 00000000..0b639261 --- /dev/null +++ b/pydis_site/apps/timeline/README.md @@ -0,0 +1,45 @@ +# The "timeline" app + +The [timeline page](https://www.pythondiscord.com/timeline/) on our website is +powered by this Django application. + +## The entries + +Timeline entries are written in markdown files with YAML frontmatter under the +`entries` directory. + +Each file represents a timeline entry. The file names have the format +`<date>_<name>.md`, where: +- `date` is in `YYYY-MM-DD` for easy sorting of files in directory listings, +  also used for sorting of the entries displayed on the timeline page. +- `name` is an arbitrary slug in `kebab-case`, used for linking to individual +  timeline entries on the page, which will be set in the `id` attribute for each +  timeline item. + +Each file contains: +- A YAML frontmatter, which defines some metadata shown next to each entry in +  the timeline, including: +  - `date`: User-facing date label. +  - `icon`: The CSS class used for the icon, e.g. "fa fa-snowflake". Set to +    `pydis` to use the pydis logo image. +  - `icon_color`: The CSS class that sets the background color of the icon, e.g. +    "pastel-red". List of available colors can be found in [the CSS +    file](../../static/css/timeline/timeline.css). This can be omitted if the +    pydis logo is used. +- Markdown content. + + +## Directory structure + +The app has a single view in `views.py` that renders the template using the list +of parsed entries from `apps.py`, which reads the markdown files on startup. +This is a standard Django view, mounted in `urls.py` as usual. + +The `tests` directory validates that the page renders successfully as expected. +If you made changes to the app and are looking for guidance on adding new tests, +the [Django tutorial introducing automated +testing](https://docs.djangoproject.com/en/dev/intro/tutorial05/) is a good +place to start. + +This application does not use the database and as such does not have models nor +migrations. diff --git a/pydis_site/apps/timeline/__init__.py b/pydis_site/apps/timeline/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/pydis_site/apps/timeline/__init__.py diff --git a/pydis_site/apps/timeline/apps.py b/pydis_site/apps/timeline/apps.py new file mode 100644 index 00000000..37a61e93 --- /dev/null +++ b/pydis_site/apps/timeline/apps.py @@ -0,0 +1,50 @@ +from pathlib import Path + +from django.apps import AppConfig +import frontmatter +import markdown + +from pydis_site import settings + + +ENTRIES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "timeline", "entries") + + +class TimelineConfig(AppConfig): +    """AppConfig instance for Timeline app.""" + +    name = 'pydis_site.apps.timeline' + +    def ready(self) -> None: +        """Fetch all the timeline entries.""" +        self.entries = [] + +        for path in ENTRIES_PATH.rglob("*.md"): +            metadata, content = frontmatter.parse(path.read_text(encoding="utf-8")) + +            md = markdown.Markdown() +            html = str(md.convert(content)) + +            # Strip `.md` file extension from filename and split it into the +            # date (for sorting) and slug (for linking). +            key, slug = path.name[:-3].split("_") + +            icon_color = metadata.get("icon_color") +            # Use the pydis blurple as the default background color. +            if not icon_color or metadata["icon"] == "pydis": +                icon_color = "has-background-primary" + +            entry = { +                "key": key, +                "slug": slug, +                "title": metadata["title"], +                "date": metadata["date"], +                "icon": metadata["icon"], +                "icon_color": icon_color, +                "content": html, +            } + +            self.entries.append(entry) + +        # Sort the entries in reverse-chronological order. +        self.entries.sort(key=lambda e: e['key'], reverse=True) diff --git a/pydis_site/apps/timeline/entries/2017-01-08_python-discord-is-created.md b/pydis_site/apps/timeline/entries/2017-01-08_python-discord-is-created.md new file mode 100644 index 00000000..31775b3b --- /dev/null +++ b/pydis_site/apps/timeline/entries/2017-01-08_python-discord-is-created.md @@ -0,0 +1,9 @@ +--- +title: Python Discord is created +date: Jan 8th, 2017 +icon: pydis +--- + +**Joe Banks** becomes one of the owners around 3 days after it is created, and +**Leon Sandøy** (lemon) joins the owner team later in the year, when the +community has around 300 members. diff --git a/pydis_site/apps/timeline/entries/2017-11-10_1000-members.md b/pydis_site/apps/timeline/entries/2017-11-10_1000-members.md new file mode 100644 index 00000000..dd4ec829 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2017-11-10_1000-members.md @@ -0,0 +1,10 @@ +--- +title: Python Discord hits 1,000 members +date: Nov 10th, 2017 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +Our main source of new users at this point is a post on Reddit that happens to +get very good SEO. We are one of the top 10 search engine hits for the search +term "python discord". diff --git a/pydis_site/apps/timeline/entries/2018-02-03_our-logo-is-born.md b/pydis_site/apps/timeline/entries/2018-02-03_our-logo-is-born.md new file mode 100644 index 00000000..1cb2edb1 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-02-03_our-logo-is-born.md @@ -0,0 +1,9 @@ +--- +title: Our logo is born. Thanks @Aperture! +date: Feb 3rd, 2018 +icon: pydis +--- + +<p style="background-color: #7289DA; border-radius: 10px;"> +  <img style="padding-right: 20px;" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_banner/logo_site_banner.svg"> +</p> diff --git a/pydis_site/apps/timeline/entries/2018-03-04_pydis-hits-2000-members-pythondiscord-com-and-python-are-live.md b/pydis_site/apps/timeline/entries/2018-03-04_pydis-hits-2000-members-pythondiscord-com-and-python-are-live.md new file mode 100644 index 00000000..31ee1578 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-03-04_pydis-hits-2000-members-pythondiscord-com-and-python-are-live.md @@ -0,0 +1,11 @@ +--- +title: PyDis hits 2,000 members; pythondiscord.com and @Python are live +date: Mar 4th, 2018 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +The public moderation bot we're using at the time, Rowboat, announces it will be +shutting down. We decide that we'll write our own bot to handle moderation, so +that we can have more control over its features. We also buy a domain and start +making a website in Flask. diff --git a/pydis_site/apps/timeline/entries/2018-03-23_first-code-jam-with-the-theme-snakes.md b/pydis_site/apps/timeline/entries/2018-03-23_first-code-jam-with-the-theme-snakes.md new file mode 100644 index 00000000..48b301e3 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-03-23_first-code-jam-with-the-theme-snakes.md @@ -0,0 +1,12 @@ +--- +title: First code jam with the theme “snakes” +date: Mar 23rd, 2018 +icon: fa fa-dice +icon_color: pastel-blue +--- + +Our very first Code Jam attracts a handful of users who work in random teams of +2. We ask our participants to write a snake-themed Discord bot. Most of the code +written for this jam still lives on in Sir Lancebot, and you can play with it by +using the `.snakes` command. For more information on this event, see [the event +page](https://pythondiscord.com/pages/code-jams/code-jam-1-snakes-bot/) diff --git a/pydis_site/apps/timeline/entries/2018-05-21_privacy-policy-created.md b/pydis_site/apps/timeline/entries/2018-05-21_privacy-policy-created.md new file mode 100644 index 00000000..2202a5a8 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-05-21_privacy-policy-created.md @@ -0,0 +1,12 @@ +--- +title: The privacy policy is created +date: May 21st, 2018 +icon: fa fa-scroll +icon_color: pastel-lime +--- + +Since data privacy is quite important to us, we create a privacy page pretty +much as soon as our new bot and site starts collecting some data. To this day, +we keep [our privacy policy](https://pythondiscord.com/pages/privacy/) up to +date with all changes, and since April 2020 we've started doing [monthly data +reviews](https://pythondiscord.notion.site/6784e3a9752444e89d19e65fd4510d8d). diff --git a/pydis_site/apps/timeline/entries/2018-06-09_do-you-even-python-and-pydis-merger.md b/pydis_site/apps/timeline/entries/2018-06-09_do-you-even-python-and-pydis-merger.md new file mode 100644 index 00000000..4390708e --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-06-09_do-you-even-python-and-pydis-merger.md @@ -0,0 +1,13 @@ +--- +title: Do You Even Python and PyDis merger +date: Jun 9th, 2018 +icon: fa fa-handshake +icon_color: pastel-pink +--- + +At this point in time, there are only two serious Python communities on Discord +- Ours, and one called Do You Even Python. We approach the owners of DYEP with a +bold proposal - let's shut down their community, replace it with links to ours, +and in return we will let their staff join our staff. This gives us a big boost +in members, and eventually leads to @eivl and @Mr. Hemlock joining our Admin +team diff --git a/pydis_site/apps/timeline/entries/2018-06-20_pydis-hits-5000-members-and-partners-with-r-python.md b/pydis_site/apps/timeline/entries/2018-06-20_pydis-hits-5000-members-and-partners-with-r-python.md new file mode 100644 index 00000000..c0a1d391 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-06-20_pydis-hits-5000-members-and-partners-with-r-python.md @@ -0,0 +1,10 @@ +--- +title: PyDis hits 5,000 members and partners with r/Python +date: Jun 20th, 2018 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +As we continue to grow, we approach the r/Python subreddit and ask to become +their official Discord community. They agree, and we become listed in their +sidebar, giving us yet another source of new members. diff --git a/pydis_site/apps/timeline/entries/2018-07-10_pydis-is-now-partnered-with-discord.md b/pydis_site/apps/timeline/entries/2018-07-10_pydis-is-now-partnered-with-discord.md new file mode 100644 index 00000000..f8bf226f --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-07-10_pydis-is-now-partnered-with-discord.md @@ -0,0 +1,10 @@ +--- +title: PyDis is now partnered with Discord; the vanity URL discord.gg/python is created +date: Jul 10th, 2018 +icon: fa fa-handshake +icon_color: pastel-pink +--- + +After being rejected for their Partner program several times, we finally get +approved. The recent partnership with the r/Python subreddit plays a significant +role in qualifying us for this partnership. diff --git a/pydis_site/apps/timeline/entries/2018-10-01_first-hacktoberfest-pydis-event.md b/pydis_site/apps/timeline/entries/2018-10-01_first-hacktoberfest-pydis-event.md new file mode 100644 index 00000000..305bc8df --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-10-01_first-hacktoberfest-pydis-event.md @@ -0,0 +1,12 @@ +--- +title: First Hacktoberfest PyDis event; @Sir Lancebot is created +date: Oct 1st, 2018 +icon: fa fa-dice +icon_color: pastel-blue +--- + +We create a second bot for our community and fill it up with simple, fun and +relatively easy issues. The idea is to create an approachable arena for our +members to cut their open-source teeth on, and to provide lots of help and hand- +holding for those who get stuck. We're training our members to be productive +contributors in the open-source ecosystem. diff --git a/pydis_site/apps/timeline/entries/2018-11-24_10000-members.md b/pydis_site/apps/timeline/entries/2018-11-24_10000-members.md new file mode 100644 index 00000000..4eca7453 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-11-24_10000-members.md @@ -0,0 +1,9 @@ +--- +title: PyDis hits 10,000 members +date: Nov 24th, 2018 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +We partner with RLBot, move from GitLab to GitHub, and start putting together +the first Advent of Code event. diff --git a/pydis_site/apps/timeline/entries/2018-12-19_django-simple-bulma-is-released-on-pypi.md b/pydis_site/apps/timeline/entries/2018-12-19_django-simple-bulma-is-released-on-pypi.md new file mode 100644 index 00000000..a262b000 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2018-12-19_django-simple-bulma-is-released-on-pypi.md @@ -0,0 +1,11 @@ +--- +title: django-simple-bulma is released on PyPi +date: Dec 19th, 2018 +icon: fa fa-code +icon_color: pastel-orange +--- + +Our very first package on PyPI, [django-simple- +bulma](https://pypi.org/project/django-simple-bulma/) is a package that sets up +the Bulma CSS framework for your Django application and lets you configure +everything in settings.py. diff --git a/pydis_site/apps/timeline/entries/2019-04-08_15000-members.md b/pydis_site/apps/timeline/entries/2019-04-08_15000-members.md new file mode 100644 index 00000000..330bbd15 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2019-04-08_15000-members.md @@ -0,0 +1,10 @@ +--- +title: PyDis hits 15,000 members; the “hot ones special” video is released +date: Apr 8th, 2019 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" src="https://www.youtube.com/embed/DIBXg8Qh7bA"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2019-09-15_the-django-rewrite-of-pythondiscord-com.md b/pydis_site/apps/timeline/entries/2019-09-15_the-django-rewrite-of-pythondiscord-com.md new file mode 100644 index 00000000..b18975a8 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2019-09-15_the-django-rewrite-of-pythondiscord-com.md @@ -0,0 +1,10 @@ +--- +title: The Django rewrite of pythondiscord.com is now live! +date: Sep 15, 2019 +icon: fa fa-code +icon_color: pastel-orange +--- + +The site is getting more and more complex, and it's time for a rewrite. We +decide to go for a different stack, and build a website based on Django, DRF, +Bulma and PostgreSQL. diff --git a/pydis_site/apps/timeline/entries/2019-09-22_sebastiaan-zeef-becomes-an-owner.md b/pydis_site/apps/timeline/entries/2019-09-22_sebastiaan-zeef-becomes-an-owner.md new file mode 100644 index 00000000..504c06e1 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2019-09-22_sebastiaan-zeef-becomes-an-owner.md @@ -0,0 +1,9 @@ +--- +title: Sebastiaan Zeef becomes an owner +date: Sept 22nd, 2019 +icon: pydis +--- + +After being a long time active contributor to our projects and the driving force +behind many of our events, Sebastiaan Zeef joins the Owners Team alongside Joe & +Leon. diff --git a/pydis_site/apps/timeline/entries/2019-10-26_code-of-conduct-created.md b/pydis_site/apps/timeline/entries/2019-10-26_code-of-conduct-created.md new file mode 100644 index 00000000..a4559c31 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2019-10-26_code-of-conduct-created.md @@ -0,0 +1,10 @@ +--- +title: The code of conduct is created +date: Oct 26th, 2019 +icon: fa fa-scroll +icon_color: pastel-lime +--- + +Inspired by the Adafruit, Rust and Django communities, an essential community +pillar is created; Our [Code of Conduct.](https://pythondiscord.com/pages/code- +of-conduct/) diff --git a/pydis_site/apps/timeline/entries/2019-12-22_30000-members.md b/pydis_site/apps/timeline/entries/2019-12-22_30000-members.md new file mode 100644 index 00000000..273f46ad --- /dev/null +++ b/pydis_site/apps/timeline/entries/2019-12-22_30000-members.md @@ -0,0 +1,10 @@ +--- +title: PyDis hits 30,000 members +date: Dec 22nd, 2019 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +More than tripling in size since the year before, the community hits 30000 +users. At this point, we're probably the largest Python chat community on the +planet. diff --git a/pydis_site/apps/timeline/entries/2020-01-17_pydis-sixth-code-jam.md b/pydis_site/apps/timeline/entries/2020-01-17_pydis-sixth-code-jam.md new file mode 100644 index 00000000..45048a8f --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-01-17_pydis-sixth-code-jam.md @@ -0,0 +1,16 @@ +--- +title: PyDis sixth code jam with the theme “Ancient technology” and the technology Kivy +date: Jan 17, 2020 +icon: fa fa-dice +icon_color: pastel-blue +--- + +Our Code Jams are becoming an increasingly big deal, and the Kivy core +developers join us to judge the event and help out our members during the event. +One of them, @tshirtman, even joins our staff! + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" +allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/8fbZsGrqBzo"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2020-04-05_new-help-channel-system.md b/pydis_site/apps/timeline/entries/2020-04-05_new-help-channel-system.md new file mode 100644 index 00000000..62db5434 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-04-05_new-help-channel-system.md @@ -0,0 +1,11 @@ +--- +title: The new help channel system is live +date: Apr 5th, 2020 +icon: fa fa-comments +icon_color: pastel-green +--- + +We release our dynamic help-channel system, which allows you to claim your very +own help channel instead of fighting over the static help channels. We release a +[Help Channel Guide](https://pythondiscord.com/pages/resources/guides/help- +channels/) to help our members fully understand how the system works. diff --git a/pydis_site/apps/timeline/entries/2020-04-14_40000-members.md b/pydis_site/apps/timeline/entries/2020-04-14_40000-members.md new file mode 100644 index 00000000..db9e40fe --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-04-14_40000-members.md @@ -0,0 +1,8 @@ +--- +title: Python Discord hits 40,000 members, and is now bigger than Liechtenstein. +date: Apr 14, 2020 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + + diff --git a/pydis_site/apps/timeline/entries/2020-04-17_pydis-game-jam-2020.md b/pydis_site/apps/timeline/entries/2020-04-17_pydis-game-jam-2020.md new file mode 100644 index 00000000..b3b215ac --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-04-17_pydis-game-jam-2020.md @@ -0,0 +1,15 @@ +--- +title: PyDis Game Jam 2020 with the “Three of a Kind” theme and Arcade as the technology +date: Apr 17th, 2020 +icon: fa fa-gamepad +icon_color: pastel-purple +--- + +The creator of Arcade, Paul Vincent Craven, joins us as a judge. Several of the +Code Jam participants also end up getting involved contributing to the Arcade +repository. + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/KkLXMvKfEgs"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2020-05-25_modmail-is-now-live.md b/pydis_site/apps/timeline/entries/2020-05-25_modmail-is-now-live.md new file mode 100644 index 00000000..28a75d8b --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-05-25_modmail-is-now-live.md @@ -0,0 +1,11 @@ +--- +title: ModMail is now live +date: May 25th, 2020 +icon: fa fa-comments +icon_color: pastel-green +--- + +Having originally planned to write our own ModMail bot from scratch, we come +across an exceptionally good [ModMail bot by +kyb3r](https://github.com/kyb3r/modmail) and decide to just self-host that one +instead. diff --git a/pydis_site/apps/timeline/entries/2020-05-28_python-discord-is-now-listed-on-python-org.md b/pydis_site/apps/timeline/entries/2020-05-28_python-discord-is-now-listed-on-python-org.md new file mode 100644 index 00000000..e5b8f65f --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-05-28_python-discord-is-now-listed-on-python-org.md @@ -0,0 +1,11 @@ +--- +title: Python Discord is now listed on python.org/community +date: May 28th, 2020 +icon: fa fa-handshake +icon_color: pastel-pink +--- + +After working towards this goal for months, we finally work out an arrangement +with the PSF that allows us to be listed on that most holiest of websites: +https://python.org/. [There was much +rejoicing.](https://youtu.be/yciX2meIkXI?t=3) diff --git a/pydis_site/apps/timeline/entries/2020-06-04_python-discord-public-statistics-are-now-live.md b/pydis_site/apps/timeline/entries/2020-06-04_python-discord-public-statistics-are-now-live.md new file mode 100644 index 00000000..f92628d1 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-06-04_python-discord-public-statistics-are-now-live.md @@ -0,0 +1,10 @@ +--- +title: Python Discord Public Statistics are now live +date: Jun 4th, 2020 +icon: fa fa-chart-bar +icon_color: pastel-red +--- + +After getting numerous requests to publish beautiful data on member count and +channel use, we create +[stats.pythondiscord.com](https://stats.pythondiscord.com/) for all to enjoy. diff --git a/pydis_site/apps/timeline/entries/2020-07-31_pydis-summer-code-jam-2020.md b/pydis_site/apps/timeline/entries/2020-07-31_pydis-summer-code-jam-2020.md new file mode 100644 index 00000000..0fe8df6b --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-07-31_pydis-summer-code-jam-2020.md @@ -0,0 +1,14 @@ +--- +title: PyDis summer code jam 2020 with the theme “Early Internet” and Django as the technology +date: Jul 31st, 2020 +icon: fa fa-dice +icon_color: pastel-blue +--- + +Sponsored by the Django Software Foundation and JetBrains, the Summer Code Jam +for 2020 attracts hundreds of participants, and sees the creation of some +fantastic projects. Check them out in our judge stream below: + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" src="https://www.youtube.com/embed/OFtm8f2iu6c"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2020-08-16_python-discord-is-now-the-new-home-of-the-pyweek-event.md b/pydis_site/apps/timeline/entries/2020-08-16_python-discord-is-now-the-new-home-of-the-pyweek-event.md new file mode 100644 index 00000000..2fcd7ec5 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-08-16_python-discord-is-now-the-new-home-of-the-pyweek-event.md @@ -0,0 +1,10 @@ +--- +title: Python Discord is now the new home of the PyWeek event! +date: Aug 16th, 2020 +icon: fa fa-handshake +icon_color: pastel-pink +--- + +PyWeek, a game jam that has been running since 2005, joins Python Discord as one +of our official events. Find more information about PyWeek on [their official +website](https://pyweek.org/). diff --git a/pydis_site/apps/timeline/entries/2020-10-21_2020-cpython-core-developer-q-a.md b/pydis_site/apps/timeline/entries/2020-10-21_2020-cpython-core-developer-q-a.md new file mode 100644 index 00000000..a7ddef89 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-10-21_2020-cpython-core-developer-q-a.md @@ -0,0 +1,9 @@ +--- +title: Python Discord hosts the 2020 CPython Core Developer Q&A +date: Oct 21st, 2020 +icon: pydis +--- + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" src="https://www.youtube.com/embed/gXMdfBTcOfQ"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2020-10-22_100000-members.md b/pydis_site/apps/timeline/entries/2020-10-22_100000-members.md new file mode 100644 index 00000000..3f196f2c --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-10-22_100000-members.md @@ -0,0 +1,10 @@ +--- +title: Python Discord hits 100,000 members! +date: Oct 22nd, 2020 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +Only six months after hitting 40,000 users, we hit 100,000 users. A monumental +milestone, and one we're very proud of. To commemorate it, we create this +timeline. diff --git a/pydis_site/apps/timeline/entries/2020-11-29_we-migrate-all-our-infrastructure-to-kubernetes.md b/pydis_site/apps/timeline/entries/2020-11-29_we-migrate-all-our-infrastructure-to-kubernetes.md new file mode 100644 index 00000000..00916c2a --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-11-29_we-migrate-all-our-infrastructure-to-kubernetes.md @@ -0,0 +1,10 @@ +--- +title: We migrate all our infrastructure to Kubernetes +date: Nov 29th, 2020 +icon: fa fa-wrench +icon_color: pastel-orange +--- + +As our tech stack grows, we decide to migrate all our services over to a +container orchestration paradigm via Kubernetes. This gives us better control +and scalability. **Joe Banks** takes on the role as DevOps Lead. diff --git a/pydis_site/apps/timeline/entries/2020-12-01_advent-of-code.md b/pydis_site/apps/timeline/entries/2020-12-01_advent-of-code.md new file mode 100644 index 00000000..d24e02a1 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2020-12-01_advent-of-code.md @@ -0,0 +1,11 @@ +--- +title: Advent of Code attracts hundreds of participants +date: December 1st - 25th, 2020 +icon: fa fa-snowflake +icon_color: pastel-red +--- + +A total of 443 Python Discord members sign up to be part of [Eric Wastl's +excellent Advent of Code event](https://adventofcode.com/). As always, we +provide dedicated announcements, scoreboards, bot commands and channels for our +members to enjoy the event in. diff --git a/pydis_site/apps/timeline/entries/2021-02-08_we-release-the-pep-8-song.md b/pydis_site/apps/timeline/entries/2021-02-08_we-release-the-pep-8-song.md new file mode 100644 index 00000000..de97b1f4 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-02-08_we-release-the-pep-8-song.md @@ -0,0 +1,14 @@ +--- +title: We release The PEP 8 song +date: February 8th, 2021 +icon: fa fa-music +icon_color: pastel-blue +--- + +We release the PEP 8 song on our YouTube channel, which finds tens of thousands +of listeners! + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/hgI0p1zf31k"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2021-02-18_150000-members.md b/pydis_site/apps/timeline/entries/2021-02-18_150000-members.md new file mode 100644 index 00000000..9a252255 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-02-18_150000-members.md @@ -0,0 +1,8 @@ +--- +title: We now have 150,000 members! +date: Feb 18th, 2021 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +Our growth continues to accelerate. diff --git a/pydis_site/apps/timeline/entries/2021-03-01_leon-sandoy-appears-on-talk-python-to-me.md b/pydis_site/apps/timeline/entries/2021-03-01_leon-sandoy-appears-on-talk-python-to-me.md new file mode 100644 index 00000000..0ea1eeaa --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-03-01_leon-sandoy-appears-on-talk-python-to-me.md @@ -0,0 +1,16 @@ +--- +title: Leon Sandøy appears on Talk Python To Me +date: Mar 1st, 2021 +icon: fa fa-microphone +icon_color: pastel-green +--- + +Leon goes on the Talk Python to Me podcast with Michael Kennedy to discuss the +history of Python Discord, the critical importance of culture, and how to run a +massive community. You can find the episode [at +talkpython.fm](https://talkpython.fm/episodes/show/305/python-community-at- +python-discord). + +<iframe width="100%" height="166" scrolling="no" frameborder="no" +src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/996083146&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"> +</iframe> diff --git a/pydis_site/apps/timeline/entries/2021-03-13_new-feature-weekly-discussion-channel.md b/pydis_site/apps/timeline/entries/2021-03-13_new-feature-weekly-discussion-channel.md new file mode 100644 index 00000000..f037aeba --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-03-13_new-feature-weekly-discussion-channel.md @@ -0,0 +1,16 @@ +--- +title: "New feature: Weekly discussion channel" +date: Mar 13th, 2021 +icon: fa fa-comment +icon_color: pastel-purple +--- + +Every week (or two weeks), we'll be posting a new topic to discuss in a channel +called **#weekly-topic-discussion**. Our inaugural topic is a PyCon talk by +Anthony Shaw called **Wily Python: Writing simpler and more maintainable +Python.**. + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/dqdsNoApJ80"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2021-03-13_teaching-python-podcast.md b/pydis_site/apps/timeline/entries/2021-03-13_teaching-python-podcast.md new file mode 100644 index 00000000..ac2997d1 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-03-13_teaching-python-podcast.md @@ -0,0 +1,14 @@ +--- +title: We're on the Teaching Python podcast! +date: Mar 13th, 2021 +icon: fa fa-microphone +icon_color: pastel-pink +--- + +Leon joins Sean and Kelly on the Teaching Python podcast to discuss how the +pandemic has changed the way we learn, and what role communities like Python +Discord can play in this new world. You can find the episode [at +teachingpython.fm](https://www.teachingpython.fm/63). + +<iframe width="100%" height="166" frameborder="0" scrolling="no" +src="https://player.fireside.fm/v2/UIYXtbeL+qOjGAsKi?theme=dark"></iframe> diff --git a/pydis_site/apps/timeline/entries/2021-03-21_summer-code-jam-2020-highlights.md b/pydis_site/apps/timeline/entries/2021-03-21_summer-code-jam-2020-highlights.md new file mode 100644 index 00000000..eebb69ff --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-03-21_summer-code-jam-2020-highlights.md @@ -0,0 +1,15 @@ +--- +title: Summer Code Jam 2020 Highlights +date: Mar 21st, 2021 +icon: fab fa-youtube +icon_color: pastel-red +--- + +We release a new video to our YouTube showing the best projects from the Summer +Code Jam 2020. Better late than never! + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" +allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/g9cnp4W0P54"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2021-04-23_owners-become-psf-fellows.md b/pydis_site/apps/timeline/entries/2021-04-23_owners-become-psf-fellows.md new file mode 100644 index 00000000..9db51ac7 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-04-23_owners-become-psf-fellows.md @@ -0,0 +1,10 @@ +--- +title: Owners become PSF Fellows +date: April 23, 2021 +icon: pydis +--- + +Joe, Leon, and Sebastiaan [are recognized as Python Software Foundation +Fellows](https://pyfound.blogspot.com/2021/04/python-software-foundation- +fellow.html)  for their substantial contributions to the Python ecosystem by +fostering Python Discord. diff --git a/pydis_site/apps/timeline/entries/2021-05-24_inaugural-run-of-pixels.md b/pydis_site/apps/timeline/entries/2021-05-24_inaugural-run-of-pixels.md new file mode 100644 index 00000000..66ecf82e --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-05-24_inaugural-run-of-pixels.md @@ -0,0 +1,14 @@ +--- +title: Inaugural run of Pixels +date: May 24, 2021 +icon: fa fa-palette +icon_color: pastel-purple +--- + +Inspired by the subreddit, r/place, Pixels was our collaborative canvas event +held between May 25 to June 14, providing a beginner-friendly API to paint +pixels on a virtual canvas. + +Later, we released [a blog +post](https://blog.pythondiscord.com/pixels-summer-2021/) summarizing what +happened, our motives, and some stories from during development. diff --git a/pydis_site/apps/timeline/entries/2021-05-24_partnership-with-black.md b/pydis_site/apps/timeline/entries/2021-05-24_partnership-with-black.md new file mode 100644 index 00000000..e2240b65 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-05-24_partnership-with-black.md @@ -0,0 +1,10 @@ +--- +title: Partnership with Black +date: May 24th, 2021 +icon: fa fa-handshake + +--- + +We partner with the uncompromising code formatter project, Black, who were +looking for a new home for their real-time chat. Python Discord ended up being +that home, resulting in the creation of the `#black-formatter` channel. diff --git a/pydis_site/apps/timeline/entries/2021-07-09_summer-code-jam-2021-cj8.md b/pydis_site/apps/timeline/entries/2021-07-09_summer-code-jam-2021-cj8.md new file mode 100644 index 00000000..a86f7da5 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-07-09_summer-code-jam-2021-cj8.md @@ -0,0 +1,11 @@ +--- +title: Summer Code Jam 2021 (CJ8) +date: July 9, 2021 +icon: fa fa-dice +icon_color: pastel-orange +--- + +We host the 8th now-annual Code Jam. Teams had to create a program with an +text-based user interface (TUI), all designed around the theme of “think inside +the box.” Ultimately, 51 teams submitted projects. [The winning submissions are +listed on our website.](https://www.pythondiscord.com/events/code-jams/8/) diff --git a/pydis_site/apps/timeline/entries/2021-10-04_python-310-release-stream.md b/pydis_site/apps/timeline/entries/2021-10-04_python-310-release-stream.md new file mode 100644 index 00000000..3e7d3025 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2021-10-04_python-310-release-stream.md @@ -0,0 +1,16 @@ +--- +title: We host the Python 3.10 Release Stream +date: Oct 4th, 2021 +icon: pydis +--- + +Leon and Pablo Galindo, CPython Core Developer and Release Manager, host the +Python 3.10 Release Stream, joined by other core devs Carol Willing, Irit +Katriel, Łukasz Langa, and Brandt Bucher. They talked in-depth about the new +features introduced in 3.10, the development of those features, and more! + +<div class="force-aspect-container"> +<iframe allowfullscreen="" class="force-aspect-content" +allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" +frameborder="0" src="https://www.youtube.com/embed/AHT2l3hcIJg"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2022-01-19_300000-members.md b/pydis_site/apps/timeline/entries/2022-01-19_300000-members.md new file mode 100644 index 00000000..9090a920 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-01-19_300000-members.md @@ -0,0 +1,9 @@ +--- +title: We hit 300 000 members! +date: Jan 19, 2022 +icon: fa fa-users +icon_color: pastel-dark-blue +--- + +Thanks to an increasing growth rate, Python Discord's membership count doubled +from 150,000 to 300,000 in less than a year! diff --git a/pydis_site/apps/timeline/entries/2022-02-02_smarter-resources.md b/pydis_site/apps/timeline/entries/2022-02-02_smarter-resources.md new file mode 100644 index 00000000..137c0dab --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-02-02_smarter-resources.md @@ -0,0 +1,11 @@ +--- +title: Deployment of Smarter Resources +date: Feb 2nd, 2022 +icon: fa fa-code +icon_color: pastel-red +--- + +We gave our resources pages some much needed love and [reorganised them into a +single page](https://www.pythondiscord.com/resources/), complete with a shiny +new resource filter that allows you to more quickly find ones that relate to +your interests, experience, learning style, and ability to pay! diff --git a/pydis_site/apps/timeline/entries/2022-02-09_events-team.md b/pydis_site/apps/timeline/entries/2022-02-09_events-team.md new file mode 100644 index 00000000..51036918 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-02-09_events-team.md @@ -0,0 +1,9 @@ +--- +title: Creation of Events Team +date: Feb 9th, 2022 +icon: pydis +--- + +We form the Events Team to organise and run future events. Led by Kat and +comprised by staff members, the goal of the team is to ultimately host more +events in a more sustainable way. diff --git a/pydis_site/apps/timeline/entries/2022-02-12_trivia-night.md b/pydis_site/apps/timeline/entries/2022-02-12_trivia-night.md new file mode 100644 index 00000000..7a4a1b8c --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-02-12_trivia-night.md @@ -0,0 +1,11 @@ +--- +title: Trivia Night +date: Feb 12th, 2022 +icon: fa fa-question +icon_color: pastel-green +--- + +How well do you know Python inside out? Members got to find out in a Trivia +Night event. Contestants were given questions about Python's internals, its +development, and more. To win, contestants had to get the most questions right +while being fast to answer. diff --git a/pydis_site/apps/timeline/entries/2022-02-21_sir-robin.md b/pydis_site/apps/timeline/entries/2022-02-21_sir-robin.md new file mode 100644 index 00000000..ac421acb --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-02-21_sir-robin.md @@ -0,0 +1,9 @@ +--- +title: Addition of @Sir Robin +date: Feb 21st, 2022 +icon: fa fa-robot +icon_color: pastel-blue +--- + +Our arsenal of bots grows! We add @Sir Robin to power and manage all of our +future events and to support the Events Team. diff --git a/pydis_site/apps/timeline/entries/2022-05-19_partnership-with-pyqtgraph.md b/pydis_site/apps/timeline/entries/2022-05-19_partnership-with-pyqtgraph.md new file mode 100644 index 00000000..7d738f4e --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-05-19_partnership-with-pyqtgraph.md @@ -0,0 +1,9 @@ +--- +title: Partnership with pyqtgraph +date: May 19th, 2022 +icon: fa fa-handshake + +--- + +The `#pyqtgraph` channel is created for the Scientific Graphics and GUI library +pyqtgraph, joining `#black-formatter`. diff --git a/pydis_site/apps/timeline/entries/2022-07-21_summer-code-jam-2022-cj9.md b/pydis_site/apps/timeline/entries/2022-07-21_summer-code-jam-2022-cj9.md new file mode 100644 index 00000000..a444338c --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-07-21_summer-code-jam-2022-cj9.md @@ -0,0 +1,17 @@ +--- +title: Summer Code Jam 2022 (CJ9) +date: July 21st, 2022 +icon: fa fa-dice +icon_color: pastel-lime +--- + +We host the 9th Code Jam. This year, teams had to use **websockets** to create a +project based on the theme, **It's not a bug, it's a feature**. In all, 24 teams +submitted their projects. At the end, we held a livestream demoing the top 10 +projects and announcing the winner! + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" +allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/YZcVjFED6Hg"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2022-10-24_python-311-release-stream.md b/pydis_site/apps/timeline/entries/2022-10-24_python-311-release-stream.md new file mode 100644 index 00000000..21f6ab03 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-10-24_python-311-release-stream.md @@ -0,0 +1,17 @@ +--- +title: Python 3.11 Release Stream +date: Oct 24th, 2022 +icon: pydis +--- + +With the Python 3.10 Release Stream being such a success, we brought it back for +the release of Python 3.11. Hosted by Leon, and CPython 3.11 Release Manager, +Pablo Galindo, they were joined by other CPython Core Developers. Together, they +discuss the specific features and the overall development process of the +release. + +<div class="force-aspect-container"> +<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" +allowfullscreen="" class="force-aspect-content" frameborder="0" +src="https://www.youtube.com/embed/PGZPSWZSkJI"></iframe> +</div> diff --git a/pydis_site/apps/timeline/entries/2022-11-25_switch-to-forum-based-help-system.md b/pydis_site/apps/timeline/entries/2022-11-25_switch-to-forum-based-help-system.md new file mode 100644 index 00000000..cfb920d2 --- /dev/null +++ b/pydis_site/apps/timeline/entries/2022-11-25_switch-to-forum-based-help-system.md @@ -0,0 +1,11 @@ +--- +title: Switch to forum-based help system +date: Nov 25th, 2022 +icon: fa fa-comments +icon_color: pastel-pink +--- + +We migrate our help system to use a forum channel, retiring our home-grown +rotating help system after 3 years of service and nearly 500,000 help sessions. +Forum channels offer a better experience as members can create their own +dedicated thread in a discoverable place. diff --git a/pydis_site/apps/timeline/entries/2023-01-30_retirement-of-joe-and-sebastiaan.md b/pydis_site/apps/timeline/entries/2023-01-30_retirement-of-joe-and-sebastiaan.md new file mode 100644 index 00000000..e1d699ed --- /dev/null +++ b/pydis_site/apps/timeline/entries/2023-01-30_retirement-of-joe-and-sebastiaan.md @@ -0,0 +1,12 @@ +--- +title: Retirement of Joe and Sebastiaan +date: Jan 30th, 2023 +icon: pydis +--- + +Having been at the helm of Python Discord for over 5 and 3 years respectively, +Joe and Sebastiaan retire and step down. They gain the @Founders role and +continue as advisors to the @Directors, the new name of the original @Owners +role. + +At the same time, Mina and Zig join Leon as co-directors. diff --git a/pydis_site/apps/timeline/entries/2023-07-11_new-paste-service.md b/pydis_site/apps/timeline/entries/2023-07-11_new-paste-service.md new file mode 100644 index 00000000..4cc7e7ce --- /dev/null +++ b/pydis_site/apps/timeline/entries/2023-07-11_new-paste-service.md @@ -0,0 +1,13 @@ +--- +title: Switch to new paste service +date: Jul 11th, 2023 +icon: fa-solid fa-clipboard +icon_color: pastel-pink +--- + +We migrate over to [pinnwand](https://github.com/supakeen/pinnwand) as the +service that powers our paste bin over at +[https://paste.pythondiscord.com/](https://paste.pythondiscord.com). We made the +switch as it comes with native light/dark modes, support for multi-file pastes, +additional support for text highlighting languages, and plus, it's written in +Python! diff --git a/pydis_site/apps/timeline/tests/__init__.py b/pydis_site/apps/timeline/tests/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/pydis_site/apps/timeline/tests/__init__.py diff --git a/pydis_site/apps/timeline/tests/test_views.py b/pydis_site/apps/timeline/tests/test_views.py new file mode 100644 index 00000000..a3e2e805 --- /dev/null +++ b/pydis_site/apps/timeline/tests/test_views.py @@ -0,0 +1,10 @@ +from django.test import TestCase +from django.urls import reverse + + +class TestIndexReturns200(TestCase): +    def test_index_returns_200(self): +        """Check that the index page returns a HTTP 200 response.""" +        url = reverse('timeline:index') +        resp = self.client.get(url) +        self.assertEqual(resp.status_code, 200) diff --git a/pydis_site/apps/timeline/urls.py b/pydis_site/apps/timeline/urls.py new file mode 100644 index 00000000..e4f1d6c6 --- /dev/null +++ b/pydis_site/apps/timeline/urls.py @@ -0,0 +1,9 @@ +from django_distill import distill_path + +from .views import TimelineView + +app_name = "timeline" + +urlpatterns = [ +    distill_path("", TimelineView.as_view(), name="index"), +] diff --git a/pydis_site/apps/timeline/views.py b/pydis_site/apps/timeline/views.py new file mode 100644 index 00000000..380dfe53 --- /dev/null +++ b/pydis_site/apps/timeline/views.py @@ -0,0 +1,20 @@ +from django.apps import apps +from django.core.handlers.wsgi import WSGIRequest +from django.http import HttpResponse +from django.shortcuts import render +from django.views import View + +APP_NAME = "timeline" + +class TimelineView(View): +    """A vertical timeline showcasing milestones in the history of Python Discord.""" + +    def get(self, request: WSGIRequest) -> HttpResponse: +        """Render the timeline.""" +        app = apps.get_app_config(APP_NAME) + +        return render( +            request, +            template_name="timeline/timeline.html", +            context={ "entries": app.entries }, +        ) diff --git a/pydis_site/settings.py b/pydis_site/settings.py index f59b179a..dcb37b54 100644 --- a/pydis_site/settings.py +++ b/pydis_site/settings.py @@ -115,6 +115,7 @@ NON_STATIC_APPS = [  INSTALLED_APPS = [      *NON_STATIC_APPS,      'pydis_site.apps.home', +    'pydis_site.apps.timeline',      'pydis_site.apps.resources',      'pydis_site.apps.content',      'pydis_site.apps.events', diff --git a/pydis_site/static/css/home/timeline.css b/pydis_site/static/css/timeline/timeline.css index 7f6c4160..1970383f 100644 --- a/pydis_site/static/css/home/timeline.css +++ b/pydis_site/static/css/timeline/timeline.css @@ -145,6 +145,15 @@      flex-grow: 1;  } +/* Don't make the titles show up as link colors before hover. */ +.timeline-content h3 a { +    color: inherit; +} + +.timeline-content h3 a:hover { +    color: #7289DA; +} +  @media (min-width: 1023px) {      .timeline-item:nth-child(odd) {          flex-direction: row-reverse; diff --git a/pydis_site/templates/base/navbar.html b/pydis_site/templates/base/navbar.html index 2fcd8ad8..41f5fa10 100644 --- a/pydis_site/templates/base/navbar.html +++ b/pydis_site/templates/base/navbar.html @@ -88,7 +88,7 @@            <a class="navbar-item" href="{% url "content:page_category" location="guides" %}">              Guides            </a> -          <a class="navbar-item" href="{% url 'home:timeline' %}"> +          <a class="navbar-item" href="{% url 'timeline:index' %}">              Timeline            </a>            <a class="navbar-item" href="{% url "content:page_category" location="rules" %}"> diff --git a/pydis_site/templates/home/index.html b/pydis_site/templates/home/index.html index 9ff6b393..c7d14fd6 100644 --- a/pydis_site/templates/home/index.html +++ b/pydis_site/templates/home/index.html @@ -110,7 +110,7 @@              </p>              <div class="buttons are-large is-centered"> -              <a href="{% url 'home:timeline' %}" class="button is-primary"> +              <a href="{% url 'timeline:index' %}" class="button is-primary">                  <span>Check it out!</span>                  <span class="icon">                    <i class="fas fa-arrow-right"></i> diff --git a/pydis_site/templates/home/timeline.html b/pydis_site/templates/home/timeline.html deleted file mode 100644 index 6a7df522..00000000 --- a/pydis_site/templates/home/timeline.html +++ /dev/null @@ -1,983 +0,0 @@ -{% extends 'base/base.html' %} -{% load static %} - -{% block title %}Timeline{% endblock %} -{% block head %} -  <link rel="stylesheet" href="{% static "css/home/timeline.css" %}"> -{% endblock %} - -{% block content %} -  {% include "base/navbar.html" %} - -  <section class="timeline"> -    <div class="container"> -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-comments"></i></span> -          </div> -          <span class="timeline-date">Jul 11th, 2023</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Switch to new paste service</h3> -          <p> -            We migrate over to <a href="https://github.com/supakeen/pinnwand">pinnwand</a> -            as the service that powers our paste bin over at -            <a href="https://paste.pythondiscord.com">https://paste.pythondiscord.com/</a>. -            We made the switch as it comes with native light/dark modes, support for multi-file -            pastes, additional support for text highlighting languages, and plus, it's written in -            Python! -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Jan 30th, 2023</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Retirement of Joe and Sebastiaan</h3> -          <p> -            Having been at the helm of Python Discord for over 5 and 3 years respectively, Joe and -            Sebastiaan retire and step down. They gain the @Founders role and continue as advisors -            to the @Directors, the new name of the original @Owners role. - -            At the same time, Mina and Zig join Leon as co-directors. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-comments"></i></span> -          </div> -          <span class="timeline-date">Nov 25th, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Switch to forum-based help system</h3> -          <p> -            We migrate our help system to use a forum channel, retiring our home-grown rotating help -            system after 3 years of service and nearly 500,000 help sessions. Forum channels offer -            a better experience as members can create their own dedicated thread in a discoverable place. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Oct 24th, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python 3.11 Release Stream</h3> -          <p> -            With the Python 3.10 Release Stream being such a success, we brought it back for the -            release of Python 3.11. Hosted by Leon, and CPython 3.11 Release Manager, Pablo Galindo, -            they were joined by other CPython Core Developers. Together, they discuss the specific -            features and the overall development process of the release. -          </p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/PGZPSWZSkJI" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-lime"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">July 21st, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Summer Code Jam 2022 (CJ9)</h3> -          <p> -            We host the 9th Code Jam. This year, teams had to use <b>websockets</b> to create a -            project based on the theme, <b>It's not a bug, it's a feature</b>. In all, 24 teams -            submitted their projects. At the end, we held a livestream demoing the top 10 projects -            and announcing the winner! -          </p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/YZcVjFED6Hg" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div style="background-color: grey;" class="timeline-icon has-background-primary"> -            <i class="fa fa-handshake"></i> -          </div> -          <span class="timeline-date">May 19th, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Partnership with pyqtgraph</h3> -          <p> -            The <code>#pyqtgraph</code> channel is created for the Scientific Graphics and GUI -            library pyqtgraph, joining <code>#black-formatter</code>. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-robot"></i></span> -          </div> -          <span class="timeline-date">Feb 21st, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Addition of @Sir Robin</h3> -          <p> -            Our arsenal of bots grows! We add @Sir Robin to power and manage all of our future -            events and to support the Events Team. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-green"> -            <span class="icon"><i class="fa fa-question"></i></span> -          </div> -          <span class="timeline-date">Feb 12th, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Trivia Night</h3> -          <p> -            How well do you know Python inside out? Members got to find out in a Trivia Night event. -            Contestants were given questions about Python's internals, its development, and more. -            To win, contestants had to get the most questions right while being fast to answer. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Feb 9th, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Creation of Events Team</h3> -          <p> -            We form the Events Team to organise and run future events. Led by Kat and comprised by -            staff members, the goal of the team is to ultimately host more events in a more -            sustainable way. -          </p> -        </div> -      </div> - - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-red"> -            <span class="icon"><i class="fa fa-code"></i></span> -          </div> -          <span class="timeline-date">Feb 2nd, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Deployment of Smarter Resources</h3> -          <p> -            We gave our resources pages some much needed love and -            <a href="https://www.pythondiscord.com/resources/"> -              reorganised them into a single page</a>, -            complete with a shiny new resource filter that allows you to more quickly find -            ones that relate to your interests, experience, learning style, and ability to pay! -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Jan 19, 2022</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We hit 300 000 members!</h3> -          <p> -            Thanks to an increasing growth rate, Python Discord's membership count doubled from -            150,000 to 300,000 in less than a year! -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Oct 4th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We host the Python 3.10 Release Stream</h3> -          <p> -            Leon and Pablo Galindo, CPython Core Developer and Release Manager, host the Python 3.10 -            Release Stream, joined by other core devs Carol Willing, Irit Katriel, Łukasz Langa, and -            Brandt Bucher. They talked in-depth about the new features introduced in 3.10, the -            development of those features, and more! -          </p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/AHT2l3hcIJg" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div style="background-color: grey;" class="timeline-icon has-background-primary"> -            <i class="fa fa-handshake"></i> -          </div> -          <span class="timeline-date">May 24th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Partnership with Black</h3> -          <p> -            We partner with the uncompromising code formatter project, Black, who were looking for a -            new home for their real-time chat. Python Discord ended up being that home, resulting in -            the creation of the <code>#black-formatter</code> channel. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-orange"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">July 9, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Summer Code Jam 2021 (CJ8)</h3> -          <p> -            We host the 8th now-annual Code Jam. Teams had to create a program with an text-based user -            interface (TUI), all designed around the theme of “think inside the box.” Ultimately, 51 -            teams submitted projects. -            <a href="https://www.pythondiscord.com/events/code-jams/8/"> -              The winning submissions are listed on our website. -            </a> -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-purple"> -            <span class="icon"><i class="fa fa-palette"></i></span> -          </div> -          <span class="timeline-date">May 24, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Inaugural run of Pixels</h3> -          <p> -            Inspired by the subreddit, r/place, Pixels was our collaborative canvas event held -            between May 25 to June 14, providing a beginner-friendly API to paint pixels on a -            virtual canvas. -          </p> -          <p> -            Later, we released <a href="https://blog.pythondiscord.com/pixels-summer-2021/">a blog post</a> -            summarizing what happened, our motives, and some stories from during development. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">April 23, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Owners become PSF Fellows</h3> -          <p>Joe, Leon, and Sebastiaan -            <a href="https://pyfound.blogspot.com/2021/04/python-software-foundation-fellow.html"> -              are recognized as Python Software Foundation Fellows -            </a> -            for their substantial contributions to the Python ecosystem by fostering -            Python Discord. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-red"> -            <span class="icon"><i class="fab fa-youtube"></i></span> -          </div> -          <span class="timeline-date">Mar 21st, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Summer Code Jam 2020 Highlights</h3> -          <p> -            We release a new video to our YouTube showing the best projects from the Summer Code Jam 2020. -            Better late than never! -          </p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/g9cnp4W0P54" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-purple"> -            <span class="icon"><i class="fa fa-comment"></i></span> -          </div> -          <span class="timeline-date">Mar 13th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>New feature: Weekly discussion channel</h3> -          <p>Every week (or two weeks), we'll be posting a new topic to discuss in a -            channel called <b>#weekly-topic-discussion</b>. Our inaugural topic is a PyCon talk by Anthony Shaw called -            <b>Wily Python: Writing simpler and more maintainable Python.</b></a>. -          </p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/dqdsNoApJ80" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-microphone"></i></span> -          </div> -          <span class="timeline-date">Mar 13th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We're on the Teaching Python podcast!</h3> -          <p>Leon joins Sean and Kelly on the Teaching Python podcast to discuss how the pandemic has -            changed the way we learn, and what role communities like Python Discord can play in this new world. -            You can find the episode <a href="https://www.teachingpython.fm/63">at teachingpython.fm</a>. -          </p> - -          <iframe width="100%" height="166" frameborder="0" scrolling="no" -                src="https://player.fireside.fm/v2/UIYXtbeL+qOjGAsKi?theme=dark"></iframe> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-green"> -            <span class="icon"><i class="fa fa-microphone"></i></span> -          </div> -          <span class="timeline-date">Mar 1st, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Leon Sandøy appears on Talk Python To Me</h3> -          <p>Leon goes on the Talk Python to Me podcast with Michael Kennedy -            to discuss the history of Python Discord, the critical importance of culture, and how to run a massive -            community. You can find the episode <a href="https://talkpython.fm/episodes/show/305/python-community-at-python-discord"> at talkpython.fm</a>. -          </p> - -          <iframe width="100%" height="166" scrolling="no" frameborder="no" -               src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/996083146&color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false"> -          </iframe> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Feb 18th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We now have 150,000 members!</h3> -          <p>Our growth continues to accelerate.</p> - -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-music"></i></span> -          </div> -          <span class="timeline-date">February 8th, 2021</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We release The PEP 8 song</h3> -          <p>We release the PEP 8 song on our YouTube channel, which finds tens of -            thousands of listeners!</p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/hgI0p1zf31k" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-red"> -            <span class="icon"><i class="fa fa-snowflake"></i></span> -          </div> -          <span class="timeline-date">December 1st - 25th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Advent of Code attracts hundreds of participants</h3> -          <p> -            A total of 443 Python Discord members sign up to be part of -            <a href="https://adventofcode.com/">Eric Wastl's excellent Advent of Code event</a>. -            As always, we provide dedicated announcements, scoreboards, bot commands and channels for our members -            to enjoy the event in. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-orange"> -            <span class="icon"><i class="fa fa-wrench"></i></span> -          </div> -          <span class="timeline-date">Nov 29th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>We migrate all our infrastructure to Kubernetes</h3> -          <p>As our tech stack grows, we decide to migrate all our services over to a -            container orchestration paradigm via Kubernetes. This gives us better control and scalability. -            <b>Joe Banks</b> takes on the role as DevOps Lead. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Oct 22nd, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord hits 100,000 members!</h3> -          <p>Only six months after hitting 40,000 users, we hit 100,000 users. A -            monumental milestone, and one we're very proud of. To commemorate -            it, we create this timeline.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Oct 21st, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord hosts the 2020 CPython Core Developer Q&A</h3> -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/gXMdfBTcOfQ" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> - -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-handshake"></i></span> -          </div> -          <span class="timeline-date">Aug 16th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord is now the new home of the PyWeek event!</h3> -          <p>PyWeek, a game jam that has been running since 2005, joins Python -            Discord as one of our official events. Find more information about PyWeek on -            <a href="https://pyweek.org/">their official website</a>.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">Jul 31st, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis summer code jam 2020 with the theme “Early Internet” and Django as the technology</h3> -          <p>Sponsored by the Django Software Foundation and JetBrains, the Summer -            Code Jam for 2020 attracts hundreds of participants, and sees the creation of some fantastic -            projects. Check them out in our judge stream below:</p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/OFtm8f2iu6c" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-red"> -            <span class="icon"><i class="fa fa-chart-bar"></i></span> -          </div> -          <span class="timeline-date">Jun 4th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord Public Statistics are now live</h3> -          <p>After getting numerous requests to publish beautiful data on member -            count and channel use, we create <a href="https://stats.pythondiscord.com/">stats.pythondiscord.com</a> for -            all to enjoy.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-handshake"></i></span> -          </div> -          <span class="timeline-date">May 28th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord is now listed on python.org/community</h3> -          <p>After working towards this goal for months, we finally work out an -            arrangement with the PSF that allows us to be listed on that most holiest of websites: -            https://python.org/. <a href="https://youtu.be/yciX2meIkXI?t=3">There was much rejoicing.</a> -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-green"> -            <span class="icon"><i class="fa fa-comments"></i></span> -          </div> -          <span class="timeline-date">May 25th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>ModMail is now live</h3> -          <p> -            Having originally planned to write our own ModMail bot from scratch, we -            come across an exceptionally good <a href="https://github.com/kyb3r/modmail">ModMail bot by -            kyb3r</a> and decide to just self-host that one instead. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-purple"> -            <span class="icon"><i class="fa fa-gamepad"></i></span> -          </div> -          <span class="timeline-date">Apr 17th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis Game Jam 2020 with the “Three of a Kind” theme and Arcade as the technology</h3> -          <p>The creator of Arcade, Paul Vincent Craven, joins us as a judge. -            Several of the Code Jam participants also end up getting involved contributing to the Arcade -            repository.</p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/KkLXMvKfEgs" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Apr 14, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord hits 40,000 members, and is now bigger than Liechtenstein.</h3> -          <p> -            <img src="https://raw.githubusercontent.com/python-discord/branding/main/wallpapers/bigger%20than%20liechtenstein/pydis%20postcard.png"> -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-green"> -            <span class="icon"><i class="fa fa-comments"></i></span> -          </div> -          <span class="timeline-date">Apr 5th, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>The new help channel system is live</h3> -          <p>We release our dynamic help-channel system, which allows you to claim -            your very own help channel instead of fighting over the static help channels. We release a <a -                href="https://pythondiscord.com/pages/resources/guides/help-channels/">Help Channel Guide</a> to -            help our members fully understand how the system works.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">Jan 17, 2020</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis sixth code jam with the theme “Ancient technology” and the technology Kivy</h3> -          <p>Our Code Jams are becoming an increasingly big deal, and the Kivy core -            developers join us to judge the event and help out our members during the event. One of them, -            @tshirtman, even joins our staff!</p> - -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/8fbZsGrqBzo" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Dec 22nd, 2019</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis hits 30,000 members</h3> -          <p>More than tripling in size since the year before, the community hits -            30000 users. At this point, we're probably the largest Python chat community on the planet.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src={% static "images/timeline/cd-icon-pydis.svg" %} alt="Logo"> -          </div> -          <span class="timeline-date">Sept 22nd, 2019</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Sebastiaan Zeef becomes an owner</h3> -          <p>After being a long time active contributor to our projects and the driving -            force behind many of our events, Sebastiaan Zeef joins the Owners Team alongside Joe & Leon.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-lime"> -            <span class="icon"><i class="fa fa-scroll"></i></span> -          </div> -          <span class="timeline-date">Oct 26th, 2019</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>The code of conduct is created</h3> -          <p>Inspired by the Adafruit, Rust and Django communities, an essential -            community pillar is created; Our <a href="https://pythondiscord.com/pages/code-of-conduct/">Code of -              Conduct.</a></p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-orange"> -            <span class="icon"><i class="fa fa-code"></i></span> -          </div> -          <span class="timeline-date">Sep 15, 2019</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>The Django rewrite of pythondiscord.com is now live!</h3> -          <p>The site is getting more and more complex, and it's time for a rewrite. -            We decide to go for a different stack, and build a website based on Django, DRF, Bulma and -            PostgreSQL.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Apr 8th, 2019</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis hits 15,000 members; the “hot ones special” video is released</h3> -          <div class="force-aspect-container"> -            <iframe class="force-aspect-content" src="https://www.youtube.com/embed/DIBXg8Qh7bA" frameborder="0" -                    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" -                    allowfullscreen></iframe> -          </div> - -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-orange"> -            <span class="icon"><i class="fa fa-code"></i></span> -          </div> -          <span class="timeline-date">Dec 19th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>django-simple-bulma is released on PyPi</h3> -          <p>Our very first package on PyPI, <a -              href="https://pypi.org/project/django-simple-bulma/">django-simple-bulma</a> is a package that -            sets up the Bulma CSS framework for your Django application and lets you configure everything in -            settings.py.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Nov 24th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis hits 10,000 members</h3> -          <p>We partner with RLBot, move from GitLab to GitHub, and start putting -            together the first Advent of Code event.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">Oct 1st, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>First Hacktoberfest PyDis event; @Sir Lancebot is created</h3> -          <p>We create a second bot for our community and fill it up with simple, -            fun and relatively easy issues. The idea is to create an approachable arena for our members to cut -            their open-source teeth on, and to provide lots of help and hand-holding for those who get stuck. -            We're training our members to be productive contributors in the open-source ecosystem.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-handshake"></i></span> -          </div> -          <span class="timeline-date">Jul 10th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis is now partnered with Discord; the vanity URL discord.gg/python is created</h3> -          <p>After being rejected for their Partner program several times, we -            finally get approved. The recent partnership with the r/Python subreddit plays a significant role in -            qualifying us for this partnership.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Jun 20th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis hits 5,000 members and partners with r/Python</h3> -          <p>As we continue to grow, we approach the r/Python subreddit and ask to -            become their official Discord community. They agree, and we become listed in their sidebar, giving -            us yet another source of new members.</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-pink"> -            <span class="icon"><i class="fa fa-handshake"></i></span> -          </div> -          <span class="timeline-date">Jun 9th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Do You Even Python and PyDis merger</h3> -          <p>At this point in time, there are only two serious Python communities on -            Discord - Ours, and one called Do You Even Python. We approach the owners of DYEP with a bold -            proposal - let's shut down their community, replace it with links to ours, and in return we will let -            their staff join our staff. This gives us a big boost in members, and eventually leads to @eivl and -            @Mr. Hemlock joining our Admin team</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-lime"> -            <span class="icon"><i class="fa fa-scroll"></i></span> -          </div> -          <span class="timeline-date">May 21st, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>The privacy policy is created</h3> -          <p>Since data privacy is quite important to us, we create a privacy page -            pretty much as soon as our new bot and site starts collecting some data. To this day, we keep <a -                href="https://pythondiscord.com/pages/privacy/">our privacy policy</a> up to date with all -            changes, and since April 2020 we've started doing <a -                href="https://pythondiscord.notion.site/6784e3a9752444e89d19e65fd4510d8d">monthly data reviews</a>. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-blue"> -            <span class="icon"><i class="fa fa-dice"></i></span> -          </div> -          <span class="timeline-date">Mar 23rd, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>First code jam with the theme “snakes”</h3> -          <p>Our very first Code Jam attracts a handful of users who work in random -            teams of 2. We ask our participants to write a snake-themed Discord bot. Most of the code written -            for this jam still lives on in Sir Lancebot, and you can play with it by using the -            <code>.snakes</code> command. For more information on this event, see <a -                href="https://pythondiscord.com/pages/code-jams/code-jam-1-snakes-bot/">the event page</a></p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Mar 4th, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>PyDis hits 2,000 members; pythondiscord.com and @Python are live</h3> -          <p>The public moderation bot we're using at the time, Rowboat, announces -            it will be shutting down. We decide that we'll write our own bot to handle moderation, so that we -            can have more control over its features. We also buy a domain and start making a website in Flask. -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src={% static "images/timeline/cd-icon-pydis.svg" %} alt="Logo"> -          </div> -          <span class="timeline-date">Feb 3rd, 2018</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Our logo is born. Thanks @Aperture!</h3> -          <p style="background-color: #7289DA; border-radius: 10px;"> -            <img style="padding-right: 20px;" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_banner/logo_site_banner.svg"> -          </p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon pastel-dark-blue"> -            <span class="icon"><i class="fa fa-users"></i></span> -          </div> -          <span class="timeline-date">Nov 10th, 2017</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord hits 1,000 members</h3> -          <p>Our main source of new users at this point is a post on Reddit that -            happens to get very good SEO. We are one of the top 10 search engine hits for the search term -            "python discord".</p> -        </div> -      </div> - -      <div class="timeline-item"> -        <div class="timeline-icon-date"> -          <div class="timeline-icon has-background-primary"> -            <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> -          </div> -          <span class="timeline-date">Jan 8th, 2017</span> -        </div> - -        <div class="timeline-content content box"> -          <h3>Python Discord is created</h3> -          <p><strong>Joe Banks</strong> becomes one of the owners around 3 days after it -            is created, and <strong>Leon Sandøy</strong> (lemon) joins the owner team later in the year, -            when the community has around 300 members.</p> -        </div> -      </div> - -    </div> -  </section> - -  <script src="{% static "js/timeline/main.js" %}"></script> -{% endblock %} diff --git a/pydis_site/templates/timeline/timeline.html b/pydis_site/templates/timeline/timeline.html new file mode 100644 index 00000000..6bd85f31 --- /dev/null +++ b/pydis_site/templates/timeline/timeline.html @@ -0,0 +1,39 @@ +{% extends 'base/base.html' %} +{% load static %} + +{% block title %}Timeline{% endblock %} +{% block head %} +  <link rel="stylesheet" href="{% static "css/timeline/timeline.css" %}"> +{% endblock %} + +{% block content %} +  {% include "base/navbar.html" %} + +  <section class="timeline"> +    <div class="container"> + +      {% for entry in entries %} +      <div class="timeline-item" id="{{ entry.slug }}"> +        <div class="timeline-icon-date"> +          <div class="timeline-icon {{ entry.icon_color }}"> +            {% if entry.icon == "pydis" %} +              <img class="pydis" src="{% static "images/timeline/cd-icon-pydis.svg" %}" alt="Logo"> +            {% else %} +              <span class="icon"><i class="{{ entry.icon }}"></i></span> +            {% endif %} +          </div> +          <span class="timeline-date">{{ entry.date }}</span> +        </div> + +        <div class="timeline-content content box"> +          <h3><a href="#{{ entry.slug }}">{{ entry.title }}</a></h3> +          {{ entry.content|safe }} +        </div> +      </div> +      {% endfor %} + +    </div> +  </section> + +  <script src="{% static "js/timeline/main.js" %}"></script> +{% endblock %} diff --git a/pydis_site/urls.py b/pydis_site/urls.py index 0f2f6aeb..799e8600 100644 --- a/pydis_site/urls.py +++ b/pydis_site/urls.py @@ -25,6 +25,7 @@ urlpatterns = (      path('pages/', include('pydis_site.apps.content.urls', namespace='content')),      path('resources/', include('pydis_site.apps.resources.urls')),      path('events/', include('pydis_site.apps.events.urls', namespace='events')), +    path('timeline/', include('pydis_site.apps.timeline.urls', namespace='timeline')),      path('', include('pydis_site.apps.home.urls', namespace='home')),  ) | 
