Theme standards and general experience

In my understanding, the primary benefit for Child Themes in Wordpress is to prevent all individual theme customizations from being wiped out during theme upgrades.

I am so glad to learn about the block templates thing!! I did not know that we could already do template inheritance. This is great news for me, as I understand now that it is easy to extend a theme by externally modifying templates.

Here I described what I intended widgets for: Widget mechanism.

Totally correct from my views :slight_smile:

Actually, I find that switching themes is not so easy for the moment. As it is, the theme gallery is very nice and I like it very much. It is easy enough (at least for me) to install new themes, although I don’t know if it is easy to do it without git.

I experienced that switching themes:

  • often broke my site (the site did not build anymore or had empty pages)
  • often needed big modifications to my config file, because themes required arbitrary params. This is nice because the theme developer has freedom, but after only 3 theme tries this leads to config files that look like this:
baseurl: "http://www.blah/"
languageCode: "fr-fr"
title: "my title"
subtitle: "my subtitle"

theme: hemingway2
#theme: hugo-material-docs
#theme: hugo-me-theme
#theme: hugo-multi-bootswatch

metadataformat: "yaml"
canonifyurls: true
# Enable Google Analytics by entering your tracking id
googleAnalytics: ""

paginate: 5
paginatePath: "page"


params:
    # FOR THEME hugo-material-docs

    author: Le Barde
    # General information
    description: ""
    copyright: "Licence CC-BY-NC."

    #version: "1.0.0"
    logo: "images/logo.png"
    favicon: ""


    # Custom assets
    custom_css: []
    custom_js: ["https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML", "mathjax-support.js"]

    # Syntax highlighting theme
    highlight_css: ""

    palette:
      primary: "deep-purple"
      accent: "red"
      
    font:
      text: "Ubuntu"
      code: "Ubuntu Mono"

    # FOR THEME hugo-theme-me
    colorscheme: red
    sidebar:
      name: "Me"
      description: "A Simple Hugo Theme"
      #navigation:
      #  label: "About"
      #  link: "/about"
    about:
      title: "Hello, It's Me!"
      intro: "Welcome to my page!"
      text: "I am a simple responsive theme for [Hugo](http://gohugo.io) based on [Read Only template](http://html5up.net/read-only) by HTML5UP. To install Me just run inside your Hugo project:\n\n    $ mkdir themes\n    $ cd themes\n    $ git clone https://github.com/aerohub/hugo-me-theme.git hugo-me-theme\n\n See [README](//github.com/aerohub/hugo-me-theme) for more information."
    skills:
      label: "About"
      link: "/about"
    work:
      title: "Few Works Made by Me"
      intro: "Let Me present here its color schemes"
    email: "contact@mydomain.fr"
    footer:
      copyright: "[My site](http://www.mydomain.fr). Licence CC-BY-NC."

    # FOR THEME hugo-multi-bootswatch
    theme:
      inverse: false
      name: cerulean
    # list of possible theme names that can be used
    # name: "cerulean"
    # name: "cosmo"
    # name: "cyborg"
    # name: "default"
    # name: "flatly"
    # name: "journal"
    # name: "lumen"
    # name: "paper"
    # name: "readable"
    # name: "sandstone"
    # name: "simplex"
    # name: "slate"
    # name: "spacelabs"
    # name: "superhero"
    # name: "united"
    # name: "yeti"



social:
  #twitter: "lebarde"
  github: "lebarde"


menu:
  main:
    - name: "Accueil"
      url: "/"
      weight: 0
    - name: "Articles"
      url: "/articles"
      weight: 10


blackfriday:
  smartypants: true
  fractions: true
  smartDashes: true
  plainIDAnchors: true


So, I think the community would appreciate standardization for params (e.g. “Author should be described with params.author”). IMO this should not be a mandatory requirement, but only a recommendation for theme developers that want to share widely.

What I proposed was not to reinvent the wheel. Only to specify to Hugo what was the push command. This would have enabled to make a hugo full-upgrade command that updated everything, builded and pushed the site to the public server directory. But as I said here, we can already do that externally, so this is not useful.

1 Like