I want to build a jekyll template called ultimate jekyll and i need your help putting it together.

to start things off, i want to have a theme system. in _config.yml, we specify the theme like 

theme:
	id: 'front'
	mode: 'frontend'

the theme is a bootstrap theme. the theme comes with a frontend for users and an backend admin portal.

next some pages will use "placeholders". for example i might make a file called pages/terms.html that just looks like this
---
layout: placeholders/terms
---

That way, every new website i set up has a terms and conditions thats preset in _layouts/placeholders/terms.html. however, this is where things get tricky. 

here is _layouts/placeholders/terms.html
---
layout: themes/[ site.theme.id ]/frontend/default
---
This is where the TOS text will be

notice the dynamic site.theme.id. i already have gulp set up to automatically replace that part. i dont need you to work on that part. just assume it works already

themes/front/frontend/default.html looks like this
---
layout: main/base.html
---
{% include project/header.html %}
{{ content}}
{% include project/footer.html %}

main/base.html looks like this
---
layout: null
---
// HEAD TAG with a bunch of important meta tags
<body>
{{ content }}

</body>

so you can see how there are many nested templates to deal with. a lot of it is meant to keep me from writing repetitive code in new projects. i am struggling wiht how to deal with project/header.html. i dont want to actually use html in this file, preferably JSON so i can do quick things like 
{
  "logo": {
    "src": "/assets/logo.svg",
    "alt": "MyWebsite Logo",
    "href": "/"
  },
  "links": [
    {
      "label": "Home",
      "href": "/"
    },
    {
      "label": "Services",
      "href": "/services",
      "children": [
        {
          "label": "Web Development",
          "href": "/services/web-development"
        },
        {
          "label": "Marketing",
          "href": "/services/marketing",
          "children": [
            {
              "label": "SEO",
              "href": "/services/marketing/seo"
            },
          ]
        }
      ]
    },
    {
      "label": "Blog",
      "href": "/blog"
    },
    {
      "label": "Contact",
      "href": "/contact"
    }
  ],
  "cta": {
    "label": "Sign Up",
    "href": "/signup"
  }
}

and have it constructed using a theme file (maybe _layouts/themes/front/templates/header.html?) and then eventually it will actually become project/header.html so jekyll can obviosuly include it in the build.