diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 00000000..88893b3c --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,28 @@ +name: Documentation + +on: + push: + branches: + - master + tags: '*' + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@latest + with: + version: '1' + - name: Install dependencies + run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key + run: julia --project=docs/ --code-coverage=user docs/make.jl + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..a303fff2 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +build/ +site/ diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 00000000..d2106b21 --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,7 @@ +[deps] +SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" + +[compat] +Documenter = "0.27" +SymbolicIndexingInterface = "0.1" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 00000000..10204e85 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,22 @@ +using Documenter, SymbolicIndexingInterface + +cp("./docs/Manifest.toml", "./docs/src/assets/Manifest.toml", force = true) +cp("./docs/Project.toml", "./docs/src/assets/Project.toml", force = true) + +include("pages.jl") + +makedocs( + sitename="SymbolicIndexingInterface.jl", + authors="Chris Rackauckas", + modules=[SymbolicIndexingInterface], + clean=true,doctest=false, + format = Documenter.HTML(analytics = "UA-90474609-3", + assets = ["assets/favicon.ico"], + canonical="https://docs.sciml.ai/SymbolicIndexingInterface/stable/"), + pages=pages +) + +deploydocs( + repo = "github.com/SciML/SymbolicIndexingInterface.jl.git"; + push_preview = true +) diff --git a/docs/pages.jl b/docs/pages.jl new file mode 100644 index 00000000..cef4ccb7 --- /dev/null +++ b/docs/pages.jl @@ -0,0 +1,6 @@ +# Put in a separate page so it can be used by SciMLDocs.jl + +pages=[ + "Home" => "index.md", + "API" => "api.md", +] \ No newline at end of file diff --git a/docs/src/api.md b/docs/src/api.md new file mode 100644 index 00000000..06eaa07c --- /dev/null +++ b/docs/src/api.md @@ -0,0 +1,18 @@ +# Interface Functions + +```@docs +independent_variables +is_indep_sym +states +state_sym_to_index +is_state_sym +parameters +param_sym_to_index +is_param_sym +``` + +## Concrete Types + +```@docs +SymbolCache +``` \ No newline at end of file diff --git a/docs/src/assets/favicon.ico b/docs/src/assets/favicon.ico new file mode 100644 index 00000000..3c6bd470 Binary files /dev/null and b/docs/src/assets/favicon.ico differ diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 00000000..6f4c3e26 Binary files /dev/null and b/docs/src/assets/logo.png differ diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 00000000..6e6f536d --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,79 @@ +# SymbolicIndexingInterface.jl: Arrays of Arrays and Even Deeper + +SymbolicIndexingInterface.jl is a set of interface functions for handling containers +of symbolic variables. It also contains one such container: `SymbolCache`. + +## Installation + +To install SymbolicIndexingInterface.jl, use the Julia package manager: + +```julia +using Pkg +Pkg.add("SymbolicIndexingInterface") +``` + +## Contributing + +- Please refer to the + [SciML ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://github.com/SciML/ColPrac/blob/master/README.md) + for guidance on PRs, issues, and other matters relating to contributing to SciML. +- There are a few community forums: + - the #diffeq-bridged channel in the [Julia Slack](https://julialang.org/slack/) + - [JuliaDiffEq](https://gitter.im/JuliaDiffEq/Lobby) on Gitter + - on the [Julia Discourse forums](https://discourse.julialang.org) + - see also [SciML Community page](https://sciml.ai/community/) + +## Reproducibility +```@raw html +
The documentation of this SciML package was built using these direct dependencies, +``` +```@example +using Pkg # hide +Pkg.status() # hide +``` +```@raw html +
+``` +```@raw html +
and using this machine and Julia version. +``` +```@example +using InteractiveUtils # hide +versioninfo() # hide +``` +```@raw html +
+``` +```@raw html +
A more complete overview of all dependencies and their versions is also provided. +``` +```@example +using Pkg # hide +Pkg.status(;mode = PKGMODE_MANIFEST) # hide +``` +```@raw html +
+``` +```@raw html +You can also download the +manifest file and the +project file. +``` \ No newline at end of file