短片
是否有一项笨拙的任务会缩小html文件中<script type="application/ld+json">
标签中包含的内联json?
LONG VERSION
我正在使用jekyll和grunt。
Jekyll构建创建静态html文件,页面/帖子特定内联json-ld。
json-ld包含在<script type="application/ld+json">
标签中。
我想缩小整个HTML文件。
我在文件上运行了 grunt-contrib-htmlmin (htmlmin)。
Htmlmin很好地缩小了所有内容:
将<script type="application/ld+json">
标记放入1行之前;以及
将<script type="application/ld+json">
标记放入1行后。
<script type="application/ld+json">
标记及其内容已被忽略。
Htmlmin有一个名为MinifyJS的选项“在脚本元素和*属性上缩小Javascript(使用UglifyJS)”。
我已尝试将该选项设置为true和false,并且完全没有选项。 json-ld标签仍然被忽略。
我在在线缩小器中测试了json-ld语法。它将代码(~100行)作为一行返回。
我搜索了其他Grunt任务。看起来还有一些其他的html minifiers,但似乎没有像grunt-contrib-htmlmin那样开发和支持。我怀疑他们会有同样的问题,但如果我没有得到答复,我会考虑测试其他问题。
我是Grunt的新手。
任何人都可以建议可以处理此问题的Grunt任务吗?
或提供有关如何执行此操作的指导?
感谢您提前获得任何帮助! :)
答案 0 :(得分:2)
我赢得了这个(yay)的杂草奖,但更好的是:我有一个答案!
Grunt-contrib-htmlmin 有一个名为processScripts
的选项,用于指定要处理的脚本类型。通过指定application/ld+json
,您将强制它处理Json-LD。
这对大多数人来说可能是显而易见的,现在对我来说很明显,但是当我第一次问这个时,我并没有这样做。这表明,一旦你理解了某些东西,你就会在提出解决方案时得到更好的解决 - 而且我的陡峭&#34;编码&#34;学习曲线终于得到了回报!