diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 794e1db..5407545 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,11 +19,11 @@ jobs: fail-fast: false matrix: version: - - '1.0' - '1.9' - 'nightly' os: - ubuntu-latest + - windows-latest arch: - x64 steps: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml new file mode 100644 index 0000000..3a57126 --- /dev/null +++ b/.github/workflows/documentation.yml @@ -0,0 +1,35 @@ +name: documentation + +on: + push: + branches: + - main + tags: '*' + +# env: + # JULIA_PKG_USE_CLI_GIT: true #github runner was not checking out Utility...https://discourse.julialang.org/t/prepare-self-hosted-runner-on-windows-10-for-github-actions-and-julia-private-registry-and-packages/82367 + +jobs: + build: + permissions: + contents: write + statuses: write + runs-on: ubuntu-latest + steps: + - uses: julia-actions/setup-julia@v1 + with: + version: '1.9' + + - name: Clone this repo + uses: actions/checkout@v2 + with: + + - 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 }} # If authenticating with GitHub Actions token + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key + run: julia --project=docs/ docs/make.jl + # run: julia --project=docs/ -e 'pwd()' && julia --project=docs/ docs/make.jl diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..b5d8ad5 --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,10 @@ +name = "HomogeneousTransformations Documentation" +authors = ["Ben Conrad "] + +[deps] +DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8" + +[compat] +Documenter = "~0.27" \ No newline at end of file diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..1136262 --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,38 @@ +using Documenter +using DocumenterTools +using DocStringExtensions +using HomogeneousTransformations + +makedocs( + sitename="HomogeneousTransformations.jl", + modules=[HomogeneousTransformations], + root = joinpath(dirname(pathof(HomogeneousTransformations)), "..", "docs"), + source = "src", + build = "build", + clean=true, + doctest=true, + draft=false, + checkdocs=:all, + # linkcheck=true, fails to find internal links to bookmarks.. + ) + +# compile custom theme scss in to css, copying over the default themes +DocumenterTools.Themes.compile("docs/src/assets/themes/documenter-mechanomy.scss", "docs/build/assets/themes/documenter-dark.css") +DocumenterTools.Themes.compile("docs/src/assets/themes/documenter-mechanomy.scss", "docs/build/assets/themes/documenter-light.css") + +deploydocs( + root = joinpath(dirname(pathof(BeltTransmission)), "..", "docs"), + target = "build", + dirname = "", + repo = "github.com/mechanomy/HomogeneousTransformations.jl.git", + branch = "gh-pages", + deps = nothing, + make = nothing, + devbranch = "main", + devurl = "dev", + versions = ["stable" => "v^", "v#.#", "dev" => "dev"], + forcepush = false, + deploy_config = Documenter.auto_detect_deploy_system(), + push_preview = false, +) + diff --git a/docs/src/assets/assets/favicon.ico b/docs/src/assets/assets/favicon.ico new file mode 100644 index 0000000..8dac30d Binary files /dev/null and b/docs/src/assets/assets/favicon.ico differ diff --git a/docs/src/assets/assets/logo.png b/docs/src/assets/assets/logo.png new file mode 100644 index 0000000..26edbff --- /dev/null +++ b/docs/src/assets/assets/logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65156df0e9023bc6209792aaf0afd719e67089c50db4feacd7469b756fd3eac3 +size 3592 diff --git a/docs/src/assets/assets/themes/documenter-mechanomy.scss b/docs/src/assets/assets/themes/documenter-mechanomy.scss new file mode 100644 index 0000000..adce7c3 --- /dev/null +++ b/docs/src/assets/assets/themes/documenter-mechanomy.scss @@ -0,0 +1,65 @@ +@charset "UTF-8"; + +// this documenter-dark is modified from documenter-light, as the shipping version is too dark and green. +// Documenter & DocumenterTools do not say how the theme can be chosen, only that it can be compiled, so this is a workaround for now + +//copying some parameters from https://github.com/JuliaDocs/Documenter.jl/blob/master/assets/html/scss/documenter-dark.scss +$themename: "documenter-dark"; // CSS file must be called `$(themename).css` + +// @import "darkly/variables"; + +$documenter-is-dark-theme: true; + + +// +// + +@import "https://fonts.googleapis.com/css?family=Aldrich"; +@import "https://fonts.googleapis.com/css?family=Actor"; +$family-sans-serif: 'Actor', 'Lato Medium', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; +$family-monospace: 'JuliaMono', 'SFMono-Regular', 'Menlo', 'Consolas', 'Liberation Mono', 'DejaVu Sans Mono', monospace; + +// $documenter-sidebar-background: #555; +// $body-background-color: #656; + +$link: #0069ff; //override the Dcumenter.jl/assets/html/scss/documenter/_variables.scss default + +$info: #209cee; +$success: #22c35b; +$warning: #ffdd57; +$danger: #da0b00; +$compat: #1db5c9; + +// slightly increase contrast over default l: 48% +$grey: hsl(0, 0%, 42%); + +@import "documenter/utilities"; +@import "documenter/variables"; + +@import "bulma/utilities/all"; +@import "bulma/base/all"; + +@import "documenter/overrides"; + +@import "bulma/elements/all"; +@import "bulma/form/all"; +@import "bulma/components/all"; +@import "bulma/grid/all"; +@import "bulma/layout/all"; + +@import "documenter/elements"; +@import "documenter/components/all"; +@import "documenter/patches"; +@import "documenter/layout/all"; + +@import "documenter/ansicolors"; + +// highlight.js color scheme override for the julia> prompt +code.language-julia-repl > span.hljs-meta { + color: $ansi-green; + font-weight: bolder; +} + +// Workaround to compile in highlightjs theme, so that we could have different themes for both +@import "highlightjs/default" + diff --git a/readme.md b/readme.md index 999c4a6..ea2955a 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,20 @@ -# HomogeneousTransformations +# HomogeneousTransformations.jl HomogeneousTransformations provides basic functions for creating and using homogeneous transformation matrices to perform 3D translations and rotations. +These are 4x4 matrices that allow rotation and translations of points to be performed, without the limitations of euler angles or quaternions. -[![Build Status](https://github.com/ben@benconrad.net/HomogeneousTransformations.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/ben@benconrad.net/HomogeneousTransformations.jl/actions/workflows/CI.yml?query=branch%3Amain) +## Use + +## Dimensions + +## Design +This package is intentionally simple, focused only on providing functions for calculating transformations and not attempting to include many functions like [Rigid Body Dynamics](https://github.com/JuliaRobotics/RigidBodyDynamics.jl). + + +## Status +[![Build Status](https://github.com/mechanomy/HomogeneousTransformations/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/mechanomy/HomogeneousTransformations/actions/workflows/CI.yml?query=branch%3Amain) + +## References: +* [2006_Spong_RobotModelingAndControl](https://www.google.com/books/edition/Robot_Modeling_and_Control/DdjNDwAAQBAJ?hl=en&gbpv=1&dq=robot%20modeling%20and%20control%20homogeneous&pg=PA62&printsec=frontcover) ## Copyright Copyright (c) 2023 Mechanomy LLC diff --git a/src/HomogeneousTransformations.jl b/src/HomogeneousTransformations.jl index e679e36..a0cd1e2 100644 --- a/src/HomogeneousTransformations.jl +++ b/src/HomogeneousTransformations.jl @@ -1,14 +1,14 @@ """ -HomogeneousTransformations provides basic functions for creating and using [homogeneous transformation matrices]() to perform 3D translations and rotations. +HomogeneousTransformations.jl provides basic functions for creating and using [homogeneous transformation matrices]() to perform 3D translations and rotations. ## Exports: ($EXPORTS) ## References: -* 2006_Spong_RobotModelingAndControl +* [2006_Spong_RobotModelingAndControl](https://www.google.com/books/edition/Robot_Modeling_and_Control/DdjNDwAAQBAJ?hl=en&gbpv=1&dq=robot%20modeling%20and%20control%20homogeneous&pg=PA62&printsec=frontcover) """ module HomogeneousTransformations