Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
76b04a8
🔖 feat: Add new research paper on viscoelastic Worthington jets and d…
VatsalSy May 6, 2025
5069f5e
🎨 feat: Add new history page with news updates
VatsalSy May 6, 2025
ff95f1d
🎨 feat(history): improve styling and layout of history page
VatsalSy May 6, 2025
29b348b
🎨 feat(history): add new history news box styles
VatsalSy May 6, 2025
7f3ae17
🔧 refactor: Remove unused `history` collection from config
VatsalSy May 6, 2025
89110b9
✨ feat: Add history button to news content
VatsalSy May 6, 2025
cfeb653
✨ feat: Introduce coding style guidelines across the project
VatsalSy May 7, 2025
1c6d38d
✨ refactor: Remove unused .gitignore entry and add newline
VatsalSy May 7, 2025
2c3d2f0
🎨 feat: Improve news image styles across the site
VatsalSy May 11, 2025
d74089f
✨ feat(history): Enhance news item layout and styling
VatsalSy May 11, 2025
7bf308a
🎨 refactor(history): improve layout and styling of news sections
VatsalSy May 11, 2025
fc8d744
✨ feat(history): Enhance history page styles and add CSS variables
VatsalSy May 11, 2025
f3861fe
🎨 feat(team): Enhance team member content styling and layout
VatsalSy May 11, 2025
b91c01f
🎨 style(history, news): Improve link styles and add consistent classes
VatsalSy May 11, 2025
f6e71c8
✨ feat(history): add dark mode styles for links
VatsalSy May 11, 2025
0b20e7b
✨ feat(history): add dark mode styling for strong tags
VatsalSy May 11, 2025
ed9835d
🎨 feat(news): add shared styles for news and history sections
VatsalSy May 11, 2025
08e818c
🎨 Refactor: Remove unused course sorting functionality from history page
VatsalSy May 11, 2025
326a1e9
✨ feat: Add History button after news items if content exists
VatsalSy May 11, 2025
70c06a9
color revamp
VatsalSy May 11, 2025
5118ffd
✨ feat(featured): improve featured section styling
VatsalSy May 11, 2025
6033a28
✨ feat(styles): Improve CSS organization and theming
VatsalSy May 11, 2025
b48b6b4
✨ feat(team): Responsive layout and design improvements
VatsalSy May 11, 2025
965f799
✨ feat(about): update news header styles and add theme-aware colors
VatsalSy May 11, 2025
3705081
🎨 feat(css): Refine news section styles
VatsalSy May 11, 2025
967b8a0
✨ feat(styles): enhance featured paper styles
VatsalSy May 11, 2025
c89363a
✨ feat(teaching): Enhance heading styles and colors
VatsalSy May 11, 2025
fb93465
✨ feat(shared-news-history): Refine styles and add history-specific s…
VatsalSy May 11, 2025
2a00428
✨ feat(team): Enhance team page layout and styling
VatsalSy May 11, 2025
d9c2e02
🎨 feat(team): Enhance map heading styles
VatsalSy May 11, 2025
e9425d8
✨ feat(team): enhance team section styles
VatsalSy May 11, 2025
576b534
🎨 feat(team): center map description and increase icon size
VatsalSy May 11, 2025
a8712c5
✨ feat(featured): improve error message for featured papers
VatsalSy May 11, 2025
ccc8c9c
🎨 feat(team-page): add styling for thesis PDF links
VatsalSy May 11, 2025
b2f7e7e
✨ feat(team): Optimize team member card layout and content
VatsalSy May 11, 2025
b215c28
🔖 feat(team): Update team member details
VatsalSy May 11, 2025
a666a62
✨ feat(team): Improve team section layout and styling
VatsalSy May 11, 2025
b912626
🎨 feat(team): add PDF link icon styling and update PDF links
VatsalSy May 11, 2025
a6d782e
✨feat: Add keyboard accessibility to news archive button
VatsalSy May 11, 2025
7820250
✨🔒 feat(security): Sanitize Markdown content with DOMPurify
VatsalSy May 11, 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
44 changes: 0 additions & 44 deletions .cursor/rules/rule-writing-guide.mdc

This file was deleted.

3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,4 @@ scripts/blog_content.json
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
CLAUDE.md
Thumbs.db
62 changes: 62 additions & 0 deletions .windsurf/rules/css-style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
trigger: model_decision
description: whenever any *.css file is changed
globs:
---
## Introduction

These guidelines establish consistent CSS coding practices, ensuring maintainable and responsive styles across the website.

## Guidelines

### CSS Variables
- Define colors and typography in `:root`
```css
:root {
--primary-color: #007bff;
--font-family-base: 'Arial', sans-serif;
--spacing-unit: 1rem;
}
```

### Responsive Design
- Use mobile-first approach for media queries
- Implement breakpoints at:
- 500px (mobile)
- 768px (tablet portrait)
- 900px (tablet landscape)
- 1300px (desktop)
- 1700px (large desktop)

### Units and Measurements
- Use `rem` units for font sizes and spacing
- Use relative units for flexible layouts
- Use percentages for fluid widths

### Example Media Query Structure
```css
/* Mobile first base styles */
.component {
width: 100%;
}

/* Tablet portrait */
@media (min-width: 768px) {
.component {
width: 50%;
}
}

/* Desktop */
@media (min-width: 1300px) {
.component {
width: 33.33%;
}
}
```

## Common Pitfalls
- Using pixel units instead of relative units
- Not following mobile-first approach
- Hardcoding colors and typography instead of using CSS variables
- Inconsistent breakpoint usage
45 changes: 45 additions & 0 deletions .windsurf/rules/general-code-style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
trigger: always_on
description:
globs:
---
## Introduction

These guidelines establish fundamental coding standards that apply across all file types in the project, ensuring consistency and maintainability.

## Guidelines

### Indentation and Formatting
- Use 2-space indentation consistently across all files
- Maintain consistent spacing around operators and blocks
- Follow language-specific formatting conventions

### Code Organization
- Follow DRY (Don't Repeat Yourself) principles
- Reuse components, variables, and styles where possible
- Keep related code grouped together logically

### Documentation
- Add comments for complex logic
- Write self-documenting code where possible
- Use clear, descriptive names for variables, functions, and components

## Examples

```javascript
// Good - Self-documenting code with clear naming
const calculateTotalPrice = (basePrice, taxRate) => {
return basePrice * (1 + taxRate);
};

// Bad - Unclear naming and unnecessary comments
const calc = (p, t) => {
// multiply price by tax
return p * (1 + t);
};
```

## Common Pitfalls
- Inconsistent indentation across different file types
- Code duplication instead of component reuse
- Over-commenting obvious code while under-documenting complex logic
44 changes: 44 additions & 0 deletions .windsurf/rules/html-markdown-style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
trigger: always_on
description:
globs:
---
## Introduction

These guidelines ensure consistent and semantic markup across HTML templates and Markdown content files, promoting accessibility and maintainability.

## Guidelines

### HTML Structure
- Use semantic HTML elements appropriately
- `<header>` for page headers
- `<nav>` for navigation
- `<main>` for primary content
- `<article>` for self-contained content
- `<section>` for thematic grouping
- `<footer>` for page footers

### CSS Class Naming
- Follow BEM (Block Element Modifier) naming convention
```html
<!-- Example of BEM naming -->
<nav class="s-header__nav">
<ul class="s-header__nav-list">
<li class="s-header__nav-item">
<a class="s-header__nav-link s-header__nav-link--active" href="#">Home</a>
</li>
</ul>
</nav>
```

### Markdown Usage
- Keep content files in Markdown format where possible
- Use appropriate heading levels (h1-h6)
- Maintain consistent spacing between sections
- Use lists and tables for structured content

## Common Pitfalls
- Using non-semantic div elements instead of appropriate HTML5 elements
- Inconsistent BEM naming patterns
- Converting Markdown content to HTML unnecessarily
- Skipping heading levels in document structure
53 changes: 53 additions & 0 deletions .windsurf/rules/image-guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
trigger: model_decision
description: working with images
globs:
---
## Introduction

These guidelines ensure consistent image handling, optimization, and accessibility across the website.

## Guidelines

### Image Optimization
- Compress all images to reduce file size while maintaining acceptable quality
- Choose appropriate image formats:
- JPEG for photographs
- PNG for images with transparency
- SVG for icons and logos
- WebP as a modern alternative when browser support allows

### Naming Convention
- Follow the pattern: `[name]-[descriptor].[extension]`
- Examples:
```
profile-photo.jpg
hero-banner-large.png
icon-search.svg
```

### Accessibility
- Include meaningful alt text for all images
- Use empty alt="" for decorative images
- Provide descriptive filenames that indicate image content

### Example Implementation
```html
<!-- Good -->
<img
src="team-member-john.jpg"
alt="Dr. John Smith, Lead Researcher"
width="300"
height="400"
/>

<!-- Bad -->
<img src="IMG001.jpg" />
```

## Common Pitfalls
- Uploading uncompressed images
- Missing alt text on important images
- Using generic or numbered filenames
- Not following the naming convention
- Forgetting to specify image dimensions
58 changes: 58 additions & 0 deletions .windsurf/rules/javascript-style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
trigger: model_decision
description: making js related edits
globs:
---
## Introduction

These guidelines establish modern JavaScript coding practices, ensuring consistent and maintainable code across the project.

## Guidelines

### Modern JavaScript Features
- Use ES6+ features consistently:
- Arrow functions for callbacks and methods
- Template literals for string interpolation
- Destructuring for object and array manipulation
- Spread/rest operators where appropriate

### Code Structure
- Always include 'use strict' mode
- Use `const` by default, `let` when reassignment is needed
- Never use `var`
- Use camelCase for variable and function names

### Asynchronous Code
- Use async/await for asynchronous operations
- Implement proper error handling with try/catch blocks
```javascript
// Good
async function fetchData() {
try {
const response = await api.getData();
return response;
} catch (error) {
console.error('Error fetching data:', error);
throw error;
}
}

// Bad
function fetchData() {
return api.getData()
.then(response => response)
.catch(error => console.error(error));
}
```

### Event Handling
- Prefer event delegation for multiple similar elements
- Use descriptive event handler names
- Remove event listeners when components are destroyed

## Common Pitfalls
- Not using strict mode
- Mixing async/await with .then() chains
- Missing error handling in async operations
- Using var instead of const/let
- Direct event binding instead of delegation for multiple elements
29 changes: 29 additions & 0 deletions .windsurf/rules/project-structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
trigger: always_on
description:
globs:
---
## Introduction

These guidelines ensure consistent project organization and documentation maintenance across the CoMPhy Lab website codebase.

## Guidelines

### Repository Structure
- The README.md file at repository root serves as the primary documentation
- Templates are located in `_layouts/*.html`
- Each template has a corresponding CSS file:
- `default.html` → `assets/css/styles.css`
- `research.html` → `assets/css/research.css`
- `team.html` → `assets/css/team.css`
- All templates use `search.css` and `styles.css`

### Documentation Maintenance
- Keep README.md up-to-date with any structural changes
- Document any new files or directories added to the project
- Manual control over Jekyll server deployment is preferred

## Common Pitfalls
- Forgetting to update README.md after structural changes
- Inconsistent template-to-CSS file mapping
- Running Jekyll server automatically instead of manual control
Loading