0

I am using Harp server and the hyphen (or at least I think that is this - character's name) causes an issue when trying to access metadata in my _data.json file. I am doing this inside a index.jade template.

The code like this (different name but the point is the hyphen):

.container
  for item in public.articles.idk-wtf._data.title
    .item #{ title }

The exact same code works when there is no - and of course also in the folder name. How can i get around it without changing the names of folders since I want - in the URL's and not something else like _ and such?

The Truth
  • 87
  • 11

1 Answers1

1

It's still Javascript; with dot notation (.), the property name must be a valid Javascript variable name, which means no hypens, spaces, etc. If you have to use hyphens or other unallowed names, use bracket notation [] which can take any string, like so:

for item in public.articles['idk-wtf']._data.title

Documentation (MDN): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors