Skip to content

Conversation

VatsalSy
Copy link
Member

No description provided.

Add hook configurations in .claude/settings.json to run custom commands
before and after tool usage for Edit, MultiEdit, and Write actions.
Include a Stop hook to execute a stop command when needed.

These hooks automate command execution around tool usage to enhance
workflow integration with Claude.
Add current position for team member to reflect status as a Ph.D. candidate at Leiden University. This change keeps the team page accurate and up to date, ensuring visitors see the member's latest affiliation.

- Inserted a new bullet: "Now: Ph.D. Candidate, Leiden University" above the existing 2024 graduation entry.
Append the post-nominal F.R.S. to Prof. Detlef Lohse's heading to display his full, formal name on the team page. This update ensures the profile reflects his recognized honors and improves accuracy of the site's team listing.
Add a new course card to the teaching index for "Basilisk for Multiphase Flow Simulations" presented at the European Coating Symposium 2025 on September 15, 2025. This provides course metadata, an image, a brief description of topics (heat conduction, drop impact dynamics, Landau–Levich dip coating), and a link to the course page so the teaching list includes the pre-conference training offering.
Use the same Madrid course images for the 2025 Basilisk ECS course pages so the card and banner reference basilisk-madrid.jpg and basilisk-madrid-banner.jpg. Update assets/images/teaching/README.md to clarify that these images are shared across Madrid and ECS (and note the dark-mode banner file) so maintainers understand reuse and available assets.
Convert raw URLs to descriptive Markdown links and clarify pre-course setup and contact details. Updated course repo references to Basilisk-101nano, replaced plain URLs with descriptive link text, added installation/tested platforms note, adjusted install commands to use reset_install_requirements.sh, linked known issue and install docs, improved email contact UI, and standardized course GitHub link. These changes improve readability, usability for participants, and ensure installation instructions point to the correct repository.
Copy link
Contributor

coderabbitai bot commented Aug 26, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added a new “Basilisk for Multiphase Flow Simulations” course page with theme-aware banner and detailed schedule.
    • Added a new course card to the Teaching page linking to the course.
  • Style

    • Simplified email UI styles to use global theming; maintained responsive behavior.
  • Documentation

    • Updated team page (title honorifics and alumni status).
    • Expanded image README with dark-mode banner and updated descriptions.
  • Refactor

    • Adjusted script load order on course pages to improve copy-to-clipboard reliability.

Walkthrough

Adds a Claude hooks configuration, a new ECS 2025 Basilisk teaching page with theme-aware banner and clipboard logic, updates teaching index and team entries, inserts a utils.js include in the teaching layout, updates teaching image README, and removes bespoke email styles from teaching CSS.

Changes

Cohort / File(s) Summary of changes
Tooling Hooks
\.claude/settings.json
New config file defining hooks: PreToolUse and PostToolUse for Edit
Teaching Page & Index
_teaching/2025-Basilisk101nano-ECS.md, _teaching/index.md
New course page for ECS 2025 with theme-aware banner images, updateBannerImages() and copyEmail(button) JS, MutationObserver to react to data-theme, and a copy-to-clipboard email button. Adds course card to teaching index linking to /teaching/2025-Basilisk101nano-ECS. (Note: button uses data-clipboard-text while function reads data-text.)
Layout include
_layouts/teaching-course.html
Inserts script include for /assets/js/utils.js before main.js (ensures utilities like copy helpers are available).
Teaching CSS
assets/css/teaching.css
Removed dedicated .email-container, .email-text, and .copy-btn base styles; left minimal responsive rules and a comment pointing email styles to global assets/css/styles.css.
Teaching images doc
assets/images/teaching/README.md
Updated image descriptions and added courseBanner-dark.jpg (dark-mode banner); expanded image list.
Team page edits
_team/index.md
Updated "Prof. Detlef Lohse" → "Prof. Detlef Lohse F.R.S." and removed one affiliation line; added alumni status for Valentin Rosario: "Now: Ph.D. Student, Leiden University".

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User as User
  participant DOM as Document
  participant Banner as Banner Images
  participant Observer as MutationObserver

  rect rgba(230,240,255,0.6)
  note right of User: Page load
  User->>DOM: DOMContentLoaded
  DOM->>Banner: updateBannerImages()
  Banner-->>DOM: Set light/dark src attributes
  end

  rect rgba(230,255,230,0.6)
  note over Observer: Theme changes
  Observer->>Banner: trigger updateBannerImages()
  Banner-->>DOM: Refresh image sources
  end
