Add EU Parliament Monitor project pages with full ISMS documentation links#1070
Add EU Parliament Monitor project pages with full ISMS documentation links#1070
Conversation
…ull ISMS documentation links Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds EU Parliament Monitor to the Hack23 static site by introducing dedicated project pages (overview, features, docs hub) and surfacing the project on the main projects listing.
Changes:
- Added new EU Parliament Monitor pages:
euparliamentmonitor.html,euparliamentmonitor-features.html,euparliamentmonitor-docs.html - Updated
projects.htmlmetadata + schema.orgItemListand added a new featured project card + table row + CTA link
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 10 comments.
| File | Description |
|---|---|
| projects.html | Surfaces EU Parliament Monitor in the projects list, schema.org ItemList, overview table, and CTAs |
| euparliamentmonitor.html | New overview/landing page for the project (hero, key features, stack, ISMS, related projects) |
| euparliamentmonitor-features.html | New detailed feature breakdown page |
| euparliamentmonitor-docs.html | New documentation hub page with ISMS/architecture documentation cards and classification matrix |
euparliamentmonitor-docs.html
Outdated
| href="https://github.com/Hack23/euparliamentmonitor/blob/master/docs/coverage/" | ||
| title="View Code Coverage Report" | ||
| > | ||
| View Coverage Report | ||
| </a> |
There was a problem hiding this comment.
The GitHub link for the “Test Coverage” report points to a directory using blob/master/.../ which will 404 on GitHub. Use a tree/master/.../ link (or link to an actual report file) for directories.
There was a problem hiding this comment.
Fixed in c98c0f6 — changed blob/master/docs/coverage/ to tree/master/docs/coverage/.
euparliamentmonitor-docs.html
Outdated
| href="https://github.com/Hack23/euparliamentmonitor/blob/master/docs/api/" | ||
| title="View API Documentation" | ||
| > | ||
| View API Docs | ||
| </a> |
There was a problem hiding this comment.
The GitHub link for “API Documentation” points to a directory using blob/master/.../ which will 404 on GitHub. Use a tree/master/.../ link (or link to a specific API doc entry point) for directories.
There was a problem hiding this comment.
Fixed in c98c0f6 — changed blob/master/docs/api/ to tree/master/docs/api/.
| } | ||
| ] | ||
| }</script> | ||
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor.html"> |
There was a problem hiding this comment.
Hreflang tags are incomplete: only x-default is present. This repo’s hreflang validation expects a self-reference (at least hreflang="en", plus regional variants like en-US/en-GB) in addition to x-default.
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor.html"> | |
| <link rel="alternate" hreflang="en" href="https://hack23.com/euparliamentmonitor.html"> | |
| <link rel="alternate" hreflang="en-GB" href="https://hack23.com/euparliamentmonitor.html"> | |
| <link rel="alternate" hreflang="en-US" href="https://hack23.com/euparliamentmonitor.html"> | |
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor.html"> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added hreflang="en", hreflang="en-US", and hreflang="en-GB" self-references in addition to x-default.
| ] | ||
| }</script> | ||
|
|
||
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-features.html"> |
There was a problem hiding this comment.
Hreflang tags are incomplete: only x-default is present. This repo’s hreflang validation expects a self-reference (at least hreflang="en", plus regional variants like en-US/en-GB) in addition to x-default.
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-features.html"> | |
| <link rel="alternate" hreflang="en" href="https://hack23.com/euparliamentmonitor-features.html"> | |
| <link rel="alternate" hreflang="en-US" href="https://hack23.com/euparliamentmonitor-features.html"> | |
| <link rel="alternate" hreflang="en-GB" href="https://hack23.com/euparliamentmonitor-features.html"> | |
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-features.html"> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added hreflang="en", hreflang="en-US", and hreflang="en-GB" self-references.
| ] | ||
| }</script> | ||
|
|
||
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-docs.html"> |
There was a problem hiding this comment.
Hreflang tags are incomplete: only x-default is present. This repo’s hreflang validation expects a self-reference (at least hreflang="en", plus regional variants like en-US/en-GB) in addition to x-default.
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-docs.html"> | |
| <link rel="alternate" hreflang="x-default" href="https://hack23.com/euparliamentmonitor-docs.html"> | |
| <link rel="alternate" hreflang="en" href="https://hack23.com/euparliamentmonitor-docs.html"> | |
| <link rel="alternate" hreflang="en-US" href="https://hack23.com/euparliamentmonitor-docs.html"> | |
| <link rel="alternate" hreflang="en-GB" href="https://hack23.com/euparliamentmonitor-docs.html"> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added hreflang="en", hreflang="en-US", and hreflang="en-GB" self-references.
| <meta property="og:locale:alternate" content="zh_CN"> | ||
| <meta property="og:type" content="website"> | ||
| <meta property="og:url" content="https://hack23.com/euparliamentmonitor.html"> | ||
| <meta property="og:site_name" content="Hack23 AB"> |
There was a problem hiding this comment.
Open Graph metadata is missing an og:image. Other project overview pages (e.g., cia-project.html) set an image, which improves link previews and keeps metadata consistent across project pages.
| <meta property="og:site_name" content="Hack23 AB"> | |
| <meta property="og:site_name" content="Hack23 AB"> | |
| <meta property="og:image" content="https://hack23.com/cia-icon-140.webp"> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added <meta property="og:image" content="https://hack23.com/cia-icon-140.webp">.
| <meta property="og:locale:alternate" content="sv_SE"> | ||
| <meta property="og:locale:alternate" content="zh_CN"> | ||
| <meta property="og:type" content="website" /> | ||
| <meta property="og:url" content="https://hack23.com/euparliamentmonitor-docs.html" /> |
There was a problem hiding this comment.
Open Graph metadata is missing an og:image. Similar documentation hub pages in this repo include an image, which improves share previews and keeps metadata consistent.
| <meta property="og:url" content="https://hack23.com/euparliamentmonitor-docs.html" /> | |
| <meta property="og:url" content="https://hack23.com/euparliamentmonitor-docs.html" /> | |
| <meta property="og:image" content="https://hack23.com/screenshots/euparliamentmonitor-architecture-og.png" /> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added <meta property="og:image" content="https://hack23.com/cia-icon-140.webp" />.
euparliamentmonitor-docs.html
Outdated
| href="https://github.com/Hack23/euparliamentmonitor/blob/master/docs/test-results/" | ||
| title="View Test Results" | ||
| > | ||
| Test Results |
There was a problem hiding this comment.
The GitHub link for “Unit Tests → Test Results” points to a directory using blob/master/.../ which will 404 on GitHub. Use a tree/master/.../ link (or link to a specific file) for directories.
There was a problem hiding this comment.
Fixed in c98c0f6 — changed blob/master/docs/test-results/ to tree/master/docs/test-results/.
| <meta property="og:locale:alternate" content="zh_CN"> | ||
| <meta property="og:type" content="website"> | ||
| <meta property="og:url" content="https://hack23.com/euparliamentmonitor-features.html"> | ||
| <meta property="og:site_name" content="Hack23 AB"> |
There was a problem hiding this comment.
Open Graph metadata is missing an og:image (and the corresponding Twitter image/card metadata used on similar “features” pages like cia-features.html). This reduces share preview quality and diverges from existing feature page patterns.
| <meta property="og:site_name" content="Hack23 AB"> | |
| <meta property="og:site_name" content="Hack23 AB"> | |
| <meta property="og:image" content="https://hack23.com/screenshots/eu-parliament-monitor-social.png"> | |
| <meta name="twitter:card" content="summary_large_image"> | |
| <meta name="twitter:title" content="EU Parliament Monitor | European Parliament Transparency Features"> | |
| <meta name="twitter:description" content="Comprehensive EU Parliament monitoring with MEP profiles, voting records, committee tracking, and legislative document search."> | |
| <meta name="twitter:image" content="https://hack23.com/screenshots/eu-parliament-monitor-social.png"> |
There was a problem hiding this comment.
Fixed in c98c0f6 — added og:image and full Twitter Card metadata (twitter:card, twitter:title, twitter:description, twitter:image).
| <!-- EU Parliament Monitor --> | ||
| <div class="card availability-card"> | ||
| <div class="scanner-effect"></div> | ||
| <div class="project-header"> | ||
| <div> | ||
| <h3 class="project-title">🏛️ EU Parliament Monitor</h3> | ||
| <p class="project-subtitle">European Parliament Intelligence Platform</p> | ||
| </div> | ||
| </div> | ||
| <p><strong>Open-source European Parliament Intelligence Platform</strong> monitoring political activity at the EU level with systematic transparency. Comprehensive tracking of MEPs, plenary sessions, committees, legislative documents, and voting records using official European Parliament open data.</p> | ||
|
|
||
| <h4>Key Features:</h4> | ||
| <ul class="project-features-list"> | ||
| <li>MEP Monitoring</li> | ||
| <li>Plenary Session Tracking</li> | ||
| <li>Committee Monitoring</li> | ||
| <li>Legislative Document Search</li> | ||
| <li>Voting Records Analysis</li> | ||
| <li>MCP Server AI Integration</li> | ||
| </ul> | ||
|
|
||
| <div class="badges project-badges"> | ||
| <img src="https://img.shields.io/github/v/release/Hack23/euparliamentmonitor?style=flat-square" alt="Release" width="120" height="20" loading="lazy"> | ||
| <img src="https://api.securityscorecards.dev/projects/github.com/Hack23/euparliamentmonitor/badge" alt="Security Score" width="120" height="20" loading="lazy"> | ||
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">📖 Learn More</a> | ||
| <a href="euparliamentmonitor-features.html" title="Features">✨ Features</a> | ||
| <a href="https://github.com/Hack23/euparliamentmonitor" title="GitHub Repository">📂 Repository</a> | ||
| </div> | ||
| </div> |
There was a problem hiding this comment.
projects.html was updated to add EU Parliament Monitor, but the localized variants (projects_sv.html, projects_de.html, etc.) still won’t surface the new project. This repo typically keeps structural/content updates in sync across the translated projects_*.html pages.
There was a problem hiding this comment.
Fixed in c98c0f6 — updated all 13 localized projects_*.html files (ar, da, de, es, fi, fr, he, ja, ko, nl, no, sv, zh) with the EU Parliament Monitor project card, comparison table row, and CTA link.
|
@copilot apply changes based on the comments in this thread |
…nks, and localized projects pages Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
projects_zh.html
Outdated
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> |
There was a problem hiding this comment.
The primary CTA label contains mojibake ("�� Learn More"), which will render as replacement characters. Use valid UTF-8 text and align the label with the localized CTAs already used on this page (e.g., "📖 了解更多" is used for other project cards here).
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> | |
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">📖 了解更多</a> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 📖 了解更多 matching other cards on this page.
projects_fi.html
Outdated
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> |
There was a problem hiding this comment.
The primary CTA label contains mojibake ("�� Learn More"), which will render as replacement characters. Use valid UTF-8 text and align the label with the localized CTAs already used on this page (e.g., the same "📖 …" phrasing used for other projects).
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> | |
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">📖 Lue lisää</a> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 📖 Lue Lisää matching other cards on this page.
projects_fr.html
Outdated
| <td><strong>EU Parliament Monitor</strong></td> | ||
| <td>EU Parliament transparency & monitoring</td> | ||
| <td>HTML5, CSS3, JavaScript</td> | ||
| <td class="text-center">🟢 Active</td> |
There was a problem hiding this comment.
This comparison table row uses the English status label "🟢 Active" while the rest of the table is localized. Update the status cell to match the localized status wording used elsewhere in this table.
| <td class="text-center">🟢 Active</td> | |
| <td class="text-center">🟢 Actif</td> |
projects_ja.html
Outdated
| <td><strong>EU Parliament Monitor</strong></td> | ||
| <td>EU Parliament transparency & monitoring</td> | ||
| <td>HTML5, CSS3, JavaScript</td> | ||
| <td class="text-center">🟢 Active</td> |
There was a problem hiding this comment.
This comparison table row uses the English status label "🟢 Active" while the rest of the table is localized. Update the status cell to match the localized status wording used elsewhere in this table.
| <td class="text-center">🟢 Active</td> | |
| <td class="text-center">🟢 アクティブ</td> |
projects_ko.html
Outdated
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> |
There was a problem hiding this comment.
The primary CTA label contains mojibake ("�� Learn More"), which will render as replacement characters. Use valid UTF-8 text and align the label with the localized CTAs already used on this page (e.g., the same "📖 …" phrasing used for other projects).
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> | |
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">📖 Learn more</a> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 📖 자세히 보기 matching other cards on this page.
projects_de.html
Outdated
| <td><strong>EU Parliament Monitor</strong></td> | ||
| <td>EU Parliament transparency & monitoring</td> | ||
| <td>HTML5, CSS3, JavaScript</td> | ||
| <td class="text-center">🟢 Active</td> |
There was a problem hiding this comment.
This comparison table row uses the English status label "🟢 Active" while the rest of the table is localized. Update the status cell to match the localized status wording used elsewhere in this table.
| <td class="text-center">🟢 Active</td> | |
| <td class="text-center">🟢 Aktiv</td> |
projects_fi.html
Outdated
| <td><strong>EU Parliament Monitor</strong></td> | ||
| <td>EU Parliament transparency & monitoring</td> | ||
| <td>HTML5, CSS3, JavaScript</td> | ||
| <td class="text-center">🟢 Active</td> |
There was a problem hiding this comment.
This comparison table row uses the English status label "🟢 Active" while the rest of the table is localized. Update the status cell to match the localized status wording used elsewhere in this table.
| <td class="text-center">🟢 Active</td> | |
| <td class="text-center">🟢 Aktiivinen</td> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 🟢 Aktiivinen.
projects_fr.html
Outdated
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> |
There was a problem hiding this comment.
The primary CTA label contains mojibake ("�� Learn More"), which will render as replacement characters. Use valid UTF-8 text and align the label with the localized CTAs already used on this page (e.g., the same "📖 …" phrasing used for other projects).
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> | |
| <a href="euparliamentmonitor.html" class="btn-primary" title="Voir les détails">📖 En savoir plus</a> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 📖 En Savoir Plus matching other cards on this page.
projects_ja.html
Outdated
| </div> | ||
|
|
||
| <div class="project-actions"> | ||
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> |
There was a problem hiding this comment.
The primary CTA label contains mojibake ("�� Learn More"), which will render as replacement characters. Use valid UTF-8 text and align the label with the localized CTAs already used on this page (e.g., the same "📖 …" phrasing used for other projects).
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">�� Learn More</a> | |
| <a href="euparliamentmonitor.html" class="btn-primary" title="View Details">📖 Learn More</a> |
There was a problem hiding this comment.
Fixed in d6a2949 — changed to 📖 詳細を見る matching other cards on this page.
projects_sv.html
Outdated
| <td><strong>EU Parliament Monitor</strong></td> | ||
| <td>EU Parliament transparency & monitoring</td> | ||
| <td>HTML5, CSS3, JavaScript</td> | ||
| <td class="text-center">🟢 Active</td> |
There was a problem hiding this comment.
This comparison table row uses the English status label "🟢 Active". In this Swedish table, the other rows use the localized status label ("🟢 Aktiv").
| <td class="text-center">🟢 Active</td> | |
| <td class="text-center">🟢 Aktiv</td> |
|
@copilot apply changes based on the comments in this thread |
…ects pages Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
…d report files Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
|



Creates three new project pages for EU Parliament Monitor (European Parliament Intelligence Platform) following established Hack23 patterns, surfaces the project across all 14 language variants of
projects.html, and fixes a CI validator misconfiguration.New Pages
euparliamentmonitor.html— Hero, key features (MEP monitoring, plenary tracking, committee monitoring, legislative doc search, parliamentary questions, MCP AI integration), tech stack, ISMS badges, related projectseuparliamentmonitor-features.html— Detailed feature breakdown across 6 categories; includes Twitter Card metadata andog:imageeuparliamentmonitor-docs.html— Documentation hub with 27 ISMS/architecture cards linking togithub.com/Hack23/euparliamentmonitor; directory links usetree/master/(notblob/master/) to avoid 404sProjects Page Updates
Added EU Parliament Monitor card, comparison table row, and CTA to
projects.htmland all 13 localized variants (_ar,_da,_de,_es,_fi,_fr,_he,_ja,_ko,_nl,_no,_sv,_zh). Fixed mojibake in "Learn More" button text and non-localized🟢 Activestatus labels that were introduced during that update.Metadata
All 3 new pages include
og:image, fullhreflangset (en,en-US,en-GB,x-default), canonical URL, schema.org structured data, and breadcrumb navigation.CI Fix
html5validatorwas failing because it scanneddocs/(pre-generated Lighthouse/ZAP report files with intentionally non-standard HTML). Addedblacklist: docsto the validator step inpullrequest.yml:Original prompt
This section details on the original issue you should resolve
<issue_title>Add EU Parliament Monitor project pages (main, features, docs) with full ISMS documentation links</issue_title>
<issue_description>## 🎯 Objective
Create three new HTML pages for the EU Parliament Monitor project following the same pattern as existing Hack23 project pages (
black-trigram.html,compliance-manager.html,cia-project.html), including all ISMS documentation links.📋 Background
EU Parliament Monitor is a European Parliament Intelligence Platform that monitors political activity at the EU level with systematic transparency. It provides comprehensive tracking of MEPs, plenary sessions, committees, legislative documents, and voting records. It is fully ISMS-compliant.
This project needs homepage presence with three pages:
euparliamentmonitor.html— Main project page (overview, features, links)euparliamentmonitor-features.html— Detailed feature descriptionseuparliamentmonitor-docs.html— Architecture & ISMS documentation hub📊 Current State
✅ Acceptance Criteria
euparliamentmonitor.htmlcreated followingcia-project.htmlpatterneuparliamentmonitor-features.htmlcreated followingcia-features.htmlpatterneuparliamentmonitor-docs.htmlcreated followingcia-compliance-manager-docs.htmlpattern with ALL documentation links<head>meta tags (description, keywords, OG, hreflang, canonical, schema.org)styles.csswithout modification🛠️ Implementation Guidance
Files to Create
euparliamentmonitor.html— Copy structure fromcia-project.html:euparliamentmonitor-features.html— Copy structure fromcia-features.html:euparliamentmonitor-docs.html— Copy structure fromcia-compliance-manager-docs.htmlwith these doc links:Documentation Cards for
euparliamentmonitor-docs.htmlAll links follow pattern
https://github.com/Hack23/euparliamentmonitor/blob/master/:ARCHITECTURE.mdFUTURE_ARCHITECTURE.mdSTATEDIAGRAM.mdFUTURE_STATEDIAGRAM.mdFLOWCHART.mdFUTURE_FLOWCHART.mdSECURITY_ARCHITECTURE.mdFUTURE_SECURITY_ARCHITECTURE.mdSWOT.mdFUTURE_SWOT.mdWORKFLOWS.mdFUTURE_WORKFLOWS.mdMINDMAP.mdFUTURE_MINDMAP.mdDATA_MODEL.mdFUTURE_DATA_MODEL.mddocs/test-results// Test Plan:UnitTestPlan.mddocs/coverage/E2ETestPlan.mdperformance-testing.mddocs/api/BCPPlan.mdEnd-of-Life-Strategy.mdFinancialSecurityPlan.mdTHREAT_MODEL.mdCRA-ASSESSMENT.mdKey Project Details for Content
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.