我如何使用 jekyll & Liquid 更有效地创建这个画廊?

2024-02-18

我的画廊是基于我的 twitter bootstrap css 文件。我最终使用了带有内联 HTML+Markdown 的 Kramdown,因为我无法让它按照我希望的方式在 Liquid 中工作。

Kramdown 解析的 markdown 模板如下所示:

---
layout: gallery
title: Gallery
group: dropnavigation
root: .\
---

{% include root %}

{::options parse_block_html="true" /}


<li class="span3">
<div class="thumbnail">
[![image](http://placehold.it/260x180)](#)

#####Thumbnail label

Thumbnail caption right here...
</div>
</li>

<li class="span3">
<div class="thumbnail">
[![image](http://placehold.it/260x180)](#)

#####Thumbnail label

Thumbnail caption right here...
</div>
</li>

画廊布局如下所示:

---
layout: core
---
{% include root %}

<div class="page-header">
  <h1 class="well">{{ page.title }} <small>{{ site.tagline }}</small></h1>
</div>


<ul class="thumbnails">
{{ content }}
</ul>

有没有办法做到这一点,以便我只包含图像标签和标签,然后通过模板由 ul、li 和 div 类设置样式?也许通过某种循环?


是的。您可以通过定义一个循环来完成此操作list https://en.wikipedia.org/wiki/YAML#Hierarchical_combinations_of_elements其中包含每张图片的信息。

---
layout: gallery
title: Gallery
group: dropnavigation
root: .\

pictures:
  - url: http://placehold.it/260x180
    label: Label 1
    caption: Caption 1
  - url: http://placehold.it/260x180
    label: Label 2
    caption: Caption 2
  - url: http://placehold.it/260x180
    label: Label 3
    caption: Caption 3
---

{% include root %}

{::options parse_block_html="true" /}

{% for pic in page.pictures %}
 <li class="span3">
  <div class="thumbnail">
   [![image]({{ pic.url }})](#)

   ##### {{ pic.label }}

   {{ pic.caption }}
  </div>
 </li>
{% endfor %}

(这甚至可以通过仅使用包含列表的 YAML 标头以及在库布局中完成的循环和其他处理来完成,这样您只需更改pictures列表有多个画廊(这意味着标题和标签必须用 HTML 而不是 Markdown 编写)。编辑:例如每个画廊文件都是这样的:

---
layout: gallery
title: Gallery
group: dropnavigation
root: .\

pictures:
  - url: http://placehold.it/260x180
    label: Label 1
    caption: Caption 1
  - url: http://placehold.it/260x180
    label: Label 2
    caption: Caption 2
  - url: http://placehold.it/260x180
    label: Label 3
    caption: Caption 3
---

画廊模板如下所示:

---
layout: core
---
{% include root %}

<div class="page-header">
  <h1 class="well">{{ page.title }} <small>{{ site.tagline }}</small></h1>
</div>


<ul class="thumbnails">
{% for pic in page.pictures %}
 <li class="span3">
  <div class="thumbnail">
   <a href="#"><img src="{{ pic.url }}" alt="image" /></a>
   <h5>{{ pic.label }}</h5>
   <p>{{ pic.caption }}</p>
  </div>
 </li>
{% endfor %}
</ul>

)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何使用 jekyll & Liquid 更有效地创建这个画廊? 的相关文章

随机推荐

  • 如果 UILabel 的内容不适合,则更改文本末尾的默认“...”

    我的 iPhone 项目中有一个 UILabel 它具有固定的宽度和高度 但它的内容可能会根据用户正在查看的内容而变化 有时 文本对于 UILabel 来说太大 此时字符串 被添加到行尾 我想知道是否可以将此字符串更改为其他内容 例如 mo
  • 如何输入非富文本?

    是否可以进入non 富文本进入文本编辑器 撇号富文本编辑器似乎添加 p 标签围绕其中的所有内容 我想像这样格式化 widget html p h2 apos singleton data widget section heading apo
  • JDBC:Oracle 应用服务器和“网络适配器无法建立连接”错误

    我从 Oracle 应用服务器 10g 中部署的 Web 应用程序收到错误 网络适配器无法建立连接 数据库是本地的 因此不应该有任何连接问题 第一个测试 我可以从 SQL plus 连接到数据库 运行查询等 没有任何问题 第二次测试 我可以
  • 如何将 sql 查询的结果映射到对象上?

    目前 我正在使用这样的东西 try dr SQL Execute sql if dr null while dr Read CustomObject c new CustomObject c Key dr 0 ToString c Valu
  • Javascript DOM“this”对象不正确

    有谁可以解释以下错误消息吗 我试图获取有关多个 div 的简单信息 而其中一个 div 抛出此错误 忽略具有 LenientThis 的属性的 get 或 set 因为 this 对象不正确 脚本 js 3288 resource gre
  • 如何从不同版本的python导入*.pyc文件?

    我使用 python 2 5 并从 C util Python25 Lib site packages 目录导入一个名为 irit py 的文件 该文件导入位于同一目录中的文件 irit pyc 它运行良好并且做了我想要的事情 然后 我用
  • Spark.table 与 sql() AccessControlException

    尝试跑步 spark table db table groupBy date agg sum total returns org apache spark sql AnalysisException org apache hadoop hi
  • 仅适用于正整数的正则表达式是什么? (不允许为零)

    仅适用于正整数的正则表达式是什么 不允许为零 我只能得到数字的正则表达式 即 d 我一直试图在网上寻找一个 但已经过去一个小时了 所以我决定将其发布在 Stack Overflow 上 matches 1 2 444 9000 012 不匹
  • 批处理文件中的 at 符号 (@) 是什么?它有什么作用?

    熟悉 windows dos 批处理脚本的人会认出这一行 echo off 在很多很多天里 我对这样的感觉感到高兴 is how echo off应该写在批次的顶部 仅此而已 然而 最近我遇到了 http getcomposer org d
  • 使用 C 计算 ASCII 文件中的行数

    我想计算 ASCII 文本文件中的行数 我认为最好的方法是计算文件中的换行符 for int c fgetc fp c EOF c fgetc fp Count word line endings if c n lines 但是 我不确定这
  • 无法确定我的测试用例是通过还是失败

    我需要在 JavaScript 中测试 事件 例如按钮单击 使用 Mocha 单击链接等 我有 3 个文件 1 Login html 2 Application js 3 test js 1 Application js文件包含以下代码 f
  • 在 Objective C 中将公历日期转换为儒略日计数

    我需要 Objective C 方法将公历日期转换为儒略日 与 PHP 方法 GregorianToJD 相同 精度 合并一天中的时间儒略日期转换 这些儒略日期转换方法产生的结果与美国海军天文台 https aa usno navy mil
  • 什么是谓词?

    作为一名业余编码员 我缺乏一些基础知识 在过去的几天里 我读了一些东西 谓词 这个词不断出现 我非常感谢有关该主题的解释 谓词的定义 可以在网上找到各种来源 例如 is 计算结果为 TRUE 或 FALSE 的逻辑表达式 通常用于指示代码中
  • 将表中的行从 utf8_turkish_ci 更新为 utf8_general_ci 有何影响?

    我无法加入某些表 因为有些表 行是 utf8 general ci 有些是 utf8 turkish ci 因此我不得不复制土耳其语 将其转换为通用语 最后使用它 但我想知道 如果我将原始表从土耳其语转换为通用表 我的应用程序会发生什么情况
  • Spark 数据帧将嵌套 JSON 转换为单独的列

    我有一个 JSON 流 其结构如下 可转换为数据帧 a 3936 b 123 c 34 attributes d 146 e 12 f 23 数据框显示函数结果如下输出 sqlContext read json jsonRDD show a
  • 在 mongodb 上每个集合使用多个模式

    我想在 mongodb 中的每个集合使用多个模式 如何使用它 当我尝试运行它时 它给了我这个错误 Error OverwriteModelError 无法覆盖allUsers模型一旦编译 OverwriteModelError 无法覆盖ch
  • 选择只有一个唯一值的 pandas 数据框列

    如何有效地选择只有 1 个唯一值的 pandas dataframe 列 我知道 DataFrame 和 Series nunique 我认为需要DataFrame nunique http pandas pydata org pandas
  • 在 Netbeans 7.1 中编译

    我无法在 Widows 7 中的 netbeans 7 1 中编译项目 错误是 mkdir exe 停止工作 我在 MinGW gt Msys gt 1 0 gt bin 中找到 mkdir exe 并运行 但没有解决这个问题 当我运行项目
  • 使用 ImageMagick (或类似的)覆盖图像的文件名

    我知道 ImageMagick 的annotate命令可以在图像上叠加一些文本 但是它可以使用图像的文件名作为该文本吗 我本来是这么认为的 但似乎找不到直接的文档来证实这一点 毫无疑问 某些参数组合可以管理此问题 或者是否有更好的方法在脚本
  • 我如何使用 jekyll & Liquid 更有效地创建这个画廊?

    我的画廊是基于我的 twitter bootstrap css 文件 我最终使用了带有内联 HTML Markdown 的 Kramdown 因为我无法让它按照我希望的方式在 Liquid 中工作 Kramdown 解析的 markdown