-
Notifications
You must be signed in to change notification settings - Fork 3
Build professional README and SEO-optimized product website #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
f960edf
docs: rebuild README for professional product positioning
masarray 5af3934
docs: add branded product workspace illustration
masarray 365ac17
website: add responsive premium design system
masarray 765a966
website: add accessible navigation and progressive enhancement
masarray 3bc65e2
website: add SEO-optimized product landing page
masarray 0ae3eda
website: add vector favicon
masarray 49a83ab
website: add social preview artwork
masarray 43d34d7
website: add detailed IEC 61850 features page
masarray 602e3e5
website: add Smart Control product page
masarray 540f0f9
website: add application architecture page
masarray f468fef
website: add installable site metadata
masarray fa28e87
website: add search crawler directives
masarray 67efc7c
website: add XML sitemap
masarray 709dc09
website: add branded not-found page
masarray 6bd8937
website: disable Jekyll processing
masarray 91f07aa
ci: deploy landing pages through GitHub Pages
masarray a58a177
docs: add professional documentation hub
masarray 4ddf11f
docs: add security and operational disclosure policy
masarray 288562a
docs: add support and diagnostic guidance
masarray c753ab8
docs: expand professional contribution guide
masarray 3f971cc
docs: professionalize application architecture
masarray 5c6aea2
docs: refresh engine compatibility for v1.6.6
masarray 2190d65
build: align product metadata with public positioning
masarray b5aef1b
docs: rename external IP audit as evidence-based provenance review
masarray c7b625c
docs: remove superseded cleanliness audit title
masarray a3d31af
docs: link renamed provenance review
masarray 2ce705c
ci: extend source checks to website and public wording
masarray 9a26ba9
github: add structured engineering bug report template
masarray a807a64
github: add engineering feature request template
masarray 76b2cde
github: configure issue intake
masarray 95f0a9c
github: strengthen pull request quality checklist
masarray 58c572c
docs: add project community conduct policy
masarray 0f80335
ci: use reviewed ARIEC61850 main integration baseline
masarray 035e045
ci: add static landing page validator
masarray 3199763
ci: validate SEO metadata and internal website links
masarray 6cde48e
docs: add Windows UI validation guide
masarray 4849d57
docs: fix documentation hub links
masarray cd6c942
docs: add public changelog
masarray d546112
docs: modernize application validation checklist
masarray 0a01ae3
ci: include Python validators in source provenance scan
masarray f4afd51
ci: align SEO validator with rich technical metadata
masarray 021879f
ci: allow standard XML namespaces while rejecting insecure page links
masarray File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| name: Engineering bug report | ||
| description: Report a reproducible ArIED connection, discovery, monitoring, event, control, packaging, or UI defect. | ||
| title: "[Bug] " | ||
| labels: ["bug", "needs-triage"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Thank you for helping improve ArIED 61850. Use synthetic or sanitized data only. Do not include credentials, customer names, station identifiers, confidential SCL, restricted addressing, or proprietary material. | ||
|
|
||
| - type: dropdown | ||
| id: area | ||
| attributes: | ||
| label: Affected area | ||
| options: | ||
| - Connection / association | ||
| - SCL import / project workspace | ||
| - MMS discovery / model browser | ||
| - Signal selection | ||
| - Reporting / monitoring | ||
| - Event log / timestamps / quality | ||
| - Smart Control | ||
| - Diagnostics | ||
| - Build / packaging | ||
| - UI / accessibility / performance | ||
| - Documentation / website | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: app-version | ||
| attributes: | ||
| label: ArIED version or commit | ||
| placeholder: "1.6.6 or commit SHA" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: engine-version | ||
| attributes: | ||
| label: ARIEC61850 branch or commit | ||
| placeholder: "main or commit SHA" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: input | ||
| id: environment | ||
| attributes: | ||
| label: Environment | ||
| description: Windows version, .NET SDK/runtime, and display scaling when relevant. | ||
| placeholder: "Windows 11 24H2, .NET SDK 8.0.x, 125% scaling" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: steps | ||
| attributes: | ||
| label: Reproduction steps | ||
| placeholder: | | ||
| 1. Open... | ||
| 2. Connect... | ||
| 3. Select... | ||
| 4. Observe... | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: expected | ||
| attributes: | ||
| label: Expected behavior | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: observed | ||
| attributes: | ||
| label: Observed behavior | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: diagnostics | ||
| attributes: | ||
| label: Sanitized diagnostic evidence | ||
| description: Paste a sanitized Copy Diagnostic report or the smallest relevant excerpt. Remove confidential data first. | ||
| render: text | ||
|
|
||
| - type: dropdown | ||
| id: evidence-source | ||
| attributes: | ||
| label: Validation environment | ||
| options: | ||
| - Static source review only | ||
| - Unit or integration test | ||
| - Simulator / loopback | ||
| - Isolated laboratory IED | ||
| - Approved commissioning environment | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: checkboxes | ||
| id: confirmations | ||
| attributes: | ||
| label: Confirmations | ||
| options: | ||
| - label: I removed confidential customer, employer, station, credential, and restricted network information. | ||
| required: true | ||
| - label: I did not include external proprietary screenshots, manuals, code, or support material. | ||
| required: true | ||
| - label: Any active control or network test was performed under the required authority and test boundary. | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| blank_issues_enabled: false | ||
| contact_links: | ||
| - name: Security vulnerability | ||
| url: https://github.com/masarray/ArIED61850Tester/security | ||
| about: Review SECURITY.md and use private vulnerability reporting when available. | ||
| - name: Support and diagnostics guide | ||
| url: https://github.com/masarray/ArIED61850Tester/blob/main/SUPPORT.md | ||
| about: Review connection checks, required environment details, and sanitization rules before filing an issue. | ||
| - name: Product website | ||
| url: https://masarray.github.io/ArIED61850Tester/ | ||
| about: Product overview, features, Smart Control, and architecture. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| name: Engineering feature request | ||
| description: Propose a focused ArIED workflow, usability, diagnostics, monitoring, or control improvement. | ||
| title: "[Feature] " | ||
| labels: ["enhancement", "needs-triage"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| Describe the engineering problem before proposing the UI or implementation. Protocol behavior should remain in ARIEC61850; ArIED should consume typed engine services. | ||
|
|
||
| - type: dropdown | ||
| id: area | ||
| attributes: | ||
| label: Product area | ||
| options: | ||
| - SCL / project workflow | ||
| - MMS explorer / discovery | ||
| - Signal selection | ||
| - Reporting / live monitoring | ||
| - Events / diagnostics | ||
| - Smart Control | ||
| - Performance / scalability | ||
| - Accessibility / keyboard workflow | ||
| - Packaging / release | ||
| - Documentation / website | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: problem | ||
| attributes: | ||
| label: Engineering problem | ||
| description: What is difficult, slow, ambiguous, or currently impossible? | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: workflow | ||
| attributes: | ||
| label: Desired workflow | ||
| description: Describe the user steps and expected evidence, not only the final screen. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: acceptance | ||
| attributes: | ||
| label: Acceptance criteria | ||
| placeholder: | | ||
| - Given... | ||
| - When... | ||
| - Then... | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: protocol-boundary | ||
| attributes: | ||
| label: Application / engine boundary | ||
| description: Identify whether the request needs a new ARIEC61850 engine contract, an ArIED-only change, or both. | ||
|
|
||
| - type: textarea | ||
| id: validation | ||
| attributes: | ||
| label: Proposed validation | ||
| description: Unit test, simulator, loopback, laboratory IED, performance measurement, or UI verification. | ||
|
|
||
| - type: checkboxes | ||
| id: confirmations | ||
| attributes: | ||
| label: Confirmations | ||
| options: | ||
| - label: This request does not include confidential or proprietary customer or employer material. | ||
| required: true | ||
| - label: This request does not depend on copying another product's UI, wording, code, or documentation. | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,36 @@ | ||
| ## Summary | ||
| ## Engineering problem | ||
|
|
||
| Describe the change and its engineering purpose. | ||
| Describe the user or protocol problem and why this change belongs in ArIED rather than ARIEC61850. | ||
|
|
||
| ## Solution | ||
|
|
||
| Summarize the implementation and the application/engine boundary. | ||
|
|
||
| ## Validation | ||
|
|
||
| - [ ] Build completed | ||
| - [ ] Relevant tests completed | ||
| - [ ] No confidential SCL/PCAP/customer data included | ||
| - [ ] No proprietary or restrictive-license code copied or mechanically translated | ||
| State the evidence source and result: | ||
|
|
||
| - [ ] Source/provenance gate completed | ||
| - [ ] Restore and Release build completed | ||
| - [ ] Relevant automated tests completed | ||
| - [ ] Simulator or loopback validation completed, when applicable | ||
| - [ ] Laboratory IED validation completed, when applicable | ||
| - [ ] Keyboard, scaling, and visual checks completed for UI changes | ||
| - [ ] Public documentation updated when behavior or claim boundaries changed | ||
|
|
||
| ## Operational and data boundary | ||
|
|
||
| - [ ] No confidential SCL, capture, diagnostic, screenshot, customer, employer, station, credential, or restricted network data is included | ||
| - [ ] No external proprietary code, API composition, test, wording, screenshot, manual, asset, or UI design was copied or mechanically translated | ||
| - [ ] Active control or network validation was performed only under the required authority and test boundary | ||
| - [ ] The change does not imply formal conformance, universal interoperability, functional safety, or switching authority | ||
|
|
||
| ## Contribution licensing | ||
|
|
||
| - [ ] I have read and agree to `CONTRIBUTOR-LICENSE-AGREEMENT.md`. | ||
| - [ ] I have the legal right and, where necessary, employer authorization to submit this contribution. | ||
| - [ ] Every commit includes a DCO sign-off (`Signed-off-by: Name <email>`). | ||
| - [ ] I have read and agree to `CONTRIBUTOR-LICENSE-AGREEMENT.md` | ||
| - [ ] I have the legal right and, where necessary, employer authorization to submit this contribution | ||
| - [ ] Every commit includes a DCO sign-off: `Signed-off-by: Name <email>` | ||
|
|
||
| ## Screenshots or diagnostics | ||
|
|
||
| Use synthetic or sanitized material only. Explain what the evidence demonstrates. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| name: Deploy product website | ||
|
|
||
| on: | ||
| push: | ||
| branches: [ main ] | ||
| paths: | ||
| - "landing/**" | ||
| - "scripts/validate-landing.py" | ||
| - ".github/workflows/pages.yml" | ||
| pull_request: | ||
| branches: [ main ] | ||
| paths: | ||
| - "landing/**" | ||
| - "scripts/validate-landing.py" | ||
| - ".github/workflows/pages.yml" | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: pages | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| validate: | ||
| name: Validate static website | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.12" | ||
|
|
||
| - name: Validate HTML, local links and SEO metadata | ||
| run: python scripts/validate-landing.py | ||
|
|
||
| - name: Verify public website boundaries | ||
| shell: bash | ||
| run: | | ||
| set -euo pipefail | ||
| ! grep -R --line-number --fixed-strings 'LICENSE-APACHE-2.0' landing | ||
| ! grep -R --line-number -E '(href|src|content)="http://' landing --include='*.html' | ||
|
|
||
| - name: Upload website artifact | ||
| if: github.event_name != 'pull_request' | ||
| uses: actions/upload-pages-artifact@v3 | ||
| with: | ||
| path: landing | ||
|
|
||
| deploy: | ||
| if: github.event_name != 'pull_request' | ||
| needs: validate | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| pages: write | ||
| id-token: write | ||
| environment: | ||
| name: github-pages | ||
| url: ${{ steps.deployment.outputs.page_url }} | ||
| steps: | ||
| - name: Deploy to GitHub Pages | ||
| id: deployment | ||
| uses: actions/deploy-pages@v4 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When any PR validation or manual run starts while a
mainpush is deploying, this workflow-level literal group puts every run in the same cancellation bucket; withcancel-in-progress: true, a non-deploying PR run can cancel the in-progress deployment (or another PR's required Pages check) before the upload/deploy finishes. Scope the group bygithub.ref/event or move concurrency to the deploy job so validation runs do not interrupt production publishes.Useful? React with 👍 / 👎.