Skip to content

Layout polish, About improvements, and site-wide component refactors #9

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

Merged
merged 42 commits into from
Apr 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
71394bf
feat(resume): updated resume
steadyfall Jan 21, 2025
b71762c
build: added mdx-js to render mdx files
steadyfall Feb 1, 2025
a961c77
feat(resume): made education displayed in header mobile-friendly
steadyfall Mar 13, 2025
538e949
build: updated dependencies
steadyfall Apr 4, 2025
61dfb27
lint: define rules in eslintrc
steadyfall Apr 4, 2025
e877431
lint: apply linting rules defined in previous commit
steadyfall Apr 4, 2025
4f586c9
lint: add prettier for code formatting
steadyfall Apr 7, 2025
ab0d0a4
lint: add eslint plugin for organizing and validating whole import st…
steadyfall Apr 7, 2025
6180f2a
lint: add Prettier plugin for sorting Tailwind class names
steadyfall Apr 7, 2025
2568cae
ci: added lint-staged as pre-commit hook using husky
steadyfall Apr 7, 2025
2fd4e71
lint: add pre-commit hook and run as intended
steadyfall Apr 7, 2025
57501df
lint: modify lint-staged and disable linting during production builds
steadyfall Apr 7, 2025
10415a4
ci: move lint-staged settings from package.json to .lintstagedrc.js
steadyfall Apr 7, 2025
746483b
lint: run set lint commands to lint entire project
steadyfall Apr 7, 2025
549bee9
ci: add workflow for linting (ESLint & Prettier) & type checking
steadyfall Apr 8, 2025
c677ab1
Add linting, formatting, and type checking via CI and pre-commit hook…
steadyfall Apr 8, 2025
c5b01ef
ci: modify workflow to fix issue with jobs not working as intended on…
steadyfall Apr 8, 2025
e33c0ba
style: improve responsibilities list with cleaner bullet styling
steadyfall Apr 10, 2025
f65125c
feat: move company logo outside margins and reveal on hover
steadyfall Apr 10, 2025
af05bf6
refactor: rename isDesktop to isTablet for 768px breakpoint
steadyfall Apr 10, 2025
6979a7f
feat: make company logo backdrop transparent and adjust image size fo…
steadyfall Apr 10, 2025
cdab2c5
style: adjust spacing between - positions with/(out) responsibilities…
steadyfall Apr 10, 2025
787bc2a
chore: update Education component to use RecordTile
steadyfall Apr 10, 2025
91069e7
feat: implement generic RecordTile component for experience and educa…
steadyfall Apr 12, 2025
65bf112
refactor: improve readability of heading rendering logic in jobDescri…
steadyfall Apr 12, 2025
ff5eb78
refactor: rename details to body in RecordTile
steadyfall Apr 12, 2025
8e2d743
chore: update Education component to use EducationTile
steadyfall Apr 12, 2025
48b49ff
feat: use RecordTile in EducationTile with combined degree and major
steadyfall Apr 12, 2025
f521a2e
refactor: update ExperienceTile to use generic RecordTile component
steadyfall Apr 12, 2025
e9dddb0
Polish experience tile layout with hover logo and cleaner list stylin…
steadyfall Apr 12, 2025
3898b97
Refactor experience & education tiles to use a shared RecordTile comp…
steadyfall Apr 13, 2025
52fd62c
style: decrease padding around highlighted text by Highlighter component
steadyfall Apr 13, 2025
2c9824d
refactor(highlight): simplify color logic using color map
steadyfall Apr 13, 2025
776f66d
feat: add StrikeHighlight component for colorful strikethrough-style …
steadyfall Apr 13, 2025
521349f
feat: add and customize Accordion component from shadcn
steadyfall Apr 14, 2025
9183974
feat: convert extra info paragraphs to AccordionForExtraInfo componen…
steadyfall Apr 14, 2025
70aa721
style: replace Iconify icon with lucide-react icon in ExperienceTile …
steadyfall Apr 14, 2025
852d065
Tweak highlighter styles & revamp About content layout (#8)
steadyfall Apr 14, 2025
10edbe4
Merge branch 'main' into dev
steadyfall Apr 16, 2025
d52eabc
ci: avoid deploying on any push to main & add CODEOWNERS file
steadyfall Apr 16, 2025
c6fda59
ci: add automatic, scheduled, and manual PR labeling with labeler
steadyfall Apr 16, 2025
1db2e9e
Revert "ci: add automatic, scheduled, and manual PR labeling with lab…
steadyfall Apr 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 37 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
{
"extends": [
"next/core-web-vitals",
"next/typescript"
]
"next/typescript",
"plugin:prettier/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript"
],
"plugins": ["prettier", "import"],
"rules": {
// Code quality
"no-console": "warn",
"no-debugger": "error",
"no-unused-vars": "off", // Handled by TS version above

// Import sorting and cleanliness
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object",
"type"
],
"newlines-between": "always",
"alphabetize": { "order": "asc", "caseInsensitive": true }
}
],
"import/newline-after-import": "error",
"import/no-duplicates": "error",

