Skip to content

Scaffold MkDocs Material docs site (GH Pages)#154

Merged
riasc merged 3 commits into
mainfrom
docs/migrate-to-readthedocs-147
Jun 18, 2026
Merged

Scaffold MkDocs Material docs site (GH Pages)#154
riasc merged 3 commits into
mainfrom
docs/migrate-to-readthedocs-147

Conversation

@riasc

@riasc riasc commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Changed

  • docs/ seeded with the existing GitHub-wiki pages, ported 1:1 with URL-friendly slugs (Home → index, Scripts-&-Resources → resources). Content unchanged from the wiki at aa95a00 (which already carries the 2026-06-17 corrections to the NMD scope and pathogen / protein column names). The wiki stays live as a fallback while the new site stabilises.
  • mkdocs.yml at repo root: MkDocs Material theme, navigation tree, repo-link / edit-on-GitHub button, pymdownx extensions (admonition, details, superfences, tabbed, attr_list, footnotes, tables, toc with permalinks).
  • docs/requirements.txt pins mkdocs==1.6.1, mkdocs-material==9.6.16 so the build is reproducible.
  • .github/workflows/docs.yml has two jobs:
    • build — runs on every PR that touches docs/, mkdocs.yml, or this workflow file. Uses mkdocs build --strict, which fails on broken links / dead refs. Doubles as a PR check.
    • deploy — runs only on push to main. Uses the modern Pages-from-Actions pattern (actions/upload-pages-artifact + actions/deploy-pages); no gh-pages branch.
  • README.md now points at https://ylab-hi.github.io/ScanNeo2/ as primary, with the wiki noted as fallback.
  • .gitignore adds /site/ so locally-built output doesn't leak into commits.

GitHub Pages chosen over Read the Docs because the maintainer doesn't have org-admin access for the RTD account import; GH Pages keeps everything in-repo and needs only one Settings flip from an org owner.

First PR against #147 — scaffold + content port only. Follow-up PRs will fill the empty wiki stubs (alignment / pre-processing / alt-splicing / indel-SNVs sub-sections in Output; the Developer, Troubleshooting, Resources pages) and add link-check / per-tag-build (mike) CI.

⚠️ One admin step needed (org owner)

For the deploy job to actually publish, an org owner needs to:

  1. Open Settings → Pages on the repo.
  2. Set Build and deployment → Source to GitHub Actions.

Until that flip, the build job still runs cleanly on PRs (so this PR's CI will be green), but the deploy job will fail on the first push to main. Once Pages is enabled, the next push (or a manual workflow re-run) will deploy.

QC

  • I, as a human being, have checked each line of code in this pull request
  • mkdocs build --strict succeeds locally with no warnings (0.38s build)
  • All five ported wiki pages render without missing-ref warnings under --strict
  • CI build job runs on this PR and exits 0
  • After the admin flip: confirm https://ylab-hi.github.io/ScanNeo2/ resolves to the site

Closes part of #147.

Summary by CodeRabbit

  • Documentation
    • Launched comprehensive online documentation covering configuration options, expected output formats, troubleshooting guides, and developer information to support users
    • Provides detailed setup and installation instructions, complete configuration reference, comprehensive output schema documentation, and resource information
    • Documentation automatically updates with each release for continuous availability and easy access

Ports the existing GitHub-wiki pages (Home, Configuration, Output,
Developer, Troubleshooting, Scripts-&-Resources) into docs/ as the
seed content for the new site. Content unchanged — just relocated
and renamed to URL-friendly slugs (Home -> index, Scripts-&-Resources
-> resources). The wiki stays live as a fallback while the site is
being established.

Stack:
- MkDocs Material (https://squidfunk.github.io/mkdocs-material/)
- pinned in docs/requirements.txt (mkdocs==1.6.1, material==9.6.16)
- mkdocs.yml configures the material theme, navigation, edit-on-github
  links, and pymdownx extensions (admonitions, tabbed content,
  superfences, etc.)

CI / hosting:
- .github/workflows/docs.yml runs `mkdocs build --strict` on every
  PR touching docs/ or mkdocs.yml (catches broken links / dead refs
  before merge) and additionally deploys to GitHub Pages on push to
  main via the modern Pages-from-Actions pattern (upload-pages-artifact
  + deploy-pages, no gh-pages branch).
- Going with GH Pages instead of Read the Docs because we don't have
  org admin for the RTD account import; GH Pages keeps everything
  in-repo (one Settings -> Pages -> "GitHub Actions" flip is the only
  admin step).

README updated to point at https://ylab-hi.github.io/ScanNeo2/ as
primary, with the wiki as fallback.

First PR against #147 — scaffold + content port only. Subsequent PRs
fill the empty wiki stubs (Output sub-sections, Developer,
Troubleshooting, Resources) and add link-check / per-tag-build CI.

Verified locally: mkdocs build --strict produces site/ in 0.38s with
no warnings.
@riasc riasc added the docs Documentation only label Jun 18, 2026
@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@riasc, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 57 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 74949330-8590-431d-bcd5-3e6dd9026cef

📥 Commits

Reviewing files that changed from the base of the PR and between 32eda3e and 52fff61.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • docs/index.md
  • docs/requirements.txt
  • docs/resources.md
  • docs/troubleshooting.md
📝 Walkthrough

Walkthrough

Introduces a MkDocs-based documentation site for ScanNeo2. Six new pages cover installation, configuration blocks, pipeline output schemas, developer internals, resources, and troubleshooting. A mkdocs.yml with Material theme wires the nav; docs/requirements.txt pins tooling. A GitHub Actions workflow builds and deploys the site to GitHub Pages on pushes to main.

Changes

ScanNeo2 MkDocs Documentation Site

Layer / File(s) Summary
MkDocs site config and tooling
mkdocs.yml, docs/requirements.txt, .gitignore, README.md
mkdocs.yml defines the Material theme, navigation, and markdown extensions. docs/requirements.txt pins mkdocs==1.6.1 and mkdocs-material==9.6.16. /site/ is added to .gitignore. README.md updates the "more detailed instructions" link to the new docs site with the wiki as fallback.
Documentation content pages
docs/index.md, docs/configuration.md, docs/output.md, docs/developer.md, docs/resources.md, docs/troubleshooting.md
index.md covers purpose, install, deploy, configuration, usage, and test data. configuration.md documents all config blocks (GENERAL, DATA, preproc, align, variant calling submodules, hlatyping, prioritization). output.md describes the results directory layout, exitron VCF conversion, prioritization file structure, and field-level schemas for variant_effects and mhc-I_neoepitopes.txt including the ssim formula. developer.md lists internal wildcards and script locations. resources.md documents IEDB TSV provenance. troubleshooting.md adds a user namespace error snippet.
GitHub Actions build and deploy workflow
.github/workflows/docs.yml
Adds a build job (Python 3.11, mkdocs build --strict, Pages artifact upload on main) and a deploy job (pages: write, id-token: write, actions/deploy-pages@v4). Triggers on push to main and on PRs touching docs/**, mkdocs.yml, or the workflow file itself.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Poem

🐰 Hippity-hoppity, docs are in bloom,
MkDocs and Material light up the room!
Six pages of wisdom now live on the site,
Config, output, and troubleshooting right.
With Actions deploying on every push to main,
This bunny's so happy — no more wiki pain! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Scaffold MkDocs Material docs site (GH Pages)' clearly and concisely summarizes the main change: setting up a MkDocs documentation site with GitHub Pages deployment, which is the primary focus of the PR across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/migrate-to-readthedocs-147

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (10)
docs/index.md (2)

52-52: 💤 Low value

Complete the sentence fragment.

Line 52 reads "Can be found at .tests/integration" but lacks a subject. Per static analysis (MISSING_IT_THERE), this should be rewritten as a complete sentence, e.g., "Test data can be found at .tests/integration".

✍️ Proposed fix
-Can be found at `.tests/integration`
+Test data can be found at `.tests/integration`.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/index.md` at line 52, The text on line 52 is a sentence fragment that
begins with a verb phrase "Can be found at `.tests/integration`" without a
subject. Add an appropriate subject to the beginning of the sentence to make it
grammatically complete, such as changing it to "Test data can be found at
`.tests/integration`" or another suitable subject that clarifies what is being
referenced.

14-14: ⚡ Quick win

Add language specifiers to fenced code blocks.

Fenced code blocks at lines 14, 22, 29, and 45 lack language identifiers (e.g., ```bash instead of ```). This improves syntax highlighting for users and aligns with Markdown best practices (markdownlint MD040). All code blocks in this file appear to be shell/bash commands.

✏️ Proposed fix
-```
+```bash
 mamba env create --file https://raw.githubusercontent.com/ylab-hi/ScanNeo2/main/environment.yml
 mamba activate scanneo2
-```
+```bash

-```
+```bash
 mkdir -p /path/to/working/directory/
 cd /path/to/working/directory/
-```
+```bash

-```
+```bash
 git clone --recurse-submodules https://github.com/ylab-hi/ScanNeo2
-```
+```bash

-```
+```bash
 snakemake --cores all --software-deployment-method conda
-```
+```bash

Also applies to: 22-22, 29-29, 45-45

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/index.md` at line 14, The fenced code blocks in the documentation file
are missing language specifiers, which prevents proper syntax highlighting and
violates markdown best practices. Add the bash language identifier to all fenced
code blocks that currently lack one. Specifically, update the opening fence
markers for the code blocks containing mamba env create, mkdir -p
/path/to/working/directory, git clone --recurse-submodules, and snakemake
--cores all commands by changing the opening ``` to ```bash on lines 14, 22, 29,
and 45 respectively.
docs/output.md (2)

164-164: 💤 Low value

Fix table formatting: add missing trailing pipe.

The table row at line 164 (self-similarity field) lacks a trailing pipe character, violating Markdown table syntax (markdownlint MD055). The pipe should close the row to match the format of other rows in the table.

📋 Proposed fix
-| self-similarity | Float | Similarity measure between the wildtype and mutant epitope. Float values between 0 and 1. `0` Indicates no similarity or a complete difference between the WT and MT sequences. `1` Indicates perfect similarity, meaning the WT and MT sequences are identical in terms of their k-mer similarities.
+| self-similarity | Float | Similarity measure between the wildtype and mutant epitope. Float values between 0 and 1. `0` Indicates no similarity or a complete difference between the WT and MT sequences. `1` Indicates perfect similarity, meaning the WT and MT sequences are identical in terms of their k-mer similarities. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/output.md` at line 164, The self-similarity table row in the output.md
file is missing a trailing pipe character at the end, which violates Markdown
table syntax. Add a pipe character `|` at the end of the self-similarity row to
properly close the table row and match the formatting of other rows in the
table.

5-5: ⚡ Quick win

Add language specifiers to fenced code blocks.

Three fenced code blocks (lines 5, 40, 75) lack language identifiers. Line 5 and 75 appear to be directory structure/plaintext listings; line 40 is an example output. Adding appropriate language specs (e.g., ```text or ```yaml) improves syntax highlighting and aligns with Markdown best practices.

Also applies to: 40-40, 75-75

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/output.md` at line 5, Add language identifiers to the three fenced code
blocks in docs/output.md that currently lack them. For the code blocks at lines
5 and 75 which contain directory structure or plaintext listings, add the text
language specifier. For the code block at line 40 which contains example output,
add an appropriate language specifier such as yaml or text depending on the
content format. Update each opening fence marker from ``` to ```text or the
relevant language identifier to improve syntax highlighting and follow Markdown
best practices.
docs/configuration.md (1)

8-8: ⚡ Quick win

Add YAML language specifiers to all fenced code blocks.

Nine fenced code blocks throughout the configuration documentation (lines 8, 18, 51, 64, 89, 108, 125, 144, 158, 173) lack language identifiers. All appear to be YAML examples. Adding ```yaml improves syntax highlighting and aligns with Markdown best practices (markdownlint MD040).

Also applies to: 18-18, 51-51, 64-64, 89-89, 108-108, 125-125, 144-144, 158-158, 173-173

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/configuration.md` at line 8, Multiple fenced code blocks in the
configuration documentation file are missing language identifiers. Find all
fenced code blocks that currently begin with just triple backticks (```) and
contain YAML configuration examples, and update them to include the yaml
language specifier by changing them to ```yaml. This applies to the code blocks
appearing throughout the configuration document that demonstrate YAML syntax
examples, improving syntax highlighting and conforming to Markdown best
practices.
docs/resources.md (2)

8-8: 💤 Low value

Use ISO 8601 date format for clarity.

The date "03-05-24" is ambiguous (could be March 5, 2024 or May 3, 2024 depending on locale). Consider using ISO 8601 format (YYYY-MM-DD) or spelling out the month for international clarity.

📅 Suggested format

If the date is March 5, 2024:

-MHC-I Pathogen-derived epitopes in TSV downloaded from [IEDB](https://www.immuneepitope.org/) on 03-05-24 filtered by `Epitope Length` (8-12), `Epitope Source` (Virus, Bacteria, Fungi, Archeobacterium), `MHC Restriction` (class I), `Host` (Human) and `Disease` (disease). 
+MHC-I Pathogen-derived epitopes in TSV downloaded from [IEDB](https://www.immuneepitope.org/) on 2024-03-05 filtered by `Epitope Length` (8-12), `Epitope Source` (Virus, Bacteria, Fungi, Archeobacterium), `MHC Restriction` (class I), `Host` (Human) and `Disease` (disease). 
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/resources.md` at line 8, Replace the ambiguous date format "03-05-24" in
the MHC-I Pathogen-derived epitopes description with ISO 8601 format
(YYYY-MM-DD) for international clarity. Determine whether the original date
represents March 5, 2024 or May 3, 2024, and replace "03-05-24" with the
corresponding date in YYYY-MM-DD format (either 2024-03-05 or 2024-05-03) to
eliminate locale-dependent ambiguity.

1-1: 💤 Low value

Consider broadening the title to match the filename.

The page is named resources.md but the title only says "Scripts". Per the PR objectives, this ports the "Scripts-&-Resources" wiki page. Consider updating the title to "Scripts & Resources" for clarity.

✏️ Suggested title update
-# Scripts
+# Scripts & Resources
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/resources.md` at line 1, Update the main heading in the resources.md
file from "# Scripts" to "# Scripts & Resources" to align with both the filename
and the original wiki page being ported. This broader title better reflects the
content scope of the document and provides clarity to readers about what the
page covers.
.github/workflows/docs.yml (2)

21-25: 💤 Low value

Consider caching pip dependencies for faster builds.

Adding a pip cache would speed up subsequent workflow runs. This is a minor optimization since the dependencies are small.

⚡ Suggested caching
       - uses: actions/setup-python@v5
         with:
           python-version: "3.11"
+          cache: pip
+          cache-dependency-path: docs/requirements.txt
       - name: Install MkDocs Material
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/docs.yml around lines 21 - 25, Add caching for pip
dependencies in the actions/setup-python step to speed up subsequent workflow
runs. In the with block of the setup-python@v5 action (which currently contains
python-version), add a cache parameter set to 'pip' to automatically cache the
Python dependencies installed from the docs/requirements.txt file. This will
cache the pip packages between workflow runs and reduce installation time.

20-20: Consider adding persist-credentials: false as a defense-in-depth measure.

Verification confirms that mkdocs build does not include the .git directory in site output, and no actual credentials are leaked to the Pages artifact. However, setting persist-credentials: false is a security best practice to prevent accidental credential exposure if the workflow is modified in the future:

Suggested change
      - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/docs.yml at line 20, The actions/checkout@v4 step in the
workflow does not explicitly disable credential persistence. Add
`persist-credentials: false` as a parameter to the actions/checkout@v4 step to
prevent accidental credential exposure as a security best practice, even though
the current workflow does not leak credentials. This defensive measure ensures
that if the workflow is modified in the future, credentials will not be
inadvertently stored or exposed in the Pages artifact.

Source: Linters/SAST tools

docs/troubleshooting.md (1)

3-3: 💤 Low value

Consider formatting the error message.

The error message would be more readable in a code block or admonition. This helps distinguish it from explanatory text when the section expands.

✨ Suggested formatting
+```
 root filesystem extraction failed: extract command failed: ERROR: Failed to create user namespace: user namespace disabled
+```

Or as an admonition:

+!!! error "Error Message"
+    ```
     root filesystem extraction failed: extract command failed: ERROR: Failed to create user namespace: user namespace disabled
+    ```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/troubleshooting.md` at line 3, The error message starting with "root
filesystem extraction failed: extract command failed: ERROR: Failed to create
user namespace: user namespace disabled" is currently displayed as plain text
within the troubleshooting documentation. Improve readability by wrapping this
error message in a markdown code block using triple backticks (```) or by
formatting it as a markdown admonition. This will visually distinguish the error
message from the surrounding explanatory text and make the documentation easier
to scan and understand.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/index.md`:
- Line 30: The git clone command on line 30 has two issues that need to be
fixed. First, the recurse-submodules option is missing the double-dash prefix
and should be changed from "recurse-submodules" to "--recurse-submodules" to be
valid git syntax. Second, the repository name in the URL uses lowercase
"scanneo2" but should use the correct mixed-case format "ScanNeo2" to match the
actual repository name. Update the entire clone command to include both the
correct flag syntax and the properly-cased repository name.

In `@docs/requirements.txt`:
- Around line 1-2: The mkdocs-material package version in the requirements.txt
file is outdated. Update the mkdocs-material dependency from version 9.6.16 to
version 9.7.6 or later (the latest stable version) to benefit from recent bug
fixes and security updates. Simply change the version number in the line
containing mkdocs-material to reflect the newer stable release.

In `@docs/resources.md`:
- Line 4: The heading in the resources.md file incorrectly displays the resource
path as workflow/rules/filtering/ when the actual resource path is
workflow/scripts/filtering/. Update the heading at line 4 from `##
workflow/rules/filtering/` to `## workflow/scripts/filtering/` to reflect the
correct directory structure.

In `@docs/troubleshooting.md`:
- Line 1: The first line of the troubleshooting.md file contains only a markdown
heading marker `#` with no title text, which renders as an empty heading and
breaks the navigation structure. Add the text "Troubleshooting" immediately
after the `#` symbol (with a space between them) to create a proper level 1
heading that will display correctly in the documentation and table of contents.

---

Nitpick comments:
In @.github/workflows/docs.yml:
- Around line 21-25: Add caching for pip dependencies in the
actions/setup-python step to speed up subsequent workflow runs. In the with
block of the setup-python@v5 action (which currently contains python-version),
add a cache parameter set to 'pip' to automatically cache the Python
dependencies installed from the docs/requirements.txt file. This will cache the
pip packages between workflow runs and reduce installation time.
- Line 20: The actions/checkout@v4 step in the workflow does not explicitly
disable credential persistence. Add `persist-credentials: false` as a parameter
to the actions/checkout@v4 step to prevent accidental credential exposure as a
security best practice, even though the current workflow does not leak
credentials. This defensive measure ensures that if the workflow is modified in
the future, credentials will not be inadvertently stored or exposed in the Pages
artifact.

In `@docs/configuration.md`:
- Line 8: Multiple fenced code blocks in the configuration documentation file
are missing language identifiers. Find all fenced code blocks that currently
begin with just triple backticks (```) and contain YAML configuration examples,
and update them to include the yaml language specifier by changing them to
```yaml. This applies to the code blocks appearing throughout the configuration
document that demonstrate YAML syntax examples, improving syntax highlighting
and conforming to Markdown best practices.

In `@docs/index.md`:
- Line 52: The text on line 52 is a sentence fragment that begins with a verb
phrase "Can be found at `.tests/integration`" without a subject. Add an
appropriate subject to the beginning of the sentence to make it grammatically
complete, such as changing it to "Test data can be found at
`.tests/integration`" or another suitable subject that clarifies what is being
referenced.
- Line 14: The fenced code blocks in the documentation file are missing language
specifiers, which prevents proper syntax highlighting and violates markdown best
practices. Add the bash language identifier to all fenced code blocks that
currently lack one. Specifically, update the opening fence markers for the code
blocks containing mamba env create, mkdir -p /path/to/working/directory, git
clone --recurse-submodules, and snakemake --cores all commands by changing the
opening ``` to ```bash on lines 14, 22, 29, and 45 respectively.

In `@docs/output.md`:
- Line 164: The self-similarity table row in the output.md file is missing a
trailing pipe character at the end, which violates Markdown table syntax. Add a
pipe character `|` at the end of the self-similarity row to properly close the
table row and match the formatting of other rows in the table.
- Line 5: Add language identifiers to the three fenced code blocks in
docs/output.md that currently lack them. For the code blocks at lines 5 and 75
which contain directory structure or plaintext listings, add the text language
specifier. For the code block at line 40 which contains example output, add an
appropriate language specifier such as yaml or text depending on the content
format. Update each opening fence marker from ``` to ```text or the relevant
language identifier to improve syntax highlighting and follow Markdown best
practices.

In `@docs/resources.md`:
- Line 8: Replace the ambiguous date format "03-05-24" in the MHC-I
Pathogen-derived epitopes description with ISO 8601 format (YYYY-MM-DD) for
international clarity. Determine whether the original date represents March 5,
2024 or May 3, 2024, and replace "03-05-24" with the corresponding date in
YYYY-MM-DD format (either 2024-03-05 or 2024-05-03) to eliminate
locale-dependent ambiguity.
- Line 1: Update the main heading in the resources.md file from "# Scripts" to
"# Scripts & Resources" to align with both the filename and the original wiki
page being ported. This broader title better reflects the content scope of the
document and provides clarity to readers about what the page covers.

In `@docs/troubleshooting.md`:
- Line 3: The error message starting with "root filesystem extraction failed:
extract command failed: ERROR: Failed to create user namespace: user namespace
disabled" is currently displayed as plain text within the troubleshooting
documentation. Improve readability by wrapping this error message in a markdown
code block using triple backticks (```) or by formatting it as a markdown
admonition. This will visually distinguish the error message from the
surrounding explanatory text and make the documentation easier to scan and
understand.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8c32f46e-b79a-40c9-bdf8-40520fcea0d3

📥 Commits

Reviewing files that changed from the base of the PR and between 5f793e7 and 32eda3e.

📒 Files selected for processing (11)
  • .github/workflows/docs.yml
  • .gitignore
  • README.md
  • docs/configuration.md
  • docs/developer.md
  • docs/index.md
  • docs/output.md
  • docs/requirements.txt
  • docs/resources.md
  • docs/troubleshooting.md
  • mkdocs.yml

Comment thread docs/index.md Outdated
Comment thread docs/requirements.txt Outdated
Comment thread docs/resources.md Outdated
Comment thread docs/troubleshooting.md Outdated
riasc added 2 commits June 18, 2026 02:28
- docs/index.md: 'git clone recurse-submodules https://github.com/ylab-hi/scanneo2'
  was missing the '--' on recurse-submodules and used the wrong-case repo
  URL; a user following the install guide would have hit a deploy failure.
  Fixed to 'git clone --recurse-submodules https://github.com/ylab-hi/ScanNeo2'.
- docs/resources.md: heading said '## workflow/rules/filtering/' but the
  resource is actually at workflow/scripts/filtering/. Fixed.
- docs/troubleshooting.md: was just a bare '#' followed by an apptainer
  error message. Rendered as an empty heading. Promoted to a proper
  H1 'Troubleshooting' + a short paragraph explaining when the
  apptainer/user-namespace error fires and how to avoid it (deactivate
  the exitron module, or enable user namespaces).
- docs/requirements.txt: bumped mkdocs-material 9.6.16 -> 9.7.6 (latest
  stable; project is in maintenance mode upstream and pinning the
  current release on first setup costs us nothing).

All four bugs exist in the wiki too. The wiki is becoming the fallback
and will be retired in PR C of #147; fixing here on the canonical site.
mkdocs build --strict remains clean.
@riasc

riasc commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator Author

Review summary (self-review)

CI: build job green (12s, mkdocs build --strict); deploy job correctly skipping on PR branch (it'll fire on push to main now that Pages source is set to "GitHub Actions"). Other CI green.

CodeRabbit comments

All four caught real bugs — addressed inline. Summary: they're all wiki-inherited (the wiki had them too; we ported 1:1), but since this PR creates the canonical docs site, fixing on the way over is the right move. Replies in-thread point at commit dae5f4a.

What I did NOT change

  • The empty stub pages (developer.md, the resources.md content beyond the filtering note, the alignment/pre-processing/alt-splicing/indel-SNVs sub-sections in output.md). Those are explicitly out of scope here — PR B of the migration plan fills them. CodeRabbit didn't flag them as bugs, just as thin pages, which they are.
  • README badges, citation, etc. — out of scope.

Open after this PR

  • PR B: backfill the empty stubs (developer details, output sub-sections, troubleshooting expansion).
  • PR C: link-check CI + mike-based per-tag versioning + wiki "redirect to new site" notice.

Awaiting deploy job's first push-to-main run to confirm https://ylab-hi.github.io/ScanNeo2/ resolves.

@riasc
riasc merged commit be4aec7 into main Jun 18, 2026
9 checks passed
@riasc
riasc deleted the docs/migrate-to-readthedocs-147 branch June 18, 2026 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant