Skip to content

Commit 6632fa4

Browse files
authored
Merge branch 'main' into copilot/add-trailing-slash-to-requests
2 parents 89d4773 + a510a04 commit 6632fa4

298 files changed

Lines changed: 189 additions & 35243 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.apk

Lines changed: 0 additions & 2 deletions
This file was deleted.

.bowerrc

Lines changed: 0 additions & 3 deletions
This file was deleted.

.devcontainer/devcontainer.json

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,14 @@
55
"ghcr.io/devcontainers/features/node:1": {
66
"version": "24"
77
},
8-
"ghcr.io/devcontainers/features/ruby:1": {
9-
"version": "3.4"
10-
},
118
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
129
"ghcr.io/devcontainers/features/git:1": {
1310
"version": "latest"
14-
},
15-
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
16-
"packages": "libvips-dev"
1711
}
1812
},
1913
"customizations": {
2014
"vscode": {
2115
"extensions": [
22-
"shopify.ruby-lsp",
2316
"yzhang.markdown-all-in-one",
2417
"davidanson.vscode-markdownlint",
2518
"redhat.vscode-yaml",
@@ -30,7 +23,6 @@
3023
"github.copilot-chat",
3124
"github.vscode-pull-request-github",
3225
"ms-vscode.vscode-typescript-next",
33-
"bradlc.vscode-tailwindcss",
3426
"eamodio.gitlens",
3527
"astro-build.astro-vscode"
3628
],
@@ -39,10 +31,6 @@
3931
"editor.codeActionsOnSave": {
4032
"source.fixAll.eslint": "explicit"
4133
},
42-
"[ruby]": {
43-
"editor.defaultFormatter": "Shopify.ruby-lsp",
44-
"editor.formatOnSave": true
45-
},
4634
"[markdown]": {
4735
"editor.defaultFormatter": "vscode.markdown-language-features"
4836
},
@@ -64,16 +52,14 @@
6452
},
6553
"search.exclude": {
6654
"**/node_modules": true,
67-
"**/vendor": true,
68-
"**/.bundle": true,
6955
"dist-astro": true
7056
}
7157
}
7258
}
7359
},
74-
"onCreateCommand": "script/bootstrap",
60+
"onCreateCommand": "npm install",
7561
"postCreateCommand": "./node_modules/.bin/playwright install --with-deps chromium",
76-
"postStartCommand": "echo '🚀 Devcontainer ready! Run \"npm run astro:dev\" to start the Astro development server.'",
62+
"postStartCommand": "echo '🚀 Devcontainer ready! Run \"npm run dev\" to start the Astro development server.'",
7763
"forwardPorts": [4321],
7864
"portsAttributes": {
7965
"4321": {

.env.example

Lines changed: 0 additions & 11 deletions
This file was deleted.

.github/agents/code.md

Lines changed: 13 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,23 @@
11
---
22
name: code
3-
description: Specialized agent for code changes in this Jekyll/Astro project including Ruby, JavaScript/TypeScript, HTML/Liquid templates, and SCSS/CSS
3+
description: Specialized agent for code changes in this Astro project including JavaScript/TypeScript, Astro components, and SCSS/CSS
44
tools:
55
- "*"
66
---
77

8-
You are a specialized coding agent for Ben Balter's personal website repository. This project is a Jekyll-based blog with an experimental Astro implementation, hosted on GitHub Pages.
8+
You are a specialized coding agent for Ben Balter's personal website repository. This project is an Astro-based blog hosted on GitHub Pages.
99

1010
## Your Expertise
1111

1212
You specialize in:
1313

14-
* **Ruby**: Jekyll plugins, RSpec tests, Rake tasks, Ruby gems
1514
* **JavaScript/TypeScript**: Astro components, webpack configuration, ES modules
16-
* **HTML/Liquid**: Jekyll templates, includes, layouts
15+
* **Astro Components**: Page layouts, reusable components, content collections
1716
* **CSS/SCSS**: Styling with Bootstrap, responsive design
1817
* **Configuration**: YAML, JSON, JavaScript config files
1918

2019
## Coding Standards
2120

22-
### Ruby
23-
24-
* Follow Rubocop rules defined in `.rubocop.yml`
25-
* Use frozen string literals: `# frozen_string_literal: true`
26-
* Write RSpec tests for new functionality in `spec/`
27-
* Keep methods focused and readable
28-
* Use idiomatic Ruby patterns
29-
3021
### JavaScript/TypeScript
3122

3223
* Follow ESLint rules in `.eslintrc.yml`
@@ -83,14 +74,6 @@ const published = await getCollection('posts', ({ data }) => {
8374
});
8475
```
8576

86-
### HTML/Liquid Templates
87-
88-
* Use `{% include_cached %}` for frequently included partials
89-
* Use descriptive variable names
90-
* Follow Jekyll's Liquid best practices
91-
* Leverage site variables from `_config.yml`
92-
* Ensure proper HTML structure and accessibility
93-
9477
### CSS/SCSS
9578

9679
* Follow existing naming conventions
@@ -103,12 +86,9 @@ const published = await getCollection('posts', ({ data }) => {
10386
### Testing
10487

10588
```bash
106-
rake test # Run all tests (RSpec + HTML Proofer)
107-
bundle exec rspec # Run Ruby tests only
10889
npm run test:vitest # Run Astro unit tests (TypeScript utilities)
10990
npm run test:vitest:watch # Run Vitest in watch mode
110-
npm run test:e2e # Run E2E tests for Jekyll
111-
npm run test:e2e:astro # Run E2E tests for Astro
91+
npm run test:e2e # Run E2E tests
11292
```
11393

11494
### Linting
@@ -117,7 +97,6 @@ npm run test:e2e:astro # Run E2E tests for Astro
11797
npm run lint # Run all linters
11898
npm run lint-js # Lint JavaScript
11999
npm run lint-json # Lint JSON files
120-
rubocop # Ruby linting
121100
script/fix-lint # Auto-fix linting issues (ALWAYS run after markdown linting)
122101
```
123102

@@ -126,26 +105,23 @@ script/fix-lint # Auto-fix linting issues (ALWAYS run after markdown lint
126105
### Building
127106

128107
```bash
129-
rake build # Build Jekyll site (outputs to _site/)
130-
npm run webpack # Build webpack assets
131-
npm run astro:build # Build Astro site (outputs to dist-astro/)
132-
npm run astro:check # Type-check Astro TypeScript
108+
npm run build # Build Astro site (outputs to dist-astro/)
109+
npm run check # Type-check Astro TypeScript
133110
```
134111

135112
### Development Server
136113

137114
```bash
138-
rake serve # Start Jekyll dev server (port 4000)
139-
npm run astro:dev # Start Astro dev server (port 4321)
115+
npm run dev # Start Astro dev server (port 4321)
140116
```
141117

142118
## Astro-Specific Considerations
143119

144120
When working with Astro code:
145121

146-
1. **Type Checking**: Always run `npm run astro:check` before committing Astro changes
122+
1. **Type Checking**: Always run `npm run check` before committing Astro changes
147123
2. **Content Collections**: Use `src/content/config.ts` schemas for type-safe content
148-
3. **Build Output**: Astro builds to `dist-astro/` (separate from Jekyll's `_site/`)
124+
3. **Build Output**: Astro builds to `dist-astro/`
149125
4. **File-based Routing**: Pages in `src/pages/` automatically become routes
150126
* `src/pages/about.astro``/about/`
151127
* `src/pages/[year]/[month]/[day]/[slug].astro` → Dynamic blog post routes
@@ -177,23 +153,19 @@ When working with Astro code:
177153

178154
## File Structure
179155

180-
* `_posts/`: Blog posts (YYYY-MM-DD-title.md format) - Used by both Jekyll and Astro
181-
* `_includes/`: Reusable HTML/Liquid snippets (Jekyll)
182-
* `_layouts/`: Page templates (Jekyll)
183-
* `_data/`: YAML data files (Jekyll)
184-
* `src/`: Astro source files (experimental)
156+
* `src/`: Astro source files
185157
* `src/pages/`: Astro page routes (file-based routing)
186158
* `src/layouts/`: Astro layouts (BaseLayout, PostLayout, etc.)
187159
* `src/components/`: Astro components (reusable .astro files)
188160
* `src/content/`: Content collections (posts/, pages/, resume-positions/)
161+
* `src/data/`: YAML data files
189162
* `src/lib/`: Shared libraries (remark/rehype plugins)
190163
* `src/utils/`: Utility functions (with .test.ts files)
191164
* `src/styles/`: SCSS styles
192165
* `src/scripts/`: Client-side scripts
193-
* `spec/`: RSpec tests (Jekyll)
194-
* `e2e/`: Playwright E2E tests (both Jekyll and Astro)
166+
* `e2e/`: Playwright E2E tests
195167
* `script/`: Build and utility scripts
196-
* `assets/`: Static assets (Jekyll)
168+
* `public/`: Static assets
197169

198170
## When Making Changes
199171

.github/agents/writing.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,10 @@ Optional front matter fields:
5050

5151
* `comments: true` - Enable comments
5252
* `redirect_from: ["/old/url/"]` - For URL redirects
53-
* `permalink: /custom-url/` - Custom URL path
5453

5554
### File Naming
5655

57-
* Blog posts: `_posts/YYYY-MM-DD-title-with-hyphens.md`
56+
* Blog posts: `src/content/posts/YYYY-MM-DD-title-with-hyphens.md`
5857
* Pages: descriptive lowercase with hyphens (e.g., `about.md`)
5958

6059
### Markdown Guidelines
@@ -134,13 +133,14 @@ script/fix-lint # Auto-fix linting issues (ALWAYS run after remark/markdo
134133
### Testing
135134

136135
```bash
137-
rake test # Run all tests including HTML validation
136+
npm run check # Type-check the site
137+
npm run test:e2e # Run E2E tests
138138
```
139139

140140
### Preview
141141

142142
```bash
143-
rake serve # Start Jekyll server to preview posts
143+
npm run dev # Start Astro server to preview posts
144144
```
145145

146146
## When Creating Content

0 commit comments

Comments
 (0)