HUGO

Is it possible to use only theme files in _default?

I’m building a very simple site, and want to keep the file structure as simple as possible. Is it possible to only a use theme files in root/layouts/_default/ and not use a copy of the theme in root/themes/theme-name/ ?

I know this is unorthodox, but I’m wondering if it is possible. I’ve tried removing the theme name from config.toml and the theme from root/themes/ but of course that doesn’t work.

Maybe I misunderstand, but if you’re asking whether you can move any theme-related content into your website root, then the answer is yes.

e.g.

root
├── archetypes    ← theme
├── assets        ← theme
│   └── scss
├── config.toml
├── content
│   ├── about
│   ├── contact
│   ├── music
│   └── _index.md
├── layouts       ← theme
│   ├── _default
│   ├── partials
│   ├── 404.html
│   └── index.html
└── static
    ├── images
    └── index.html

Inside your config.toml you simply don’t list a theme property at all.

If you want to keep your site simple, I also recommend exploring disableKinds, which can remove quite a bit of scaffolding you don’t necessarily need:

disableKinds ([])

Enable disabling of all pages of the specified Kinds . Allowed values in this list: "page" , "home" , "section" , "taxonomy" , "taxonomyTerm" , "RSS" , "sitemap" , "robotsTXT" , "404" .

2 Likes

Thanks! That works. I may also use disableKinds; I hadn’t been aware of that.