我对模式实验室非常陌生,但我觉得如果这不是一个特性,它应该是。
本质上,我想模型模式实验室后,一个真正的网站。在大多数(或许多)实际站点中,使用模板引擎是常见的。对于我使用过的任何主流技术(rails、django、ASP.Net或带有工具栏的节点)都是如此。在本例中,我将使用工具栏,因为它最接近于模式Lab的胡子语法。
模板引擎的主要功能之一是建立一个基础布局,其中可能包括<html>、<head>、<meta>、<body>、{{> header }}和{{> footer }}。然后,您有像{{{ body }}}或{{ title }}这样的动态内容块。
模式实验室在使用{{ title }}、页面特定的json或参数处理动态_data.json变量方面做得很好。但是,为了使正文的全部内容动态化,您必须在json文件中写入所有内容,或者通过模式参数传递它。但这将限制您的内容,因为您不能将其他部分作为参数传递,也不能将它们存储在json中。
另一种选择可以是创建一组伪模式,例如:
<div class="main-container">
{{> organisms-header }}
<div class="page-content">
{{# first }}
{{> organisms-first-page }}
{{/ first }}
{{# second }}
{{> organisms-second-page }}
{{/ second }}
{{# third }}
{{> organisms-third-page }}
{{/ third }}
</div>
{{> organisms-footer }}
</div>但是那样的话,你就得把你想用的每一页都嵌套起来。
希望这是有帮助的,也是相关的。希望我只是错过了一些超级明目张胆的东西
发布于 2015-12-11 18:05:03
布莱恩-这里是模式实验室节点的维护者。我会尽我最大的努力为模式实验室发言,但我最彻底的熟悉是在节点版本。
模式实验室利用模板语言--是的--来构建层次化的模式,利用它打算支持的原子设计原则。模式实验室,然而,不是一个成熟的模板引擎,有你提到的动态身体注入,ala或ASP.NET。
您对peudo模式的评估并不完全,或者至少,不一定像您所做的那样复杂。如果您仔细查看该文档,您将看到单个.json文件变体是创建同一个模板或页面的单独实例的原因。
所以而不是
{{# first }}
{{> organisms-first-page }}
{{/ first }}
{{# second }}
{{> organisms-second-page }}
{{/ second }}
{{# third }}
{{> organisms-third-page }}
{{/ third }}你可以
{{> organisms-page }}然后在日期中动态地交换单个页面。但是,这实际上是用于设计和开发的,而不是生产配置,除非您设计了一些东西来以您喜欢的方式为这些结果服务。想象一下,如果像patterns/04-pages/01-blog.json这样的文件是一个实际的博客文章,任何类似于123-blog-post-name.json的同级博客文章都会与博客模板交换数据。希望这能解释一下..。
我已经概述了我如何使用模式实验室设计、构建和维护一个生产Jekyll站点:http://www.brianmuenzenmeyer.com/using-patternlab-to-design-build-and-maintain-a-website/。它成功地将模式实验室的设计/模块化优势与Jekyll/Github页面的执行结合起来。
秘密酱汁是利用模式出口(在文章中详细介绍)与jeykll包括。这是我的布局文件的节选
<body>
{% include organisms-header.html %}
<main role="main">
{{ content }}
</main>
<footer>
{% include organisms-footer.html %}
</footer>
...
</body>所以,这并不完美,但我相信我可以代表布拉德和戴夫说,模式实验室并不意味着要成为生产站点的操作布局平台,它的动态内容交付可以用替代层次模板+部分集的上下文来替代.json文件。
发布于 2015-12-14 18:46:35
https://stackoverflow.com/questions/34229083
复制相似问题