Problem

Accessing .Site.Params (noticed within the isset function):

In the config I defined two site parameters as follows

    [params]
    alllowercase = "lowercase"
    camelCaseParameter = "camelCase."

Test Site("My New Hugo Site")

We run following test case:

    []string{"alllowercase", "camelCaseParameter", "camelcaseparameter"}
  1. Run Test Case - 'alllowercase'

    isset $.Site.Params alllowercase

    Expected: true

    Result: true

  2. Run Test Case - 'camelCaseParameter'

    isset $.Site.Params camelCaseParameter

    Expected: true

    Result: false

  3. Run Test Case - 'camelcaseparameter'

    isset $.Site.Params camelcaseparameter

    Expected: false

    Result: true

Test Page(/test/article.md)

We run following test case:

    []string{"alllowercase", "camelCaseParameter", "camelcaseparameter"}
  1. Run Test Case - 'alllowercase'

    isset $.Site.Params alllowercase

    Expected: true

    Result: true

  2. Run Test Case - 'camelCaseParameter'

    isset $.Site.Params camelCaseParameter

    Expected: true

    Result: false

  3. Run Test Case - 'camelcaseparameter'

    isset $.Site.Params camelcaseparameter

    Expected: false

    Result: true

Evaluation

In Hugo v0.55.6
Hugo Static Site Generator v0.55.6-A5D4C82D windows/amd64 BuildDate: 2019-05-18T07:57:00Z

For me 2 (expected:true, result:false) and 3 (expected:false, result:true) failed.

Accessing files with the . notation works case-insensitive

$.Site.Params.alllowercase

lowercase

$.Site.Params.camelCaseParameter

camelCase.

$.Site.Params.camelcaseparameter

camelCase.

$.Site.Params.CamElcAsEParAmetEr

camelCase.

Here's the produced map:

map[string]interface {}{"alllowercase":"lowercase", "camelcaseparameter":"camelCase.", "mainSections":[]string{"test"}, "mainsections":[]string{"test"}}

Notice, that our camel case was transformed into lowercase.
It seems like the camelcase is transformed into lowercase leading to functions like isset and index to fail. But accessing with the value with the . operator seems to transform the provided key to lowercase.