设置:目前我有一个脚本可以读取谷歌电子表格,并将结果写入我的GitHub页面网站上的_data文件夹中的* .yaml文件。
典型结果如下:
- ip: 192.168.0.1
mac: 'a4:13:4e:5e:2c:c0'
hostname: XWR-3100V1 Wireless Router
vendor: Luxul
dns_name: XWR-3100.lan
mdns_name: test
smb_name: test
smb_domain: test
comments: test
type: Router
- ip: 192.168.0.4
mac: 'b0:6e:bf:9c:11:00'
hostname: Toshiba eStudio 4505ac
vendor: ''
dns_name: ''
mdns_name: ''
smb_name: ''
smb_domain: ''
comments: ''
type: Printer
从那里开始,我创建了一个页面,显示一个循环显示信息并显示所有设备的表格。
我无法弄清楚以下内容的语法:
查看数据并识别所有不同类型(路由器,媒体播放器,打印机)等。
使用Type作为组标题创建表,然后在标题下面列出与该类型匹配的记录,然后转到下一个类型,依此类推。
这是否可以使用单个yaml文件,或者我是否需要生成另一个文件,该文件只包含第一个文件中找到的类型列表?
谢谢!
{% assign devices = site.data.network %}
{% for ip in devices %} //not sure what this really means
{{ip.ip}} | {{ip.mac}} ...etc.
{% endfor %}
为简洁起见,我排除了表格标签。
答案 0 :(得分:1)
使用group_by
过滤器:
{% assign net = site.data.network | group_by:"type" %}
{% for type in net %}
<h1>{{ type.name }}</h1>
<ul>
{% for item in type.items %}
<li>{{ item.ip }} ...</li>
{% endfor %}
</ul>
{% endfor %}