Jekyll: нужно, чтобы все hrefs были относительными или начинались с server.domain

У меня есть местный веб-сайт jekyll, который, надеюсь, будет обнародован. Единственный способ сделать это — использовать mod_proxy на apache2. К сожалению, корректно работает только главная страница. Другие не пересылаются, потому что ссылки, которые создает Jekyll, выглядят так:

<a href=/mysite/2015/07/17/About/>About</a></li>

Мне нужно, чтобы они были либо относительными, т.е., либо действительно абсолютными, т.е.:

<a href=http://my.server.com/mysite/2015/07/17/About/>About</a></li> 

Только в этом случае mod_proxy сможет заменить http://my.server.com/mysite на localhost:4000/mysite

Теперь ссылки, сделанные Jekyll и начинающиеся с /, отправляются, поскольку они будут обслуживаться основным веб-сайтом, то есть тем, который размещен на http://my.server.com/.


person tnorgd    schedule 05.09.2015    source источник


Ответы (2)


В вашем файле _config.yml вы можете установить базовый URL-адрес следующим образом:

url: http://www.example.com

Вы можете вызвать эту переменную позже, используя жидкую разметку:

<a href="{{ site.url }}/path-to-your-stuff"></a>

И у вас есть абсолютный URL.

person jyoonPro    schedule 05.09.2015

Часть /mysite URL – это параметр конфигурации baseurl, который находится в _config.yml.

Относительная ссылка теперь:

<a href={{site.baseurl}}/2015/07/17/About/>About</a></li>

Абсолютная ссылка теперь:

<a href={{site.url}}{{site.baseurl}}/2015/07/17/About/>About</a></li>
person David Jacquel    schedule 06.09.2015