# \[ANN\] DocumenterInterLinks v1.0

**URL:** <https://discourse.julialang.org/t/ann-documenterinterlinks-v1-0/115362>\
**Category:** Package Announcements\
**Tags:** announcement, documentation\
**Created:** [June 8, 2024, 11:38am UTC](https://discourse.julialang.org/t/ann-documenterinterlinks-v1-0/115362 "2024-06-08T11:38:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [June 8, 2024, 11:38am UTC](https://discourse.julialang.org/t/ann-documenterinterlinks-v1-0/115362/1 "2024-06-08T11:38:51Z")

</div>

I would like to announce the release of the [DocumenterInterLinks](https://github.com/JuliaDocs/DocumenterInterLinks.jl) plugin in it’s first “stable” `v1.0.0` release.

[As of `Documenter v1.3.0`](https://discourse.julialang.org/t/ann-documenter-v1-3-0-inventories/111139), every documentation built with Documenter [writes](https://documenter.juliadocs.org/stable/lib/internals/writers/#Documenter.HTMLWriter.write_inventory-Tuple%7BAny,%20Any%7D) an [`objects.inv`](https://juliadocs.org/DocInventories.jl/stable/formats/#Sphinx-Inventory-Format) “inventory” file. That inventory [contains information](https://juliadocs.org/DocumenterInterLinks.jl/stable/write_inventory/) about every page, section title, and docstring in the documentation, and the URL at which they can be found. Those items can now be referenced from _other_ project documentations. Since March, many active projects will have had new releases and thus will have automatically gained inventories. This also includes the [Julia project itself](https://docs.julialang.org/en/v1/).

The [DocumenterInterLinks](https://github.com/JuliaDocs/DocumenterInterLinks.jl) plugin is now the second half of the equation. It allows you to define external projects for your documentation and use `@extref` links to place links to those external projects; see the [Usage information](https://juliadocs.org/DocumenterInterLinks.jl/stable/#Usage). For example (adapted from `DocumenterInterLinks`’ own [`docs/make.jl`](https://github.com/JuliaDocs/DocumenterInterLinks.jl/blob/master/docs/make.jl) file):

```julia
using Documenter
using DocumenterInterLinks

links = InterLinks(
    "Julia" => "https://docs.julialang.org/en/v1/",
    "Documenter" => "https://documenter.juliadocs.org/stable/",
    "DocInventories" => "https://juliadocs.org/DocInventories.jl/stable/",
    "matplotlib" => "https://matplotlib.org/3.7.3/",
)

makedocs(
    # ...
    plugins=[links,],
)

```

With these mappings, it is now possible to have links like

```markdown
[`Statistics.mean`](@extref Julia)
[`Documenter.makedocs`](@extref)
[Basic Markdown](@extref Documenter Basic-Markdown)

```

anywhere in the documentation (including in [docstrings](https://docs.julialang.org/en/v1/manual/documentation/#Writing-Documentation)). The `@extref` is similar to [Documenter’s built-in `@ref` syntax](https://documenter.juliadocs.org/stable/man/syntax/#@ref-link), but resolves links via any of the available projects defined in the `InterLinks` plugin. See the [full Syntax description](https://juliadocs.org/DocumenterInterLinks.jl/stable/syntax/). The [documentation of `DocumenterInterLinks`](https://juliadocs.org/DocumenterInterLinks.jl/stable/) provides an extensive showcase for its own capabilities.

Since the `objects.inv` inventory files are compatible with Python’s [Intersphinx plugin](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html), it is also possible to link to the documentation of any Python project, like `matplotlib` above (and [vice versa](https://juliadocs.org/DocumenterInterLinks.jl/stable/sphinx/#Referencing-the-Julia-domain-in-Sphinx)).

---

<div class="post-metadata">

**Author:** ![cjdoris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cjdoris/32/213133_2.png) [@cjdoris](https://discourse.julialang.org/u/cjdoris)\
**Post date:** [June 8, 2024, 3:12pm UTC](https://discourse.julialang.org/t/ann-documenterinterlinks-v1-0/115362/2 "2024-06-08T15:12:54Z")

</div>

This could be super useful for Julia wrappers of Python packages and vice versa.

---

<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:** [June 8, 2024, 8:48pm UTC](https://discourse.julialang.org/t/ann-documenterinterlinks-v1-0/115362/3 "2024-06-08T20:48:31Z")

</div>

Already when it was first published, one of my favourite projects, since I am a fan of detailed documentation, and links are an important part of this. Another is of course DocumenterCitations.jl.  
Thanks!
