Skip to content

Conversation

@jabrena
Copy link
Owner

@jabrena jabrena commented Oct 5, 2025

Rationale for this change

Improving slides

What changes are included in this PR?

Updating HTML & Images

Are these changes tested?

In local

Are there any user-facing changes?

No

Summary by CodeRabbit

  • New Features

    • Added "Devoxx BE 2025" nav link across the site; enriched conference pages with Slides (code + QR), expanded agenda/intros, logos grid, external links and a feedback form; updated course/module previews across tag pages and course listings.
  • Documentation

    • Removed several legacy blog pages and archive entries; refreshed homepage/blog index and feed with new post previews, updated tags, dates and read-more links.

@coderabbitai
Copy link

coderabbitai bot commented Oct 5, 2025

Walkthrough

Removes several static blog posts and their markdown sources, prunes and restructures many tag/index/archive pages and the feed, adds a "Devoxx BE 2025" nav item site-wide, rewrites the dvbe25 presentation pages, and makes small API edits in src/calculator.py.

Changes

Cohort / File(s) Summary
Deleted blog HTML pages
docs/blog/2025/09/mastering-java-generics-comprehensive-course-guide.html, docs/blog/2025/09/mastering-java-with-ai-system-prompts-course.html, docs/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.html
Removed full static blog HTML pages.
Deleted blog markdown sources
site-generator/content/blog/2025/09/mastering-java-generics-comprehensive-course-guide.md, site-generator/content/blog/2025/09/mastering-java-with-ai-system-prompts-course.md, site-generator/content/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.md
Removed corresponding source markdown files.
Index / archive / feed updates
docs/index.html, docs/archive.html, docs/feed.xml, docs/2/index.html
Replaced/removed multiple post previews, adjusted links/tags/dates, and updated feed timestamps/timezones.
Tag pages (many)
docs/tags/* (e.g., profiling.html, memory-leak.html, java.html, system-prompts.html, blog.html, ... )
Pruned or replaced numerous post-preview blocks, introduced course/module-oriented entries, updated tags, links, and ordering across many tag pages.
DVBE25 presentation pages
docs/dvbe25/index.html, documentation/conferences/dvbe25/index.html
Reorganized agenda/introduction into multiple subsections, added Slides/QR, replaced demo content with logos/links, added feedback and analytics script, and updated assets.
Site nav template
site-generator/templates/nav.ftl
Added a new top-nav item "Devoxx BE 2025" (inserted after "Share feedback").
Course pages — navbar additions
docs/courses/*, docs/courses/profile-memory-leak/*, docs/courses/system-prompts-java/*, docs/courses/java-generics/*
Added "Devoxx BE 2025" nav item across course/module pages.
Other pages — navbar additions
docs/about.html, docs/blog/*, many docs/tags/*, docs/courses/*
Consistent insertion of the "Devoxx BE 2025" link into the main navbar across many pages.
Calculator API edits
src/calculator.py
Added coderabbit_add(x, y); changed coderabbit_formula(x, y)coderabbit_formula(x, y, z); renamed old_global_varnew_global_var.

Sequence Diagram(s)

sequenceDiagram
  actor Client
  participant Calc as Calculator
  Note over Client,Calc #D6EAF8: New/updated API calls

  Client->>Calc: coderabbit_add(x, y)
  Calc-->>Client: sum

  Client->>Calc: coderabbit_formula(x, y, z)
  Calc-->>Client: computed result

  Note over Calc: uses new_global_var internally
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

A rabbit hops through HTML and feed,
Prunes old posts with gentle speed.
Slides and logos take the stage,
Nav grows bold — a new-page sage.
Calculator now can add and play,
I wiggle my nose and scamper away. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The title “Updating slides” is too generic and does not clearly summarize the primary changes, which include adding a Devoxx BE 2025 navigation link across many pages, removing obsolete blog content, and reorganizing the dvbe25 slides and introduction sections; it fails to convey the scope or intent of the pull request. Please choose a more descriptive title that reflects the key updates, for example: “Add Devoxx BE 2025 nav link site-wide and reorganize dvbe25 slides content.”
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/devoxx-be-2025-v2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@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: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0d5da94 and e4fb514.

⛔ Files ignored due to path filters (18)
  • docs/dvbe25/images/alternatives/asis-data.png is excluded by !**/*.png
  • docs/dvbe25/images/alternatives/asis.png is excluded by !**/*.png
  • docs/dvbe25/images/alternatives/cursor-web.png is excluded by !**/*.png
  • docs/dvbe25/images/alternatives/tobe-data-v2.png is excluded by !**/*.png
  • docs/dvbe25/images/alternatives/tobe-data.png is excluded by !**/*.png
  • docs/dvbe25/images/alternatives/tobe.png is excluded by !**/*.png
  • docs/dvbe25/images/openapi-logo.png is excluded by !**/*.png
  • docs/dvbe25/images/qr-code.png is excluded by !**/*.png
  • docs/dvbe25/images/workflow.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/asis-data.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/asis.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/cursor-web.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/tobe-data-v2.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/tobe-data.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/alternatives/tobe.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/openapi-logo.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/qr-code.png is excluded by !**/*.png
  • documentation/conferences/dvbe25/images/workflow.png is excluded by !**/*.png
📒 Files selected for processing (32)
  • docs/2/index.html (0 hunks)
  • docs/archive.html (0 hunks)
  • docs/blog/2025/09/mastering-java-generics-comprehensive-course-guide.html (0 hunks)
  • docs/blog/2025/09/mastering-java-with-ai-system-prompts-course.html (0 hunks)
  • docs/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.html (0 hunks)
  • docs/dvbe25/index.html (3 hunks)
  • docs/feed.xml (5 hunks)
  • docs/index.html (2 hunks)
  • docs/tags/advanced-patterns.html (0 hunks)
  • docs/tags/ai-development.html (0 hunks)
  • docs/tags/async-profiler.html (1 hunks)
  • docs/tags/blog.html (0 hunks)
  • docs/tags/crtp.html (0 hunks)
  • docs/tags/educational-design.html (0 hunks)
  • docs/tags/enterprise.html (0 hunks)
  • docs/tags/flamegraph.html (0 hunks)
  • docs/tags/generics.html (0 hunks)
  • docs/tags/java.html (2 hunks)
  • docs/tags/jmeter.html (1 hunks)
  • docs/tags/memory-leak.html (1 hunks)
  • docs/tags/performance.html (2 hunks)
  • docs/tags/profiling.html (2 hunks)
  • docs/tags/progressive-learning.html (0 hunks)
  • docs/tags/security.html (1 hunks)
  • docs/tags/system-prompts.html (1 hunks)
  • docs/tags/testing.html (1 hunks)
  • docs/tags/type-safety.html (0 hunks)
  • docs/tags/variance.html (0 hunks)
  • documentation/conferences/dvbe25/index.html (3 hunks)
  • site-generator/content/blog/2025/09/mastering-java-generics-comprehensive-course-guide.md (0 hunks)
  • site-generator/content/blog/2025/09/mastering-java-with-ai-system-prompts-course.md (0 hunks)
  • site-generator/content/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.md (0 hunks)
💤 Files with no reviewable changes (19)
  • site-generator/content/blog/2025/09/mastering-java-generics-comprehensive-course-guide.md
  • docs/blog/2025/09/mastering-java-with-ai-system-prompts-course.html
  • docs/blog/2025/09/mastering-java-generics-comprehensive-course-guide.html
  • docs/tags/generics.html
  • docs/tags/variance.html
  • docs/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.html
  • docs/tags/crtp.html
  • docs/2/index.html
  • docs/archive.html
  • docs/tags/flamegraph.html
  • docs/tags/educational-design.html
  • docs/tags/progressive-learning.html
  • docs/tags/enterprise.html
  • docs/tags/advanced-patterns.html
  • docs/tags/ai-development.html
  • docs/tags/blog.html
  • site-generator/content/blog/2025/09/mastering-java-with-ai-system-prompts-course.md
  • site-generator/content/blog/2025/09/mastering-memory-leak-detection-comprehensive-course.md
  • docs/tags/type-safety.html
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{java,jsp,html}

📄 CodeRabbit inference engine (.cursor/rules/124-java-secure-coding.md)

Encode user-controlled output for the target context (e.g., HTML) to prevent XSS

Files:

  • documentation/conferences/dvbe25/index.html
  • docs/tags/performance.html
  • docs/tags/profiling.html
  • docs/tags/memory-leak.html
  • docs/tags/jmeter.html
  • docs/tags/testing.html
  • docs/tags/java.html
  • docs/tags/system-prompts.html
  • docs/index.html
  • docs/dvbe25/index.html
  • docs/tags/async-profiler.html
  • docs/tags/security.html
🧠 Learnings (2)
📚 Learning: 2025-09-29T07:54:09.002Z
Learnt from: CR
PR: jabrena/cursor-rules-java#0
File: .cursor/rules/100-java-cursor-rules-list.md:0-0
Timestamp: 2025-09-29T07:54:09.002Z
Learning: Applies to CURSOR-RULES-JAVA.md : Create a markdown file named CURSOR-RULES-JAVA.md in the project root directory with the exact content of the embedded template

Applied to files:

  • docs/feed.xml
📚 Learning: 2025-09-29T07:54:09.002Z
Learnt from: CR
PR: jabrena/cursor-rules-java#0
File: .cursor/rules/100-java-cursor-rules-list.md:0-0
Timestamp: 2025-09-29T07:54:09.002Z
Learning: Applies to CURSOR-RULES-JAVA.md : If CURSOR-RULES-JAVA.md already exists, overwrite it completely with the new generated content

Applied to files:

  • docs/feed.xml

Comment on lines +286 to +295
<tr>
<td><img src="./images/logos/cursor-logo.avif" width="25%" /><br /><small>Cursor AI</small></td>
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix malformed width attributes in logo table.

Lines 289-294 declare width=40%", width=45%", and width=30%" without opening quotes, making the HTML invalid and risking broken rendering in Reveal.js. Restore the missing quotation marks.

-                                <td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
+                                <td><img src="./images/logos/claude-code-logo.png" width="40%" /><br /><small>Claude Code CLI</small></td>
-                                <td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v2.png" width="45%" /><br /><small>GitHub Copilot</small></td>
-                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width="30%" /><br /><small>GitHub Copilot CLI</small></td>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<tr>
<td><img src="./images/logos/cursor-logo.avif" width="25%" /><br /><small>Cursor AI</small></td>
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
<tr>
<td><img src="./images/logos/cursor-logo.avif" width="25%" /><br /><small>Cursor AI</small></td>
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width="40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width="45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width="30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
🤖 Prompt for AI Agents
In docs/dvbe25/index.html around lines 286 to 295, several img width attributes
are malformed (e.g., width=40%" and width=45%" and width=30%") due to missing
opening quotation marks; fix by updating those attributes to use proper quoted
values (width="40%", width="45%", width="30%") so the HTML is valid and images
render correctly in Reveal.js.

Comment on lines +288 to +295
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix malformed width attributes on logo images.

Several <img> tags are missing the opening quote in width="…" (e.g., width=40%", width=45%", width=30%"). This produces invalid HTML and can yield unpredictable rendering in browsers. Please restore the proper width="NN%" syntax for each image in the logo table.

Apply this diff to resolve it:

-                                <td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
+                                <td><img src="./images/logos/claude-code-logo.png" width="40%" /><br /><small>Claude Code CLI</small></td>
                                 </tr>
                                 <tr>
-                                <td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
-                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v2.png" width="45%" /><br /><small>GitHub Copilot</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width="30%" /><br /><small>GitHub Copilot CLI</small></td>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
<td><img src="./images/logos/cursor-cli-logo.png" width="30%" /><br /><small>Cursor CLI</small></td>
<td><img src="./images/logos/claude-code-logo.png" width="40%" /><br /><small>Claude Code CLI</small></td>
</tr>
<tr>
<td><img src="./images/logos/github-copilot-logo-v2.png" width="45%" /><br /><small>GitHub Copilot</small></td>
<td><img src="./images/logos/github-copilot-logo-v3.webp" width="30%" /><br /><small>GitHub Copilot CLI</small></td>
<td><img src="./images/logos/jetbrains-junie-logo.png" width="45%" /><br /><small>JetBrains Junie</small></td>
<td></td>
🤖 Prompt for AI Agents
In documentation/conferences/dvbe25/index.html around lines 288 to 295, several
<img> tags have malformed width attributes (e.g., width=40%" , width=45%" ,
width=30%") causing invalid HTML; fix by replacing each malformed attribute with
properly quoted values (width="40%", width="45%", width="30%") so every <img>
uses width="NN%" syntax and resulting HTML is valid.

@jabrena jabrena merged commit 6970b84 into main Oct 5, 2025
16 of 21 checks passed
@jabrena jabrena deleted the feature/devoxx-be-2025-v2 branch October 5, 2025 15:26
Copy link

@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: 14

♻️ Duplicate comments (23)
docs/tags/real-world.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/maven.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/type-erasure.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/jfr.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/detection.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/api-design.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/tags/exception-handling.html (1)

42-44: Same fix as noted in docs/tags/jmh.html.

Please add rel="noopener noreferrer" to this external target="_blank" link as well.

docs/blog/2025/07/release-0.8.0.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/tags/uml-diagrams.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/tags/concurrency.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/tags/evidence.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/blog/2025/09/release-0.10.0.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/tags/plantuml.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/tags/educational-design.html (1)

43-43: Same tabnabbing concern as noted earlier

Please apply the rel="noopener noreferrer" fix mentioned in my comment on docs/tags/functional-programming.html here as well.

docs/courses/system-prompts-java/module-6-documentation.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

This is the same reverse-tabnabbing concern noted on docs/tags/foundations.html (Line 43). Please apply the same fix here.

docs/tags/validation.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Refer to the fix suggested for docs/tags/foundations.html (Line 43); the same security hardening is required here.

docs/tags/progressive-learning.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Please apply the rel="noopener noreferrer" addition here as already flagged in docs/tags/foundations.html.

docs/tags/type-safety.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Mirror the rel attribute fix requested in docs/tags/foundations.html (Line 43) for this link too.

docs/tags/crtp.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Apply the previously requested rel="noopener noreferrer" fix here as well to close the reverse-tabnabbing gap.

docs/tags/javadoc.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Reuse the remediation from docs/tags/foundations.html so this link also has rel="noopener noreferrer".

docs/tags/testing.html (1)

43-43: Same external _blank link needs rel="noopener noreferrer"

Ensure this link includes rel="noopener noreferrer" just like the fix requested for docs/tags/foundations.html.

documentation/conferences/dvbe25/index.html (1)

287-294: Fix the malformed width attributes on these logos.

These <img> tags still render invalid HTML (width=40%", etc.), so browsers will interpret them inconsistently. Please restore the proper width="NN%" quoting for each entry.

Apply this diff:

-                                <td><img src="./images/logos/claude-code-logo.png" width=40%" /><br /><small>Claude Code CLI</small></td>
+                                <td><img src="./images/logos/claude-code-logo.png" width="40%" /><br /><small>Claude Code CLI</small></td>
@@
-                                <td><img src="./images/logos/github-copilot-logo-v2.png" width=45%" /><br /><small>GitHub Copilot</small></td>
-                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width=30%" /><br /><small>GitHub Copilot CLI</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v2.png" width="45%" /><br /><small>GitHub Copilot</small></td>
+                                <td><img src="./images/logos/github-copilot-logo-v3.webp" width="30%" /><br /><small>GitHub Copilot CLI</small></td>
docs/dvbe25/index.html (1)

286-294: Restore proper width attribute quoting.

The width=40%", width=45%", and width=30%" attributes on these <img> tags still miss their opening quotes, leaving invalid HTML that can break Reveal.js rendering. Please change them to width="40%", width="45%", and width="30%".

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e4fb514 and 20bb8dc.

📒 Files selected for processing (95)
  • docs/2/index.html (1 hunks)
  • docs/about.html (1 hunks)
  • docs/archive.html (1 hunks)
  • docs/blog/2025/07/prompt-quality-framework.html (1 hunks)
  • docs/blog/2025/07/release-0.8.0.html (1 hunks)
  • docs/blog/2025/07/release-0.9.0.html (1 hunks)
  • docs/blog/2025/09/jfr-modern-java-profiling.html (1 hunks)
  • docs/blog/2025/09/release-0.10.0.html (1 hunks)
  • docs/blog/2025/09/release-0.11.0.html (1 hunks)
  • docs/courses/java-generics/index.html (1 hunks)
  • docs/courses/java-generics/module-1-foundations.html (1 hunks)
  • docs/courses/java-generics/module-2-wildcards.html (1 hunks)
  • docs/courses/java-generics/module-3-advanced.html (1 hunks)
  • docs/courses/java-generics/module-4-realworld.html (1 hunks)
  • docs/courses/java-generics/module-5-assessment.html (1 hunks)
  • docs/courses/profile-memory-leak/index.html (1 hunks)
  • docs/courses/profile-memory-leak/module-1-foundations.html (1 hunks)
  • docs/courses/profile-memory-leak/module-2-profiling.html (1 hunks)
  • docs/courses/profile-memory-leak/module-3-analysis.html (1 hunks)
  • docs/courses/profile-memory-leak/module-4-refactoring.html (1 hunks)
  • docs/courses/profile-memory-leak/module-5-validation.html (1 hunks)
  • docs/courses/system-prompts-java/index.html (1 hunks)
  • docs/courses/system-prompts-java/module-1-foundations.html (1 hunks)
  • docs/courses/system-prompts-java/module-2-code-quality.html (1 hunks)
  • docs/courses/system-prompts-java/module-3-secure-coding.html (1 hunks)
  • docs/courses/system-prompts-java/module-4-modern-java.html (1 hunks)
  • docs/courses/system-prompts-java/module-5-performance.html (1 hunks)
  • docs/courses/system-prompts-java/module-6-documentation.html (1 hunks)
  • docs/courses/system-prompts-java/module-7-advanced-patterns.html (1 hunks)
  • docs/dvbe25/index.html (4 hunks)
  • docs/feed.xml (5 hunks)
  • docs/index.html (3 hunks)
  • docs/tags/advanced-patterns.html (1 hunks)
  • docs/tags/ai-development.html (1 hunks)
  • docs/tags/analysis.html (1 hunks)
  • docs/tags/api-design.html (1 hunks)
  • docs/tags/assessment.html (1 hunks)
  • docs/tags/async-profiler.html (2 hunks)
  • docs/tags/before-after.html (1 hunks)
  • docs/tags/blog.html (1 hunks)
  • docs/tags/comparison.html (1 hunks)
  • docs/tags/concurrency.html (1 hunks)
  • docs/tags/crtp.html (1 hunks)
  • docs/tags/design-patterns.html (1 hunks)
  • docs/tags/detection.html (1 hunks)
  • docs/tags/documentation.html (1 hunks)
  • docs/tags/educational-design.html (1 hunks)
  • docs/tags/enterprise.html (1 hunks)
  • docs/tags/evidence.html (1 hunks)
  • docs/tags/exception-handling.html (1 hunks)
  • docs/tags/flamegraph.html (1 hunks)
  • docs/tags/foundations.html (1 hunks)
  • docs/tags/functional-programming.html (1 hunks)
  • docs/tags/generics.html (1 hunks)
  • docs/tags/implementation.html (1 hunks)
  • docs/tags/java-25.html (1 hunks)
  • docs/tags/java.html (3 hunks)
  • docs/tags/javadoc.html (1 hunks)
  • docs/tags/jfr.html (1 hunks)
  • docs/tags/jmeter.html (2 hunks)
  • docs/tags/jmh.html (1 hunks)
  • docs/tags/logging.html (1 hunks)
  • docs/tags/maven.html (1 hunks)
  • docs/tags/memory-leak.html (2 hunks)
  • docs/tags/modern-java.html (1 hunks)
  • docs/tags/oop.html (1 hunks)
  • docs/tags/optimization.html (1 hunks)
  • docs/tags/owasp.html (1 hunks)
  • docs/tags/pecs.html (1 hunks)
  • docs/tags/performance.html (3 hunks)
  • docs/tags/plantuml.html (1 hunks)
  • docs/tags/profiling.html (3 hunks)
  • docs/tags/progressive-learning.html (1 hunks)
  • docs/tags/prompt-engineering.html (1 hunks)
  • docs/tags/real-world.html (1 hunks)
  • docs/tags/records.html (1 hunks)
  • docs/tags/refactoring.html (1 hunks)
  • docs/tags/sealed-types.html (1 hunks)
  • docs/tags/security.html (2 hunks)
  • docs/tags/self-bounded.html (1 hunks)
  • docs/tags/serialization.html (1 hunks)
  • docs/tags/setup.html (1 hunks)
  • docs/tags/solid.html (1 hunks)
  • docs/tags/system-prompts.html (2 hunks)
  • docs/tags/technical-writing.html (1 hunks)
  • docs/tags/testing.html (2 hunks)
  • docs/tags/type-erasure.html (1 hunks)
  • docs/tags/type-safety.html (1 hunks)
  • docs/tags/uml-diagrams.html (1 hunks)
  • docs/tags/unit-testing.html (1 hunks)
  • docs/tags/validation.html (1 hunks)
  • docs/tags/variance.html (1 hunks)
  • docs/tags/wildcards.html (1 hunks)
  • documentation/conferences/dvbe25/index.html (4 hunks)
  • site-generator/templates/nav.ftl (1 hunks)
✅ Files skipped from review due to trivial changes (22)
  • docs/tags/pecs.html
  • docs/tags/refactoring.html
  • site-generator/templates/nav.ftl
  • docs/courses/system-prompts-java/module-2-code-quality.html
  • docs/tags/serialization.html
  • docs/courses/system-prompts-java/module-1-foundations.html
  • docs/courses/java-generics/index.html
  • docs/tags/before-after.html
  • docs/courses/system-prompts-java/index.html
  • docs/tags/prompt-engineering.html
  • docs/tags/technical-writing.html
  • docs/tags/oop.html
  • docs/tags/records.html
  • docs/tags/comparison.html
  • docs/courses/system-prompts-java/module-3-secure-coding.html
  • docs/tags/implementation.html
  • docs/tags/java-25.html
  • docs/courses/profile-memory-leak/module-1-foundations.html
  • docs/courses/system-prompts-java/module-7-advanced-patterns.html
  • docs/tags/optimization.html
  • docs/tags/sealed-types.html
  • docs/courses/system-prompts-java/module-5-performance.html
🚧 Files skipped from review as they are similar to previous changes (4)
  • docs/tags/enterprise.html
  • docs/tags/generics.html
  • docs/tags/blog.html
  • docs/tags/security.html
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{java,jsp,html}

📄 CodeRabbit inference engine (.cursor/rules/124-java-secure-coding.md)

Encode user-controlled output for the target context (e.g., HTML) to prevent XSS

Files:

  • docs/tags/owasp.html
  • docs/tags/uml-diagrams.html
  • docs/blog/2025/09/jfr-modern-java-profiling.html
  • docs/blog/2025/07/prompt-quality-framework.html
  • docs/tags/detection.html
  • docs/courses/java-generics/module-3-advanced.html
  • docs/tags/ai-development.html
  • docs/courses/profile-memory-leak/module-4-refactoring.html
  • docs/blog/2025/09/release-0.10.0.html
  • docs/tags/api-design.html
  • docs/tags/evidence.html
  • docs/tags/jfr.html
  • docs/tags/self-bounded.html
  • docs/blog/2025/07/release-0.9.0.html
  • docs/tags/exception-handling.html
  • docs/courses/java-generics/module-1-foundations.html
  • docs/tags/type-erasure.html
  • docs/tags/setup.html
  • docs/tags/flamegraph.html
  • docs/tags/design-patterns.html
  • docs/tags/java.html
  • docs/tags/solid.html
  • docs/tags/async-profiler.html
  • docs/tags/jmeter.html
  • docs/tags/maven.html
  • docs/tags/foundations.html
  • docs/tags/functional-programming.html
  • docs/tags/plantuml.html
  • docs/courses/profile-memory-leak/module-5-validation.html
  • docs/archive.html
  • docs/tags/assessment.html
  • docs/tags/crtp.html
  • docs/index.html
  • docs/tags/real-world.html
  • docs/tags/type-safety.html
  • docs/courses/java-generics/module-4-realworld.html
  • docs/tags/memory-leak.html
  • docs/courses/java-generics/module-5-assessment.html
  • docs/courses/system-prompts-java/module-4-modern-java.html
  • docs/tags/validation.html
  • docs/tags/concurrency.html
  • docs/blog/2025/07/release-0.8.0.html
  • docs/courses/profile-memory-leak/module-3-analysis.html
  • docs/tags/performance.html
  • docs/tags/unit-testing.html
  • docs/courses/system-prompts-java/module-6-documentation.html
  • docs/courses/profile-memory-leak/module-2-profiling.html
  • docs/courses/profile-memory-leak/index.html
  • docs/tags/javadoc.html
  • documentation/conferences/dvbe25/index.html
  • docs/tags/advanced-patterns.html
  • docs/tags/system-prompts.html
  • docs/tags/educational-design.html
  • docs/tags/progressive-learning.html
  • docs/courses/java-generics/module-2-wildcards.html
  • docs/tags/variance.html
  • docs/tags/modern-java.html
  • docs/about.html
  • docs/tags/testing.html
  • docs/blog/2025/09/release-0.11.0.html
  • docs/2/index.html
  • docs/tags/profiling.html
  • docs/tags/analysis.html
  • docs/tags/wildcards.html
  • docs/tags/documentation.html
  • docs/tags/logging.html
  • docs/tags/jmh.html
  • docs/dvbe25/index.html
🧠 Learnings (2)
📚 Learning: 2025-09-29T07:54:09.002Z
Learnt from: CR
PR: jabrena/cursor-rules-java#0
File: .cursor/rules/100-java-cursor-rules-list.md:0-0
Timestamp: 2025-09-29T07:54:09.002Z
Learning: Applies to CURSOR-RULES-JAVA.md : Create a markdown file named CURSOR-RULES-JAVA.md in the project root directory with the exact content of the embedded template

Applied to files:

  • docs/feed.xml
📚 Learning: 2025-09-29T07:54:09.002Z
Learnt from: CR
PR: jabrena/cursor-rules-java#0
File: .cursor/rules/100-java-cursor-rules-list.md:0-0
Timestamp: 2025-09-29T07:54:09.002Z
Learning: Applies to CURSOR-RULES-JAVA.md : If CURSOR-RULES-JAVA.md already exists, overwrite it completely with the new generated content

Applied to files:

  • docs/feed.xml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Build Examples (Quarkus, examples/quarkus-demo, package)
  • GitHub Check: Build Examples (Azure Function, examples/azure-function-hello-world, package)
  • GitHub Check: Build Examples (Spring Boot, examples/spring-boot-demo/implementation, verify -Pjacoco)

Comment on lines 42 to +44
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" alongside target="_blank"

To prevent reverse tabnabbing, add the rel attributes to this external nav link.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
🤖 Prompt for AI Agents
In docs/2/index.html around lines 42 to 44, the anchors using target="_blank"
lack rel attributes which can allow reverse tabnabbing; update each external
link element to include rel="noopener noreferrer" (e.g., add rel="noopener
noreferrer" to the Share feedback link and the Devoxx BE 2025 link) so each
anchor with target="_blank" includes those rel values for security.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Harden external link with rel="noopener noreferrer"

Please add the standard rel attributes whenever target="_blank" is used.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
<li class="navlinks-container">
🤖 Prompt for AI Agents
In docs/about.html around lines 42 to 44, the two anchor tags that use
target="_blank" are missing the recommended rel attributes; update each external
link to include rel="noopener noreferrer" (or rel="noopener noreferrer
noreferrer" is incorrect—use exactly rel="noopener noreferrer") so both security
and performance are addressed for links opened in a new tab.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add missing rel="noopener noreferrer" on the new tab link

Pairing target="_blank" with rel="noopener noreferrer" prevents the linked page from manipulating our window context.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
<li class="navlinks-container">
🤖 Prompt for AI Agents
In docs/courses/java-generics/module-5-assessment.html around lines 42 to 44,
the anchor tag that uses target="_blank" is missing rel="noopener noreferrer";
update that <a> element to include rel="noopener noreferrer" (and add it to any
other external links opened in a new tab) so the opened page cannot access or
manipulate the opener window and to improve security/privacy.

<div class="collapse navbar-collapse" id="main-navbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" to external _blank link.

Opening an external site with target="_blank" without rel="noopener noreferrer" leaves us exposed to reverse tabnabbing. Please add the rel attributes here (and everywhere this nav link was added) to harden the page.

🤖 Prompt for AI Agents
In docs/courses/profile-memory-leak/module-4-refactoring.html around line 43,
the external link using target="_blank" lacks rel="noopener noreferrer", which
exposes the page to reverse tabnabbing; update the anchor tag(s) to include
rel="noopener noreferrer" on this link (and apply the same change to any other
occurrences of this nav link) so external tabs cannot access window.opener.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" to the external nav link

Without the rel attributes, a new-tab link can exploit reverse tabnabbing. Please include them.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
<li class="navlinks-container">
🤖 Prompt for AI Agents
In docs/tags/advanced-patterns.html around lines 42 to 44, the external links
opening in a new tab are missing rel attributes; add rel="noopener noreferrer"
to each <a> tag that has target="_blank" (e.g., the Share feedback and Devoxx BE
2025 links) so they include rel="noopener noreferrer" to prevent reverse
tabnabbing and improve security.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Patch the external link with rel="noopener noreferrer"

All target="_blank" links should also specify rel="noopener noreferrer" to avoid window context hijacking.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
<li class="navlinks-container">
🤖 Prompt for AI Agents
In docs/tags/modern-java.html around lines 42 to 44, the two anchor tags using
target="_blank" are missing the rel attribute; update each external link (<a ...
target="_blank">) to include rel="noopener noreferrer" (e.g., rel="noopener
noreferrer") to prevent window context hijacking and preserve security.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Secure the external tab by adding rel="noopener noreferrer"

Please pair target="_blank" with rel="noopener noreferrer" so the external page cannot control our window.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
🤖 Prompt for AI Agents
In docs/tags/self-bounded.html around lines 42 to 44, the anchor tags open
external pages with target="_blank" but lack rel="noopener noreferrer"; update
each external <a> that uses target="_blank" (e.g., the Share feedback and Devoxx
BE 2025 links) to include rel="noopener noreferrer" so the opened pages cannot
access or manipulate the originating window; ensure both attributes are added to
all external links that open in a new tab.

Comment on lines 42 to 44
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" for safety

With target="_blank", we must include rel="noopener noreferrer" to block tabnabbing.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li class="navlinks-container">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
<li class="navlinks-container">
🤖 Prompt for AI Agents
In docs/tags/solid.html around lines 42 to 44 the anchor tags use
target="_blank" but lack rel="noopener noreferrer"; update each external <a>
with target="_blank" to also include rel="noopener noreferrer" (e.g., add
rel="noopener noreferrer" to the "Share feedback" and "Devoxx BE 2025" links) to
prevent tabnabbing and improve security.

<div class="collapse navbar-collapse" id="main-navbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" to external _blank link.

Opening an external site (Devoxx) with target="_blank" but without rel="noopener noreferrer" allows reverse tabnabbing. Add those attributes here and everywhere else this link appears in the PR.

-  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
+  <li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank" rel="noopener noreferrer">Devoxx BE 2025</a></li>
🤖 Prompt for AI Agents
In docs/tags/unit-testing.html around line 43, the anchor using target="_blank"
linking to the Devoxx BE site is missing rel="noopener noreferrer"; update that
<a> tag to include rel="noopener noreferrer" to prevent reverse tabnabbing, and
apply the same change to every other occurrence of this external link elsewhere
in the PR (search for this URL or target="_blank" instances linking to external
sites and add rel="noopener noreferrer").

<div class="collapse navbar-collapse" id="main-navbar">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://forms.gle/TpNXENjmu45wuXoi6" target="_blank">Share feedback</a></li>
<li><a href="https://jabrena.github.io/cursor-rules-java/dvbe25/index.html" target="_blank">Devoxx BE 2025</a></li>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add rel="noopener noreferrer" for the new external nav link.

Opening an external site in a new tab without rel="noopener noreferrer" leaves the page vulnerable to reverse tabnabbing. Please add the attribute to this anchor (and replicate across the other Devoxx links introduced in this PR).

🤖 Prompt for AI Agents
In docs/tags/wildcards.html around line 43, the external anchor for "Devoxx BE
2025" opens in a new tab but is missing rel="noopener noreferrer"; update the
<a> tag to add rel="noopener noreferrer" alongside target="_blank" and apply the
same change to the other Devoxx external links added in this PR so all external
new-tab links include rel="noopener noreferrer".

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.

2 participants