Loading
sequenceDiagram
  autonumber
  actor User as User
  participant Button as Copy Button
  participant Utils as utils.js (helper)
  participant Clipboard as Clipboard/API

  User->>Button: click
  Button->>Utils: copyEmail(button) (reads data attribute)
  Utils->>Clipboard: write text (clipboard)
  Clipboard-->>Button: success
  Button->>Button: show copied state (icon/timer)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

I thump with joy on mossy ground,
New hooks and course banners all around.
I copy emails with a flick and cheer,
Day-to-night images now appear.
Team titles tidy, images bright — carrot commits feel light! 🥕✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled
  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1dfccd4 and e9cfdf6.

📒 Files selected for processing (3)
  • _layouts/teaching-course.html (1 hunks)
  • _teaching/2025-Basilisk101nano-ECS.md (1 hunks)
  • assets/css/teaching.css (2 hunks)
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch maintenance-updates

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
_teaching/index.md (1)

1-45: Prettier formatting errors detected in _teaching/index.md
Prettier’s check on the file reported code style issues. Please run the formatter to resolve them:

• Execute:

npx prettier --write "_teaching/index.md"

• Then re-run the check to confirm there are no remaining warnings:

npx prettier --check "_teaching/index.md"

• Finally, ensure all Markdown and HTML files in this PR pass Prettier before merging.

🧹 Nitpick comments (9)
assets/images/teaching/README.md (1)

12-14: Make descriptions time-agnostic and align with image guidelines (prefer WebP).

"used by both Madrid and ECS 2025" will become stale. Rephrase to be event-agnostic and note preferred WebP per repo guidelines.

Apply:

-1. **basilisk-madrid.jpg** - Card image for Basilisk courses (used by both Madrid and ECS 2025)
-2. **basilisk-madrid-banner.jpg** - Banner image for Basilisk course pages (used by both Madrid and ECS 2025)
-3. **courseBanner-dark.jpg** - Dark mode banner for all course pages
+1. **basilisk-madrid.jpg** — Card image for Basilisk courses (e.g., Madrid, ECS 2025). Prefer a corresponding `.webp` version.
+2. **basilisk-madrid-banner.jpg** — Banner image for Basilisk course pages. Prefer a corresponding `.webp` version.
+3. **courseBanner-dark.jpg** — Dark‑mode banner for course pages. Prefer a corresponding `.webp` version.
.claude/settings.json (1)

25-35: Empty matcher for Stop hook may fire broadly. Ensure that’s intended.

An empty matcher could match all events depending on the hook engine. If unintended, scope it explicitly.

Example:

-      {
-        "matcher": "",
+      {
+        "matcher": "Edit|MultiEdit|Write|ChatStop",
_team/index.md (2)

344-347: Keep alumni “Now:” entries consistent (optionally add link).

Consider linking “Leiden University” to the relevant program page to match other alumni entries, or keep plain text consistently across the section.


16-16: Team images should use WebP and class per house style.

Site guideline for this file: use <img src="/assets/images/team/NUMBER.webp" ... class="member-image">. Current images are .jpg without member-image. Suggest migrating in a follow-up sweep to avoid mixing formats and styles.

_teaching/index.md (1)

29-44: Card addition looks consistent; consider WebP + intrinsic size to reduce CLS.

  • Provide a WebP variant via for better performance.
  • Add width/height to stabilize layout.
-  <div class="course-card">
-    <img src="/assets/images/teaching/basilisk-madrid.jpg" alt="Basilisk for Multiphase Flow Simulations" loading="lazy">
+  <div class="course-card">
+    <picture>
+      <!-- Add this asset if not present -->
+      <source srcset="/assets/images/teaching/basilisk-madrid.webp" type="image/webp">
+      <img src="/assets/images/teaching/basilisk-madrid.jpg"
+           alt="Basilisk for Multiphase Flow Simulations"
+           loading="lazy" width="600" height="400">
+    </picture>
_teaching/2025-Basilisk101nano-ECS.md (4)

7-10: Prefer with prefers-color-scheme to avoid double image downloads.

Current approach loads both images then hides one. Using prevents unnecessary network cost and removes the need for JS for initial theme selection.

-<div class="course-image">
-  <img src="/assets/images/teaching/basilisk-madrid-banner.jpg" alt="Basilisk for Multiphase Flow Simulations" loading="lazy" class="light-mode-img">
-  <img src="/assets/images/teaching/courseBanner-dark.jpg" alt="Basilisk for Multiphase Flow Simulations" loading="lazy" class="dark-mode-img">
-</div>
+<div class="course-image">
+  <picture>
+    <source srcset="/assets/images/teaching/courseBanner-dark.webp" type="image/webp" media="(prefers-color-scheme: dark)">
+    <source srcset="/assets/images/teaching/basilisk-madrid-banner.webp" type="image/webp" media="(prefers-color-scheme: light)">
+    <source srcset="/assets/images/teaching/courseBanner-dark.jpg" media="(prefers-color-scheme: dark)">
+    <img src="/assets/images/teaching/basilisk-madrid-banner.jpg"
+         alt="Basilisk for Multiphase Flow Simulations" loading="lazy"
+         width="1200" height="400">
+  </picture>
+</div>

If you keep JS-based switching, consider CSS toggles instead of inline JS. See next comment.


12-41: Theme switch JS can be replaced with CSS; if kept, disconnect observer.

You can achieve the toggling via CSS on [data-theme="dark"] without JS. If you keep the observer, disconnect it on page unload to avoid leaks on PJAX/SPA-like navigations.

CSS approach:

<style>
  .light-mode-img { display: block; }
  .dark-mode-img { display: none; }
  [data-theme="dark"] .light-mode-img { display: none; }
  [data-theme="dark"] .dark-mode-img { display: block; }
</style>

Or add:

   observer.observe(document.documentElement, { attributes: true });
+
+  window.addEventListener('beforeunload', () => observer.disconnect());

60-67: Minor punctuation polish for bulleted learning outcomes.

Add a colon after bold phrases for clarity and consistency.

-- **Run Basilisk simulations** Compile and execute your first high-fidelity simulations
+- **Run Basilisk simulations:** Compile and execute your first high-fidelity simulations
-- **Interface tracking methods** Volume-of-Fluid (VOF) approach for two-phase flows
+- **Interface tracking methods:** Volume-of-Fluid (VOF) approach for two-phase flows
-- **Coating applications** Landau-Levich dip coating and droplet dynamics
+- **Coating applications:** Landau-Levich dip coating and droplet dynamics
-- **Real-world connections** From simulation results to physical understanding
+- **Real-world connections:** From simulation results to physical understanding

130-145: Trailing spaces and final newline.

Remove trailing spaces (MD009 at lines ~130) and ensure the file ends with a newline (MD047).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled
  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between ad97b20 and 1dfccd4.

📒 Files selected for processing (5)
  • .claude/settings.json (1 hunks)
  • _teaching/2025-Basilisk101nano-ECS.md (1 hunks)
  • _teaching/index.md (1 hunks)
  • _team/index.md (2 hunks)
  • assets/images/teaching/README.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (10)
assets/images/teaching/**/*

📄 CodeRabbit inference engine (CLAUDE.md)

Store teaching images under /assets/images/teaching/ (cards 600x400px, banners 1200x400px)

Files:

  • assets/images/teaching/README.md
**/*.{js,css,md,html}

📄 CodeRabbit inference engine (CLAUDE.md)

Run Prettier for code formatting

Files:

  • assets/images/teaching/README.md
  • _teaching/index.md
  • _team/index.md
  • _teaching/2025-Basilisk101nano-ECS.md
**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

markdownlint must pass for Markdown files

Files:

  • assets/images/teaching/README.md
  • _teaching/index.md
  • _team/index.md
  • _teaching/2025-Basilisk101nano-ECS.md
**/{README.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md}

📄 CodeRabbit inference engine (CLAUDE.md)

Do not create developer documentation files unless explicitly requested

Files:

  • assets/images/teaching/README.md
assets/images/**/*

📄 CodeRabbit inference engine (CLAUDE.md)

Optimize images before adding; prefer WebP format where possible

Files:

  • assets/images/teaching/README.md
**/*.{html,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Use lazy loading for images (e.g., loading="lazy")

Files:

  • assets/images/teaching/README.md
  • _teaching/index.md
  • _team/index.md
  • _teaching/2025-Basilisk101nano-ECS.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (.cursor/rules/html-markdown-style.mdc)

**/*.{md,mdx}: Use appropriate heading levels (h1–h6) in Markdown
Maintain consistent spacing between sections in Markdown
Use lists and tables for structured content in Markdown
Do not skip heading levels in Markdown document structure

Files:

  • assets/images/teaching/README.md
  • _teaching/index.md
  • _team/index.md
  • _teaching/2025-Basilisk101nano-ECS.md
_teaching/index.md

📄 CodeRabbit inference engine (CLAUDE.md)

_teaching/index.md must use the teaching layout

Files:

  • _teaching/index.md
_team/index.md

📄 CodeRabbit inference engine (CLAUDE.md)

Use <img src="../assets/images/team/NUMBER.webp" ... class="member-image"> format for team profiles

Files:

  • _team/index.md
_teaching/[0-9][0-9][0-9][0-9]-*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Teaching course pages must be created as _teaching/YYYY-CourseName-Location.md using the teaching-course layout

Files:

  • _teaching/2025-Basilisk101nano-ECS.md
🧠 Learnings (2)
📚 Learning: 2025-08-24T19:49:35.555Z
Learnt from: CR
PR: comphy-lab/comphy-lab.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-08-24T19:49:35.555Z
Learning: Applies to _teaching/[0-9][0-9][0-9][0-9]-*.md : Teaching course pages must be created as _teaching/YYYY-CourseName-Location.md using the teaching-course layout

Applied to files:

  • _teaching/index.md
📚 Learning: 2025-08-24T19:49:35.555Z
Learnt from: CR
PR: comphy-lab/comphy-lab.github.io#0
File: CLAUDE.md:0-0
Timestamp: 2025-08-24T19:49:35.555Z
Learning: Applies to _teaching/index.md : _teaching/index.md must use the teaching layout

Applied to files:

  • _teaching/index.md
🪛 LanguageTool
assets/images/teaching/README.md

[grammar] ~12-~12: There might be a mistake here.
Context: ...urses (used by both Madrid and ECS 2025) 2. basilisk-madrid-banner.jpg - Banner im...

(QB_NEW_EN)


[grammar] ~13-~13: There might be a mistake here.
Context: ...pages (used by both Madrid and ECS 2025) 3. courseBanner-dark.jpg - Dark mode bann...

(QB_NEW_EN)

_teaching/2025-Basilisk101nano-ECS.md

[grammar] ~62-~62: There might be a mistake here.
Context: ...t approach to multiphase flow simulation - Run Basilisk simulations Compile and e...

(QB_NEW_EN)


[grammar] ~64-~64: There might be a mistake here.
Context: ...Fluid (VOF) approach for two-phase flows - Coating applications Landau-Levich dip...

(QB_NEW_EN)


[grammar] ~65-~65: There might be a mistake here.
Context: ...-Levich dip coating and droplet dynamics - Real-world connections From simulation...

(QB_NEW_EN)


[grammar] ~70-~70: There might be a mistake here.
Context: ...ork. Designed for ECS 2025 participants with intermediate CFD background, the course...

(QB_NEW_EN)


[grammar] ~76-~76: There might be a mistake here.
Context: ...Foundations and First Steps (9:30-10:30) #### Think before you compute - 9:30-9:45...

(QB_NEW_EN)


[grammar] ~78-~78: There might be a mistake here.
Context: ...5**  |  Opening & Philosophy - Conservation laws and the "physics-first...

(QB_NEW_EN)


[grammar] ~79-~79: There might be a mistake here.
Context: ...e "physics-first" approach to simulation - Why adaptive mesh refinement matters for...

(QB_NEW_EN)


[style] ~80-~80: To elevate your writing, try using an alternative expression here.
Context: ...lation - Why adaptive mesh refinement matters for coating flows - 9:45-10:00 &nbs...

(MATTERS_RELEVANT)


[grammar] ~80-~80: There might be a mistake here.
Context: ...esh refinement matters for coating flows - 9:45-10:00  |  **Example 0: ...

(QB_NEW_EN)


[grammar] ~81-~81: There might be a mistake here.
Context: ...sp;|  Example 0: Basic Conduction - Setting up a simple heat diffusion probl...

(QB_NEW_EN)


[grammar] ~82-~82: There might be a mistake here.
Context: ...tting up a simple heat diffusion problem - Understanding Basilisk's syntax and stru...

(QB_NEW_EN)


[grammar] ~84-~84: There might be a mistake here.
Context: ...30**  |  First Basilisk Code - Implementing transport equations in prac...

(QB_NEW_EN)


[grammar] ~85-~85: There might be a mistake here.
Context: ...ementing transport equations in practice - Compilation workflow and debugging basic...

(QB_NEW_EN)


[grammar] ~86-~86: There might be a mistake here.
Context: ...ompilation workflow and debugging basics - *Hands-on exercise: modify and run your f...

(QB_NEW_EN)


[grammar] ~87-~87: There might be a mistake here.
Context: ...se: modify and run your first simulation* - Conduction: [Live demo](https://blogs.co...

(QB_NEW_EN)


[grammar] ~113-~113: There might be a mistake here.
Context: ...on of participant-specific applications. - Resources for continued learning. - Co...

(QB_NEW_EN)


[grammar] ~121-~121: There might be a mistake here.
Context: ...edge of fluid mechanics and CFD concepts - Basic programming experience (C preferre...

(QB_NEW_EN)


[grammar] ~122-~122: There might be a mistake here.
Context: ... preferred, but any language acceptable) - Understanding of partial differential eq...

(QB_NEW_EN)


[grammar] ~123-~123: There might be a mistake here.
Context: ...anding of partial differential equations - Laptop with Unix-like environment (Linux...

(QB_NEW_EN)


[grammar] ~143-~143: There might be a mistake here.
Context: ...hub.com/comphy-lab/basilisk-C/issues/3). Darcs is not supported in the latest ver...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)
_teaching/2025-Basilisk101nano-ECS.md

18-18: Trailing spaces
Expected: 0 or 2; Actual: 4

(MD009, no-trailing-spaces)


76-76: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


77-77: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)


77-77: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


78-78: Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


90-90: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


91-91: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)


