我正在尝试使用液体语法在LocomotiveCMS安装中设置SEO.我正在尝试对其进行编码,以便使用{{page.title}}动态提取页面标题,然后强制它将每个单词的第一个字母大写.
我试过这个:
<title>
{{ page.title | camelcase }} | {{ site.name }}
</title>
Run Code Online (Sandbox Code Playgroud)
基于此处的液体语法文档:http://docs.shopify.com/themes/liquid-basics/output#camelize
但它不起作用.使用capitalize作品,但它只会大写第一个单词的第一个字母.
谢谢!
tak*_*ky2 24
有一种方法可以使用Liquid语法来实现这一点.不需要任何插件.
将您的单词串分解为一个数组,并使用for循环和大写过滤器来大写每个单词的第一个字母.如果你在捕获语句中适当地封装它,那么每个单词中的第一个字符都是大写的.
{% assign words = "Hi, how are you today?" | split: ' ' %}
{% capture titlecase %}{% for word in words %}{{ word | capitalize }} {% endfor %}{% endcapture %}
{{ titlecase }}
Run Code Online (Sandbox Code Playgroud)
输出:
你好,你今天怎样?
请注意,所有这些都在一行上,整个捕获语句中只出现一次空格!
AsT*_*TeR 22
我建议使用插件来获取此行为
_plugins/_capitalize_all.rb:
require 'liquid'
require 'uri'
# Capitalize all words of the input
module CapitalizeAll
def capitalize_all(words)
return words.split(' ').map(&:capitalize).join(' ')
end
end
Liquid::Template.register_filter(CapitalizeAll)
Run Code Online (Sandbox Code Playgroud)
用法:
{{ "mein text" | capitalize_all }}
Run Code Online (Sandbox Code Playgroud)
Ty *_*ayn 10
如何用CSS设置它?
title {
text-transform:capitalize;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我做了一个关于文本转换的错误,现在它已修复;
| 归档时间: |
|
| 查看次数: |
9089 次 |
| 最近记录: |