Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The big overhaul, pt. 1: Foundation and Blog #19

Draft
wants to merge 223 commits into
base: main
Choose a base branch
from
Draft

Conversation

EnMod
Copy link
Owner

@EnMod EnMod commented Oct 31, 2021

👀 Take a look at the latest preview!


It's been over eight years since I developed the first "final" version of this site. So much was wrong with it (cringe copy all over, complete lack of attention to accessibility, etc etc), but there was also much I didn't know at the time.

Now that I know better and have actually made a few websites/web projects since then, I'm confident I can execute the plan I originally had in a way I'm happy with as opposed to a way I settled for.

This is part 1 of that execution, focused on creating a solid foundation to build from and publishing a living blog post where I am logging the process as it proceeds.

In every part, check out CHANGELOG.md to follow along with new feature ideas as I document the site's overhaul there incrementally!


P.S.: This is just #12 again but...for real this time!

- PostCSS with nesting
- ESLint (still working on getting that to tip-top shape)
- Environment variables
Shoutouts to VSCode's Prettier options for keeping semis on by default
- Enable a custom "layout" string to be read from pages
- Use a different wrapper component for pages based on this string
- Prep for CSS changes
- Prep site to use the Google fonts Questrial and Lustria
- Add some wide-coverage postcss config via postcss-preset-env
- Fix the postcss imports by properly using the right package for them
- Create component for discipline links
- Add getStaticProps call on homepage to get disciplines
- Stub out query and client to actually grab the data
- Add GraphQL file loader from graphql-tag
- Properly pass props to the <Home /> component
- Stub out major pages
- Also stub out CSS files for these pages
- Broaden scope of DisciplineLinks to cover any page-icon-links
- Simplify data fetching
- Remove styles/components.css (it's unneeded)
- Use custom property for margins in HomePage
- New NextJS version!
- Prettier applied!
- Kebab-casing!
- Convert all pages to CSS Modules
- Import all custom properties in _app.js's global CSS
- Remove postcss-import
- Upgrade deps, including Next.js to v10!!!
- Upgrade lockfileVersion
- Update .eslintrc
Also, init the project in Svelte
Also, bring over the CSS from the Next.js conversion
Void isn't a tangible element, but it's a catch-all by nature and is the
default color scheme of the site, so I suppose it fits better than
metal? the default scheme icon is more similar to void anyway 🤷
- Adjust theme color tokens to change based on data-* attributes vs
  class inheritance. Now I can "tag" elements with an appearance or
  scheme and bam! Correctly themed tokens at any scope. Heavily inspired
  by the HashiCorp developer portal's token setup:
  https://github.com/hashicorp/dev-portal/blob/main/src/styles/themes/dark.css
- Changed scheme names to only reference elements. This helps detangle
  page nomenclature from design system nomenclature.
- Remove blog +layout.ts and just set a fallback in +layout@.svelte
- Allow theme-selector icon color values to change based on appearance
- Finally use the official DatoCMS package for Svelte 🎉
- Migrate blog-specific components to StructuredText blocks folder
- Uninstall svelte-datocms (thanks, it served me well 🫡)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant