首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式实验室模板

模式实验室模板
EN

Stack Overflow用户
提问于 2015-12-11 17:22:23
回答 2查看 1.7K关注 0票数 1

我对模式实验室非常陌生,但我觉得如果这不是一个特性,它应该是。

本质上,我想模型模式实验室后,一个真正的网站。在大多数(或许多)实际站点中,使用模板引擎是常见的。对于我使用过的任何主流技术(rails、django、ASP.Net或带有工具栏的节点)都是如此。在本例中,我将使用工具栏,因为它最接近于模式Lab的胡子语法。

模板引擎的主要功能之一是建立一个基础布局,其中可能包括<html><head><meta><body>{{> header }}{{> footer }}。然后,您有像{{{ body }}}{{ title }}这样的动态内容块。

模式实验室在使用{{ title }}、页面特定的json或参数处理动态_data.json变量方面做得很好。但是,为了使正文的全部内容动态化,您必须在json文件中写入所有内容,或者通过模式参数传递它。但这将限制您的内容,因为您不能将其他部分作为参数传递,也不能将它们存储在json中。

另一种选择可以是创建一组伪模式,例如:

代码语言:javascript
复制
<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>

但是那样的话,你就得把你想用的每一页都嵌套起来。

希望这是有帮助的,也是相关的。希望我只是错过了一些超级明目张胆的东西

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-11 18:05:03

布莱恩-这里是模式实验室节点的维护者。我会尽我最大的努力为模式实验室发言,但我最彻底的熟悉是在节点版本

模式实验室利用模板语言--是的--来构建层次化的模式,利用它打算支持的原子设计原则。模式实验室,然而,不是一个成熟的模板引擎,有你提到的动态身体注入,ala或ASP.NET。

您对peudo模式的评估并不完全,或者至少,不一定像您所做的那样复杂。如果您仔细查看该文档,您将看到单个.json文件变体是创建同一个模板或页面的单独实例的原因。

所以而不是

代码语言:javascript
复制
   {{# first }}
        {{> organisms-first-page }}
    {{/ first }}
    {{# second }}
        {{> organisms-second-page }}
    {{/ second }}
    {{# third }}
        {{> organisms-third-page }}
    {{/ third }}

你可以

代码语言:javascript
复制
        {{> 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包括。这是我的布局文件的节选

代码语言:javascript
复制
<body>

{% include organisms-header.html %}

<main role="main">
  {{ content }}
</main>

<footer>
  {% include organisms-footer.html %}
</footer>
...
</body>

所以,这并不完美,但我相信我可以代表布拉德和戴夫说,模式实验室并不意味着要成为生产站点的操作布局平台,它的动态内容交付可以用替代层次模板+部分集的上下文来替代.json文件。

票数 4
EN

Stack Overflow用户

发布于 2015-12-14 18:46:35

这是一个更多的问题与胡子比它是模式实验室。PHP版本和Node版本只对每种语言分别使用了胡子库。不幸的是,在官方规范中没有布局的概念。模式参数是在胡子本身之外实现的。

随着PHP和Node版本变得更加模块化,我想我们将看到模式实验室从本机支持的模板语言走向模式实验室。例如,现在有一个小枝版版本的模式实验室。它使用“扩展”作为处理布局的一种方式。对不起,我没有足够的代表发布一个链接到一个例子。

所以从某种意义上说,这是一个即将到来的特性,但它不是由模式实验室团队直接实现的。FWIW,我认为布局是以这种方式实现的,这违背了模式实验室的基本原则,但这取决于开发人员如何最好地使用这个工具。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34229083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档