91-91: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


92-92: Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


105-105: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


106-106: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)


106-106: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


107-107: Lists should be surrounded by blank lines

(MD032, blanks-around-lists)


130-130: Trailing spaces
Expected: 0 or 2; Actual: 1

(MD009, no-trailing-spaces)


211-211: Files should end with a single newline character

(MD047, single-trailing-newline)

🔇 Additional comments (3)
.claude/settings.json (1)

3-11: Action Required: Verify Configuration Loading & Matcher Semantics

I wasn’t able to locate any references to PreToolUse or the CLI‐hook processor in the codebase, so please double‐check the following:

  • Confirm that .claude/settings.json is actually loaded at runtime and that the PreToolUse section is recognized by your configuration loader.
  • Verify whether the matcher field is treated as a regex or as a literal string in your hook‐matching logic. If it’s literal, the value "Edit|MultiEdit|Write" won’t match individual events.
  • Ensure the but CLI (and its claude pre-tool command) is installed and on your PATH before relying on it in a hook.

You may need to add logging around your config‐loading/code that dispatches hooks to assert that these entries are picked up and executed as expected.

_team/index.md (1)

116-121: Honorific update looks good; confirm removal of prior affiliation line was intentional.

Title change to “F.R.S.” is clear. You also removed the explicit "Professor, Phys. Fluids - Univ. Twente" line earlier; if not intentional, re-add for consistency with other entries that include affiliation bullets.

