# Documenter.jl cumbersome experience

**URL:** <https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552>\
**Category:** New to Julia\
**Tags:** documentation, documenter, markdown\
**Created:** [April 4, 2026, 12:31pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552 "2026-04-04T12:31:55Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![lilachint](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@lilachint](https://discourse.julialang.org/u/lilachint)\
**Post date:** [April 4, 2026, 12:31pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/1 "2026-04-04T12:31:55Z")

</div>

Hi! I’m a new user to Julia that wish to develop some packages. However, when it comes to documentation generation, I find it quite cumbersome.

To be specific, I’m a lazy-ish person, and would try to generate documentations from function docstrings. My problem with Documenter.jl is if it could generate both the README.md and the website in a simple manner?

I know there’s a DocumenterMarkdown.jl package, but then the workflow would be quite complicated, like moving files around, not to mention that the package is sort of unmaintained. To make things even worse, I currently use codeberg, where pages are hosted on a separate branch!

Just here to ask: are there packages to streamline or at least accomplish this without too much hassle? Thanks!

---

<div class="post-metadata">

**Author:** ![langestefan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/langestefan/32/207923_2.png) [@langestefan](https://discourse.julialang.org/u/langestefan)\
**Post date:** [April 4, 2026, 12:49pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/2 "2026-04-04T12:49:25Z")

</div>

> [@lilachint](#):
>
> To be specific, I’m a lazy-ish person, and would try to generate documentations from function docstrings. My problem with [Documenter.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/Documenter) is if it could generate both the README.md and the website in a simple manner?

Sure it can. You can start from a template like BestieTemplate.jl, which will setup everything you need.

> [@lilachint](#):
>
> I know there’s a [DocumenterMarkdown.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/DocumenterMarkdown) package, but then the workflow would be quite complicated, like moving files around, not to mention that the package is sort of unmaintained. To make things even worse, I currently use codeberg, where pages are hosted on a separate branch!

I’m not sure what you are trying to accomplish exactly?

---

<div class="post-metadata">

**Author:** ![lilachint](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@lilachint](https://discourse.julialang.org/u/lilachint)\
**Post date:** [April 4, 2026, 12:57pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/3 "2026-04-04T12:57:38Z")

</div>

Sorry I made things unclear! Basically, given docstrings from my functions, I would want to generate both a README.md and the built documenter website. The codeberg part I guess I would have to solve myself by moving the `build/` folder into the `pages` branch, so it might not be too relevant.

Since the DocumenterMarkdown.jl package is not actively maintained, should I still use it or seek for a newer version?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [April 4, 2026, 12:59pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/4 "2026-04-04T12:59:06Z")

</div>

Well, the index.md page of the documentation and README.md are usually similar, but not the same. If you update one of them, you often also have to update the other one.

You can do that manually (I use:

```julia-auto
meld README.md ./docs/src/index.md

```

to see the differences and sync them as needed).

Or you ask AI to do that for you.

---

<div class="post-metadata">

**Author:** ![lilachint](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@lilachint](https://discourse.julialang.org/u/lilachint)\
**Post date:** [April 4, 2026, 1:02pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/5 "2026-04-04T13:02:39Z")

</div>

That’s good to know! A git-ish tool for diffing I would definitely check it out. I guess in the meantime I will just stick with manually editing stuff. Not too bad since my package is small.

However, I do wonder what creators of larger packages could do about it.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [April 4, 2026, 1:03pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/6 "2026-04-04T13:03:16Z")

</div>

> [@lilachint](#):
>
> Basically, given docstrings from my functions, I would want to generate both a README.md and the built documenter website.

I would not do that. The function and type references should not all be in the README.md file. Unless you have a very small package. Usually, in the README.md file I explain the purpose of the package, the installation, and perhaps one example.

And things like license and references.

In the html documentation there would be index.md (similar to README.md), and then a page Types, a page Functions, a page Examples etc.

See for example:

- [README.md](https://github.com/ufechner7/FLORIDyn.jl)
- [Documentation](https://ufechner7.github.io/FLORIDyn.jl/dev/)

---

<div class="post-metadata">

**Author:** ![lilachint](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@lilachint](https://discourse.julialang.org/u/lilachint)\
**Post date:** [April 4, 2026, 1:05pm UTC](https://discourse.julialang.org/t/documenter-jl-cumbersome-experience/136552/7 "2026-04-04T13:05:25Z")

</div>

Oh yes, I guess that would be the de facto way of doing it, especially for large projects. Even though my package is small, I better stick with that practice. Thanks!
