标签: assemble

如何提供"下一篇文章"的链接

在我正在玩的博客项目中,我有"帖子".这是我的Gruntfile中的汇编块:

assemble: {
  options: {
    layout: ['src/layouts/default.hbs'],
    data: ['src/data/*.{json,yml}']
  },
  pages: {
    src: ['src/posts/**/*.md'],
    dest: 'tmp/posts/'
  }
}    
Run Code Online (Sandbox Code Playgroud)

每个帖子都用markdown表示,带有一些YFM,如下所示:

---
date: '20131129'
latitude: 7.113309999999999
longitude: -73.120468
city: Bucaramanga
country: Colombia


---

# A familiar face...

And then more blog content here...
Run Code Online (Sandbox Code Playgroud)

现在,在我default.hbs,我有标准的东西.我做了一个快速{{inspect page}}来看看我有什么变数.我可以在那里看到,我有一些可能在这件事上有用的信息:

 "index": 46,
 "next": 47,
 "prev":45
Run Code Online (Sandbox Code Playgroud)

我可以想办法通过编写一个自定义手柄助手来处理这个问题,但似乎存在这些变量,这个功能已经存在于某个地方......我只是找不到它.我想到的解决方案似乎过于复杂.

谢谢你!

javascript gruntjs assemble

5
推荐指数
1
解决办法
135
查看次数

如何使用基于开发/构建上下文的Assemble包含不同的内容部分?

我跳进了assemble/Grunt尝试改进我为我使用的CMS创建模板的工作流程.我想弄清楚的是:是否可以在开发时(即在"grunt watch"期间)在我的模板中使用块/部分HTML内容,但是然后用我在CMS中需要的include标记替换它最终的HTML输出(即当我做"grunt build"时).像下面这样的东西?

<div id="content">
{{! if in dev context, include this partial }}
{{#if}}
  {{> body }}
{{! if in build context, include this partial }}
{{else}}
  {{> body-cms-tag }}
{{/if}}
</div>
Run Code Online (Sandbox Code Playgroud)

如果在dev/watch模式下,将输出

<div id="content">
  <h1>Test Headline</h1>
  <p>This is just test content.</p>
</div<
Run Code Online (Sandbox Code Playgroud)

但在构建模式下,会输出

<div id="content">
  <?php echo $mContext['bodyElements']; ?>
</div>
Run Code Online (Sandbox Code Playgroud)

这是可能的,使用Handlebars语法,汇编助手或Grunt任务(类似于grunt-usemin?)

handlebars.js gruntjs assemble grunt-assemble

5
推荐指数
1
解决办法
688
查看次数

如何使用带有YAML前端物品的把手#each助手

我正在使用assemble.io自动化我的前端开发,并希望使用YAML前端内容来创建一个简单的导航菜单.

我想要实现的HTML是这样的:

<li><a href="#link1">Link1</a></li>
<li><a href="#link2">Link2</a></li>
Run Code Online (Sandbox Code Playgroud)

我认为正确的把手标记是这样的:

      {{#each sublinks}}
      <li><a href="#{{section}}">{{section}}</li>
      {{/each}}
Run Code Online (Sandbox Code Playgroud)

但是什么是正确的YFM?我已经开始使用它,但知道语法不正确:

---
sublinks:
  - section: link1, link2
---
Run Code Online (Sandbox Code Playgroud)

yaml handlebars.js assemble

4
推荐指数
1
解决办法
2850
查看次数

grunt-processhtml定义可变数量的文件

我正在使用grunt-processhtml在生产之前替换一些东西.诀窍是,我有一个可变数量的文件,通过汇编吐出来,我真的想保持我的数据与我的gruntfile分开.我似乎必须做一些事情来声明每个需要操作的文件:

    processhtml: {
      deploy: {
        options: {
          process: true,
        },
        files: {
          '/one_file.html': ['/one_file.html'],
          '/two_file.html': ['/two_file.html'],
          '/red_file.html': ['/red_file.html'],
          '/blue_file.html': ['/blue_file.html']
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

你可以想象,这可能会非常麻烦.

我知道,对于大多数grunt特定的节点模块,你可以使用一些通配技术,所以我修改了它.

    processhtml: {
      deploy: {
        options: {
          process: true,
        },
        files: {
          '/**.html': ['/**.html']
        }
      }
    },
Run Code Online (Sandbox Code Playgroud)

但这似乎也不起作用......有什么建议吗?

编辑:添加更多背景信息(如果我正在为树木丢失森林)

问题

我的开发环境有几个主要目标.

  • 使用非压缩文件在本地查看页面以进行调试(适用于html,css和js)
  • 我旅行时完全脱机工作的能力,而且经常没有互联网.这也可以使页面重新加载更快.我遇到的一些问题,以及为什么我来到processhtml:
    • 使用CDN来提供像jQuery这样的东西.
    • 谷歌字体:如果我引用谷歌字体,它会根据我的浏览器现场生成CSS ...但由于我有我在本地安装的字体,我只是想使用它们,所以我需要一种保持插入谷歌字体的方法.
  • 我希望能够在部署之前压缩和连接每个资产.

我是怎么回事(无论好坏)

所以,现在我将告诉你我设计的系统.我的项目中有三个顶级目录,其中有三个不同的阶段

  1. src:这是我的所有汇编文件都存在的地方.在这里,我有大量的hbs文件和部分,因此保持我的标记干燥,我的最小数据在YAML(我喜欢,因为我可以让同事填写它).

  2. dev:一旦文件被"汇编",它们就会在这个目录中结束.这里它们是未压缩的,带有livereload的连接服务器从这里运行.

  3. 部署:此时,我有一个名为'preflight'的繁琐任务,它压缩了我的所有文件,并摆脱了任何残余,留下了一个超级时尚的流线型文件夹准备好另一个rsync任务将其发送到生产.

无论如何,如果你有不同的方法来实现这一目标.我很想听听:)

谢谢!

gruntjs assemble

4
推荐指数
1
解决办法
2208
查看次数

组装:注册车把辅助功能

我正在使用装配了车把1.3.0的装配 0.4.17.
我正在尝试添加一个自定义手柄助手,如此处所述.

所以我把它添加到我的Gruntfile(在文件的底部,在...之外module.exports = function(grunt) {)

Gruntfile.js

module.exports.asdf = function (str)  {  return 'asdf here!'; };
Run Code Online (Sandbox Code Playgroud)

并将其添加到
index.hbs中

{{#asdf}}
  bobo
{{/asdf}}
Run Code Online (Sandbox Code Playgroud)

我建议asdf here!将在生成的html中显示,但它不会,而是只打印一个空白行.我也试过这个module.exports.register = function (Handlebars, options)方法,但是这个方法也不行.我是否需要添加其他东西才能添加此车把助手?

我是Assemble和grunt and handlebar的新手,所以我可能只是错过了那个显而易见的东西

template-engine handlebars.js assemble grunt-assemble

4
推荐指数
1
解决办法
1872
查看次数

使用组合混合动态/预编译车把模板

我正在使用Grunt和Assemble在我的网站上创建预编译模板,但我需要根据存储在客户端存储中的信息动态创建一些部分.有没有办法从预编译中免除模板的各个部分?

handlebars.js assemble grunt-assemble

3
推荐指数
1
解决办法
1755
查看次数

Grunt - 没有找到任务"组装"

哈文一直在玩这个玩几个小时

的package.json

{
  "name": "compile-tests",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "grunt": "^0.4.5",
    "assemble": "^0.7.3"
  }
}
Run Code Online (Sandbox Code Playgroud)

Gruntfile.js

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        assemble: {
            options: {
                flatten: true,
                layout: "../templates/1.hbs"
            },
            pages: {
                files: {
                    '../dist' : ['../pages/*.hbs']
                }
            }

        }
    });
    grunt.loadNpmTasks('assemble');
    grunt.registerTask('default', ['assemble']);
};
Run Code Online (Sandbox Code Playgroud)

尝试删除并重新安装所有模块几次.并尝试了不同的版本,有趣的是本文中提到的版本http://blog.parkji.co.uk/2013/07/06/building-a-static-site-using-grunt-and-assemble.html 似乎工作,但后来我得到其他问题,因为那些版本已经过时了.

错误

$ Grunt
>> Local Npm module …
Run Code Online (Sandbox Code Playgroud)

gruntjs assemble

3
推荐指数
1
解决办法
1818
查看次数

将外部文件内容导入车把

我希望有人能给我一个提示。我想将一个文件中的内容导入到我的车把文件中。是否可以?就我而言,它是一个 css/scss 文件(例如 reset.css),我想将其样式导入到我的车把文件(styleReset.hbs)中。

“styleReset.hbs”应该看起来像这样:

<style type="text/css">
    <!-- import of reset.css content -->
</style>
Run Code Online (Sandbox Code Playgroud)

PS 我不想使用 -tag

css handlebars.js assemble

3
推荐指数
1
解决办法
1万
查看次数

使用Assemble从循环内部访问全局变量

使用Grunt.js 0.4和Assemble 0.3.78

如何从循环内部访问"page.filename"全局变量?

(调试)

<ul>
  {{#mysite.menu}}
    <li>{{page.filename}}</li>
  {{/mysite.menu}}
</ul>
Run Code Online (Sandbox Code Playgroud)

(实际上)建立一个菜单,试试这个:

{{#mysite.menu}}
  <li {{#is page.filename url}} class="on" {{/is}}>{{name}}</li>
{{/mysite.menu}}
Run Code Online (Sandbox Code Playgroud)

其中urlname各自的属性mysite.menu

templates handlebars.js gruntjs assemble

2
推荐指数
1
解决办法
1718
查看次数

汇编 - 将字符串列表渲染为Handlebars partial

使用汇编我实际上坚持一个我无法自我解决的问题.

widgetsYAML前端部分定义了一堆,并包括一部分{{> aside}}.直到这里一切都按预期工作!

我现在要做的是获取列表小部件并在旁边模板中呈现我的部分内容.但无论如何它不能按预期工作.

SRC /模板/布局/布局default.hbs

---
layout: src/templates/layouts/layout-default.hbs
widgets:
    - widget_link-list
    - widget_welcome-message
---

<section role="main">
    <h1>Template TwoCol</h1>
    {{> body }}
</section>
<aside role="complementary">
    {{> aside}}
</aside>
Run Code Online (Sandbox Code Playgroud)

SRC /模板/谐音/ aside.hbs

{{#each widgets}}
    {{.}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

使用{{.}}打印我上面定义的列表作为字符串.但如果我尝试这样做{{> .}},控制台会丢弃以下警告:

警告:部分.无法找到使用--force继续.

gruntjs assemble

2
推荐指数
1
解决办法
1230
查看次数

找不到Grunt汇编模块

我只是想用汇编来运行一个快速的例子.我按照说明操作安装程序,输出就在这里

npm install assemble --save-dev
npm WARN package.json ocscommerce-frontend@0.1.0 No description
npm WARN package.json ocscommerce-frontend@0.1.0 No repository field.
npm WARN package.json ocscommerce-frontend@0.1.0 No README data
npm WARN package.json ocscommerce-frontend@0.1.0 No license field.
npm WARN engine get-stdin@5.0.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.32","npm":"2.14.2"})
|
> fsevents@1.0.6 install /Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/node_modules/assemble-core/node_modules/base-tasks/node_modules/composer/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/node_modules/assemble-core/node_modules/base-tasks/node_modules/composer/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v11-darwin-x64/fse.node" is installed via remote
assemble@0.7.0 node_modules/assemble
??? success-symbol@0.1.0
??? try-open@0.1.0
??? time-stamp@0.1.3
??? word-wrap@1.1.0
??? lazy-cache@1.0.3
??? base-cli@0.4.0
??? minimist@1.2.0
??? isobject@2.0.0 (isarray@0.0.1)
??? opn@3.0.3 (object-assign@4.0.1)
??? common-middleware@0.2.2 …
Run Code Online (Sandbox Code Playgroud)

gruntjs assemble

1
推荐指数
1
解决办法
410
查看次数

任务:app:copyReactNativeVectorIconFonts 失败

你好,我正在编写一个react-native,其中assembleDebug可以工作,但assembleRealease则不行。我不知道为什么会发生这种情况&我在互联网上的解决方案不起作用

我能做些什么?

> Task :app:copyReactNativeVectorIconFonts FAILED                                                                                                  

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':app:copyReactNativeVectorIconFonts' (type 'Copy').
  - Gradle detected a problem with the following location: 'D:\Cosas\UTN\APPMOVIL\HayEquipo\hayEquipo\android\app\build\intermediates\ReactNativeVectorIcons\fonts'.

    Reason: Task ':app:lintVitalReportRelease' uses this output of task ':app:copyReactNativeVectorIconFonts' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':app:copyReactNativeVectorIconFonts' as an input of …
Run Code Online (Sandbox Code Playgroud)

android gradle apk assemble react-native

1
推荐指数
1
解决办法
3399
查看次数