Filtering individual tags does not work?

{{#if tags.[1] visibility="public"}}

Why doesn’t this work? It outputs the name of the second tag, regardless if it is actually public or not.

Is there an alternate way I can do it, so it actually only prints the second tag if it’s actually public?

You’re not using the if block correctly - it only checks the first thing. I don’t have the Ghost docs handy, but look for the match helper

I tried match too, that doesn’t work either. And for the if it should be checking only one thing, the visibility of tag.[1]

Otherwise handlebars would give an error, I think? But it doesn’t work so you are probably right. Weird.

Can you share what you tried with the match helper?

For the {{#if}} helper, only tags.[1] is analyzed - it’s truthy, so the block is executed.

I got it, thank you. The match tag didn’t work because I used =, when I deleted that, it works.

For other people:

{{#if tags.[1]}}
      {{#match tags.[1].visibility "public"}}

One more question, because I’m stupid:

I modified the Alto theme, but when I modify the screen.css file, and then zip it, it replaces it with the unmodified one. Why is that so? How can I prevent that?

I’m not sure exactly what steps you’re taking, but you might want to refer to the readme to see how to modify the theme. Note that you need to modify the files in the built folder.