Commit Graph

167 Commits

Author SHA1 Message Date
Ben Visness 8aa18901b2 Add NCommander Win98 submission 2023-06-19 14:20:44 -05:00
Ben Visness 1ea9fbefbc Merge branch 'feature/time_machine_page' 2023-06-01 21:08:54 -05:00
Ben Visness 2d61286831 Add OpenGraph assets 2023-06-01 13:56:35 -05:00
Ben Visness be888a98f1 Style updates + splash 2023-05-31 20:35:09 -05:00
Ilia Demianenko 43b9f993dc Add testing fishbowl 2023-05-28 00:51:52 -07:00
Ben Visness cdacc5b3a0 Use new thumbnails 2023-05-18 22:07:14 -05: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 1b1c25da80 Fix CSS issue on jams page 2023-04-22 11:31:14 -05: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
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 55f56d8ae0 Vis jam landing page 2023-03-07 11:48:13 -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
Jake Mason 1825e93b04 Compile .scss assets 2023-01-16 23:02:54 -05:00
Asaf Gartner 620533784a Fixed showcase modal again 2023-01-03 00:20:43 +02:00
Asaf Gartner 77ac6d4200 Fixed timeline item css in jam page and showcase modal 2023-01-03 00:16:25 +02: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 b75b59aad5 Add highlight to currently-selected education course 2022-10-31 17:39:19 -05:00
Ben Visness 48af5e650d Better edu home page 2022-10-27 00:20:59 -05:00
Ben Visness 4e44ba0b45 Make articles responsive 2022-10-26 13:26:01 -05:00
Ben Visness 8eee541ccc Scrap the "resource" tag, make figures nice 2022-10-26 12:32:39 -05:00
Asaf Gartner 851f9e0f67 Fixed small logo css 2022-10-20 13:45:57 +03:00
Ben Visness b5dac2f4d8 Add !!!figure tag to ggcode 2022-10-08 17:28:36 -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
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
Ben Visness a0cc2f5c66 Update auth flows 2022-08-13 14:15:00 -05:00
giggs 9e786e132d New buttons with project colors + small bugfix (#80)
Following the discussion on [#74](hmn/hmn#74), here are changes to the submit buttons so that they match theme/project color.

Border colors are set to match the button background.

I've also included a "bugfix" where the `editor-toolbar-button-background` parameter in the dark theme.css and variables.scss were missing the # sign.

I wasn't sure whether to remove the `form button` values from theme.css and variables.scss and left them, as I'm not sure they're used anywhere now

Reviewed-on: hmn/hmn#80
Co-authored-by: giggs <darkgiggsxx@gmail.com>
Co-committed-by: giggs <darkgiggsxx@gmail.com>
2022-08-13 02:13:13 +00:00
Asaf Gartner 822a489c09 Don't center file links in snippets. 2022-08-09 12:33:52 +03:00
Asaf Gartner b62954ba37 Remove discord link for showcase items when not relevant 2022-08-09 12:27:32 +03:00
Ben Visness 7ea11ebd51 Bam that's the rest of the todo list 2022-08-06 23:43:15 -05:00
Ben Visness 4289a1e27a Improvements to snippet edit 2022-08-06 22:32:29 -05:00
Asaf Gartner b995df4533 Added cancel button for snippet edit 2022-08-07 00:51:29 +03:00
Asaf Gartner dc94262bfb Snippets edited on a project page can't be disassociated from that
project on that page.
2022-08-07 00:45:07 +03:00
Asaf Gartner 89b1e48e69 Code review 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 92b175c84d Make good pretty jam wow much good 2022-08-04 21:00:15 -05:00
Ben Visness 09652c4146 Re-apply the avatar change
It was only made to CSS and we overwrote it...
2022-08-03 18:59:48 -05:00
Ben Visness 081186c8f0 Add automatic scrolling behavior to jam carousel 2022-08-02 15:14:29 -05:00
Ben Visness e84754eda0 Add last year's projects to the jam page 2022-08-02 14:56:47 -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
giggs 85c8c92a0c Non square avatars no more squeeshed (#76)
Avatars don't get squeeshed anymore

[#15](hmn/hmn#15)

Please ignore the commit history, still learning git

Reviewed-on: hmn/hmn#76
Co-authored-by: giggs <darkgiggsxx@gmail.com>
Co-committed-by: giggs <darkgiggsxx@gmail.com>
2022-07-29 16:05:42 +00:00
Ben Visness f8aa839353 Update conference page design / copy 2022-07-26 11:34:05 -05:00
Ben Visness dc33aade22 Add favicons to jam pages 2022-06-18 13:09:45 -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
Ben Visness 7dd4a1af31 Don't do clever hue-rotating trick with waterline image 2022-06-12 08:39:44 -05: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
Asaf Gartner 38e93d5208 Added support for unknown filetypes in snippets 2022-04-07 08:19:48 +03:00
Ben Visness 7a6f2a7d4b Remove the code of conduct, tweak the communication guidelines
The code of conduct has historically not been of much use, while the
communication guidelines are more tangible. The two are also just kind
of redundant.
2022-02-13 16:24:01 -06:00
Asaf Gartner b2a2b49abe Added the search bar to the footer 2022-02-10 22:27:28 +02:00
Asaf Gartner f4f439489d Assets for user avatars 2021-12-29 16:38:23 +02:00
Ben Visness 73824a027b Add tag management to projects
Also rearrange that ProjectAndLogos stuff because agh it was so weird
2021-12-07 21:37:52 -06:00
Asaf Gartner 03c82c9d1a New project form 2021-11-25 05:59:51 +02:00
Ben Visness 601adf2d16 Add tags to showcase / snippet UIs 2021-11-11 12:11:57 -08:00
Ben Visness 693e00d494 Merge remote-tracking branch 'origin/live' into beta 2021-10-27 22:51:22 -05:00
Ben Visness 60aef6d032 Fix mobile nav issues and add circuit logo 2021-10-27 22:44:08 -05:00
Ben Visness 949e93791e Fix nav issues on mobile 2021-10-27 22:05:31 -05:00
Ben Visness 4e47c51fa1 Add back project nav 2021-10-27 21:55:42 -05:00
Ben Visness de587abc94 Add HMS banner to the home page 2021-10-27 21:55:41 -05:00
Ben Visness f8d5f9fce5 Rework the home page 2021-10-27 21:55:40 -05:00
Ben Visness 7d422cb533 Timeline template logic updates 2021-10-27 21:55:40 -05:00
Ben Visness 09e6a15085 Rejigger timelines to avoid explicit types 2021-10-27 21:55:39 -05:00
Ben Visness ccdbad8978 Rework the nav for projects 2.0 2021-10-27 21:55:38 -05:00
Asaf Gartner 7063fd5604 Added basic usage tracking for posts. 2021-09-22 22:18:39 +03:00
Asaf Gartner c224ad55b9 Added file dialog, image pasting, and progress UI 2021-09-22 13:59:03 +03:00
Ben Visness fdbe56c12b Update the 16x16 favicon 2021-09-09 00:24:22 -05:00
Ben Visness 7e4116359a Improve appearance of option bars on mobile 2021-09-08 23:01:21 -05:00
Ben Visness d5d3341c81 Improve OpenGraph / favicons 2021-09-08 21:51:43 -05:00
Asaf Gartner c76ea45ca9 Replaced relogin rejection with a notice and proper redirect. 2021-09-05 22:50:15 +03:00
Ben Visness 6aa705d5cc Random CSS I dunno 2021-09-01 21:41:39 -05:00
Ben Visness 1f39b166cb Make many improvements and fixes to the markdown experience 2021-09-01 01:15:13 -05:00
Ben Visness 1ac867fded Make forum anchors more pleasant 2021-08-30 18:57:44 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -05:00
Ben Visness f7c754e53b Style tweaks 2021-08-28 08:43:11 -05:00
Ben Visness 0179ee1993 Use the new font on the logo 2021-08-28 07:33:20 -05:00
Ben Visness a655fe96bc Fix up remaining project colors 2021-08-28 07:14:49 -05:00
Ben Visness 73a20a9a93 Add jam page 2021-08-28 06:26:17 -05:00
Ben Visness 67b86720a9 Add user edit form
Add most of the user settings backend

still need to do discord lol

Add the Discord settings

Add avatar uploads
2021-08-27 17:18:02 -05:00
Asaf Gartner 660f65ba95 Registration flow and email 2021-08-08 23:05:52 +03:00
Ben Visness c3e067fa44 Add blog indexes 2021-08-02 20:52:46 -05:00
Ben Visness bde7c576e3 Don't crash while listing migrations 2021-07-30 21:36:37 -05:00
Ben Visness 8ecb4a7173 Rework the category/thread data model
Threads can stand alone now. Threads can be attached to resources
directly without requiring a category. In addition, a lot of wiki stuff
and library discussion stuff was deleted because we're not gonna port
it.
2021-07-29 22:49:24 -05:00
Ben Visness 9b9d467ce4 Add CLRI/TLRI handling 2021-07-23 14:00:37 -05:00
Asaf Gartner b41a556fcd Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-07-23 06:22:57 +03:00
Asaf Gartner a46fd988f5 Podcasts 2021-07-23 06:09:46 +03:00
Ben Visness 4ba175c5a5 Put the markdown preview on the side 2021-07-19 20:12:27 -05:00
Ben Visness 19297c9231 Store post contents in localStorage 2021-07-19 19:52:50 -05:00
Ben Visness a9d39cd969 Make the bbcode parser much faster 2021-07-17 21:42:52 -05:00
Ben Visness 059f407ee4 Put previews in a web worker to help with slower parsing 2021-07-17 18:20:47 -05:00
Asaf Gartner 6c53688e06 Project page 2021-07-08 10:40:30 +03:00
Ben Visness 98df5773a5 Use a fork of goldmark that doesn't crash Chrome 2021-07-06 22:00:49 -05:00
Ben Visness 6b21291798 Add plain-text post previews
I opted to do this by making a new markdown renderer that only outputs
plain text, no HTML. This feels a lot more sane to me than trying to
strip HTML out of already-parsed stuff. The tradeoff right now is that
some content just doesn't show up at all, notably bbcode content. I
doubt anyone will care.
2021-07-05 13:34:51 -05:00
Ben Visness 9d6f64fa00 Add syntax highlighting and styling for code blocks 2021-07-04 15:32:06 -05:00
Ben Visness 2f37e07100 Add quotes and a half-assed code tag 2021-07-04 15:32:01 -05:00
Ben Visness 6e7a398dee Add simple bbcode tags 2021-07-04 15:31:58 -05:00
Ben Visness efdc2216f9 Add [youtube] tags to bbcode 2021-07-04 15:31:55 -05:00