Compare commits

..

No commits in common. "main" and "feat/ci-check-debug" have entirely different histories.

20 changed files with 691 additions and 1202 deletions

48
.github/workflows/aws.yaml vendored Normal file
View file

@ -0,0 +1,48 @@
name: Deploy to AWS S3
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PNPM
uses: pnpm/action-setup@v2
with:
version: 8
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build site
run: pnpm build
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- name: Deploy static site to S3 bucket
run: |
chmod +x scripts/deploy.sh
scripts/deploy.sh
- name: Invalidate CloudFront cache
env:
AWS_CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION_ID }}
run: |
chmod +x scripts/invalidate.sh
scripts/invalidate.sh

View file

@ -1,18 +1,36 @@
name: ci name: CI
on: on:
pull_request: pull_request:
branches: [main] branches: [main]
push:
branches: [main]
jobs: jobs:
ci: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Checkout
- uses: pnpm/action-setup@v4 uses: actions/checkout@v4
- uses: actions/setup-node@v4
- name: Setup PNPM
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
cache: "pnpm" cache: "pnpm"
- run: pnpm install
- run: pnpm prettier --check . - name: Install dependencies
- run: pnpm astro check run: pnpm install
- run: pnpm build
- name: Prettier check
run: pnpm prettier --check .
- name: Astro check
run: pnpm astro check
- name: Build
run: pnpm build

1
.gitignore vendored
View file

@ -19,4 +19,3 @@ pnpm-debug.log*
.gitignore .gitignore
.claude/ .claude/
.vercel/

View file

@ -1,6 +1,5 @@
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import mdx from "@astrojs/mdx"; import mdx from "@astrojs/mdx";
import vercel from "@astrojs/vercel";
import rehypeExternalLinks from "rehype-external-links"; import rehypeExternalLinks from "rehype-external-links";
import rehypeKatex from "rehype-katex"; import rehypeKatex from "rehype-katex";
import remarkMath from "remark-math"; import remarkMath from "remark-math";
@ -38,8 +37,6 @@ const daylight = {
}; };
export default defineConfig({ export default defineConfig({
output: "static",
adapter: vercel(),
build: { build: {
format: "file", format: "file",
}, },

0
new Normal file
View file

View file

@ -1,5 +1,5 @@
{ {
"name": "barrettruth.sh", "name": "barrettruth.com",
"type": "module", "type": "module",
"version": "0.0.1", "version": "0.0.1",
"scripts": { "scripts": {
@ -18,18 +18,17 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.13", "@astrojs/mdx": "^4.3.13",
"@astrojs/vercel": "^9.0.4", "astro": "^5.16.9",
"astro": "^5.17.3",
"rehype-external-links": "^3.0.0", "rehype-external-links": "^3.0.0",
"rehype-katex": "^7.0.1", "rehype-katex": "^7.0.1",
"remark-math": "^6.0.0" "remark-math": "^6.0.0"
}, },
"devDependencies": { "devDependencies": {
"@astrojs/check": "^0.9.6", "@astrojs/check": "^0.9.6",
"@typescript-eslint/parser": "^8.56.1", "@typescript-eslint/parser": "^8.53.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"lint-staged": "^16.2.7", "lint-staged": "^16.2.7",
"prettier": "^3.8.1", "prettier": "^3.8.0",
"prettier-plugin-astro": "^0.14.1", "prettier-plugin-astro": "^0.14.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },

1691
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -111,35 +111,34 @@
} }
@font-face { @font-face {
font-family: "Berkeley Mono"; font-family: "Apercu Mono";
src: url("/fonts/berkeley-mono/BerkeleyMono-Regular.ttf") format("truetype"); src: url("/fonts/apercu-mono/ApercuMonoProLight.ttf") format("truetype");
font-weight: 300;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Apercu Mono";
src: url("/fonts/apercu-mono/ApercuMonoProRegular.ttf") format("truetype");
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face { @font-face {
font-family: "Berkeley Mono"; font-family: "Apercu Mono";
src: url("/fonts/berkeley-mono/BerkeleyMono-Bold.ttf") format("truetype"); src: url("/fonts/apercu-mono/ApercuMonoProMedium.ttf") format("truetype");
font-weight: 700; font-weight: 500;
font-style: normal; font-style: normal;
font-display: swap; font-display: swap;
} }
@font-face { @font-face {
font-family: "Berkeley Mono"; font-family: "Apercu Mono";
src: url("/fonts/berkeley-mono/BerkeleyMono-Italic.ttf") format("truetype"); src: url("/fonts/apercu-mono/ApercuMonoProBold.ttf") format("truetype");
font-weight: 400;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: "Berkeley Mono";
src: url("/fonts/berkeley-mono/BerkeleyMono-BoldItalic.ttf")
format("truetype");
font-weight: 700; font-weight: 700;
font-style: italic; font-style: normal;
font-display: swap; font-display: swap;
} }
@ -148,7 +147,7 @@ code,
pre code, pre code,
.astro-code, .astro-code,
code[class*="language-"] { code[class*="language-"] {
font-family: "Berkeley Mono", monospace !important; font-family: "Apercu Mono", monospace !important;
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {

3
scripts/deploy.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
aws s3 sync ./dist/ s3://barrettruth.com --delete

8
scripts/invalidate.sh Normal file
View file

@ -0,0 +1,8 @@
#!/bin/sh
if [ -z "$AWS_CLOUDFRONT_DISTRIBUTION_ID" ]; then
echo 'No cloudfront distribution id found.'
exit 1
fi
aws cloudfront create-invalidation --distribution-id "$AWS_CLOUDFRONT_DISTRIBUTION_ID" --paths "/*"

40
src/pages/about.astro Normal file
View file

@ -0,0 +1,40 @@
---
import BaseLayout from "../layouts/BaseLayout.astro";
---
<BaseLayout title="Barrett Ruth">
<div>
<header>
<h1>Barrett Ruth</h1>
</header>
<article>
<p>
I am a software developer studying computer science at the University of
Virginia.
</p>
<p>
I began working as a software engineer part-time with
<a target="blank" href="https://gotransverse.com/">GoTransverse</a>
in high school. After developing an interest in the financial/venture capital
world, I transitioned to
<a target="blank" href="https://www.nthventure.com/">Nth Venture</a>
in the spring of my second year. I worked at
<a target="blank" href="https://usa.visa.com/">VISA</a> and
<a href="https://trbcap.com" target="_blank">TRB Capital Management</a>
during the summer of 2024. Luckily enough, I'll be joining
<a href="https://drw.com" target="_blank">DRW</a> and
<a href="https://ramp.com" target="_blank">Ramp</a> in the summer and spring
of 2025.
</p>
<p>
I've a developing interest in high-performance computing, quantitative
finance, and open-source software. I am also a passionate contributor to
the (Neo)Vim ecosystem and beyond.
</p>
<p>
You can see my related contributions on
<a target="blank" href="https://github.com/barrettruth">GitHub</a>.
</p>
</article>
</div>
</BaseLayout>

View file

@ -18,23 +18,20 @@ import BaseLayout from "../layouts/BaseLayout.astro";
<div> <div>
<h2>experience</h2> <h2>experience</h2>
<ul> <ul>
<li>
<a target="_blank" href="https://imc.com">imc</a>&mdash;july 2026
</li>
<li> <li>
<a target="_blank" href="https://ramp.com">ramp</a>&mdash;fall 2025 <a target="_blank" href="https://ramp.com">ramp</a>&mdash;fall 2025
</li> </li>
<li> <li>
<a target="_blank" href="https://drw.com">drw</a>&mdash;summer 2025 <a target="_blank" href="https://drw.com">drw</a>&mdash;summer 2025
</li> </li>
<li>
<a target="_blank" href="https://trbcap.com">trb capital</a
>&mdash;summer 2024
</li>
<li> <li>
<a target="_blank" href="https://usa.visa.com">visa</a>&mdash;summer <a target="_blank" href="https://usa.visa.com">visa</a>&mdash;summer
2024 2024
</li> </li>
<li>
<a target="_blank" href="https://trbcap.com">trb capital</a
>&mdash;summer 2024
</li>
<li> <li>
<a target="_blank" href="https://www.nthventure.com">nth venture</a <a target="_blank" href="https://www.nthventure.com">nth venture</a
>&mdash;spring 2023 >&mdash;spring 2023
@ -48,6 +45,9 @@ import BaseLayout from "../layouts/BaseLayout.astro";
<div> <div>
<h2>ideas</h2> <h2>ideas</h2>
<ul>
<li>there are none yet</li>
</ul>
</div> </div>
<div> <div>
@ -57,11 +57,6 @@ import BaseLayout from "../layouts/BaseLayout.astro";
<li> <li>
<a target="_blank" href="https://github.com/barrettruth">github</a> <a target="_blank" href="https://github.com/barrettruth">github</a>
</li> </li>
<li>
<a target="_blank" href="https://codeforces.com/profile/barrettruth"
>codeforces</a
>
</li>
</ul> </ul>
</div> </div>