在Jekyll你可以使用液体模板,我正在尝试编写包含网站中所有链接的导航.
sitemap:
home: "/"
demo:
right: "/right"
left: "/left"
Run Code Online (Sandbox Code Playgroud)
我想要实现的是创建一个包含所有这些链接的侧边栏.但某些链接属于一个部分.输出应如下
<nav>
<ul>
<li>
<a href="/">home</a>
</li>
</ul>
<ul>
<li>demo</li>
<li>
<a href="/right">right</a>
</li>
<li>
<a href="/left">left</a>
</li
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
并非所有部分都必须有标题.主链接是一个独立的链接.演示链接都在演示部分.
在液体中,我可以通过这种方式遍历站点地图:
{% for nav in site.sitemap %}
<ul>
<li>{{ nav[0] }}</li>
</ul>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,液体将打印home和demo.
我需要的是检查值是字符串还是数组,以便打印数组或单个链接!
有没有办法检查液体变量是字符串还是数组? 我以前在链接的文档中找不到它!
我无法将使用 github 操作构建的 dist 文件夹复制到 docker 映像中...
github 操作文件:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: bahmutov/npm-install@v1
- run: yarn install
- run: yarn workspace client build
- run: bash collectclient.sh
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ctrlmaniac
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
tags: ctrlmaniac/me:latest
Run Code Online (Sandbox Code Playgroud)
该collectclient.sh文件将简单地将构建文件夹复制到项目的根目录中并将其重命名为 public。
#!/usr/bin/bash
echo "Removing old files"
rm -rf public …Run Code Online (Sandbox Code Playgroud) 当用户单击窗口的任何部分时,我试图获取单击的位置.我在许多教程中发现了这段代码,但似乎没有用.
(function( $ ) {
$( document ).ready(function() {
$( window ).click(function( e ) {
var offset = $(this).offset(),
relativeX = (e.pageX - offset.left),
relativeY = (e.pageY - offset.top);
alert("X: " + relativeX + " Y: " + relativeY);
});
});
})( jQuery );
Run Code Online (Sandbox Code Playgroud)
Firefox控制台告诉我"TypeError:offset is undefined",我不明白为什么它不起作用.
检索窗口上的点击位置的正确方法是什么?