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 """ +
+ + JuliaHub logo - contact sales today! + +

+ JuliaHub offers commercial support for ModelingToolkit and the SciML ecosystem. Contact us today to discuss your needs! +
+ """ + +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 """ + + $strings +
    + """ +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;