Html 用流畅的语法将每个单词的第一个字母大写?
我正在尝试使用液体语法在MotorveCMS安装中设置SEO。我试图对其进行编码,以便使用{{page.title}}动态地提取页面标题,然后强制它将每个单词的第一个字母大写 我试过这个:Html 用流畅的语法将每个单词的第一个字母大写?,html,liquid,Html,Liquid,我正在尝试使用液体语法在MotorveCMS安装中设置SEO。我试图对其进行编码,以便使用{{page.title}}动态地提取页面标题,然后强制它将每个单词的第一个字母大写 我试过这个: <title> {{ page.title | camelcase }} | {{ site.name }} </title> {{page.title | camelcase}}{{{site.name}} 根据此处的液体语法文档: 但它不起作用。使用大写是可行的,
<title>
{{ page.title | camelcase }} | {{ site.name }}
</title>
{{page.title | camelcase}}{{{site.name}}
根据此处的液体语法文档:
但它不起作用。使用大写
是可行的,但它只大写第一个单词的第一个字母
谢谢 关于您发布的链接,camel案例的作用如下:
{{ 'coming-soon' | camelcase }}
它接受一个单词以“-”分隔的字符串,并将其替换为空。我只有一个问题:你的“页面标题”进展如何?它的字是用“-”分隔的吗?或者你有这样的文字:“这是我页面的标题”?如果是这样,你应该用“这是我页面的标题”来代替
希望这能有所帮助。用CSS设置如何
title {
text-transform:capitalize;
}
编辑:我做了一个关于文本转换的打字错误,现在它是固定的 谢谢你的回复,我在发布这篇文章后就找到了解决办法。现在,我不再调用
page.title
,而是拉取page.seo\u title
,它可以通过MotorveCMS后端以正确的大小写手动输入。我建议使用插件来获得此行为
\u plugins/\u capitalize\u all.rb
:
require 'liquid'
require 'uri'
# Capitalize all words of the input
module Jekyll
module CapitalizeAll
def capitalize_all(words)
return words.split(' ').map(&:capitalize).join(' ')
end
end
end
Liquid::Template.register_filter(Jekyll::CapitalizeAll)
用法:
{{ "mein text" | capitalize_all }}
这对我有用:{page.title | capitalize} 它只大写句子中的第一个单词 我的第一直觉是,这会使每个单词大写,但事实并非如此
来源:有一种方法可以仅使用液体语法来实现这一点。不需要任何插件 将字符串分解为一个数组,并使用for循环和大写过滤器组合,将每个单词的第一个字母大写。如果将其适当地封装在capture语句中,则每个单词中的第一个字符都会大写
{% assign words = "Hi, how are you today?" | split: ' ' %}
{% capture titlecase %}{% for word in words %}{{ word | capitalize }} {% endfor %}{% endcapture %}
{{ titlecase }}
输出:
嗨,你今天好吗
请注意,所有这些都在一行中,在整个capture语句中只有一个空格 这一系列的过滤器一直在为我工作。如果你的标题有5个连续的破折号,或者你不希望下面的字母大写的破折号,你会遇到问题
{% assign headerTitle = page.title | split: " " | join: "-----" | camelcase | split: "-----" | join: " " %}
我试着用
camelize
代替camelcase
,但也没用。camelcase
是一个-所以它在机车CMS中不起作用。这不是他想要的。他希望他的标题中的所有单词都以大写字母开头。对不起,我的意思是:文本转换:大写;这实际上就是我想做的,在《杰基尔》中的标题案例分类。谢谢你的提醒。好主意。。。幸运的是,CSS中的大写字母不像液体中的大写字母那样容易损坏;-)是的,我的OPI中提到了这一点,但实际上它存在着oposite问题。我不希望标题中的每个字都大写。在我的例子中,我从文件名中提取标题,而不是前面的主标题。当我这样做的时候,每一个单词都会大写。这可能是杰基尔的一个错误。因为这是一个令人惊讶的惯例。预期的标题将是写入文件名的标题。我正在研究如何获得实际的文件名标题。在你的例子中,如果你不想把你的邮政编码弄得乱七八糟的话,你可以写一个液体循环并把它包括进去。或者像我一样从文件名中提取标题。谢谢你的回答!请问如何在liquid theme文件夹中添加插件文件?@YaoyuYang据我所知,您只需将其放入您的jekyll站点的\u plugins
目录中,我就知道了。我没有使用Jekyll,我在一个shopify网站上工作,不知道在哪里添加它。@YaoyuYang没有这方面的经验,对不起。我很确定这只是解决方案,尽管使用了or。这是唯一对我有效的东西。好主意!