From efbca62b554d06996e572dfb8edc65ace4233474 Mon Sep 17 00:00:00 2001 From: Maxwell Burson Date: Mon, 23 Sep 2024 01:08:00 -0700 Subject: [PATCH 01/18] Everything translated, nothing works --- .gitignore | 30 +- .prettierignore | 2 - app.config.ts | 13 + components/layout/layout.tsx | 85 - next-env.d.ts | 5 - package.json | 39 +- pages/404.tsx | 10 - pages/_app.tsx | 9 - pages/_document.tsx | 21 - pages/index.tsx | 58 - pages/posts/[slug].tsx | 98 - pages/global.scss => src/app.scss | 2 +- src/app.tsx | 19 + .../components}/date-formatter.tsx | 6 +- .../components}/layout/layout.module.css | 0 src/components/layout/layout.tsx | 46 + .../layout/theme-picker.module.css | 0 .../components}/layout/theme-picker.tsx | 21 +- src/entry-client.tsx | 4 + src/entry-server.tsx | 52 + src/global.d.ts | 2 + {lib => src/lib}/api.ts | 2 + {scripts => src/lib}/generate-feeds.ts | 6 +- {lib => src/lib}/markdownToHtml.ts | 2 + {pages => src/routes}/404.module.css | 0 src/routes/[...404].tsx | 15 + {pages => src/routes}/index.module.css | 0 src/routes/index.tsx | 79 + src/routes/posts/[slug].tsx | 93 + {pages => src/routes}/posts/posts.module.scss | 0 {types => src/types}/index.ts | 0 tsconfig.json | 14 +- yarn.lock | 5155 ++++++++++++++++- 33 files changed, 5230 insertions(+), 658 deletions(-) create mode 100644 app.config.ts delete mode 100644 components/layout/layout.tsx delete mode 100644 next-env.d.ts delete mode 100644 pages/404.tsx delete mode 100644 pages/_app.tsx delete mode 100644 pages/_document.tsx delete mode 100644 pages/index.tsx delete mode 100644 pages/posts/[slug].tsx rename pages/global.scss => src/app.scss (99%) create mode 100644 src/app.tsx rename {components => src/components}/date-formatter.tsx (69%) rename {components => src/components}/layout/layout.module.css (100%) create mode 100644 src/components/layout/layout.tsx rename {components => src/components}/layout/theme-picker.module.css (100%) rename {components => src/components}/layout/theme-picker.tsx (65%) create mode 100644 src/entry-client.tsx create mode 100644 src/entry-server.tsx create mode 100644 src/global.d.ts rename {lib => src/lib}/api.ts (98%) rename {scripts => src/lib}/generate-feeds.ts (88%) rename {lib => src/lib}/markdownToHtml.ts (96%) rename {pages => src/routes}/404.module.css (100%) create mode 100644 src/routes/[...404].tsx rename {pages => src/routes}/index.module.css (100%) create mode 100644 src/routes/index.tsx create mode 100644 src/routes/posts/[slug].tsx rename {pages => src/routes}/posts/posts.module.scss (100%) rename {types => src/types}/index.ts (100%) diff --git a/.gitignore b/.gitignore index 0140d5c..870d0bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - # dependencies /node_modules /.yarn @@ -7,28 +5,14 @@ # testing /coverage -# next.js -/.next/ -/out/ - -# production -/build +# Solid Start +/dist +.solid +.vinxi +.output +app.config.timestamp_*.js # misc .DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env.local -.env.development.local -.env.test.local -.env.production.local -# build artifacts -/public/atom.xml -/public/json.json +.netlify diff --git a/.prettierignore b/.prettierignore index 9bc5bbf..c75eecc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1 @@ -# next.js -/.next /public diff --git a/app.config.ts b/app.config.ts new file mode 100644 index 0000000..8288879 --- /dev/null +++ b/app.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from '@solidjs/start/config'; + +// https://docs.solidjs.com/solid-start/reference/entrypoints/app-config + +export default defineConfig({ + // https://nitro.unjs.io/config + server: { + preset: 'static', + prerender: { + crawlLinks: true, + }, + }, +}); diff --git a/components/layout/layout.tsx b/components/layout/layout.tsx deleted file mode 100644 index 54cb098..0000000 --- a/components/layout/layout.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from 'react'; -import Head from 'next/head'; -import { useRouter } from 'next/router'; -import Link from 'next/link'; - -import styles from './layout.module.css'; -import { ThemePicker } from './theme-picker'; -import constants from '../../constants.json'; - -const Meta: React.FC = () => ( - <> - - - - - - - - - - - - - {constants.title} - - - - - - - - -); - -const title = ( - - Max Burson - -); - -export interface LayoutProps { - mainProps?: React.HTMLProps; -} - -export const Layout: React.FC = ({ children, mainProps }) => { - const router = useRouter(); - - return ( -
- -
- {router.pathname === '/' ?

{title}

:

{title}

} -
-
{children}
-
- - © {new Date().toLocaleDateString(undefined, { year: 'numeric' })} /{' '} - GitHub /{' '} - - RSS - - - -
-
- ); -}; diff --git a/next-env.d.ts b/next-env.d.ts deleted file mode 100644 index 4f11a03..0000000 --- a/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/package.json b/package.json index 82d8fb9..bd760d0 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "maxwell-bursons-blog", + "type": "module", "description": "Blog of Maxwell Burson", "version": "1.0.0", "author": "Maxwell Burson ", @@ -9,6 +10,7 @@ "engines": { "node": "20" }, + "packageManager": "yarn@4.4.0", "homepage": "https://maxburson.com", "license": "MIT", "main": "n/a", @@ -17,10 +19,10 @@ "url": "git+https://github.com/maxburson/blog.git" }, "scripts": { - "dev": "next", - "build": "yarn generateFeeds && next build", + "dev": "vinxi dev", + "build": "vinxi build", + "start": "vinxi start", "format": "prettier --write --ignore-unknown .", - "start": "next start", "typecheck": "tsc", "generateFeeds": "ts-node ./scripts/generate-feeds.ts" }, @@ -33,29 +35,26 @@ "**/*": "prettier --write --ignore-unknown " }, "dependencies": { - "date-fns": "2.10.0", - "gray-matter": "4.0.2", - "next": "12", - "normalize.css": "^8.0.1", - "prismjs": "^1.25.0", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "remark": "^13.0.0", - "remark-html": "^13.0.2", - "typescript": "~4.5.0" - }, - "devDependencies": { + "@solidjs/meta": "^0.29.4", + "@solidjs/router": "^0.14.1", + "@solidjs/start": "^1.0.6", "@types/jest": "^25.2.2", "@types/node": "22", - "@types/react": "^17.0.0", - "@types/react-dom": "^17.0.0", + "date-fns": "2.10.0", "feed": "^4.2.1", "gatsby-remark-prismjs": "^3.10.0", + "gray-matter": "4.0.2", "husky": "^4.3.6", "lint-staged": "^10.5.3", + "normalize.css": "^8.0.1", "prettier": "2.2.1", + "prismjs": "^1.25.0", + "remark": "^13.0.0", + "remark-html": "^13.0.2", "sass": "^1.32.2", - "ts-node": "^9.1.1" - }, - "packageManager": "yarn@4.4.0" + "solid-js": "^1.8.18", + "ts-node": "^9.1.1", + "typescript": "~4.5.0", + "vinxi": "^0.4.1" + } } diff --git a/pages/404.tsx b/pages/404.tsx deleted file mode 100644 index 1a4e411..0000000 --- a/pages/404.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { Layout } from '../components/layout/layout'; -import styles from './404.module.css'; - -const FileNotFound: React.FC = () => ( - -

404: Not Found

-
-); - -export default FileNotFound; diff --git a/pages/_app.tsx b/pages/_app.tsx deleted file mode 100644 index f3077a6..0000000 --- a/pages/_app.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { AppProps } from 'next/app'; - -import './global.scss'; - -const App: React.FC = ({ Component, pageProps }: AppProps) => { - return ; -}; - -export default App; diff --git a/pages/_document.tsx b/pages/_document.tsx deleted file mode 100644 index 29b6337..0000000 --- a/pages/_document.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Document, { Html, Head, Main, NextScript } from 'next/document'; - -export default class MyDocument extends Document { - render() { - return ( - - - -