Проблема в том, что вы используете абсолютные пути для доступа к некоторым вашим ресурсам.Если вы хотите развернуть сайт где-нибудь в сети, вам нужно сделать его относительным.
В моем случае я определяю (необязательный) параметр с именем root
на страницах / постах.что нужно, указывая на «относительный корень» проекта.Например, на странице, расположенной в about/index.html
, корень будет ../
, поскольку существует только один уровень «вверх»:
---
title: My Page title
root: "../"
---
Для страниц, расположенных дальше в каталогах, потребуется больше точек:../../
, ../../../
и т. Д.Страницы в корневой папке (например, index.html) не нуждаются в корне.
Затем я использую этот параметр для генерации всех путей.
Если я 'м на странице или самом посте, и мне нужно сослаться на локальное изображение или другую страницу, используйте page.root
или post.root
:
<img src="{{ post.root }}images/happy.png" />
<a href="{{ post.root }}2010/01/01/another_post>Relative link to another post</a>
Возможно сделать ссылку напрямую (../images/happy.png
), но это работает лучше, когда вы создаете сайт, и вы все еще не уверены в точных путях каждой страницы.
У меня есть все css и js, включенные в один частичный файл внутри _include.Он создает переменную с именем root
, чтобы убедиться, что она работает как со страницами, так и с сообщениями:
{% capture root %}{% if page.root %}{{ page.root }}{% else %}{{ post.root }}{% endif %}{%endcapture%}
<script type="text/javascript" src="{{ root }}js/jquery-min.js"></script>
<link rel="stylesheet" type="text/css" href="{{ root }}/css/style.css" />
Вот и все.