// Prettier takes over formatting rules now
"prettier/prettier": "error"
}
}
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @steadyfall
3 changes: 2 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Deploy to GitHub Pages

on:
push:
branches: [main]
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'

jobs:
build-and-deploy:
Expand Down
91 changes: 91 additions & 0 deletions .github/workflows/lint-and-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Lint and Type-checking

on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev

jobs:
lint:
name: ESLint & Prettier
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Determine base branch
id: vars
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "BASE_BRANCH=${{ github.event.pull_request.base.ref }}" >> $GITHUB_ENV
else
echo "BASE_BRANCH=${{ github.ref_name }}" >> $GITHUB_ENV
fi

- name: Fetch base branch
run: |
git fetch origin $BASE_BRANCH

- name: Get list of changed files
id: files
run: |
echo "CHANGED_FILES=$(git diff --name-only --diff-filter=ACMRT origin/$BASE_BRANCH | tr '\n' ' ')" >> $GITHUB_ENV

- name: Lint JS/TS files with ESLint (no auto-fix)
if: ${{ env.CHANGED_FILES != ''}}
run: |
FILES=$(echo "$CHANGED_FILES" | tr ' ' '\n' | grep -E '\.(js|jsx|ts|tsx)$' | xargs)
if [ -n "$FILES" ]; then
echo "Running ESLint on:"
echo "$FILES"
npx next lint --file $FILES
else
echo "No JS/TS files to lint."
fi

- name: Format other files with Prettier (no auto-fix)
if: ${{ env.CHANGED_FILES != ''}}
run: |
FILES=$(echo "$CHANGED_FILES" | tr ' ' '\n' | grep -E '\.(json|md|css|scss|html)$' | xargs)
if [ -n "$FILES" ]; then
echo "Running Prettier on:"
echo "$FILES"
npx prettier --check $FILES
else
echo "No files to format with Prettier."
fi

type-check:
name: Type Checking
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install dependencies
run: npm ci

- name: Type Check
run: |
echo "Running TypeScript type checking..."
npx tsc --noEmit
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
11 changes: 11 additions & 0 deletions .lintstagedrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
const path = require('path');

const buildEslintCommand = (filenames) =>
`next lint --fix --file ${filenames
.map((f) => path.relative(process.cwd(), f))
.join(' --file ')}`;

module.exports = {
'*.{js,jsx,ts,tsx}': [buildEslintCommand, 'prettier --write'],
'*.{json,md,css,scss,html}': ['prettier --write'],
};
9 changes: 9 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"singleQuote": true,
"semi": true,
"trailingComma": "all",
"printWidth": 100,
"tabWidth": 2,
"arrowParens": "always",
"plugins": ["prettier-plugin-tailwindcss"]
}
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,31 @@
# steadyfall.github.io

## color-palette

main:

- `text-pink-500`
- `text-thunderbird-600`
- `text-azure-radiance-600`
- `text-neon-green-500 dark:text-neon-green-400`

across_colors:

- `text-midnight-blue-500`
- `text-pink-500`
- `text-orange-500`
- `text-blue-violet-500`

highlighter:

- cyan: `bg-cyan-300 dark:bg-cyan-500/30`
- pink/violet-web: `bg-[#ff77e4]`
- slate-blue: `bg-[#7777ff]`
- red: `bg-[#ff7777]`
- yellow/lemon/laser-lemon: `bg-[#ffff77]`

## to-do:

- [x] check out about highlighting words
- [ ] YAML file parser for experience, projects
- [x] skills, education section
Expand Down
14 changes: 13 additions & 1 deletion next.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
eslint: {
ignoreDuringBuilds: true,
},
};

export default nextConfig;

// import withMDX from '@next/mdx';

// /** @type {import('next').NextConfig} */
// const nextConfig = {
// output: 'export',
// pageExtensions: ['js', 'jsx', 'md', 'mdx', 'ts', 'tsx'],
// };

// export default withMDX()(nextConfig);
Loading