0

I have the following code in my skeleton layout.

   {% if page.customcss%}
        <link rel="stylesheet" href="{{page.customcss}}">        
    {% endif %}

And in pages I mention the customcss in the frontmatter like this:

---
layout: skeleton
customcss:
  - 'assets/css/something.css'
---

This works for normal pages but for blog posts, jekyll generates then in a different directory and can't access the css and js files:

_site
  -2021/1/1
     -blog.html
  -assets
     -css
       -something.css
     -js
       -x.js

for js files I've solved it with %link in the skeleton.html layout file:

<script src="{% link /assets/js/mirai.js %}"></script>

But it doesn't work for css files:

 <link rel="stylesheet" href="{% link {{page.customcss}} %}">        

`render': Could not find document 'assets/css/something.css' in tag 'link'. (ArgumentError) Make sure the document exists and the path is correct.

I assume jekyll doesn't like the nested {{}}.

Is there a way to keep page.customcss while allowing usage in blogposts? I do not want to make a separate skeleton.html for blog posts.

Or am I doing something wrong here?

Arturo
  • 191
  • 1
  • 1
  • 8

1 Answers1

0

I found this within literal minutes. Keeping the ques up if it helps somebody:

Jekyll doesn't apply CSS to posts on GitHub Pages

basically, paths are not relative if is starts with /. Ex:/assets/css/something.css No need for %url.

Arturo
  • 191
  • 1
  • 1
  • 8