_teaching/index.md (1)

1-5: Layout requirement satisfied.

_teaching/index.md uses the teaching layout as required. No action needed.

Clean up extraneous blank lines, trailing spaces, and formatting inconsistencies in the Basilisk101 course markdown. This improves readability and ensures consistent styling for lists, emphasis, and code blocks. The changes include trimming a trailing space, normalizing emphasized list items from italics markup, removing unintended blank lines, and adjusting spacing around headers and the technical support section.
Replace deprecated clipboard copying via execCommand and temporary textarea with a robust async handler using navigator.clipboard when available, falling back to a hidden textarea. Add an offscreen aria-live region for accessible success/failure announcements and update aria-labels and icon feedback to better convey copy status to assistive technologies.
Replace the old async copy routine with a clearer flow that uses the modern navigator.clipboard.writeText API and a dedicated fallbackCopy function for older browsers. The change simplifies logic, adds debug logging, and ensures consistent UI feedback (check icon and temporary "copied" state) while cleaning up DOM elements reliably after use.
Re-add the removed copy button JavaScript so the teaching page's "copy" button copies text to the clipboard like the landing/about page. The inline script implements modern navigator.clipboard usage with a textarea fallback, updates the button UI on success, and includes error handling — this was necessary because the teaching page had its copy script accidentally deleted, leaving the button non-functional.
Include shared utils.js in the teaching-course layout before main.js so the copy-to-clipboard functionality (used on aboutCoMPhy.md) works on teaching pages. Remove the local, conflicting email styles from assets/css/teaching.css so email containers and copy buttons use the global styles, ensuring consistent appearance. Update teaching content to use the shared email container structure and data-clipboard-text attributes for copying; verified linter clean.
@VatsalSy VatsalSy merged commit 7ccba86 into main Aug 26, 2025
2 of 3 checks passed
@VatsalSy VatsalSy deleted the maintenance-updates branch August 26, 2025 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant