Repository navigation
docs: rewrite the documentation, problem pages with one tab per modeling - #408
Merged
Merged
Conversation
Each problem page is generated from the files of the problem and solves nothing at build time: the results are those of the crons, read from the reference objectives. A tab bar at the top switches between the problem, each modeling where it exists, and the comparison when there are two or more. The modelings come from docs/modelings.jl, one adapter per entry of the modeling table. Refs #307 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Getting started, User guide, Problems (overview, browser, status, pages), Developers, API Reference generated with with_api_reference, Migrating from 0.5. The v1 pages are removed; the JuMP transcription page moves to the User guide. Guide pages execute short code with hidden checks against the reference objectives. Refs #307 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #307 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…small screens Refs #307 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 7, 2026
Merged
ocots
marked this pull request as ready for review
November 7, 2026 14:27
This was referenced Nov 7, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Plan: rewrite the documentation (#307)
Conventions: ct-conventions v0.10.0; ct-agents v0.4.0.
What and why
The site described the v1 API (
direct_transcription,docp,nlp_model(docp)), and each problem page solved the problem in two modelings at build time. This PR rewrites it in the structure of #307, with problem pages generated from the files of each problem and nothing solved for them at build time.The problem pages
Each page has a tab bar at the top, sticky under the navigation on wide screens, so the modeling is chosen instead of scrolled to:
@defblock, or theProblemDataof JuMP) with a link to its file, and the results of each configuration (platforms, objective, gap to the reference)?view=JuMP) and remembered in the browser, so a JuMP user sees JuMP first on every problem.docs/modelings.jl, one documentation adapter per modeling (title, summary, packages, snippet, first line of the model, modeling it is checked against). The build fails if a modeling has no adapter. Adding a modeling (ModelingToolkit, [Problems] Proof of concept: a ModelingToolkit modeling, solved with Corleone, with our own bryson_denham #308) means adding one adapter.ext/MetaData/references/<problem>.toml([Metadata] Reference objectives per scheme, computed by a script #375), which already hold every result per modeling, configuration and platform, and the distinct solutions. No ✓ or ✗ on convergence: the gap is shown as it is ([Tests] Report convergence instead of testing it; keep hard checks for breakage and model equivalence #360).The site
SITE15), Your first problem, Guided tourresultsbranch with what deserves a look; says so if unreachable), the problem pageswith_api_reference(SITE1,SITE2,SITE3,SITE10): public page and Internals with both extensions; the problem functions are left out (their pages)BREAKING.md, with[!code --]/[!code ++](SITE11)Guide pages execute short code with hidden checks against the reference objectives (
@assert isapprox(objective(sol), reference_objective(:beam); rtol=1e-6) # hide). They found a real trap on the first build:solveuses:midpointby default, the references:trapeze; every snippet now gives the scheme.Choices (narrated)
ext/README.mdwritten here. The Developers page links to READMEs; the main one (add a problem, add a modeling) did not exist, and adding a modeling now includes the documentation adapter of this PR.SITE12): done here, needed by the Plot page; overlaps [Doc] Finish the VitePress migration: plots as SVG and local InterLinks inventories #407, which keeps the local InterLinks inventories (SITE4).DocumenterMermaid.MermaidScriptBlock([...])at the bottom of every page.CTBase(API reference,repl_without_extensions),MadNLP,Downloadsadded;NLPModels,CTModels,FilePathsBase,DocumenterMermaidremoved (unused).Done when (#307)
Structure in the VitePress site; old pages removed (
tutorial-get.md,tutorial-solve.md,dev-add.md,dev-api.md,problems-introduction.md).Installation page explains each extension and what to install (generated from the adapters).
Problem pages generated with conditional sections: two modelings or more (every problem today); one modeling and missing results shown by restricting the data in a script (no problem is in one modeling today):
User guide pages execute short code with hidden checks.
Status page public. The gallery is [Doc] Results pipeline for the documentation, and a gallery of problems #314.
[Doc] review of examples published on the website #229 and [Doc] Intial guess #151 closed: [Doc] Intial guess #151 is closed (the Initial guess page covers it). [Doc] review of examples published on the website #229: the old problem template is gone, so its wrong first-line comment and its printed named tuples are gone (parameters are a table now), and the Plot page draws both solutions with
plot!(solution(…))and labels; not done: the note on the MKL warning on macOS ARM (upstream). To close by the maintainer after review.Verification
julia --project=docs docs/make.jl: passes, 102 s for the whole site (the old build solved every problem twice). Remaining warnings: undocumented internals skipped by the API reference, no logo or favicon (expected).docs/;typosclean.Out of scope
Plots, freshness, Reproducibility per problem, gallery (#314);
visualize(#134); JuMP costate signs (#326, mentioned on the Plot page); InterLinks inventories (#407).Labels
run documentationto build the site in CI.Refs #307
🤖 Generated with Claude Code