malmling
malmling

Reputation: 2518

How can I change a variable in Jekyll _config.yml dynamically?

Hi I'm working on a Jekyll project and I need to put a variable in _config.yml that I want to change dynamically from the template code.

This is what I want to do, but I can't get it to work. Is it possible to do this?

In _config.yml:

my_var: "value"

In template.html:

{% site.my_var = "newvalue" %}

{% case site.my_var %}
  {% when "value" %}
    //do this
  {% when "newvalue" %}
   //do this instead
{% endcase %}

Upvotes: 6

Views: 1518

Answers (1)

Frank N
Frank N

Reputation: 10386

While you apparently cannot use Liquid conditionals nor Environment Variables (as in many other build scripts), you can do a selective overrides with a second yml file:

$> bundle exec jekyll serve --drafts --incremental --config _config.yml,_dev.yml

with a _dev.yml:

# overrides title in _config.yml
title: "My Website (dev mode)"

# see my styles uncompressed for dev work
sass:
    style: uncompressed

Perhaps that fits your needs...

Upvotes: 9

Related Questions