Developer documentation

Building the documentation locally

If not mentioned otherwise I assume that you are using the bash terminal. On Windows you can install it using this software: Git for Windows . Be careful: The included bash terminal is not fully compatible with the juliaup Julia installer. If you are using juliaup either use the bash terminal from VSCode, or install Windows Terminal.

To build the documentation locally:

  • add the package TestEnv to your global Julia environment
    using Pkg
    Pkg.add("TestEnv")
  • create a fork of the QML.jl repository by going to QML.jl and

clicking on the button "Fork" on the top right

  • check it out locally using git, e.g. with the command
    git clone https://github.com/USERNAME/QML.jl.git
    where USERNAME is your github user name.
  • navigate to the new folder QML.jl folder and start julia with julia --project
  • instantiate the project with
    using Pkg
    Pkg.instantiate()
  • activate the test environment with
    using TestEnv; TestEnv.activate()
  • now you can build and view the documentation with
    using LiveServer
    servedocs()

And click on the link http://localhost:8080 to see the documentation.

Contributing

We need more people who help with improving the documentation, fixing bugs and with keeping the package up-to-date. You can see open documentation issues here, open bugs here, and there are of course also open feature requests and ideas to create a new add-on packages, e.g.

  • a package for improved Makie integration
  • a package for improved GR integration
  • a package for displaying and editing DataFrames

You can get in touch with the current developers either on Discourse or via JuliaGraphics.

Creating a pull request

If you made changes to the documentation (or any change to the code), please push these changes to your fork and then create a pull request by clicking on the "Contribute" button on the github page of your fork. Before doing that make sure your fork is in sync with the main branch of QML.jl.

Some changes to QML.jl might require changes to one or more of the following, related packages: