Settings not appearing

Hi everyone, I’m getting started on developing things for Discourse, and I’m working on a theme component.
Link: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.

When putting it on Theme Creator, the settings don’t appear, even though I have a settings.yml. Any ideas?

1 Like

Do you see any error messages at theme creator?

I think you have to use the same quotation marks at the beginning and end.

This could also be a problem. I would try default: ""

Maybe you want to add “block” to the choices. Otherwise you have to use the revert button to choose that again.

2 Likes

Whoops, just realised I was clicking on ‘Create new’ instead of importing it…
But now, when I try using the URL, it says that about.json is invalid or doesn’t exist, asking me if it is a theme.
About.json:

Is there something wrong?

Missing comma after license URL.

4 Likes

:roll_eyes:
@merefield Would version be in ""?

1 Like

Probably that too. Just look at examples.

1 Like

Thanks! One last one, I can’t seem to get the variable to display.

Was it because I didn’t initialise it properly? I tried following the guide…

  1. don’t use “header.html”, use a proper component (preferably a .gjs file, but .hbs might suffice).
  2. use html-safe helper whenever outputting html from settings or variables.
2 Likes

Would I have to use

import Component from "@glimmer/component";

export default class PracticeComponent extends Component {
  get bannerLinks() {
    return JSON.parse(settings.banner_links);
  }
}

then?

1 Like

Look at the billions of examples :stuck_out_tongue_winking_eye:

1 Like

You only need to use a gjs file if you need to process stuff with javascript, otherwise an hbs template file might suffice. Experiment.

1 Like

I’m not sure if I’m going in the right direction.
I made javascripts/persistent-banner.hbs with this:

But nothing shows up. Tried putting it in different places, still won’t work.

Tried looking at example, but many don’t seem to help.
Any advice?