检测用户代理jekyll

检测用户代理jekyll,jekyll,liquid,Jekyll,Liquid,我想在jekyll上为桌面和移动设备呈现不同的html。我需要像这样的东西: {% if is_mobile %} <!-- mobile html --> {% else %} <!-- desktop html --> (% endif %} {%if\u mobile%} {%else%} (%endif%} 显然,我可以在浏览器中使用javascript来确定这一点,但我不想为手机呈现额外的html 也许我可以创建一个jekyll插件并注册li

我想在jekyll上为桌面和移动设备呈现不同的html。我需要像这样的东西:

{% if is_mobile %}
    <!-- mobile html -->
{% else %}
    <!-- desktop html -->
(% endif %}
{%if\u mobile%}
{%else%}
(%endif%}
显然,我可以在浏览器中使用javascript来确定这一点,但我不想为手机呈现额外的html


也许我可以创建一个jekyll插件并注册liquid标记,但我如何才能访问用户代理?是否还有其他方法可以访问HTTP请求参数?

因为您使用的是jekyll,我猜您没有使用后端,而后端通常是处理用户代理的方式

也许您最好的方法是使用普通的旧Javascript访问
navigator.userAgent
变量


此处的更多信息:

在您的布局中,您可以使用:

<div class="mobile">{% include mobile.html %}</div>
<div class="desktop">{% include desktop.html %}</div>
{%include.html%}
{%include desktop.html%}

然后你应该让js决定显示哪一个,因为liquid没有访问用户代理的权限。

Jekyll是一个静态站点生成器-因此用户只看到生成的页面,没有FrontMatter或liquid模板或其他内容-只有服务输出。你必须使用JavaScript,因为下面已经有人回答了。