Construído sobre base e modelos, assemble-core é usado em montagem para fornecer os recursos básicos e a API necessários para renderizar modelos, trabalhar com o sistema de arquivos e executar tarefas.
Implementadores e hackers podem usar o assemble-core para criar ferramentas de construção ricas e poderosas, sistemas de andaimes de projetos, geradores de documentação ou até mesmo geradores de sites estáticos totalmente personalizados.
(TOC gerado por verbo usando markdown-toc)
Crie o seu próprio:
NPM
Instale com npm:
$ npm install --save assemble-core
fio
Instale com fio:
$ yarn add assemble-core && yarn upgrade
var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ;
ver coleções
Crie uma coleção de visualizações personalizadas:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
Agora você pode adicionar páginas com app.page()
ou app.pages()
:
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;
renderizar
Renderizar uma visualização:
var app = assemble ( ) ;
var view = app . view ( 'foo' , { content : 'Hi, my name is <%= name %>' } ) ;
app . render ( view , { name : 'Brian' } , function ( err , res ) {
console . log ( res . content ) ;
//=> 'Hi, my name is Brian'
} ) ;
Renderize uma visualização de uma coleção:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
app . page ( 'foo' , { content : 'Hi, my name is <%= name %>' } )
. set ( 'data.name' , 'Brian' )
. render ( function ( err , res ) {
console . log ( res . content ) ;
//=> 'Hi, my name is Brian'
} ) ;
Crie um aplicativo assemble
. Esta é a principal função exportada pelo módulo assemble.
Parâmetros
options
{Object} : Opcionalmente, passe opções padrão para usar.Exemplo
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
Assemble possui os seguintes métodos para trabalhar com o sistema de arquivos:
Assemble v0.6.0 tem suporte completo para vinil-fs, então qualquer plugin gulp deve funcionar com assemble.
Use um ou mais padrões glob ou caminhos de arquivo para especificar arquivos de origem.
Parâmetros
glob
{String|Array} : Padrões Glob ou caminhos de arquivo para arquivos de origem.options
{Object} : Opções ou locais para mesclar no contexto e/ou passar para plugins src
Exemplo
app . src ( 'src/*.hbs' , { layout : 'default' } ) ;
Especifique o destino a ser usado para arquivos processados.
Parâmetros
dest
{String|Function} : Caminho do arquivo ou função de renomeação personalizada.options
{Object} : Opções e locais para passar para plugins dest
Exemplo
app . dest ( 'dist/' ) ;
Copie os arquivos de A para B, onde A
é qualquer padrão que seria válido em app.src e B
é o diretório de destino.
Parâmetros
patterns
{String|Array} : Um ou mais caminhos de arquivo ou padrões glob para os arquivos de origem copiarem.dest
{String|Function} : Diretório de destino.returns
{Stream} : O stream é retornado, para que você possa continuar processando os arquivos, se necessário.Exemplo
app . copy ( 'assets/**' , 'dist/' ) ;
Padrões glob ou caminhos para links simbólicos.
Parâmetros
glob
{String | Matriz}Exemplo
app . symlink ( 'src/**' ) ;
Assemble possui os seguintes métodos para executar tarefas e controlar fluxos de trabalho:
Defina uma tarefa. Tarefas são funções armazenadas em um objeto tasks
, permitindo que sejam chamadas posteriormente pelo método build. (a CLI chama build para executar tarefas)
Parâmetros
name
{String} : nome da tarefafn
{Function} : função que é chamada quando a tarefa é executada.Exemplo
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ;
Execute uma ou mais tarefas.
Parâmetros
tasks
{Array|String} : Nome da tarefa ou array de nomes de tarefas.cb
{Function} : função de retorno de chamada que expõe err
Exemplo
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ;
Observe arquivos, execute uma ou mais tarefas quando um arquivo monitorado for alterado.
Parâmetros
glob
{String|Array} : Caminhos de arquivo ou padrões glob.tasks
{Array} : tarefas a serem observadas.Exemplo
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ;
Como o assemble-core difere do assemble?
recurso | núcleo de montagem | montar | notas |
---|---|---|---|
análise de front-matéria | Não | Sim | use assemble ou use parser-front-matter como um middleware .onLoad . |
CLI | Não | Sim | Crie sua própria experiência CLI ou use assemble |
Coleções de modelos integradas | Não | Sim | Use .create() para adicionar coleções |
Mecanismo de modelo integrado | Não | Sim | montar navios com guidão de motor. Use .engine() para registrar qualquer mecanismo de modelo compatível com consolidação. |
assemble-core é um aplicativo independente que foi criado usando aplicativos e plug-ins do conjunto de ferramentas:
Blocos de construção
Plug-ins
Assemble é construído sobre estes grandes projetos:
Executar e revisar testes unitários é uma ótima maneira de se familiarizar com uma biblioteca e sua API. Você pode instalar dependências e executar testes com o seguinte comando:
$ npm install && npm test
Solicitações pull e estrelas são sempre bem-vindas. Para bugs e solicitações de recursos, crie um problema.
Leia o guia de contribuição para obter conselhos sobre problemas de abertura, solicitações pull e padrões de codificação.
Se o Assemble não fizer o que você precisa, informe-nos.
As entradas do changelog são classificadas usando os seguintes rótulos do keep-a-changelog:
added
: para novos recursoschanged
: para alterações na funcionalidade existentedeprecated
: para recursos antes estáveis removidos em versões futurasremoved
: para recursos obsoletos removidos nesta versãofixed
: para qualquer correção de bugRótulos personalizados usados neste changelog:
dependencies
: colide com dependênciashousekeeping
: reorganização de código, pequenas edições ou outras alterações que não se enquadram em nenhuma das outras categorias.Atenção!
Informe-nos se algum dos links de cabeçalho a seguir estiver quebrado. Obrigado!
dependências
view
seja decorada com .toStream()
quando criada pelo aplicativo (em vez de uma coleção). Esta é sem dúvida uma correção de bug, mas pode quebrar o código de alguém. dependências
dependências
.dest()
. dependências
list
s dependências
dependências
handle.once
mudado
dependências
removido
templates
remove a opção renameKey
do método .data
. Use a opção de namespace
. fixo
dependências
.find
e getView
. Nenhuma alteração de API foi feita. Informe-nos se ocorrerem regressões.fixo
List
que fazia com que os auxiliares de coleção explodissemmudado
app.getView()
e app.find()
dependências
removido
queue
foi removido nas coleções. Consulte os modelos para obter detalhes adicionais. dependências
mudado
dependências
limpeza
dependências
renameKey
nem sempre era usado quando definido nas opções do carregador de coleção.dependências
dependências
dependências
dependências
obsoleto
.handleView
agora está obsoleto, use .handleOnce
em vez dissomudado
.mergePartialsSync
foi revertida para .mergePartials
para ser consistente com outras atualizações em .render
e .compile
.adicionado
.log
, .verbose
, etc).mergePartials
para assíncrono. Se você estiver usando .mergePartials
, poderá continuar fazendo isso de forma síncrona usando o método .mergePartialsSync
. .watch
em favor do uso do plugin base-watch. isType
para verificar um tipo de coleção e uma série de melhorias em como as coleções e visualizações são instanciadas e nomeadas. onStream
e preWrite
.(Changelog gerado por helper-changelog)
Jon Schlinkert
Brian Woodward
Direitos autorais © 2017, Jon Schlinkert. MIT
Este arquivo foi gerado por verbo-generate-readme, v0.4.2, em 11 de fevereiro de 2017.