diff --git a/.gitignore b/.gitignore
index 808afb6..04bb21a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+dist/
node_modules/
*.log
.DS_Store
@@ -5,4 +6,4 @@ public/static.json
src/shared/static.json
.env
tmp
-.enhance
\ No newline at end of file
+.enhance
diff --git a/.prettierconfig b/.prettierignore
similarity index 100%
rename from .prettierconfig
rename to .prettierignore
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e3e14f8
--- /dev/null
+++ b/index.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+ SeattleJS
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 549bd01..2849b7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
},
"devDependencies": {
"@preact/preset-vite": "^2.9.3",
- "eslint": "latest",
+ "eslint": "^8.46.0",
"eslint-config-prettier": "^8.6.0",
"prettier": "^2.8.8",
"typescript": "^5.7.2",
diff --git a/package.json b/package.json
index 568f641..1cacf08 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@preact/preset-vite": "^2.9.3",
- "eslint": "latest",
+ "eslint": "^8.46.0",
"eslint-config-prettier": "^8.6.0",
"prettier": "^2.8.8",
"typescript": "^5.7.2",
@@ -25,6 +25,7 @@
"serve": "vite preview",
"start": "vite",
"lint": "npm run tsc && npm run check-format",
+ "eslint": "eslint src/**/*.{js,jsx,ts,tsx}",
"tsc": "tsc -p tsconfig.json",
"check-format": "prettier --no-error-on-unmatched-pattern --check **/*.{js,jsx,ts,tsx,css,md,html,yml,yaml,json}",
"format": "prettier --no-error-on-unmatched-pattern --write **/*.{js,jsx,ts,tsx,css,md,html,yml,yaml,json}"
@@ -41,26 +42,20 @@
"homepage": "https://github.com/seattlejs/seattlejs.com#readme",
"eslintConfig": {
"env": {
+ "browser": true,
"node": true
},
"extends": [
"eslint:recommended",
"prettier"
],
- "ignorePatterns": [
- "public/scripts/*",
- "src/*"
- ],
- "parser": "@babel/eslint-parser",
"parserOptions": {
"requireConfigFile": false,
- "babelOptions": {
- "plugins": [
- "@babel/plugin-syntax-import-assertions"
- ]
- },
"sourceType": "module",
- "ecmaVersion": 2022
+ "ecmaVersion": 2022,
+ "ecmaFeatures": {
+ "jsx": true
+ }
}
}
}
diff --git a/public/favicon.ico b/public/_public/favicon.ico
similarity index 100%
rename from public/favicon.ico
rename to public/_public/favicon.ico
diff --git a/public/favicon.jpg b/public/_public/favicon.jpg
similarity index 100%
rename from public/favicon.jpg
rename to public/_public/favicon.jpg
diff --git a/public/images/blank-seattlejs-header.png b/public/_public/images/blank-seattlejs-header.png
similarity index 100%
rename from public/images/blank-seattlejs-header.png
rename to public/_public/images/blank-seattlejs-header.png
diff --git a/public/images/logo.png b/public/_public/images/logo.png
similarity index 100%
rename from public/images/logo.png
rename to public/_public/images/logo.png
diff --git a/public/images/organizers/andre-wiggins.jpg b/public/_public/images/organizers/andre-wiggins.jpg
similarity index 100%
rename from public/images/organizers/andre-wiggins.jpg
rename to public/_public/images/organizers/andre-wiggins.jpg
diff --git a/public/images/organizers/carter-rabasa.jpg b/public/_public/images/organizers/carter-rabasa.jpg
similarity index 100%
rename from public/images/organizers/carter-rabasa.jpg
rename to public/_public/images/organizers/carter-rabasa.jpg
diff --git a/public/images/organizers/ehtesh-choudhury.jpg b/public/_public/images/organizers/ehtesh-choudhury.jpg
similarity index 100%
rename from public/images/organizers/ehtesh-choudhury.jpg
rename to public/_public/images/organizers/ehtesh-choudhury.jpg
diff --git a/public/images/organizers/fx-wood.jpg b/public/_public/images/organizers/fx-wood.jpg
similarity index 100%
rename from public/images/organizers/fx-wood.jpg
rename to public/_public/images/organizers/fx-wood.jpg
diff --git a/public/images/organizers/jim-liu.jpg b/public/_public/images/organizers/jim-liu.jpg
similarity index 100%
rename from public/images/organizers/jim-liu.jpg
rename to public/_public/images/organizers/jim-liu.jpg
diff --git a/public/images/organizers/justin-oliver-lee.jpg b/public/_public/images/organizers/justin-oliver-lee.jpg
similarity index 100%
rename from public/images/organizers/justin-oliver-lee.jpg
rename to public/_public/images/organizers/justin-oliver-lee.jpg
diff --git a/public/images/organizers/lucas-steinmacher.jpg b/public/_public/images/organizers/lucas-steinmacher.jpg
similarity index 100%
rename from public/images/organizers/lucas-steinmacher.jpg
rename to public/_public/images/organizers/lucas-steinmacher.jpg
diff --git a/public/images/organizers/rachel-lee-nabors.jpg b/public/_public/images/organizers/rachel-lee-nabors.jpg
similarity index 100%
rename from public/images/organizers/rachel-lee-nabors.jpg
rename to public/_public/images/organizers/rachel-lee-nabors.jpg
diff --git a/public/images/seattlejs-march-2022.jpg b/public/_public/images/seattlejs-march-2022.jpg
similarity index 100%
rename from public/images/seattlejs-march-2022.jpg
rename to public/_public/images/seattlejs-march-2022.jpg
diff --git a/public/images/seattlejsconf-2023-logo.png b/public/_public/images/seattlejsconf-2023-logo.png
similarity index 100%
rename from public/images/seattlejsconf-2023-logo.png
rename to public/_public/images/seattlejsconf-2023-logo.png
diff --git a/public/images/seattlejsconf-share.jpg b/public/_public/images/seattlejsconf-share.jpg
similarity index 100%
rename from public/images/seattlejsconf-share.jpg
rename to public/_public/images/seattlejsconf-share.jpg
diff --git a/public/images/seattlejsconf-sharing.png b/public/_public/images/seattlejsconf-sharing.png
similarity index 100%
rename from public/images/seattlejsconf-sharing.png
rename to public/_public/images/seattlejsconf-sharing.png
diff --git a/public/images/skylineShort.jpg b/public/_public/images/skylineShort.jpg
similarity index 100%
rename from public/images/skylineShort.jpg
rename to public/_public/images/skylineShort.jpg
diff --git a/public/images/social-sharing-card-conf.png b/public/_public/images/social-sharing-card-conf.png
similarity index 100%
rename from public/images/social-sharing-card-conf.png
rename to public/_public/images/social-sharing-card-conf.png
diff --git a/public/images/social/a-plea-for-boring-tech.png b/public/_public/images/social/a-plea-for-boring-tech.png
similarity index 100%
rename from public/images/social/a-plea-for-boring-tech.png
rename to public/_public/images/social/a-plea-for-boring-tech.png
diff --git a/public/images/social/building-ai-apps-aug-10.png b/public/_public/images/social/building-ai-apps-aug-10.png
similarity index 100%
rename from public/images/social/building-ai-apps-aug-10.png
rename to public/_public/images/social/building-ai-apps-aug-10.png
diff --git a/public/images/social/creating-a-design-system.png b/public/_public/images/social/creating-a-design-system.png
similarity index 100%
rename from public/images/social/creating-a-design-system.png
rename to public/_public/images/social/creating-a-design-system.png
diff --git a/public/images/social/deno-2.0.png b/public/_public/images/social/deno-2.0.png
similarity index 100%
rename from public/images/social/deno-2.0.png
rename to public/_public/images/social/deno-2.0.png
diff --git a/public/images/social/dont-fear-the-linter.png b/public/_public/images/social/dont-fear-the-linter.png
similarity index 100%
rename from public/images/social/dont-fear-the-linter.png
rename to public/_public/images/social/dont-fear-the-linter.png
diff --git a/public/images/social/es13-and-beyond.png b/public/_public/images/social/es13-and-beyond.png
similarity index 100%
rename from public/images/social/es13-and-beyond.png
rename to public/_public/images/social/es13-and-beyond.png
diff --git a/public/images/social/every-process-everywhere-all-at-once.png b/public/_public/images/social/every-process-everywhere-all-at-once.png
similarity index 100%
rename from public/images/social/every-process-everywhere-all-at-once.png
rename to public/_public/images/social/every-process-everywhere-all-at-once.png
diff --git a/public/images/social/flip-no-more.png b/public/_public/images/social/flip-no-more.png
similarity index 100%
rename from public/images/social/flip-no-more.png
rename to public/_public/images/social/flip-no-more.png
diff --git a/public/images/social/introduction-to-typescript-aug-9.png b/public/_public/images/social/introduction-to-typescript-aug-9.png
similarity index 100%
rename from public/images/social/introduction-to-typescript-aug-9.png
rename to public/_public/images/social/introduction-to-typescript-aug-9.png
diff --git a/public/images/social/langchain-agents.png b/public/_public/images/social/langchain-agents.png
similarity index 100%
rename from public/images/social/langchain-agents.png
rename to public/_public/images/social/langchain-agents.png
diff --git a/public/images/social/managing-data-in-a-react-application-aug-7.png b/public/_public/images/social/managing-data-in-a-react-application-aug-7.png
similarity index 100%
rename from public/images/social/managing-data-in-a-react-application-aug-7.png
rename to public/_public/images/social/managing-data-in-a-react-application-aug-7.png
diff --git a/public/images/social/move-over-passwords.png b/public/_public/images/social/move-over-passwords.png
similarity index 100%
rename from public/images/social/move-over-passwords.png
rename to public/_public/images/social/move-over-passwords.png
diff --git a/public/images/social/react-rendering-with-nextjs.png b/public/_public/images/social/react-rendering-with-nextjs.png
similarity index 100%
rename from public/images/social/react-rendering-with-nextjs.png
rename to public/_public/images/social/react-rendering-with-nextjs.png
diff --git a/public/images/social/real-time-multiplayer-reactions-component.png b/public/_public/images/social/real-time-multiplayer-reactions-component.png
similarity index 100%
rename from public/images/social/real-time-multiplayer-reactions-component.png
rename to public/_public/images/social/real-time-multiplayer-reactions-component.png
diff --git a/public/images/social/rebuilding-in-rust.png b/public/_public/images/social/rebuilding-in-rust.png
similarity index 100%
rename from public/images/social/rebuilding-in-rust.png
rename to public/_public/images/social/rebuilding-in-rust.png
diff --git a/public/images/speakers/aaroh-mankad.jpg b/public/_public/images/speakers/aaroh-mankad.jpg
similarity index 100%
rename from public/images/speakers/aaroh-mankad.jpg
rename to public/_public/images/speakers/aaroh-mankad.jpg
diff --git a/public/images/speakers/adam-argyle.jpg b/public/_public/images/speakers/adam-argyle.jpg
similarity index 100%
rename from public/images/speakers/adam-argyle.jpg
rename to public/_public/images/speakers/adam-argyle.jpg
diff --git a/public/images/speakers/aiden-bai.jpg b/public/_public/images/speakers/aiden-bai.jpg
similarity index 100%
rename from public/images/speakers/aiden-bai.jpg
rename to public/_public/images/speakers/aiden-bai.jpg
diff --git a/public/images/speakers/alan-balasundaram.jpg b/public/_public/images/speakers/alan-balasundaram.jpg
similarity index 100%
rename from public/images/speakers/alan-balasundaram.jpg
rename to public/_public/images/speakers/alan-balasundaram.jpg
diff --git a/public/images/speakers/alan-gonzalez.jpg b/public/_public/images/speakers/alan-gonzalez.jpg
similarity index 100%
rename from public/images/speakers/alan-gonzalez.jpg
rename to public/_public/images/speakers/alan-gonzalez.jpg
diff --git a/public/images/speakers/allan-deutsch.png b/public/_public/images/speakers/allan-deutsch.png
similarity index 100%
rename from public/images/speakers/allan-deutsch.png
rename to public/_public/images/speakers/allan-deutsch.png
diff --git a/public/images/speakers/amber-hoak.jpg b/public/_public/images/speakers/amber-hoak.jpg
similarity index 100%
rename from public/images/speakers/amber-hoak.jpg
rename to public/_public/images/speakers/amber-hoak.jpg
diff --git a/public/images/speakers/ben-ilegbodu.jpg b/public/_public/images/speakers/ben-ilegbodu.jpg
similarity index 100%
rename from public/images/speakers/ben-ilegbodu.jpg
rename to public/_public/images/speakers/ben-ilegbodu.jpg
diff --git a/public/images/speakers/ben-lower.jpg b/public/_public/images/speakers/ben-lower.jpg
similarity index 100%
rename from public/images/speakers/ben-lower.jpg
rename to public/_public/images/speakers/ben-lower.jpg
diff --git a/public/images/speakers/ben-van-citters.jpg b/public/_public/images/speakers/ben-van-citters.jpg
similarity index 100%
rename from public/images/speakers/ben-van-citters.jpg
rename to public/_public/images/speakers/ben-van-citters.jpg
diff --git a/public/images/speakers/brian-gershon.jpg b/public/_public/images/speakers/brian-gershon.jpg
similarity index 100%
rename from public/images/speakers/brian-gershon.jpg
rename to public/_public/images/speakers/brian-gershon.jpg
diff --git a/public/images/speakers/brian-tran.jpg b/public/_public/images/speakers/brian-tran.jpg
similarity index 100%
rename from public/images/speakers/brian-tran.jpg
rename to public/_public/images/speakers/brian-tran.jpg
diff --git a/public/images/speakers/brook-riggio.jpg b/public/_public/images/speakers/brook-riggio.jpg
similarity index 100%
rename from public/images/speakers/brook-riggio.jpg
rename to public/_public/images/speakers/brook-riggio.jpg
diff --git a/public/images/speakers/caleb-diehl.jpg b/public/_public/images/speakers/caleb-diehl.jpg
similarity index 100%
rename from public/images/speakers/caleb-diehl.jpg
rename to public/_public/images/speakers/caleb-diehl.jpg
diff --git a/public/images/speakers/calvin-kipperman.jpg b/public/_public/images/speakers/calvin-kipperman.jpg
similarity index 100%
rename from public/images/speakers/calvin-kipperman.jpg
rename to public/_public/images/speakers/calvin-kipperman.jpg
diff --git a/public/images/speakers/cat-johnson.jpg b/public/_public/images/speakers/cat-johnson.jpg
similarity index 100%
rename from public/images/speakers/cat-johnson.jpg
rename to public/_public/images/speakers/cat-johnson.jpg
diff --git a/public/images/speakers/catherine-johnson.jpg b/public/_public/images/speakers/catherine-johnson.jpg
similarity index 100%
rename from public/images/speakers/catherine-johnson.jpg
rename to public/_public/images/speakers/catherine-johnson.jpg
diff --git a/public/images/speakers/chris-griffing.jpg b/public/_public/images/speakers/chris-griffing.jpg
similarity index 100%
rename from public/images/speakers/chris-griffing.jpg
rename to public/_public/images/speakers/chris-griffing.jpg
diff --git a/public/images/speakers/christina-zhu.jpg b/public/_public/images/speakers/christina-zhu.jpg
similarity index 100%
rename from public/images/speakers/christina-zhu.jpg
rename to public/_public/images/speakers/christina-zhu.jpg
diff --git a/public/images/speakers/cristina-rodriguez.jpg b/public/_public/images/speakers/cristina-rodriguez.jpg
similarity index 100%
rename from public/images/speakers/cristina-rodriguez.jpg
rename to public/_public/images/speakers/cristina-rodriguez.jpg
diff --git a/public/images/speakers/daphne-liu.jpg b/public/_public/images/speakers/daphne-liu.jpg
similarity index 100%
rename from public/images/speakers/daphne-liu.jpg
rename to public/_public/images/speakers/daphne-liu.jpg
diff --git a/public/images/speakers/dm-liao.jpg b/public/_public/images/speakers/dm-liao.jpg
similarity index 100%
rename from public/images/speakers/dm-liao.jpg
rename to public/_public/images/speakers/dm-liao.jpg
diff --git a/public/images/speakers/doug-wade.jpg b/public/_public/images/speakers/doug-wade.jpg
similarity index 100%
rename from public/images/speakers/doug-wade.jpg
rename to public/_public/images/speakers/doug-wade.jpg
diff --git a/public/images/speakers/eric-jensen.jpg b/public/_public/images/speakers/eric-jensen.jpg
similarity index 100%
rename from public/images/speakers/eric-jensen.jpg
rename to public/_public/images/speakers/eric-jensen.jpg
diff --git a/public/images/speakers/erik-hanchett.jpg b/public/_public/images/speakers/erik-hanchett.jpg
similarity index 100%
rename from public/images/speakers/erik-hanchett.jpg
rename to public/_public/images/speakers/erik-hanchett.jpg
diff --git a/public/images/speakers/erik-marks.jpg b/public/_public/images/speakers/erik-marks.jpg
similarity index 100%
rename from public/images/speakers/erik-marks.jpg
rename to public/_public/images/speakers/erik-marks.jpg
diff --git a/public/images/speakers/eve-porcello.jpg b/public/_public/images/speakers/eve-porcello.jpg
similarity index 100%
rename from public/images/speakers/eve-porcello.jpg
rename to public/_public/images/speakers/eve-porcello.jpg
diff --git a/public/images/speakers/fx-wood.jpg b/public/_public/images/speakers/fx-wood.jpg
similarity index 100%
rename from public/images/speakers/fx-wood.jpg
rename to public/_public/images/speakers/fx-wood.jpg
diff --git a/public/images/speakers/geoff-rich.jpg b/public/_public/images/speakers/geoff-rich.jpg
similarity index 100%
rename from public/images/speakers/geoff-rich.jpg
rename to public/_public/images/speakers/geoff-rich.jpg
diff --git a/public/images/speakers/herrington-darkholme.jpg b/public/_public/images/speakers/herrington-darkholme.jpg
similarity index 100%
rename from public/images/speakers/herrington-darkholme.jpg
rename to public/_public/images/speakers/herrington-darkholme.jpg
diff --git a/public/images/speakers/j-chris-anderson.jpg b/public/_public/images/speakers/j-chris-anderson.jpg
similarity index 100%
rename from public/images/speakers/j-chris-anderson.jpg
rename to public/_public/images/speakers/j-chris-anderson.jpg
diff --git a/public/images/speakers/jacob-ebey.jpg b/public/_public/images/speakers/jacob-ebey.jpg
similarity index 100%
rename from public/images/speakers/jacob-ebey.jpg
rename to public/_public/images/speakers/jacob-ebey.jpg
diff --git a/public/images/speakers/jamund-ferguson.jpg b/public/_public/images/speakers/jamund-ferguson.jpg
similarity index 100%
rename from public/images/speakers/jamund-ferguson.jpg
rename to public/_public/images/speakers/jamund-ferguson.jpg
diff --git a/public/images/speakers/jan-miksovsky.jpg b/public/_public/images/speakers/jan-miksovsky.jpg
similarity index 100%
rename from public/images/speakers/jan-miksovsky.jpg
rename to public/_public/images/speakers/jan-miksovsky.jpg
diff --git a/public/images/speakers/jason-lengstorf.jpg b/public/_public/images/speakers/jason-lengstorf.jpg
similarity index 100%
rename from public/images/speakers/jason-lengstorf.jpg
rename to public/_public/images/speakers/jason-lengstorf.jpg
diff --git a/public/images/speakers/john-pham.jpg b/public/_public/images/speakers/john-pham.jpg
similarity index 100%
rename from public/images/speakers/john-pham.jpg
rename to public/_public/images/speakers/john-pham.jpg
diff --git a/public/images/speakers/josh-franklin.jpg b/public/_public/images/speakers/josh-franklin.jpg
similarity index 100%
rename from public/images/speakers/josh-franklin.jpg
rename to public/_public/images/speakers/josh-franklin.jpg
diff --git a/public/images/speakers/josh-goldberg.jpg b/public/_public/images/speakers/josh-goldberg.jpg
similarity index 100%
rename from public/images/speakers/josh-goldberg.jpg
rename to public/_public/images/speakers/josh-goldberg.jpg
diff --git a/public/images/speakers/josh-scotland.jpg b/public/_public/images/speakers/josh-scotland.jpg
similarity index 100%
rename from public/images/speakers/josh-scotland.jpg
rename to public/_public/images/speakers/josh-scotland.jpg
diff --git a/public/images/speakers/kevin-whinnery.jpg b/public/_public/images/speakers/kevin-whinnery.jpg
similarity index 100%
rename from public/images/speakers/kevin-whinnery.jpg
rename to public/_public/images/speakers/kevin-whinnery.jpg
diff --git a/public/images/speakers/lauro-silva.jpg b/public/_public/images/speakers/lauro-silva.jpg
similarity index 100%
rename from public/images/speakers/lauro-silva.jpg
rename to public/_public/images/speakers/lauro-silva.jpg
diff --git a/public/images/speakers/lizzie-siegle.jpg b/public/_public/images/speakers/lizzie-siegle.jpg
similarity index 100%
rename from public/images/speakers/lizzie-siegle.jpg
rename to public/_public/images/speakers/lizzie-siegle.jpg
diff --git a/public/images/speakers/luis-montes.jpg b/public/_public/images/speakers/luis-montes.jpg
similarity index 100%
rename from public/images/speakers/luis-montes.jpg
rename to public/_public/images/speakers/luis-montes.jpg
diff --git a/public/images/speakers/lupe-canaviri-maydana.jpg b/public/_public/images/speakers/lupe-canaviri-maydana.jpg
similarity index 100%
rename from public/images/speakers/lupe-canaviri-maydana.jpg
rename to public/_public/images/speakers/lupe-canaviri-maydana.jpg
diff --git a/public/images/speakers/lupe-canaviri-maydana.png b/public/_public/images/speakers/lupe-canaviri-maydana.png
similarity index 100%
rename from public/images/speakers/lupe-canaviri-maydana.png
rename to public/_public/images/speakers/lupe-canaviri-maydana.png
diff --git a/public/images/speakers/mason-lynass.jpg b/public/_public/images/speakers/mason-lynass.jpg
similarity index 100%
rename from public/images/speakers/mason-lynass.jpg
rename to public/_public/images/speakers/mason-lynass.jpg
diff --git a/public/images/speakers/matthew-bauer.jpg b/public/_public/images/speakers/matthew-bauer.jpg
similarity index 100%
rename from public/images/speakers/matthew-bauer.jpg
rename to public/_public/images/speakers/matthew-bauer.jpg
diff --git a/public/images/speakers/michael-fitzgerald.png b/public/_public/images/speakers/michael-fitzgerald.png
similarity index 100%
rename from public/images/speakers/michael-fitzgerald.png
rename to public/_public/images/speakers/michael-fitzgerald.png
diff --git a/public/images/speakers/michael-solati.jpg b/public/_public/images/speakers/michael-solati.jpg
similarity index 100%
rename from public/images/speakers/michael-solati.jpg
rename to public/_public/images/speakers/michael-solati.jpg
diff --git a/public/images/speakers/mike-ryan.jpg b/public/_public/images/speakers/mike-ryan.jpg
similarity index 100%
rename from public/images/speakers/mike-ryan.jpg
rename to public/_public/images/speakers/mike-ryan.jpg
diff --git a/public/images/speakers/nicholas-patti.jpg b/public/_public/images/speakers/nicholas-patti.jpg
similarity index 100%
rename from public/images/speakers/nicholas-patti.jpg
rename to public/_public/images/speakers/nicholas-patti.jpg
diff --git a/public/images/speakers/peli-de-halleux.jpg b/public/_public/images/speakers/peli-de-halleux.jpg
similarity index 100%
rename from public/images/speakers/peli-de-halleux.jpg
rename to public/_public/images/speakers/peli-de-halleux.jpg
diff --git a/public/images/speakers/philip-swan.png b/public/_public/images/speakers/philip-swan.png
similarity index 100%
rename from public/images/speakers/philip-swan.png
rename to public/_public/images/speakers/philip-swan.png
diff --git a/public/images/speakers/rachel-lee-nabors.jpg b/public/_public/images/speakers/rachel-lee-nabors.jpg
similarity index 100%
rename from public/images/speakers/rachel-lee-nabors.jpg
rename to public/_public/images/speakers/rachel-lee-nabors.jpg
diff --git a/public/images/speakers/sarah-guthals-phd.png b/public/_public/images/speakers/sarah-guthals-phd.png
similarity index 100%
rename from public/images/speakers/sarah-guthals-phd.png
rename to public/_public/images/speakers/sarah-guthals-phd.png
diff --git a/public/images/speakers/shruti-kapoor.jpg b/public/_public/images/speakers/shruti-kapoor.jpg
similarity index 100%
rename from public/images/speakers/shruti-kapoor.jpg
rename to public/_public/images/speakers/shruti-kapoor.jpg
diff --git a/public/images/speakers/spenser-solys.jpg b/public/_public/images/speakers/spenser-solys.jpg
similarity index 100%
rename from public/images/speakers/spenser-solys.jpg
rename to public/_public/images/speakers/spenser-solys.jpg
diff --git a/public/images/speakers/stacy-davis1.jpg b/public/_public/images/speakers/stacy-davis1.jpg
similarity index 100%
rename from public/images/speakers/stacy-davis1.jpg
rename to public/_public/images/speakers/stacy-davis1.jpg
diff --git a/public/images/speakers/tiger-oakes.jpg b/public/_public/images/speakers/tiger-oakes.jpg
similarity index 100%
rename from public/images/speakers/tiger-oakes.jpg
rename to public/_public/images/speakers/tiger-oakes.jpg
diff --git a/public/images/speakers/tim-obrien.jpg b/public/_public/images/speakers/tim-obrien.jpg
similarity index 100%
rename from public/images/speakers/tim-obrien.jpg
rename to public/_public/images/speakers/tim-obrien.jpg
diff --git a/public/images/sponsors/amplication.png b/public/_public/images/sponsors/amplication.png
similarity index 100%
rename from public/images/sponsors/amplication.png
rename to public/_public/images/sponsors/amplication.png
diff --git a/public/images/sponsors/appwrite.jpg b/public/_public/images/sponsors/appwrite.jpg
similarity index 100%
rename from public/images/sponsors/appwrite.jpg
rename to public/_public/images/sponsors/appwrite.jpg
diff --git a/public/images/sponsors/appwrite.png b/public/_public/images/sponsors/appwrite.png
similarity index 100%
rename from public/images/sponsors/appwrite.png
rename to public/_public/images/sponsors/appwrite.png
diff --git a/public/images/sponsors/aws-skills-center-seattle.png b/public/_public/images/sponsors/aws-skills-center-seattle.png
similarity index 100%
rename from public/images/sponsors/aws-skills-center-seattle.png
rename to public/_public/images/sponsors/aws-skills-center-seattle.png
diff --git a/public/images/sponsors/aws.png b/public/_public/images/sponsors/aws.png
similarity index 100%
rename from public/images/sponsors/aws.png
rename to public/_public/images/sponsors/aws.png
diff --git a/public/images/sponsors/cloudinary.png b/public/_public/images/sponsors/cloudinary.png
similarity index 100%
rename from public/images/sponsors/cloudinary.png
rename to public/_public/images/sponsors/cloudinary.png
diff --git a/public/images/sponsors/collective.webp b/public/_public/images/sponsors/collective.webp
similarity index 100%
rename from public/images/sponsors/collective.webp
rename to public/_public/images/sponsors/collective.webp
diff --git a/public/images/sponsors/courier.png b/public/_public/images/sponsors/courier.png
similarity index 100%
rename from public/images/sponsors/courier.png
rename to public/_public/images/sponsors/courier.png
diff --git a/public/images/sponsors/customer-io.svg b/public/_public/images/sponsors/customer-io.svg
similarity index 100%
rename from public/images/sponsors/customer-io.svg
rename to public/_public/images/sponsors/customer-io.svg
diff --git a/public/images/sponsors/datastax.png b/public/_public/images/sponsors/datastax.png
similarity index 100%
rename from public/images/sponsors/datastax.png
rename to public/_public/images/sponsors/datastax.png
diff --git a/public/images/sponsors/fireproof.png b/public/_public/images/sponsors/fireproof.png
similarity index 100%
rename from public/images/sponsors/fireproof.png
rename to public/_public/images/sponsors/fireproof.png
diff --git a/public/images/sponsors/formidable.svg b/public/_public/images/sponsors/formidable.svg
similarity index 100%
rename from public/images/sponsors/formidable.svg
rename to public/_public/images/sponsors/formidable.svg
diff --git a/public/images/sponsors/mux.png b/public/_public/images/sponsors/mux.png
similarity index 100%
rename from public/images/sponsors/mux.png
rename to public/_public/images/sponsors/mux.png
diff --git a/public/images/sponsors/mux.svg b/public/_public/images/sponsors/mux.svg
similarity index 100%
rename from public/images/sponsors/mux.svg
rename to public/_public/images/sponsors/mux.svg
diff --git a/public/images/sponsors/polaris.png b/public/_public/images/sponsors/polaris.png
similarity index 100%
rename from public/images/sponsors/polaris.png
rename to public/_public/images/sponsors/polaris.png
diff --git a/public/images/sponsors/remix.png b/public/_public/images/sponsors/remix.png
similarity index 100%
rename from public/images/sponsors/remix.png
rename to public/_public/images/sponsors/remix.png
diff --git a/public/images/sponsors/runme.png b/public/_public/images/sponsors/runme.png
similarity index 100%
rename from public/images/sponsors/runme.png
rename to public/_public/images/sponsors/runme.png
diff --git a/public/images/sponsors/seekout.png b/public/_public/images/sponsors/seekout.png
similarity index 100%
rename from public/images/sponsors/seekout.png
rename to public/_public/images/sponsors/seekout.png
diff --git a/public/images/sponsors/sentry.png b/public/_public/images/sponsors/sentry.png
similarity index 100%
rename from public/images/sponsors/sentry.png
rename to public/_public/images/sponsors/sentry.png
diff --git a/public/images/sponsors/svb.svg b/public/_public/images/sponsors/svb.svg
similarity index 100%
rename from public/images/sponsors/svb.svg
rename to public/_public/images/sponsors/svb.svg
diff --git a/public/images/sponsors/twilio.png b/public/_public/images/sponsors/twilio.png
similarity index 100%
rename from public/images/sponsors/twilio.png
rename to public/_public/images/sponsors/twilio.png
diff --git a/public/scripts/app.js b/public/_public/scripts/app.js
similarity index 99%
rename from public/scripts/app.js
rename to public/_public/scripts/app.js
index 1e3913e..e3dfa14 100644
--- a/public/scripts/app.js
+++ b/public/_public/scripts/app.js
@@ -920,9 +920,9 @@
const start = /* @__PURE__ */ new Date().getTime()
function log2(...args) {
warn(
- `${(/* @__PURE__ */ (new Date().getTime() - start) / 1e3).toFixed(
- 2
- )} [FSM #${machine.id}]`,
+ `${
+ /* @__PURE__ */ ((new Date().getTime() - start) / 1e3).toFixed(2)
+ } [FSM #${machine.id}]`,
...args
)
}
diff --git a/public/styles.css b/public/_public/styles.css
similarity index 100%
rename from public/styles.css
rename to public/_public/styles.css
diff --git a/public/styles/main.css b/public/_public/styles/main.css
similarity index 100%
rename from public/styles/main.css
rename to public/_public/styles/main.css
diff --git a/public/images/speakers/andrew-enyeart.png b/public/images/speakers/andrew-enyeart.png
deleted file mode 100644
index 6705580..0000000
Binary files a/public/images/speakers/andrew-enyeart.png and /dev/null differ
diff --git a/public/images/speakers/justin-castilla.png b/public/images/speakers/justin-castilla.png
deleted file mode 100644
index a02fccb..0000000
Binary files a/public/images/speakers/justin-castilla.png and /dev/null differ
diff --git a/scripts/live-stream.js b/scripts/live-stream.js
deleted file mode 100644
index 33c35b3..0000000
--- a/scripts/live-stream.js
+++ /dev/null
@@ -1,90 +0,0 @@
-const fetch = require('node-fetch')
-require('dotenv').config()
-
-/**
- * This script is used to launch the conference livestream simulcast using Mux.
- *
- * 1. Run script, this will create a Mux livestream object
- * 2. Go to https://studio.twitter.com/producer/broadcasts and "Create broadcast", make it public, tweet it out
- *
- * No action needed for Twitch or YouTube, they will automatically start streaming.
- *
- * See: https://docs.mux.com/guides/video/stream-live-to-3rd-party-platforms#2-select-a-simulcast-target-supported-by-mux
- */
-
-async function updatePlaybackId(playbackId) {
- let env = process.argv[2]
- let url
- if (env === 'testing') {
- url = 'http://localhost:3333'
- } else {
- url = `https://${env === 'staging' ? 'staging.' : ''}seattlejs.com`
- }
- // update the app setting
- let params = new URLSearchParams()
- params.append('secret', process.env.ADMIN_SECRET)
- params.append('playbackId', playbackId)
- await fetch(`${url}/admin`, {
- method: 'POST',
- body: params,
- // redirect: 'manual'
- })
- console.log('Setting Updated: playbackId: ', playbackId)
-}
-
-async function createLivestream() {
- // create a payload for the REST API call that will initialize a livestream and simulcast it to both Twitter and Twitch
- let payload = {
- playback_policy: ['public'],
- new_asset_settings: {
- playback_policy: ['public'],
- },
- generated_subtitles: [
- {
- name: 'English CC (auto)',
- passthrough: 'English closed captions (auto-generated)',
- language_code: 'en-US',
- transcription_vocabulary_ids: [],
- },
- ],
- simulcast_targets: [
- {
- url: 'rtmps://or.pscp.tv:443/x',
- stream_key: process.env.TWITTER_STREAM_KEY,
- passthrough: 'SeattleJS Conf 2023 Livestream on Twitter',
- },
- {
- url: 'rtmp://live.twitch.tv/app/',
- stream_key: process.env.TWITCH_STREAM_KEY,
- passthrough: 'SeattleJS Conf 2023 Livestream on Twitch',
- },
- {
- url: 'rtmp://a.rtmp.youtube.com/live2',
- stream_key: process.env.YOUTUBE_STREAM_KEY,
- passthrough: 'SeattleJS Conf 2023 Livestream on YouTube',
- },
- ],
- }
-
- // call MUX API
- let response = await fetch(`https://api.mux.com/video/v1/live-streams`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- Authorization:
- 'Basic ' +
- Buffer.from(
- `${process.env.MUX_TOKEN_ID}:${process.env.MUX_TOKEN_SECRET}`,
- 'binary'
- ).toString('base64'),
- },
- body: JSON.stringify(payload),
- })
- let result = await response.json()
- console.log('Mux Stream Key: ', result.data.stream_key)
- let playbackId = result.data.playback_ids[0].id
- console.log('Mux playbackId: ', playbackId)
- await updatePlaybackId(playbackId)
-}
-
-createLivestream()
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..3a2c48b
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,3 @@
+export default function App() {
+ return Hello World!
+}
diff --git a/src/app.js b/src/app.js
deleted file mode 100644
index 865e47b..0000000
--- a/src/app.js
+++ /dev/null
@@ -1,94 +0,0 @@
-import { createClient } from '@liveblocks/client'
-
-function generateRandomId() {
- return (
- Math.random().toString(36).substring(2, 15) +
- Math.random().toString(36).substring(2, 15)
- )
-}
-
-function removeStaleReactions() {
- window.reactions.remoteReactions = window.reactions.remoteReactions.filter(
- reaction => {
- const delta = (new Date().getTime() - reaction.timestamp) / 1000
-
- return delta < 2 + 2
- }
- )
-}
-
-const generateRandomCurveForReaction = () => {
- const randomX1 = `100%`
- const randomY1 = `100%`
- const randomX2 = `${Math.random() * 5}%`
- const randomY2 = `${Math.random() * 50 + 50}%`
-
- return `cubic-bezier(${randomX1}, ${randomY1}, ${randomX2}, ${randomY2})`
-}
-
-const getStartingAngleForReaction = () => {
- // Decide on whether the reaction is facing left or right.
- const direction = Math.random() < 0.5 ? 1 : -1
- // Decide the starting angle of the reaction.
- const startingAngle = Math.floor(Math.random() * 90)
-
- return direction * startingAngle
-}
-
-const client = createClient({
- publicApiKey:
- 'pk_prod_nQme4lxwwAyBuCvk2CQP0Tve9kBh1KxeN_FUdQQqrc24qH9qYA2anmqOToNCpFyA',
-})
-
-function run() {
- const room = client.enter('javascript-todo-app', {
- initialPresence: {},
- })
-
- window.reactions = {
- react: undefined,
- remoteReactions: [],
- getStartingAngleForReaction,
- generateRandomCurveForReaction,
- }
-
- window.reactions.react = id => {
- let emoji = ''
-
- switch (id) {
- case 'heart':
- emoji = '❤️'
- break
-
- case 'fire':
- emoji = '🔥'
- break
- case 'octopus':
- emoji = '🐙'
- break
- case 'rocket':
- emoji = '🚀'
- break
- }
-
- if (emoji !== '')
- room.broadcastEvent({ type: 'reaction', emoji, emojiId: id })
- }
-
- room.subscribe('event', ({ event }) => {
- removeStaleReactions()
- if (event.type === 'reaction') {
- window.reactions.remoteReactions.push({
- id: generateRandomId(),
- emojiId: event.emojiId,
- type: event.emoji,
- shown: false,
- timestamp: new Date().getTime(),
- curve: generateRandomCurveForReaction(),
- startingAngle: getStartingAngleForReaction(),
- })
- }
- })
-}
-
-run()
diff --git a/src/index.tsx b/src/index.tsx
new file mode 100644
index 0000000..f37ce72
--- /dev/null
+++ b/src/index.tsx
@@ -0,0 +1,6 @@
+import { render } from 'preact'
+import App from './App'
+
+const root = document.getElementById('root')
+if (!root) throw new Error('Root element not found')
+render(, root)
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..9a7ed6d
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,9 @@
+import { defineConfig } from 'vite'
+import preact from '@preact/preset-vite'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ base: '/preact-starter/',
+ publicDir: 'public',
+ plugins: [preact()],
+})