Skip to content

Porting from doc in interlink repo#1

Open
dciangot wants to merge 3 commits intomainfrom
0.1.0
Open

Porting from doc in interlink repo#1
dciangot wants to merge 3 commits intomainfrom
0.1.0

Conversation

@dciangot
Copy link
Copy Markdown
Member

@dciangot dciangot commented Apr 1, 2026

Ports the documentation from the interlink repository into this dedicated docs site (Docusaurus).

Changes Made

  • Migrated existing documentation content from the interlink repo into the Docusaurus project structure
  • Added .github/workflows/deploy.yml to build the Docusaurus site and automatically deploy it to GitHub Pages on every push to main
  • Added CONTRIBUTING.md at the repository root (surfaced automatically by GitHub when opening issues and pull requests)
  • Added docs/contributing.mdx as a Docusaurus page visible in the site sidebar, covering prerequisites, local dev setup, development workflow, writing documentation, commit conventions, style guide, and community links

GitHub Pages Deployment

The deployment workflow:

  • Triggers on push to main (and supports manual workflow_dispatch)
  • Builds the site with yarn build
  • Deploys the build/ output using the modern actions/upload-pages-artifact + actions/deploy-pages approach (no gh-pages branch needed)

Note: To activate deployments, go to Settings → Pages → Source in the repository and select GitHub Actions.

@dciangot dciangot requested a review from Copilot April 1, 2026 12:52
@dciangot
Copy link
Copy Markdown
Member Author

dciangot commented Apr 1, 2026

@copilot please also add a first set of github actions to deploy as a github page

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Ports documentation content into this Docusaurus site and refreshes the homepage/branding to match the interLink project site structure.

Changes:

  • Adds/ports docs for current and versioned (0.4.x, 0.5.x) documentation sections (guides/cookbook/reference).
  • Introduces a redesigned landing page with adopter stories + video slider components and new styling.
  • Configures Docusaurus + Redocusaurus/OpenAPI routing and site-level styling/config.

Reviewed changes

Copilot reviewed 77 out of 195 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
versioned_docs/version-0.5.x/guides/05-monitoring.md Adds v0.5 monitoring guide content
versioned_docs/version-0.5.x/guides/04-oidc-IAM.md Adds v0.5 OIDC/IAM guide content
versioned_docs/version-0.5.x/guides/03-api-reference.mdx Adds v0.5 OpenAPI reference page
versioned_docs/version-0.5.x/guides/01-deploy-interlink.mdx Adds v0.5 plugin deployment overview
versioned_docs/version-0.5.x/cookbook/category.json Adds v0.5 cookbook category metadata
versioned_docs/version-0.5.x/cookbook/2-incluster.mdx Adds v0.5 in-cluster cookbook page
versioned_docs/version-0.5.x/arch.mdx Adds v0.5 architecture page
versioned_docs/version-0.5.x/Limitations.md Adds v0.5 limitations page
versioned_docs/version-0.5.x/Developers.md Adds v0.5 developer guide page
versioned_docs/version-0.4.x/intro.mdx Adds v0.4 intro page
versioned_docs/version-0.4.x/guides/category.json Adds v0.4 guides category metadata
versioned_docs/version-0.4.x/guides/08-systemd-deployment.mdx Adds v0.4 systemd deployment guide
versioned_docs/version-0.4.x/guides/07-mtls-deployment.mdx Adds v0.4 mTLS deployment guide
versioned_docs/version-0.4.x/guides/05-monitoring.md Adds v0.4 monitoring guide
versioned_docs/version-0.4.x/guides/04-oidc-IAM.md Adds v0.4 OIDC/IAM guide
versioned_docs/version-0.4.x/guides/03-api-reference.mdx Adds v0.4 OpenAPI reference page
versioned_docs/version-0.4.x/guides/02-develop-a-plugin.md Adds v0.4 plugin dev guide
versioned_docs/version-0.4.x/guides/01-deploy-interlink.mdx Adds v0.4 plugin deployment overview
versioned_docs/version-0.4.x/cookbook/category.json Adds v0.4 cookbook category metadata
versioned_docs/version-0.4.x/cookbook/3-tunneled.mdx Adds v0.4 tunneled cookbook page
versioned_docs/version-0.4.x/cookbook/2-incluster.mdx Adds v0.4 in-cluster cookbook page
versioned_docs/version-0.4.x/arch.mdx Adds v0.4 architecture page
versioned_docs/version-0.4.x/Limitations.md Adds v0.4 limitations page
versioned_docs/version-0.4.x/Developers.md Adds v0.4 developer guide page
src/pages/index.tsx Implements new homepage layout/content
src/pages/index.module.css Adds homepage styling + responsive rules
src/css/custom.css Defines global theme colors (light/dark)
src/components/HomepageVideo/styles.module.css Styles for homepage video slider/cards
src/components/HomepageVideo/index.tsx Implements homepage video slider logic
src/components/HomepageSchema/styles.module.css Styles for homepage schema section
src/components/HomepageSchema/index.tsx Implements homepage schema section
src/components/HomepageFeatures/styles.module.css Styles for feature cards row
src/components/HomepageFeatures/index.tsx Implements feature list rendering
src/components/AdoptersFeatures/styles.module.css Styles for adopters feature grid
src/components/AdoptersFeatures/index.tsx Implements adopters logos section
src/components/AdopterStoriesSlider/styles.module.css Styles for adopter stories slider
src/components/AdopterStoriesSlider/index.tsx Implements adopter stories slider logic
sidebars.ts Sidebar autogeneration configuration
package.json Adds Docusaurus/Redocusaurus deps/scripts
docusaurus.config.ts Main site config + Redocusaurus specs/routes
docusaurus.config.local.ts Local config overrides for development
docs/intro.mdx Ports/updates current intro page
docs/guides/category.json Adds guides category metadata
docs/guides/11-interlink-configuration.mdx Adds interLink config reference guide
docs/guides/09-pod-annotations.mdx Adds pod annotations reference guide
docs/guides/08-systemd-deployment.mdx Adds systemd deployment guide
docs/guides/07-mtls-deployment.mdx Adds advanced mTLS deployment guide
docs/guides/05-monitoring.md Adds monitoring guide for current docs
docs/guides/04-oidc-IAM.md Adds OIDC/IAM guide for current docs
docs/guides/03-api-reference.mdx Adds OpenAPI reference page for current docs
docs/guides/01-deploy-interlink.mdx Expands plugin deployment documentation
docs/cookbook/category.json Adds cookbook category metadata
docs/cookbook/2-incluster.mdx Adds in-cluster cookbook page
docs/arch.mdx Adds architecture page
docs/Limitations.md Adds limitations page
docs/Developers.md Adds developer guide page
babel.config.js Adds Babel config for Docusaurus build
README.md Adds site build/run instructions
QWEN.md Adds repository/tech overview document
DOCUMENTATION_CLEANUP_SUMMARY.md Adds documentation cleanup summary/plan
Comments suppressed due to low confidence (4)

docs/cookbook/2-incluster.mdx:1

  • In the Helm values example, the env var entry uses values: instead of value:. This is likely a copy/paste mistake and will result in the environment variable not being set when users follow the guide.
    docs/guides/05-monitoring.md:1
  • The spans table uses || at the start of each row; standard Markdown tables require a single leading |. As written, this is likely to render incorrectly. Convert the table rows to valid Markdown table syntax (and consider fixing the missing commas in attribute lists like pod.name pod.namespace in subsequent rows).
    docs/guides/05-monitoring.md:1
  • Admonition formatting is invalid for Docusaurus: the admonition opening/closing markers should be on their own lines (e.g., :::warning then content, then :::). In its current inline form it may not render as an admonition.
    docs/guides/05-monitoring.md:1
  • Correct the typo 'verfied' to 'verified'.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +6 to +14
type AdopterStory = {
name: string;
category: string;
logo: string;
project?: string;
title: string;
description: string;
link?: string;
};
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

Type mismatch: logo is typed as string, but the code assigns an imported SVG React component and later renders it as <Logo />. This will fail TypeScript typechecking. Update logo to a React component type (e.g., React.ComponentType<React.ComponentProps<'svg'>>) or change the rendering to use an <img src=...> approach consistently.

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +81
<img
alt="GitHub stars"
src="https://img.shields.io/github/stars/interlink-hq/interlink?style=for-the-badge&logo=github"
className={styles.badge}
onClick={() => window.open('https://github.com/interlink-hq/interLink', '_blank')}
/>
<img
alt="FOSSA license scan"
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink.svg?type=shield&issueType=license"
className={styles.badge}
onClick={() => window.open('https://app.fossa.com/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink?ref=badge_shield&issueType=license', '_blank')}
/>
<img
alt="Go Report Card"
src="https://goreportcard.com/badge/github.com/interlink-hq/interlink"
className={styles.badge}
onClick={() => window.open('https://goreportcard.com/report/github.com/interlink-hq/interlink', '_blank')}
/>
</div>
<div className={styles.badges}>
<img
alt="Join us on Slack!"
src="https://img.shields.io/badge/Join_Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white"
className={styles.badge}
onClick={() => window.open('https://join.slack.com/t/intertwin/shared_invite/zt-2cs67h9wz-2DFQ6EiSQGS1vlbbbJHctA', '_blank')}
/>
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

Clickable <img> elements are not keyboard-accessible and don't expose link semantics to assistive technologies. Use a semantic <a href=... target=... rel=...> wrapping the image (or a <button> with proper styling and keyboard handlers) so the badges can be activated via keyboard and announced correctly.

Suggested change
<img
alt="GitHub stars"
src="https://img.shields.io/github/stars/interlink-hq/interlink?style=for-the-badge&logo=github"
className={styles.badge}
onClick={() => window.open('https://github.com/interlink-hq/interLink', '_blank')}
/>
<img
alt="FOSSA license scan"
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink.svg?type=shield&issueType=license"
className={styles.badge}
onClick={() => window.open('https://app.fossa.com/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink?ref=badge_shield&issueType=license', '_blank')}
/>
<img
alt="Go Report Card"
src="https://goreportcard.com/badge/github.com/interlink-hq/interlink"
className={styles.badge}
onClick={() => window.open('https://goreportcard.com/report/github.com/interlink-hq/interlink', '_blank')}
/>
</div>
<div className={styles.badges}>
<img
alt="Join us on Slack!"
src="https://img.shields.io/badge/Join_Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white"
className={styles.badge}
onClick={() => window.open('https://join.slack.com/t/intertwin/shared_invite/zt-2cs67h9wz-2DFQ6EiSQGS1vlbbbJHctA', '_blank')}
/>
<a
href="https://github.com/interlink-hq/interLink"
target="_blank"
rel="noopener noreferrer"
>
<img
alt="GitHub stars"
src="https://img.shields.io/github/stars/interlink-hq/interlink?style=for-the-badge&logo=github"
className={styles.badge}
/>
</a>
<a
href="https://app.fossa.com/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink?ref=badge_shield&issueType=license"
target="_blank"
rel="noopener noreferrer"
>
<img
alt="FOSSA license scan"
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Finterlink-hq%2FinterLink.svg?type=shield&issueType=license"
className={styles.badge}
/>
</a>
<a
href="https://goreportcard.com/report/github.com/interlink-hq/interlink"
target="_blank"
rel="noopener noreferrer"
>
<img
alt="Go Report Card"
src="https://goreportcard.com/badge/github.com/interlink-hq/interlink"
className={styles.badge}
/>
</a>
</div>
<div className={styles.badges}>
<a
href="https://join.slack.com/t/intertwin/shared_invite/zt-2cs67h9wz-2DFQ6EiSQGS1vlbbbJHctA"
target="_blank"
rel="noopener noreferrer"
>
<img
alt="Join us on Slack!"
src="https://img.shields.io/badge/Join_Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white"
className={styles.badge}
/>
</a>

Copilot uses AI. Check for mistakes.
Comment on lines +110 to +112
Evaluators and contributors
<p>Find out more in the ADOPTERS.md document! </p>
</Heading>
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

Invalid HTML structure: a <p> nested inside a heading (<h1>) is not valid markup and can confuse screen readers. Make the heading text only, and render the paragraph as a sibling element below it.

Suggested change
Evaluators and contributors
<p>Find out more in the ADOPTERS.md document! </p>
</Heading>
Evaluators and contributors
</Heading>
<p>Find out more in the ADOPTERS.md document! </p>

Copilot uses AI. Check for mistakes.
Comment on lines +62 to +69
<iframe
src={`https://www.youtube.com/embed/${embedId}?si=_enablejsapi=1&rel=0`}
title={title}
className={styles.videoIframe}
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
loading="lazy"
/>
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

The YouTube embed query string uses si=_enablejsapi=1, which sets si to a literal value and does not enable the JS API. If you intended the JS API, the parameter should be enablejsapi=1 (and usually origin=...); otherwise remove it and keep only rel=0.

Copilot uses AI. Check for mistakes.
Comment on lines +118 to +122
const goToSlide = (index: number) => {
setCurrentIndex(Math.min(index, maxIndex));
setIsAutoPlay(false);
setTimeout(() => setIsAutoPlay(true), 20000); // Resume auto-play after 20 seconds
};
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

Multiple calls to goToSlide/nextSlide/prevSlide can schedule overlapping setTimeouts that race to re-enable autoplay. Store the timeout id in a useRef, clear it before scheduling a new one, and clear it on unmount to avoid inconsistent autoplay state and lingering timers.

Copilot uses AI. Check for mistakes.
},

// Replace with your project's social card
image: 'img/img/interlink_logo.png',
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

The social card image path looks incorrect (img/img/...). With Docusaurus, assets under static/img are typically referenced as img/<file>. This likely breaks the generated metadata image; update to the correct path (e.g., img/interlink_logo.png).

Suggested change
image: 'img/img/interlink_logo.png',
image: 'img/interlink_logo.png',

Copilot uses AI. Check for mistakes.
Comment on lines +115 to +127
:::info What is a Job? A job in this context refers to the execution scripts
generated by InterLink plugins to run containers on different backend systems
(like SLURM, HTCondor, or Docker). The JobScriptBuildConfig allows plugins to
customize how these execution scripts are generated and what runtime options are
used.

For example:

- **SLURM plugin**: Generates SLURM batch scripts with `sbatch` commands
- **HTCondor plugin**: Creates HTCondor ClassAd files
- **Docker plugin**: Builds `docker run` commands
- **Apptainer/Singularity plugin**: Constructs `apptainer run` scripts with
specific runtime flags :::
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

This admonition is not valid MDX/Docusaurus syntax: the :::info opening marker and closing ::: should not be embedded inline with the content (and the closing marker must be on its own line). As-is, it may render as plain text and break formatting.

Copilot uses AI. Check for mistakes.
margin-bottom: 2rem;
}

.videoContent {
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

.videoContent is declared twice for different purposes (outer container sizing vs inner card content padding). This makes the styling harder to reason about and increases the risk of unintended overrides. Consider splitting into distinct class names (e.g., videoViewport vs videoCardContent) or consolidating styles if they truly refer to the same element.

Suggested change
.videoContent {
.videoViewport {

Copilot uses AI. Check for mistakes.
Comment on lines +66 to +68
.videoContent {
padding: 1.5rem;
}
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

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

.videoContent is declared twice for different purposes (outer container sizing vs inner card content padding). This makes the styling harder to reason about and increases the risk of unintended overrides. Consider splitting into distinct class names (e.g., videoViewport vs videoCardContent) or consolidating styles if they truly refer to the same element.

Copilot uses AI. Check for mistakes.
@dciangot
Copy link
Copy Markdown
Member Author

dciangot commented Apr 1, 2026

Also create a contribution guide @copilot

Copy link
Copy Markdown

Copilot AI commented Apr 1, 2026

@copilot please also add a first set of github actions to deploy as a github page

Added in commit 8e19b74. The workflow (.github/workflows/deploy.yml) triggers on every push to main (plus a manual workflow_dispatch). It:

  1. Checks out the repo, sets up Node 20 with the Yarn cache
  2. Runs yarn install --frozen-lockfile + yarn build
  3. Uploads the build/ directory as a Pages artifact and deploys it via actions/deploy-pages

To activate it you'll need to go to Settings → Pages → Source in the repo and select GitHub Actions as the deployment source.

@dciangot
Copy link
Copy Markdown
Member Author

dciangot commented Apr 1, 2026

@copilot create a contribution guide

Copy link
Copy Markdown

Copilot AI commented Apr 1, 2026

Also create a contribution guide @copilot

Added in commit 00c4a44. Two files were created:

  • CONTRIBUTING.md at the repository root — surfaces automatically in the GitHub UI (e.g. when opening a PR or issue).
  • docs/contributing.mdx — a Docusaurus page that appears in the site sidebar (position 6).

Both cover: prerequisites, fork/clone, local dev server, development workflow, writing docs (file locations, front matter, admonitions, images, versioning), commit message conventions (Conventional Commits), style guide, and community links.

@copilot create a contribution guide

Done in commit 00c4a44 — see my reply above for details.

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.

3 participants