diff --git a/.gitignore b/.gitignore
index d5c132fc53..50d8aa76d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
*.jl.cov
*.jl.mem
/docs/build/
+/docs/cloned/
/docs/src/modules
Manifest.toml
*.swp
diff --git a/docs/CommercialSupportComponent.jl b/docs/CommercialSupportComponent.jl
new file mode 100644
index 0000000000..f9e2201a19
--- /dev/null
+++ b/docs/CommercialSupportComponent.jl
@@ -0,0 +1,55 @@
+struct JuliaHubCommercialSupportComponent <: MultiDocumenter.DropdownComponent
+ link::String
+end
+
+function MultiDocumenter.render(c::JuliaHubCommercialSupportComponent, doc, thispage, prettyurls)
+
+ return MultiDocumenter.@htl """
+
+ """
+
+end
+
+struct ProductsUsedComponent <: MultiDocumenter.DropdownComponent end
+
+PRODUCTNAME_IMAGE_LINK = [
+ (; product = "JuliaSim", logo = "https://juliahub.com/ui/juliasim-logo.notext.svg", link = "https://juliahub.com/products/juliasim"),
+ (; product = "Pumas", logo = "https://juliahub.com/ui/Pumas%20Logomark.svg", link = "https://pumas.ai/"),
+ (; product = "Cedar EDA", logo = "https://juliahub.com/ui/cedar_eda.svg", link = "https://juliahub.com/products/cedar-eda"),
+ (; product = "Neuroblox", logo = "https://juliahub.com/ui/Neuroblox-logo-400-300-dark.png", link = "https://www.neuroblox.org/"),
+ (; product = "Planting Space", logo = "https://planting.space/img/logo_big.svg", link = "https://planting.space/"),
+]
+
+function MultiDocumenter.render(c::ProductsUsedComponent, doc, thispage, prettyurls)
+ strings = [MultiDocumenter.@htl """
+
+
+ $(product.product)
+
+
+ """ for product in PRODUCTNAME_IMAGE_LINK]
+
+ return MultiDocumenter.@htl """
+
+ """
+end
+
+
+struct Link <: MultiDocumenter.DropdownComponent
+ text::String
+ link::String
+end
+
+function MultiDocumenter.render(c::Link, doc, thispage, prettyurls)
+ return MultiDocumenter.@htl """
+ $(c.text)
+ """
+end
\ No newline at end of file
diff --git a/docs/make.jl b/docs/make.jl
index 6ef9998f6c..c11103140b 100644
--- a/docs/make.jl
+++ b/docs/make.jl
@@ -78,6 +78,8 @@ makedocs(sitename = "Overview of Julia's SciML",
"highlevels/interfaces.md",
"highlevels/developer_documentation.md"],
"Extra Learning Resources" => ["highlevels/learning_resources.md"]
- ]])
+ ]],
+ warnonly = true,
+)
deploydocs(repo = "github.com/SciML/SciMLDocs")
diff --git a/docs/make_aggregate.jl b/docs/make_aggregate.jl
index 1cdbaa02a9..29c7463de1 100644
--- a/docs/make_aggregate.jl
+++ b/docs/make_aggregate.jl
@@ -1,7 +1,9 @@
using Documenter, LibGit2, Pkg
using MultiDocumenter
-clonedir = mktempdir()
+include("CommercialSupportComponent.jl")
+
+clonedir = joinpath(@__DIR__, "cloned")
# Ordering Matters!
docsmodules = [
@@ -182,7 +184,7 @@ docs = Any[MultiDocumenter.MultiDocRef(upstream = joinpath(clonedir, "Home"),
for group in docsmodules
docgroups = []
for cat in group[2]
- docsites = []
+ docsites = MultiDocumenter.DropdownComponent[]
for mod in cat[2]
url = if mod in hasnojl
"https://github.com/SciML/$mod.git"
@@ -204,6 +206,14 @@ for group in docsmodules
push!(docs, MultiDocumenter.MegaDropdownNav(group[1], docgroups))
end
+push!(docs, MultiDocumenter.MegaDropdownNav(
+ "Commercial Support",
+ [
+ MultiDocumenter.Column("Commercial Support", [JuliaHubCommercialSupportComponent("https://juliahub.com/company/contact-us-sciml-docs")]),
+ MultiDocumenter.Column("Products built with SciML", [ProductsUsedComponent()]),
+ ]
+))
+
outpath = joinpath(@__DIR__, "build")
MultiDocumenter.make(outpath, docs;