Commit Graph

355 Commits

Author SHA1 Message Date
Ben Visness 8aa18901b2 Add NCommander Win98 submission 2023-06-19 14:20:44 -05:00
Ben Visness c8808e21bf Add Atom feed (not yet linked) 2023-06-09 13:01:51 -07:00
Ben Visness 8be575875d Add time machine submissions page 2023-06-06 13:23:54 -05:00
Ben Visness dd6e5e3b66 Add newsletter redirect link 2023-06-02 09:46:26 -05:00
Ben Visness 1ea9fbefbc Merge branch 'feature/time_machine_page' 2023-06-01 21:08:54 -05:00
Ben Visness a6caf8e9bd Style submit and thank-you pages 2023-06-01 20:42:02 -05:00
Asaf Gartner dcdbc67b6c Time machine submission form 2023-06-02 00:42:46 +03:00
Ben Visness 2d61286831 Add OpenGraph assets 2023-06-01 13:56:35 -05:00
Ben Visness 1166bb6cf3 Add testing fishbowl description 2023-05-29 09:51:44 -05:00
Ilia Demianenko 43b9f993dc Add testing fishbowl 2023-05-28 00:51:52 -07:00
Jake Mason a1c5086190 Add work on the new Time Machine page 2023-05-28 01:16:12 -04:00
Ben Visness cdacc5b3a0 Use new thumbnails 2023-05-18 22:07:14 -05:00
Asaf Gartner 65aab39432 Asset thumbnail backend 2023-05-17 22:34:55 +03:00
bvisness 0210a0784b Add Discord login (#106)
This leverages our existing Discord OAuth implementation. Any users with a linked Discord account will be able to log in immediately. When logging in, we request the `email` scope in addition to `identity`, so existing users will be prompted one time to accept the new permissions. On subsequent logins, Discord will skip the prompt.

When linking your Discord account to an existing HMN account, we continue to only request the `identity` scope, so we do not receive the user's Discord email.

Both login and linking go through the same Discord OAuth callback. All flows through the callback try to achieve the same end goal: a logged-in HMN user with a linked Discord account.

Linking works the same as it ever has. Login, however, is different because we do not have a session ID to use as the OAuth state. To account for this, I have added a `pending_login` table that stores a secure unique ID and the eventual destination URL. These pending logins expire after 10 minutes. When we receive the OAuth callback, we look up the pending login by the OAuth `state` and immediately delete it. The destination URL will be used to redirect the user to the right place.

If we have a `discord_user` entry for the OAuth'd Discord user, we immediately log the user into the associated HMN account. This is the typical login case. If we do not have a `discord_user`, but there is exactly one HMN user with the same email address as the Discord user, we will link the two accounts and log into the HMN account.

(It is possible for multiple HMN accounts to have the same email, because we don't have a uniqueness constraint there. We fail the login in this case rather than link to the wrong account.)

Finally, if no associated HMN user exists, a new one will be created. It will use the Discord user's username, email, and avatar. This user will have no password, but they can set or reset a password through the usual flows.

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: hmn/hmn#106
2023-05-06 19:38:50 +00:00
Ben Visness e4dd15d248 Add all jams index 2023-04-22 11:26:07 -05:00
Ben Visness 79c4c14631 Add jam recap (not yet shown off properly) 2023-04-21 23:11:32 -05:00
Ben Visness 23e67638e4 Merge remote-tracking branch 'origin/beta' 2023-04-14 15:47:32 -05:00
Ben Visness 89dd2c52c7 Link back to the main jam page from the feed 2023-04-14 15:46:06 -05:00
Ben Visness b7d4883c6c Make news posts look a little nicer 2023-04-13 17:53:36 -05:00
Asaf Gartner ef16a4f3e0 Fixed style and links for vis jam 2023-04-11 17:38:32 +03:00
Ben Visness 524cf8e27b Add ability to load templates live from the filesystem
See config.go.example.
2023-04-08 11:14:44 -05:00
Jake Mason 45b5c7f4d4 Updating Feed for VJ 2023 2023-04-06 14:54:14 -04:00
Jake Mason 0ccf3aba1a Add handmade cities banner v1 2023-03-24 17:38:24 -04:00
Ben Visness 81b92d3aef Add special Twitter card 2023-03-07 12:09:22 -06:00
Ben Visness 5296e0a15a Fix jam opengraph 2023-03-07 11:57:44 -06:00
Ben Visness 55f56d8ae0 Vis jam landing page 2023-03-07 11:48:13 -06:00
Ben Visness bb38d0b759 Merge remote-tracking branch 'origin/feature/2023_frontend_updates' 2023-03-07 11:40:26 -06:00
Jake Mason 4bb562823e Opengraph images, and fix day-of-week references 2023-03-05 20:40:22 -05:00
Jake Mason 526a588a19 Visualization Jam 2023 template 2023-03-04 23:52:03 -05:00
Asaf Gartner aa6428f3a4 Removed remaining pgxv4 stuff and fixed twitch tags 2023-01-29 08:53:57 +02:00
Asaf Gartner 2af28d9f3f Update pgx v4 to pgx v5 2023-01-29 08:53:57 +02:00
bvisness 348feff4cf Automatically handle HEAD requests (#104)
HEAD requests will be routed as GET requests, and Content-Type and Content-Length headers will always be sent for all requests.

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: hmn/hmn#104
2023-01-13 18:52:31 +00:00
Ben Visness 9b3a972e37 Rework about page, finally
Start foundation / about page work

Add some job descriptions

Add Advocacy role

Make things look barely tolerable

Cloin'd

Better About intro

no fundo

Link from manifesto

swanky changes
2022-12-14 17:49:08 -06:00
Ben Visness 5fe3e7560c A little more OpenGraph flavor 2022-11-05 16:27:55 -05:00
Ben Visness 084b13ae34 ...including the nav and stuff 2022-11-05 16:23:12 -05:00
Ben Visness f0597f3eb8 Open education up to all 2022-11-05 16:18:39 -05:00
Asaf Gartner bd1edb2077 Set education article's opengraph image to the first image in the
article
2022-11-05 18:25:01 +02:00
Ben Visness 5a983643a3 Exclude editor's notes from TOC 2022-11-02 22:40:44 -05:00
Ben Visness 2fbdf19f41 Fix the HTTP article slug 2022-10-31 16:01:42 -05:00
Ben Visness 48af5e650d Better edu home page 2022-10-27 00:20:59 -05:00
Asaf Gartner 5cc920dc2f Better twitch tracking 2022-10-20 12:43:26 +03:00
Ben Visness 968e859dde Show HMS banner 2022-10-17 20:13:58 -05:00
Ben Visness 3d7c095c87 Add entrepreneurship fishbowl title/description 2022-10-03 15:31:17 -05:00
ilidemi 8189151a74 Add entrepereuship fishbowl (#99)
Code notes:
*  MathJax treats text between two dollar signs as math. Escaped those cases in html (`\$`) - is there a way to not run mathjax on fishbowls instead?
* Limited embed image sizes to match Discord
* Fixed replies to a quote wrapping on a new line

Content notes:
* Moved intros to the top, untangled the discussions (hopefully without significant loss), pulled in audience comments
* Most book links are to Amazon as the promo websites are shitty or non-functioning
* Demetri had interesting points in -audience afterwards but they tie to Allen and may be hard to pull in without a lot of context
* Catchy title and description are TBD as usual

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#99
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-10-03 20:30:03 +00:00
Ben Visness 8121830561 Remove resources from the table of contents 2022-09-19 20:26:43 -05:00
Ben Visness b27ddd1e7f A few education improvements 2022-09-17 16:21:58 -05:00
Asaf Gartner c489d0ffa9 Consolidated shared editor-related params 2022-09-15 00:44:27 +03:00
Ben Visness 045a2c2379 Add education toggle to user admin settings 2022-09-10 16:52:02 -05:00
Ben Visness 168b210c5b Restore the library since we're not actually rolling out education yet 2022-09-10 12:54:26 -05:00
bvisness d2b34cb87d Initial version of education content (#90)
Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: hmn/hmn#90
2022-09-10 16:29:57 +00:00
Asaf Gartner 42e1ed95fb Added logs for twitch 2022-08-29 01:18:55 +03:00
Ben Visness d7b43fdea0 Use the register destination when coming from the login page 2022-08-13 15:07:37 -05:00
Ben Visness 81d8d4559f Fix bug where Discord settings were cleared while disabled 2022-08-13 14:29:40 -05:00
Ben Visness a0cc2f5c66 Update auth flows 2022-08-13 14:15:00 -05:00
Asaf Gartner 319b1a05b9 Delete snippets when banning and prevent banned users from logging in 2022-08-09 12:57:12 +03:00
Ben Visness 48490d83a9 Some tweaks 2022-08-06 20:21:12 -05:00
Asaf Gartner 97ed892ce3 Added snippets to admin approval queue 2022-08-07 02:03:34 +03:00
Asaf Gartner 841264de0f Fix element focus issue on project creation. 2022-08-07 00:40:05 +03:00
Asaf Gartner d2f44f8e5f No jam snippets if no jam projects! 2022-08-06 05:19:49 +03:00
Asaf Gartner a9b0606b79 Use new snippet-project association for jam index showcase 2022-08-06 00:48:56 +03:00
Asaf Gartner 87a146dfa8 Fetch jam snippets by project id 2022-08-06 00:42:08 +03:00
Asaf Gartner efc7d76cb7 Snippet creation and editing 2022-08-06 00:41:37 +03:00
Ben Visness 41c2b6e111 Make slightly more prettier 2022-08-05 00:04:22 -05:00
Ben Visness 1b79f45d71 Make the feed page nicer 2022-08-04 23:22:30 -05:00
Ben Visness 92b175c84d Make good pretty jam wow much good 2022-08-04 21:00:15 -05:00
Ben Visness 62972ae35a Merge remote-tracking branch 'origin/master' into jam-2022 2022-08-04 18:37:51 -05:00
Ben Visness 6982503393 Fix fishbowl images 2022-08-01 22:09:23 -05:00
Ben Visness d164a58ba0 Fix issues with asset upload
It didn't work when creating a new project or editing personal projects,
due to routing issues. I also took this opportunity to make the script
support multiple form submit buttons, since in some cases we will have a
submit button on each tab, and I figured they all should respect the
fact that you have an upload in progress.
2022-08-01 21:59:42 -05:00
mark.dev a295d0ed52 Copy drag/drop from blog edit to project (#6) (#77)
I migrated the relevant parts of `editor.html` and `forums.go` (via `blogs.go`) into `project_edit.html` and `projects.go`.

Let me know if you would prefer pulling the shared javascript into a shared file. Only some variable names were changed.

I did not test the case where the upload fails.

Co-authored-by: mark.dev <mark@mark.dev>
Reviewed-on: hmn/hmn#77
Co-authored-by: mark.dev <mark.dev@noreply.localhost>
Co-committed-by: mark.dev <mark.dev@noreply.localhost>
2022-08-02 02:01:55 +00:00
Ben Visness 1806da0389 Polish up the latest fishbowl 2022-08-01 20:29:56 -05:00
ilidemi 25e13df04d Add code reuse fishbowl (#78)
Only needs someone with creative juices to write a description and good to go!

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#78
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-08-01 04:52:34 +00:00
AllanRegush cc731d77a6 Add Conferences Page (#75)
This PR implements the conferences page.

![image](/attachments/fe7b8df7-0833-4b5b-9f61-a9558b70a98f)

![image](/attachments/10f380d6-81ed-4850-87c4-70a84d31e26b)

closes #69

Co-authored-by: Allan Regush <17693494+AllanRegush@users.noreply.github.com>
Reviewed-on: hmn/hmn#75
Co-authored-by: AllanRegush <allan@allanregush.com>
Co-committed-by: AllanRegush <allan@allanregush.com>
2022-07-26 15:07:57 +00:00
ilidemi 971123a519 Add internet-os fishbowl (#63)
#33 progress: 10/10 🎉

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#63
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-07-07 02:43:51 +00:00
ilidemi 72c9fa45fc Add metaprogramming fishbowl (#61)
#33 progress: 9/10

Pulled a couple of conversations from the audience

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#61
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-29 19:29:35 +00:00
ilidemi 3a39e81b67 Add lisp jam fishbowl (#60)
#33 progress: 8/10

Patched in nakst's account and references

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#60
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-27 12:38:21 +00:00
Asaf Gartner 316aba12b6 Ugly jam feed. Needs CSS work. 2022-06-25 16:24:04 +03:00
bvisness e9d4300100 Rework requests and middleware (#57)
o boy

Resolves #10 (hopefully!)

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: hmn/hmn#57
2022-06-24 21:38:11 +00:00
ilidemi 32db9b1843 Add parallel programming fishbowl (#58)
#33 progress: 7/10

Oh boy, this one has a good amount of links
Also updated bumbo's discord id in skimmability fishbowl

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#58
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-24 21:31:31 +00:00
ilidemi ca555d8027 Add skimming fishbowl (#51)
#33 progress: 6/10

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#51
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-23 04:28:43 +00:00
ilidemi aa6ba1066f Add config fishbowl (#50)
#33 progress: 5/10, halfway through!

Also added/modified links from flexible-software fishbowl to the config one.

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#50
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-20 04:30:31 +00:00
Asaf Gartner fee5331c22 Merge branch 'master' of git.handmade.network:hmn/hmn into jam-2022 2022-06-20 01:37:29 +03:00
Asaf Gartner 7dbd64f62a Merge branch 'jam-2022' of git.handmade.network:hmn/hmn into jam-2022 2022-06-20 01:37:16 +03:00
Asaf Gartner 9d1d249ec0 Added jam/project association. 2022-06-20 01:26:33 +03:00
Ben Visness e871542725 Add jam banner on home page 2022-06-18 10:30:30 -05:00
Ben Visness f36df1f697 Add jam index for 2022
Start jam index for 2022

Tweak jam copy

Update OpenGraph content
2022-06-18 10:01:14 -05:00
ilidemi fe3b1d29db Add simplicity-performance fishbowl (#49)
#33 progress: 4/10

Replaced links to #fishbowl-audience comments with comments themselves

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#49
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-18 13:39:08 +00:00
Ben Visness 359354f2aa Start jam index for 2022 2022-06-17 17:30:18 -05:00
Asaf Gartner 141c279335 Merge branch 'master' of git.handmade.network:hmn/hmn 2022-06-16 00:34:48 +03:00
ilidemi 86bcde4d49 Add teaching-software fishbowl (#45)
#33 progress: 3/10

Significant changes:
Moved pre-intro discussion after intros, cleaned up what I saw as noise
Pointed bumbo to his current discord id - if a different one is linked to the website, lmk

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#45
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-15 19:39:41 +00:00
Asaf Gartner 870a073e22 Added proper verification for forum urls
Fixes issue #12
2022-06-14 22:52:50 +03:00
Asaf Gartner 86a7128f25 Only show blog content preview in blog index when there are few posts
Partially resolves issue #30
2022-06-14 20:15:16 +03:00
Asaf Gartner 2012328436 Use hmndata helpers for project timeline on project homepage
Resolves issue #37
2022-06-14 19:14:38 +03:00
Asaf Gartner 31f7bf5350 Treat fishbowl files like public files. Skip expensive middleware.
We don't really need to validate the project subdomain here.
Fetching the common data eats up a db connection, and we don't gain
anything from it.
2022-06-14 04:06:44 +03:00
ilidemi 58c09126a4 Add Flexible Software fishbowl (#43)
#33 progress: 2/10

Co-authored-by: Ilia Demianenko <ilia.demianenko@gmail.com>
Reviewed-on: hmn/hmn#43
Co-authored-by: ilidemi <belk94@gmail.com>
Co-committed-by: ilidemi <belk94@gmail.com>
2022-06-13 13:49:22 +00:00
bvisness d1e63f745b Add Fishbowl archive (#41)
Refs #33

Co-authored-by: Ben Visness <bvisness@gmail.com>
Co-authored-by: ilidemi <belk94@gmail.com>
Reviewed-on: hmn/hmn#41
2022-06-12 12:45:56 +00:00
Ben Visness 1cfb9e4033 Fix mailto on crash page 2022-06-01 20:49:19 -05:00
Asaf Gartner 9fcc2321ca Hopefully fixed desync with twitch 2022-05-30 18:49:30 +03:00
Ben Visness c1fa6cae13 Integrate Nick's local S3 server
Works like a charm!

Small tweak for clarity
2022-05-14 00:48:19 -05:00
Ben Visness 3aa16c6d12 Add owners to seeded projects 2022-05-11 23:39:43 -05:00
Ben Visness 3a93aa93e9 Seed users (and rework a lot of user access to use new helpers) 2022-05-07 13:58:00 -05:00