# Documenter.jl is not documenting any changes

**URL:** <https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781>\
**Category:** Performance\
**Tags:** documenter\
**Created:** [February 17, 2023, 9:52am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781 "2023-02-17T09:52:14Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 17, 2023, 9:52am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/1 "2023-02-17T09:52:14Z")

</div>

I don’t know what I am doing wrong. I download the project Example.jl from GitHub.  
[JuliaLang/Example.jl: Example Julia package repo. (github.com)](https://github.com/JuliaLang/Example.jl)

I only changed the content of the _ **Example.jl** _ under _ **src** _ folder; just removed the _ **hello** _ function.

```julia
module Example
export domath

"""
    domath(x::Number)

Return `x + 5`.
"""
domath(x::Number) = x + 5

end

```

When I run

`julia make.jl`

inside _ **docs** _ folder using _ **cmd** _ on windows It showhow still builds _ **index.html** _ with the initial content. Still showing me _ **hello** _ function in documentation even do I removed it from _ **Example.jl** _.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/9/c/9cbb20ee470455e3ef295b63286e9f9d92a9ed15.png)

I would appreciate any help. Documenter.jl also does not work properly for my own package, and I assume the underlying problem is the same as here.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [February 17, 2023, 1:13pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/2 "2023-02-17T13:13:28Z")

</div>

did you remember to save the change to file?

when you run `julia make.jl`, what’s the output in terminal, did you encounter any error message?

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 17, 2023, 7:19pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/3 "2023-02-17T19:19:42Z")

</div>

Thank you for the answer. I’m 100% sure it’s saved.

It generates the below output in the terminal.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/b/c/bc4f0e74caa23f6a239d1addc9c291932fc14df8.png)

And the resulting document is:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/d/1/d11797f2b92502ca5620520f3fc8971ced978273.png)

I am suspecting though one thing; after downloading _ **Example.jl** _ from GitHub and making the first:  
`julia make.jl`

It threw an error and asked me to make `Pkg.add("Example")`. I suspect that it’s somehow creating the document from the library itself, not from the folder.

But I’m making a pure guess.

For example, I made a copy of _ **Example** _ and saved it as _ **xyz** _. So the new package is called _ **xyz** _. Made the relevant changes in the _ **docs** _ folder.

![image](https://global.discourse-cdn.com/julialang/original/3X/c/1/c10f5bc8ec7362b04afbe97cd04f053bef4366e4.png)

The content of _ **Example.jl** _:

```julia
module Example
export domath

"""
    domath(x::Number)

Return `x + 5`.
"""
domath(x::Number) = x + 5

end

```

The content of the _ **make.jl** _

```julia
using Documenter, xyz

makedocs(modules = [xyz], sitename = "xyz.jl")

# deploydocs(repo = "github.com/JuliaLang/Example.jl.git")

```

The content of _ **index.md** _:

```julia
# xyz

Example Julia package repo.

@autodocs
Modules = [xyz]
# 3 left quotation marks before and after @autodocs. it is not displaying correctly here if I add them.

```

After running:

`julia make.jl`

The output in the terminal is:  
 ![image](https://global.discourse-cdn.com/julialang/original/3X/d/5/d544c4d572967882c714446acb845978fc3b31e4.png)

It’s asking me to install the package first. I am sure I’m making a simple mistake somewhere, but I could not figure it out.

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 17, 2023, 8:40pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/4 "2023-02-17T20:40:11Z")

</div>

The documentation of _ **Documenter.jl** _ needs to be definitely improved. Nowadays, Julia, R, and Python languages are used predominantly by non-computer scientists, and it is very difficult to figure out the problem.

This solved my problem:  
[additionnal documentation of `julia make.jl` for newbies · Issue #1565 · JuliaDocs/Documenter.jl (github.com)](https://github.com/JuliaDocs/Documenter.jl/issues/1565)

```julia
using Pkg
Pkg.activate("..")
push!(LOAD_PATH,"../src/")

```

---

<div class="post-metadata">

**Author:** ![mortenpi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mortenpi/32/158_2.png) [@mortenpi](https://discourse.julialang.org/u/mortenpi)\
**Post date:** [February 18, 2023, 1:49am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/5 "2023-02-18T01:49:10Z")

</div>

While messing with the `LOAD_PATH` works, the standard approach here is to make sure you package is correctly added as a dev dependency to `docs/Project.toml`. That’s why you generally have something like `Pkg.develop(PackageSpec(path=pwd()))` in your docs CI configuration, e.g.:

> <https://github.com/JuliaDocs/DocStringExtensions.jl/blob/0a116d77599e1a2eeac7b184119f97fc916ea3a6/.github/workflows/ci.yml#L60>

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 18, 2023, 9:36am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/6 "2023-02-18T09:36:41Z")

</div>

@mortenpi, Thank you for the answer.

Could you please also advise how the content of _ **make.jl** _ looks like?

If I do it the way you suggest, it only impacts the folders in GitHub. How can I document the package I’m developing on my local machine?

I pushed the folders from my local to GitHub, but I added a new dependency; therefore, It threw the “Documentation workflow run failed for main branch” error:

```julia
ERROR: LoadError: ArgumentError: Package PortfolioAnalytics does not have NamedArrays in its dependencies:
- You may have a partially installed environment. Try `Pkg.instantiate()`
  to ensure all packages in the environment are installed.
- Or, if you have PortfolioAnalytics checked out for development and have
  added NamedArrays as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with PortfolioAnalytics

```

---

<div class="post-metadata">

**Author:** ![mortenpi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mortenpi/32/158_2.png) [@mortenpi](https://discourse.julialang.org/u/mortenpi)\
**Post date:** [February 18, 2023, 9:58am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/7 "2023-02-18T09:58:20Z")

</div>

> [@mdogan](#):
>
> If I do it the way you suggest, it only impacts the folders in GitHub. How can I document the package I’m developing on my local machine?

Basically, you do the exact same thing as on CI. Nothing goes into `make.jl`. Usually, when I need to build the docs for a newly cloned package, I run the following (assuming my working directory is in the root of the package):

```julia
$ julia --project=docs/

pkg> dev .

julia> include("docs/make.jl")

```

Note that you only need to do this once, since the relative path to your package gets stored in `docs/Manifest.toml`. Later, doing `julia --project=docs/ docs/make.jl` will pick up the correct package.

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 18, 2023, 10:03am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/8 "2023-02-18T10:03:43Z")

</div>

@mortenpi, I think to some extent, I understood. I added the content you provided to _ **CI.yml** _, and it now works.

[Introduction · PortfolioAnalytics (doganmehmet.github.io)](https://doganmehmet.github.io/PortfolioAnalytics.jl/dev/#Installation)

Could you please advise whether I should use _ **documentation.yml** _ now?

But this only works on Github, so on a local PC still does not work - it does not pull the docstrings from the functions.

My apologies, I am not a computer scientist, and it isn’t easy to figure out these kinds of things.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [February 18, 2023, 11:47am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/9 "2023-02-18T11:47:50Z")

</div>

Locally, one thing you need to make sure is „which version of your package is used“.

If you just `Pkg.add` (or `] add ...`) your package from the local folder, the package is copied over to the Julia folder. To load the package from the folder where you develop the package make sure tu run `] dev .` in Julia REPL. that way the package is loaded from the folder where you issued this command. you can also check this in `] status` that the package lists a folder behind where it loads from.

Then you can also run docs locally 🙂

PS: Don‘t worry the start takes a while in any language with package development, feel free to ask further questions of course.

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 18, 2023, 12:19pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/10 "2023-02-18T12:19:44Z")

</div>

Thanks very much, This **connected the dots**. Finally, I can continue improving my package and the documentation.

```julia
(@v1.8) pkg> dev .
   Resolving package versions...
    Updating `C:\Users\ploot\.julia\environments\v1.8\Project.toml`
  [7876af07] ~ Example v0.5.3 ⇒ v0.5.4 `..\..\..\Downloads\Example`
    Updating `C:\Users\ploot\.julia\environments\v1.8\Manifest.toml`
  [7876af07] ~ Example v0.5.3 ⇒ v0.5.4 `..\..\..\Downloads\Example`

```

```julia
(@v1.8) pkg> status
Status `C:\Users\ploot\.julia\environments\v1.8\Project.toml`
  [336ed68f] CSV v0.10.9
  [159f3aea] Cairo v1.0.5
⌃ [a93c6f00] DataFrames v1.4.4
  [31c24e10] Distributions v0.25.80
  [e30172f5] Documenter v0.27.24
  [35a29f4d] DocumenterTools v0.1.16
  [7876af07] Example v0.5.4 `..\..\..\Downloads\Example`

```

```julia
julia> include("docs/make.jl")
┌ Warning: Unable to determine HTML(edit_link = ...) from remote HEAD branch, defaulting to "master".
│ Calling `git remote` failed with an exception. Set JULIA_DEBUG=Documenter to see the error.
│ Unless this is due to a configuration error, the relevant variable should be set explicitly.
└ @ Documenter.Utilities C:\Users\ploot\.julia\packages\Documenter\H5y27\src\Utilities\Utilities.jl:822
[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: running doctests.
[ Info: ExpandTemplates: expanding markdown templates.
[ Info: CrossReferences: building cross-references.
[ Info: CheckDocument: running document checks.
[ Info: Populate: populating indices.
[ Info: RenderDocument: rendering document.
[ Info: HTMLWriter: rendering HTML pages.

```

**It worked!**

 ![image](https://global.discourse-cdn.com/julialang/original/3X/9/b/9b8948e3d273919ee5842e9bf4e6989d61826193.png)

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [February 18, 2023, 12:21pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/11 "2023-02-18T12:21:43Z")

</div>

…and on GitHub the `documenter.yml` GitHub workflow/action does the same then, but this way you can also generate the docs locally (in `docs/build`).but be careful not to add that folder to your repo, that is just a cause for merge conflicts.

---

<div class="post-metadata">

**Author:** ![mdogan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mdogan/32/47244_2.png) [@mdogan](https://discourse.julialang.org/u/mdogan)\
**Post date:** [February 18, 2023, 12:25pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/12 "2023-02-18T12:25:11Z")

</div>

Thanks again for the advice. Below you can see the content of _ **documentation.yml** _ and _ **CI.yml** _. I hope I’m doing right!

This is the content of _ **documentation.yml** _:

```julia
name: Documentation

on:
  push:
    branches:
      - main # update to match your development branch (master, main, dev, trunk, ...)
    tags: '*'
  pull_request:

jobs:
  build:
    permissions:
      contents: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: julia-actions/setup-julia@v1
        with:
          version: '1.8' # Julia version
      - 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

```

This is the relevant part in _ **CI.yml** _:

```julia
    docs:
      name: Documentation
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v2
        - uses: julia-actions/setup-julia@v1
          with:
            version: '1.6'
        - run: |
            julia --project=docs -e '
              using Pkg
              Pkg.develop(PackageSpec(path=pwd()))
              Pkg.instantiate()'
        - run: julia --project=docs --color=yes docs/make.jl
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

```

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [February 18, 2023, 12:28pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/13 "2023-02-18T12:28:14Z")

</div>

Looks fine to me, we do docs with the docs action, see [https://raw.githubusercontent.com/JuliaManifolds/Manifolds.jl/master/.github/workflows/documenter.yml](https://raw.githubusercontent.com/JuliaManifolds/Manifolds.jl/master/.github/workflows/documenter.yml)

But as far as I can see yours looks fine as well.

---

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 5, 2024, 9:21pm UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/14 "2024-11-05T21:21:08Z")

</div>

I much apologize for being poorly literate on the matter.

I am struggling to get Documenter makedocs() function to work.

Q1: what does `dev .` in package mode do?

Q2: how do I verify that `dev .` has been succesfully been executed?

Q3: is there an `activate docs/` missing here?

Thx!

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 6, 2024, 9:40am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/15 "2024-11-06T09:40:44Z")

</div>

> [@Domenico\_Lahaye](#):
>
> Q1: what does `dev .` in package mode do?

It puts the package that is in the current folder (`.`) into development mode, that is, when you do `using ThatPackage` (the one on `.`) the code is compiled from that folder.

> [@Domenico\_Lahaye](#):
>
> Q2: how do I verify that `dev .` has been succesfully been executed?

if you do `] status` (that is in package mode) you see the folder listed after the package. For example in my status I have

```julia
  [0fc0a36d] Manopt v0.5.3 `../../../Repositories/Julia/Manopt.jl`

```

> [@Domenico\_Lahaye](#):
>
> Q3: is there an `activate docs/` missing here?

that activates the environment (`Project.toml`) in the `docs/` folder.

---

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 6, 2024, 10:05am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/16 "2024-11-06T10:05:36Z")

</div>

Right.

What determines the version number of Manopt ?

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [November 6, 2024, 10:34am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/17 "2024-11-06T10:34:29Z")

</div>

Well, the version in the folder that you `dev`-ed. If you check out the repository of a version a few releases back in that folder, that is what you are running on. If it is even something newer than the last registered version (because you develop that further) that is what you are running on.

---

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 6, 2024, 10:41am UTC](https://discourse.julialang.org/t/documenter-jl-is-not-documenting-any-changes/94781/18 "2024-11-06T10:41:57Z")

</div>

Right. Thanks again!
