Skip to content

Commit 254056b

Browse files
Add OrdinaryDiffEq.jl API docs
1 parent cf30d27 commit 254056b

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*.jl.mem
44
docs/build
55
docs/site
6+
docs/src/api/ordinarydiffeq
7+
docs/ordinarydiffeq_pages.jl
68
/Manifest.toml
79

810
# vscode stuff

docs/make.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ using Sundials, DASKR
66
cp("./docs/Manifest.toml", "./docs/src/assets/Manifest.toml", force = true)
77
cp("./docs/Project.toml", "./docs/src/assets/Project.toml", force = true)
88

9+
# Copy OrdinaryDiffEq.jl documentation
10+
ordinartdiffeq_docs_root = joinpath(dirname(pathof(OrdinaryDiffEq)), "..", "docs")
11+
ordinartdiffeq_docs_path = joinpath(ordinartdiffeq_docs_root, "src")
12+
if isdir(ordinartdiffeq_docs_path)
13+
# Create the OrdinaryDiffEq API directory in the docs
14+
ordinary_diffeq_dest = joinpath(@__DIR__, "src", "api", "ordinarydiffeq")
15+
mkpath(dirname(ordinary_diffeq_dest))
16+
17+
# Copy all the docs from OrdinaryDiffEq.jl
18+
cp(ordinartdiffeq_docs_path, ordinary_diffeq_dest, force=true)
19+
20+
# Copy the pages.jl file from OrdinaryDiffEq.jl
21+
ordinary_diffeq_pages_dest = joinpath(@__DIR__, "ordinarydiffeq_pages.jl")
22+
ordinary_diffeq_pages_file = joinpath(ordinartdiffeq_docs_root, "pages.jl")
23+
cp(ordinary_diffeq_pages_file, ordinary_diffeq_pages_dest, force=true)
24+
end
25+
926
ENV["PLOTS_TEST"] = "true"
1027
ENV["GKSwstype"] = "100"
1128

docs/pages.jl

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
# Load OrdinaryDiffEq pages - must be available
2+
ordinary_diffeq_pages_file = joinpath(@__DIR__, "ordinarydiffeq_pages.jl")
3+
if !isfile(ordinary_diffeq_pages_file)
4+
error("OrdinaryDiffEq pages file not found at: $ordinary_diffeq_pages_file. Run the build process first.")
5+
end
6+
7+
include(ordinary_diffeq_pages_file)
8+
9+
# Transform OrdinaryDiffEq pages to have the api/ordinarydiffeq prefix
10+
function transform_ordinarydiffeq_pages(pages_array)
11+
transformed = []
12+
for page in pages_array
13+
if isa(page, String)
14+
push!(transformed, "api/ordinarydiffeq/" * page)
15+
elseif isa(page, Pair)
16+
key, value = page
17+
if isa(value, String)
18+
push!(transformed, key => "api/ordinarydiffeq/" * value)
19+
elseif isa(value, Vector)
20+
push!(transformed, key => transform_ordinarydiffeq_pages(value))
21+
end
22+
end
23+
end
24+
return transformed
25+
end
26+
27+
ordinary_diffeq_pages = transform_ordinarydiffeq_pages(pages)
28+
129
pages = Any["index.md",
230
"getting_started.md",
331
"Tutorials" => Any["tutorials/faster_ode_example.md",
@@ -63,6 +91,7 @@ pages = Any["index.md",
6391
"features/io.md",
6492
"features/low_dep.md",
6593
"features/progress_bar.md"],
66-
"Detailed Solver APIs" => Any["api/sundials.md",
94+
"External Solver APIs" => Any["api/sundials.md",
6795
"api/daskr.md"],
96+
"OrdinaryDiffEq.jl API" => ordinary_diffeq_pages,
6897
"Extra Details" => Any["extras/timestepping.md"]]

0 commit comments

Comments
 (0)