Conversation
Deleted old application, kept a few assets.
Set up boilerplate for the next version with Astro.
Implemented a theme toggling system. Organized styles into CSS files. Added FOUC prevention on inlined script at head. Added a few starter components.
Added a golbal page container class and a logo component to the header.
Added an presentation component with name, title and profile picture.
Made a few UI tweaks and added more about me text.
Added new logos, integrated with theme toggle.
Added, configured and ran ESLint.
Configured and applies a few additional TypeScript rules.
Added a new skills and experience section.
Added current experience as a listing of collapsible cards.
Redesigned the experience section, with one column for experience listings and another for stack and activity (currently a placeholder).
Migrated old project data into a new structure, with very early UI to visualize information. Removed deprecated files from old_assets/.
Reworked the projects section with a grid layout and better cards.
Made more improvements to the featured project cards. Refactored the stack icons with Astro's Image component.
Various improvements to project card CTA elements. Reorganized icon folders.
Minor tweaks to the introduction section.
Added a contacts section and tweaked fa icons to respond to theme palettes.
Improved responsivity at the experience section.
Added a simple footer.
Added, configured and ran stylelint in the codebase.
Ongoing refactor of the theme system.
Refactored the featured projetcs strip for better looks and mostly finished the new theming system, with footer elements and a few others remaining.
Integrated the footer with new theme tokens.
Added a header box-shadow theme token. Adjusted the body's padding.
Made several enhancements to the experience item cards, including animated toggling, dropdown icons and several accessibility improvements. Also Fixed an accessibility issue in the Logo component.
Added base typography using the Inter font.
Added a skip-to-main-content link, conforming to the WCAG 2.4.1 Bypass Blocks rule.
Extensive improvements to the header and navbar. Added different navbar layouts for mobile and desktop views. Added a togglable navbar menu with transition animations. Took extra care with accessibility standards.
Made a few tweaks to the footer and the dark theme.
Fixed 4s lint times with ESLint due to configuration block ordering overriding an important tab rule setting on .astro files.
Made UI improvements to the language switcher and the theme toggle components.
Made a few content alignment tweaks to the StackPill.astro compoenent and CTA buttons on project cards.
Refactored the projects section and components into a single component featuring both featured and and other project rows.
Fixed a couple instances of cross-browser layout discrepancies, specifically the experience item dropdowns and featured projects strip.
Hided the activity placeholder element in the skills and experience section. Adjusted inner margins in the tools column.
Adjusted the padding surrounding the experince inner list in at ExperienceItem.astro.
Added a dedicated projects page.
Tweaked exisiting navigation links to be locale-aware and not reset the selected language. Also added a link to the projects page at the home page.
Tweaked laguage switching so that it's route-aware, meaning it stays in the current page when a new language is selected.
Extracted the footer to a reusable component.
Extracted the contacts section contents to a reusable component.
Favicon rework. Added a theme-compliant logo.svg file and integrated to Logo.astro. Created an alternate logo for display as favicon at small sizes. Optimized logo and favicon SVGs with svgo. Added relevant favicon PNGs at different resolutions. Added a site.webmanifest. Added a meta description. Moved old assets into legacy directory.
Added i18n SEO hreflang signals to the base layout.
Updated pnpm to version 11.8.0 and added sharp to dev dependencies for use at build time.
Added localized page titles.
Added Open Graph meta tags. Added a Open Graph image builder script via shap, which produces a /public/og-image.jpg file based on the current profile picture at src/assets/images/profile-pic.jpg. Integrated OG image generation with the dev and build scripts, leaving the final file out ofthe git history.
Adjusted the Open Graph image pipeline to include internationalized text for each available locale.
Added JSON-LD structured data to the base layout, along with a locale-compliant data builder.
Added an automated sitemap Astro integration, and a robots.txt file.
Extracted and reused the ProjectCategoryTag.astro component. Also removed the leftover Welcome.astro boilerplate component.
Reduced animations on the project cards at the ProjectStrips.astro component, restricting motion to the CTA buttons and tack tags.
Updated the README.md for the latest version.
Updated package.json with version 3.0.0 and made minor additions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers a complete site rewrite, migrating the previous Vue 3 + Quasar SPA to an Astro static site, built by hand.
This delivers a faster, mostly-static site with a redesigned UI, full internationalization, a theming system, and extensive accessibility work.
Stack migration
Completely rebuilt the application, dropping the previous Vue/Quasar stack in favor of Astro 6, including:
scripts/build-og-image.mjs).UI redesign
A new UI was implemented, inspired by various similar online portfolios and Figma designs. The branding was also updated, with an updated logo and favicon set.
This new UI features:
Internationalization
en-US and pt-BR were kept as the available locales, with en-US as the default fallback. This is delivered through a custom i18n layer (
src/i18n/ui.ts, locales.ts) integrated with Astro's tooling, including:/,/pt-br/).Accessibility
Extensive attention was paid to accessibility features, previously maintained as an afterthought. The new site delivers:
SEO
Attention was also paid to SEO features, bringing in several additions and new features to the new site: