A site used for a series of sites

Can a site be used as a home page linked to other sites?

I publish a book series and I want to have a website for each book entry while
that happens, since each book is immersive.

If so, where can I begin?

just from the top of my mind, I would have a index.html file which iterate through a array from the hugo.toml file which holds all the information like:

  • name
  • author
  • url

…or whatever else you want on the page.

Supposing that I already work with .yml, I’m guessing that I have
to edit my config like this:


baseurl: "https://website.here/"
languageCode: en-us
title: My Book Site
theme: MyTheme

menu:
  main:
    - identifier: book1
      name: Book 1
      url: /booksiteurlhere/ #e.g., https://hiddenworldbook.net
      weight: 10

...

and then continue the editing from there. Am I right?

i’m not sure how you want the entire site to look but have a look at a example here: glim-midnight/examplesite/hugo.toml at main · mansoorbarri/glim-midnight · GitHub

its just a basic website which lists all the links mentioned in the config.toml

It’s doubtful anyone can provide more help without getting into details. It’s less a matter of yaml configuration, and more about how you structure the content to serve the intention.

How would you describe the desired outcome and what exactly does each “site” contain? Are you aiming to use some specific theme you like? Are you developing one or your own? Are they going to be in a single languages, or many? How do you define immersion specifically: is it a matter of embedding multiple media formats; is the graphic design and theme matching the story; is it going to be a hypertext format with cross-annotations and dynamic indexes?

Assuming that a “series of sites” doesn’t mean that each “website” lives on its own domain, then what you’re looking for in its simplest form is a different section (in practical terms folders of files) for each book. Then again assuming each book’s site contains the content instead of marketing material only, you likely want to separate chapters into separate markdown files (“posts” that any theme displays) or as branch bundles (more files that the theme needs to display).

There’s also several Markdown to PDF & website toolchains, such as Getty’s Quire (which at least some years ago did use Hugo in the backend); BookPub; LeanPub; GitBook (pivoted to technical documentation books several years ago) and more. Of course people have been developing bookish and book themes for Hugo, but each theme has its traits and quirks.

Maybe you’d want to get started with the content first, see the previous toolchains for tips on structure and format, then you can transform this content around into a website at a later point. Unless you’re already there.

I’m curious. I looked at mansoor barri’s toml, and it seems
convertible. How do I link a Hugo site’s very own page in
Markdown, without ever having to grab it from a server
seen on your browser?

Should the syntax’s target be relative to the local website
or relative to the server?

If it’s multiple files, then sharing from a Git repository is easier.
Not sure what you mean by “syntax’s target”.

The target url that’s linked.

Update: I need help, here, the links won’t take me to the pages,
though they’re accessible via post!

sounds like you managed it close to working.

your last update does not allow to find a reason. guess all we can say is compare your generated links with the accessible ones from posts.

please have a look at Requesting Help and provide neccessary source and layouts. and point out where and what is not working.

as usual sharing a replayable repo will be the fastest way to get a solution

All I did was type Example:[link to content](content/guide/content.md) for all of my
guides’ links, and uploaded the changes, and the next thing, it wouldn’t lead
anywhere!

I tried to edit the link by using its link on the deploy server, but it added that link to the
destination path in the browser and took me to an error page.

The tree:

drive:\my site
├───archetypes
├───assets
├───content
│   ├───guide
│   └───posts
│       └───2025
│           └───jan
├───data
├───i18n
├───layouts
├───static
└───themes
    └───PaperMod
        ├───.github
        │   ├───ISSUE_TEMPLATE
        │   └───workflows
        ├───assets
        │   ├───css
        │   │   ├───common
        │   │   ├───core
        │   │   ├───extended
        │   │   └───includes
        │   └───js
        ├───i18n
        ├───images
        └───layouts
            ├───partials
            │   └───templates
            │       └───_funcs
            ├───shortcodes
            └───_default
                └───_markup

The link: GitHub - UrieW/uwsite

What’s affected is the files that have ‘guide’ in it.

Assuming no further configuration for urls exists in hugo.yaml then your links ought to be like :[link to content](/guide/) or :[link to content](/posts/2025/jan) and content.md should be renamed to index.md. Again, further help is impossible without access to the exact code and file system. At this point you should study the documentation better to understand how it Hugo works.

1 Like

YES, that’s it

absolutely true - adding Markdown, and the Theme docs for PaperMod


after adding the PaperMod theme using git clone the site was generated.

your links in /content/guides won’t work cause they match your windows filesystem from the site root inside content folder. They should match the rendered paths in your public folder

  • path separator is ‘/’
  • no content folder
  • just link to the folder (or index.html inside the folder)

as

# Books  - WRONG

[Book Formatting Guide](content\guide\book-fd.md)

[Book Cover Making Guide](content\guide\bookcover-make.md)
# Books - WORKING

[Book Formatting Guide](/guide/book-fd)

[Book Formatting Guide](/guide/book-fd/index.html)

[Book Cover Making Guide](/guide/bookcover-make)

all said:

You have a markdown page linking to local pages. By the discussion before I would have expected some generated list based on data…

Tried the(irkode’s) working syntax, and it just adds the syntax to the link,
which leads to a 404.

I’m trying to avoid that, as my site posts are in one folder in content and
my guides in content/guide.

Is there something that I’m missing, here?

Update: match the public folder’s version? Wait while I compile and check…

Second Update: Nope, just adds syntax to link, leading error 404s.

sry, but I don’t get what that tells us,

  • working or not?
  • 404 on which page when clicking on which link.

maybe I don’t get it at all, where you want what

My examples above are based on your repo. Her’s what I get

Changed file: `content\guides.md`

This text will be hidden

+++
title = 'Guides'
url = '/guides/'
summary = 'guides'
+++

# **_Error: Links currently don't work!!! Try the tags and categories_**

# **_section! Thank you._**

---

# Books - WORKING

[Book Formatting Guide](/guide/book-fd)

[Book Formatting Guide (index.html)](/guide/book-fd/index.html)

[Book Cover Making Guide](/guide/bookcover-make)

---

# Ebooks

[Ebook Conversion Guide](content\guide\ebook-convert.md)

[Ebook Formatting Guide](content\guide\ebook-format.md)

[Ebook Cover Making Guide](content\guide\ebookcover-make.md)

Screenshot: Guides Section

Screenshot after clickig the first link shown in picture above

seems fine to me.

Maybe for your Posts:

You don’t have a menu Item for Posts (add in hugo.toml)

    - identifier: posts
      name: Posts
      url: /posts/
      weight: 60

you post content\posts\2025\jan\guideslive1.md

+++
title = 'Guide Collection Update'
date = 2025-01-13T19:57:44-06:00
tags = ["web","status"]
categories = ["update"]
+++

# **_Error: Links currently don't work!!! Try the tags and categories_**

# **_section! Thank you._**

---

A few guides are live!!!

They are about making books. Can you master them all?

# Guides(As of 1/13/2025)

[Book Formatting Guide](/guide/book-fd)

[Book Cover Making Guide](/guide/bookcover-make)

[Ebook Conversion Guide](/guide/ebook-convert)

[Ebook Formatting Guide](/guide/ebook-format)

[Ebook Cover Making Guide](/guide/ebookcover-make)

Apparently, my version of Hugo allowed me to rename the guide folder to guides,
keep the original guides.md file with a few changes:

+++
title = 'Guides'
url = '/guides/'
summary = 'guides'
+++

# ***Error: Links currently don't work!!! Try the tags and categories***
# ***section! Thank you.***

-----------------------------------------------------------------  

# Books  

[Book Formatting Guide](book-fd)

[Book Cover Making Guide](bookcover-make)

-----------------------------------------------------------------  

# Ebooks  

[Ebook Conversion Guide](ebook-convert)

[Ebook Formatting Guide](ebook-format)

[Ebook Cover Making Guide](ebookcover-make)

and have it upload fine in the server. If only I can learn how to handle that guide update post’s side of the links…I’ll keep you posted.

Update: Fix is posted for the Guides page but I’m trying to see
if I can make my site’s links hop out of the posts folder and
into the Guides folder when it comes to that previous guide update
post in posts

I must admit again, I don’t understand your “prose” texts …

If you want to have a link in any of your markdown file to point to content in your /content/guides folder, prefix it with ‘/guides’

[Book Formatting Guide](/guides/book-fd)

Somewhat, my Hugo version links all site pages as long as it’s in the current folder
as the post.

Example:

posts:
  guideupdate1  # has guides/myguide as the link that will assume it's in /posts/
guides
  myguide  # the post
guides # has a url of /guides/

It’s baffling me on my Windows laptop that you have it running successfully as that!

nothing special with your version

I cannot map your Example content to your sites content

Your site content folder
TOPIC-53100-BOOKLIST\CONTENT
│   about.md
│   archives.md
│   guides.md
│   links.md
│
├───guides
│       book-fd.md
│       bookcover-make.md
│       ebook-convert.md
│       ebook-format.md
│       ebookcover-make.md
│
└───posts
    └───2025
        └───jan
                gprob1.md
                gprob1fix-1-1.md
                guideslive1.md
                live.md

  1. TIP: check the output html file in your public folder (the HTML code, not browser display) and see which HTML link is generated. Change something in Markdown and see how that affects your HTML file …

  2. due our language barrier, Please spend a little more time and provide your questions more technically - currently it’s always a guessing

    • what you ment
    • what you have and where
    • what do you want

all that said,

it looks you still have a lack in understanding Markdown links, how they map to your filesystem - and how they map to the target site (public folder) when using Hugo (and your theme).

See: