索引页检索变量从所有的帖子
Index page retrieve variable from all posts
我有一个基于Jekyll的博客,在每个帖子的前面都有一些位置数据。
例如:mapping:
locations:
- title: Times Square
latitude: 40.758885
longitude: -73.985134
- title: Central Park
latitude: 40.782841
longitude: -73.965350
我想检索我所有帖子中的所有位置,以便我可以在地图上绘制它们。目前,我通过将值传递到我从插件功能修改的javascript函数中,在该帖子的顶部显示地图上单个帖子的所有位置。
例如:function () { jekyllMapping.loadScript( {{ page.mapping | jsonify }} ) };
我有麻烦检索所有的位置从所有的帖子传递到相同的功能json。
I have try:
{% capture travel_locations %}
{% for post in site.categories.travel %}
{% for location in post.mapping.locations %}
{{ location | jsonify }}{% unless forloop.last %},{% endunless %}{% endfor %}
{% unless forloop.last %},{% endunless %}{% endfor %}
{% endcapture %}
%Capture%似乎作为字符串而不是数组元素对象返回,因此我被迫在循环内对输出进行jsonify。最后的输出很接近,但没有给我根json元素,也不是一个数组,所以我不能在javascript中迭代它。我可以像这样连接"{'"locations'":[" + {{ travel_locations }} + "]}"
,但它当然会被当作一个大转义字符串,而不是json对象。
我也试过将捕获结果分割回数组,但仍然没有运气。{% assign my_locations = "{{ travel_locations | split:',' | jsonify }} %}
我希望我错过了一些非常简单的东西,从一个类别中的所有帖子检索变量值?
另外,我把博客作为github页面上的静态站点,所以插件是不可能的。
您可以使用assign
创建一个空数组
{% assign locations = "" | split: "" %}
然后填充你的位置
{% for post in site.categories.travel %}
{% for location in post.mapping.locations %}
{% assign locations = locations | push: location %}
{% endfor %}
{% endfor %}
现在你有了一个包含所有位置的数组,准备进行json化。
编辑:此代码将运行在当前Github页面的Jekyll版本:2.4.0
为了与Github Pages的jekyll版本同步,你需要创建一个包含
的Gemfilesource 'https://rubygems.org'
gem 'github-pages'
那么你做:
gem bundler install
bundle install
bundle exec jekyll serve
Bing !
- 如何在JavaScript中检索变量的名称
- 如何从Mysql检索变量并在JS中的函数中使用它
- 尝试检索变量以检查表单是否有效
- Javascript 正则表达式从句子中检索变量
- 从 JavaScript 传递后无法检索变量
- 从函数中检索变量
- 从python Appengine中的Javascript函数中检索变量
- 如何在jQuery中检索变量的值
- 从 javascript 对象方法回调中检索变量
- 从javascript循环中的函数中检索变量
- 用javascript在onclick中检索变量
- 用Java解析JavaScript代码以检索变量'的名字
- 如何检索变量而不是echo
- 使用ajax加载函数检索变量
- jquery.从文本文件中获取和检索变量
- 在JavaScript函数中从SQL查询中检索变量(重写)
- 从包含 Javascript 中包含的 JSON 数据的 HTML 中检索变量
- 从HTML网站检索变量名
- 从twitter的json对象中检索变量
- 索引页检索变量从所有的帖子