在我的Jekyll include文件中,如何获得帖子的降价?
有没有办法在include文件中获得帖子降价 我的include文件有以下代码:在我的Jekyll include文件中,如何获得帖子的降价?,jekyll,Jekyll,有没有办法在include文件中获得帖子降价 我的include文件有以下代码:{{workingPost.content} 当我把它包含在一个降价文件中时,我得到了HTML。我将其传递给另一个需要降价的include,而这是传递HTML 有没有一种方法可以访问文章的标记而不是HTML 根据要求,这里是代码文件。他们所做的就是在网站的右侧获得一篇特色文章,比如。在该链接中,代码是静态HTML。我想通过下面的代码来更新它,使之成为动态的。我已经有了第一个图像捕获代码,当它收到降价。我也想用这段代码
{{workingPost.content}
当我把它包含在一个降价文件中时,我得到了HTML。我将其传递给另一个需要降价的include,而这是传递HTML
有没有一种方法可以访问文章的标记而不是HTML
根据要求,这里是代码文件。他们所做的就是在网站的右侧获得一篇特色文章,比如。在该链接中,代码是静态HTML。我想通过下面的代码来更新它,使之成为动态的。我已经有了第一个图像捕获代码,当它收到降价。我也想用这段代码从文章中抓取第一张图片,但是当代码得到它时,标记已经变成了HTML
包含文件time.html
降价不可用。它会更早渲染,因此不可用 从这听起来好像降价是不可用的 在我的例子中,我让我的first-post-image-src2.html包含处理它被标记或html的情况,如下所示:
{% capture result %}
{% assign htmlAgain= 'empty' %}
{% assign foundImageAgain = 0 %}
{% if include.param contains '![' %}
{% assign imagesAgain = include.param | split:"![" %}
{% for imageAgain in imagesAgain %}
{% if imageAgain contains '](' %}
{% if foundImageAgain == 0 %}
{% assign htmlAgain = imageAgain | split:"](" %}
{% assign htmlAgain = htmlAgain[1] %}
{% assign htmlAgain = htmlAgain | split:")" | first %}
{% assign foundImageAgain = 1 %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if foundImageAgain ==0 %}
{% assign imagesAgain = include.param | split:"<img" %}
{% for imageAgain in imagesAgain %}
{% if imageAgain contains 'src="' %}
{% if foundImageAgain == 0 %}
{% assign htmlAgain = imageAgain | split:'src="' %}
{% assign htmlAgain = htmlAgain[1] %}
{% assign htmlAgain = htmlAgain | split:'"' | first %}
{% assign foundImageAgain = 1 %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{%endcapture%}{{site.url}}{{htmlAgain|strip}}
{%capture result%}
{%assign htmlAgain='空'%}
{%assign FOUNIMAGEREATH=0%}
{%如果include.param包含“![”%}
{%assign imagesAgain=include.param | split:![“%}
{imagesAgain%中的imagesAgain再次为%s}
{%如果图像再次包含']('%}
{%if foundImageReach==0%}
{%assign htmlAgain=IMAGEREATH |拆分:](“%}
{%assign htmlAgain=htmlAgain[1]}
{%assign htmlAgain=htmlAgain | split:”| first%}
{%assign FOUNIMAGEREATH=1%}
{%endif%}
{%endif%}
{%endfor%}
{%endif%}
{%if foundImageReach==0%}
{%assign imagesAgain=include.param | split:“是的,从标记转换为html是Jekyll构建时首先考虑的问题之一。因此,无法在包含中获取标记。绕过此限制的唯一方法是使用插件。但这不是主题
现在回到你的代码。它是复杂和脆弱的
Jekyll具备所有必要的功能来完成您想做的事情。不要尝试使用liquid进行数据处理。使用标签和过滤器,您就不必担心Gem升级会破坏您的站点并使您陷入真正困难的调试
例如:在你的代码中的某个地方,你正在处理一个带有| split:“/>”
过滤器的字符串,该过滤器依赖于kramdown呈现ìmg
标记的方式。如果有一天他们决定删除该标记,你的代码将被破坏
方法是:以尽可能简单的形式将所有数据放在帖子中,然后与简单的Jekyll标记和过滤器一起使用
这个想法是使用和杰基尔
在_config.yml中,定义一个新的摘录分隔符:
excerpt_separator: "<!-- excerpt end -->" # default is "\n\n" = two new lines
在\u layouts/post.html中:
---
excerpt_image_src: "/images/dollarsToBitcoins.jpg"
excerpt_image_alt: "Bitcoin Bulls converts dollars to bitcoins."
popular : true # I'll explain that latter
---
Bitcoin Bulls customers pay in USD but those dollars are all converted to bitcoin.
<!-- excerpt end -->
Bulls, I'm excited to announce...
<div class="panel panel-default">
<div class="panel-heading text-center">
<h3 class="panel-title">Popular</h3>
</div>
{% for p in site.posts %}{% if p.popular == true %}
<div class="panel-body">
<a href="{{p.url}}">
<img src="{{p.excerpt_image_src}}" alt="{{excerpt_image_alt}}">
<p>{{p.excerpt}}</p>
<p class="btn btn-md btn-success" role="button">READ POST</p><br><br>
</a>
</div>
{% endif %}{% endfor %}
</div>
<li>
<a href="{{ post.url }}">
<p>{{post.date | date: "%B %d, %Y" }}</p>
<img src="{{post.excerpt_image_src}}" alt="{{post.excerpt_image_alt}}">
<!-- No need to wrap excerpt in <p> tag, Jekyll does it.
If you want to put your own tag :
<div>{{ post.excerpt | strip_html }}</div> -->
{{ post.excerpt }}
<p class="btn btn-md btn-success" role="button">READ POST</p><br><br>
</a>
</li>
<h1>{{page.title}}</h1>
<div style="color:#666;">by David Smith on {{page.date | date: "%B %d, %Y" }}</div>
{% if page.excerpt_image_src %}
<p><img src="{{page.excerpt_image_src}}" alt="{{page.excerpt_image_alt}}"></p>
{% endif %}
{{ page.content | remove: page.excerpt | markdownify }}
<br>
{{page.title}
David Smith在{page.date | date:%B%d,%Y}
{%if page.extract_image_src%}
{%endif%}
{{page.content | remove:page.extract | markdownify}
由于您没有在post页面中实际显示post摘录,因此它是{{page.content | remove:page.extract | markdownify}
。如果您想显示摘录,它是:{page.content | markdownify}
我不知道为什么,但是page.content返回mardown而不是html,所以过滤器|markdownify
将markdown转换为html
Et voila!比特币牛万岁!我们能看到更多的代码吗?或者可能是一个存储库吗?@DavidJacquel感谢您的关注(以及我的其他qs)我添加了代码,因为它不起作用,也没有签入github repo:谢谢你的史诗般的回答!解析代码突破了标记呈现方式的变化,这是很好的观点。我考虑过将图像放在最前面。这是最清晰的解决方案,但它让我作为一名作家感到困扰。不确定原因:)我知道你可以感觉到,如果把一个图片url放在最前面,你的文章的统一性就被打破了。但是这些数据仍然在文档中。而这个图片作为一个特殊的角色作为文章的“徽标”,所以当涉及到展示(“装饰”)时,拆分帖子徽标、摘录和正文可以让你随心所欲地组合它们“使用模板发布)
<div class="panel panel-default">
<div class="panel-heading text-center">
<h3 class="panel-title">Popular</h3>
</div>
{% for p in site.posts %}{% if p.popular == true %}
<div class="panel-body">
<a href="{{p.url}}">
<img src="{{p.excerpt_image_src}}" alt="{{excerpt_image_alt}}">
<p>{{p.excerpt}}</p>
<p class="btn btn-md btn-success" role="button">READ POST</p><br><br>
</a>
</div>
{% endif %}{% endfor %}
</div>
<li>
<a href="{{ post.url }}">
<p>{{post.date | date: "%B %d, %Y" }}</p>
<img src="{{post.excerpt_image_src}}" alt="{{post.excerpt_image_alt}}">
<!-- No need to wrap excerpt in <p> tag, Jekyll does it.
If you want to put your own tag :
<div>{{ post.excerpt | strip_html }}</div> -->
{{ post.excerpt }}
<p class="btn btn-md btn-success" role="button">READ POST</p><br><br>
</a>
</li>
<h1>{{page.title}}</h1>
<div style="color:#666;">by David Smith on {{page.date | date: "%B %d, %Y" }}</div>
{% if page.excerpt_image_src %}
<p><img src="{{page.excerpt_image_src}}" alt="{{page.excerpt_image_alt}}"></p>
{% endif %}
{{ page.content | remove: page.excerpt | markdownify }}
<br>