Construido sobre la base y las plantillas, ensamblar-core se utiliza en ensamblar para proporcionar las características básicas y la API necesarias para representar plantillas, trabajar con el sistema de archivos y ejecutar tareas.
Los implementadores y piratas informáticos pueden utilizar ensamblador para crear herramientas de compilación ricas y potentes, sistemas de andamiaje de proyectos, generadores de documentación o incluso generadores de sitios estáticos completamente personalizados.
(TOC generado por el verbo usando markdown-toc)
Crea el tuyo propio:
MNP
Instalar con npm:
$ npm install --save assemble-core
hilo
Instalar con hilo:
$ yarn add assemble-core && yarn upgrade
var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ;
ver colecciones
Cree una colección de vistas personalizada:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
Ahora puedes agregar páginas con app.page()
o app.pages()
:
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;
prestar
Representar una vista:
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'
} ) ;
Renderizar una vista de una colección:
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'
} ) ;
Cree una aplicación assemble
. Esta es la función principal exportada por el módulo de ensamblaje.
parámetros
options
{Objeto} : Opcionalmente, pase las opciones predeterminadas para usar.Ejemplo
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
Assemble tiene los siguientes métodos para trabajar con el sistema de archivos:
Assemble v0.6.0 tiene soporte completo para vinil-fs, por lo que cualquier complemento gulp debería funcionar con ensamblado.
Utilice uno o más patrones globales o rutas de archivos para especificar archivos de origen.
parámetros
glob
{String|Array} : patrones globales o rutas de archivos a los archivos fuente.options
{Objeto} : Opciones o locales para fusionar en el contexto y/o pasar a complementos src
Ejemplo
app . src ( 'src/*.hbs' , { layout : 'default' } ) ;
Especifique el destino que se utilizará para los archivos procesados.
parámetros
dest
{Cadena|Función} : Ruta del archivo o función de cambio de nombre personalizada.options
{Objeto} : opciones y locales para pasar a los complementos dest
Ejemplo
app . dest ( 'dist/' ) ;
Copie archivos de A a B, donde A
es cualquier patrón que sea válido en app.src y B
es el directorio de destino.
parámetros
patterns
{String|Array} : una o más rutas de archivo o patrones globales para copiar los archivos de origen.dest
{Cadena|Función} : Directorio de destino.returns
{Stream} : se devuelve la secuencia, por lo que puede continuar procesando archivos si es necesario.Ejemplo
app . copy ( 'assets/**' , 'dist/' ) ;
Patrones globales o rutas para enlaces simbólicos.
parámetros
glob
{Cadena|Matriz}Ejemplo
app . symlink ( 'src/**' ) ;
Assemble tiene los siguientes métodos para ejecutar tareas y controlar flujos de trabajo:
Definir una tarea. Las tareas son funciones que se almacenan en un objeto tasks
, lo que permite que el método de compilación las llame más tarde. (la CLI llama a compilar para ejecutar tareas)
parámetros
name
{String} : nombre de la tareafn
{Función} : función que se llama cuando se ejecuta la tarea.Ejemplo
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ;
Ejecute una o más tareas.
parámetros
tasks
{Array|String} : nombre de la tarea o conjunto de nombres de tareas.cb
{Función} : función de devolución de llamada que expone err
Ejemplo
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ;
Observe archivos, ejecute una o más tareas cuando cambie un archivo observado.
parámetros
glob
{String|Array} : rutas de archivos o patrones globales.tasks
{Array} : Tarea(s) a observar.Ejemplo
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ;
¿En qué se diferencia el núcleo ensamblado del ensamblado?
característica | núcleo de ensamblaje | armar | notas |
---|---|---|---|
análisis preliminar | No | Sí | use ensamblar o use parser-front-matter como middleware .onLoad . |
CLI | No | Sí | Cree su propia experiencia CLI o utilice ensamblar |
Colecciones de plantillas integradas | No | Sí | Utilice .create() para agregar colecciones |
Motor de plantillas incorporado | No | Sí | montar barcos con motor-manillar. Utilice .engine() para registrar cualquier motor de plantilla compatible con la consolidación. |
ensamblar-core es una aplicación independiente que se creó utilizando aplicaciones y complementos del conjunto de herramientas:
Bloques de construcción
Complementos
Assemble se basa en estos grandes proyectos:
Ejecutar y revisar pruebas unitarias es una excelente manera de familiarizarse con una biblioteca y su API. Puede instalar dependencias y ejecutar pruebas con el siguiente comando:
$ npm install && npm test
Las solicitudes de extracción y las estrellas siempre son bienvenidas. Para errores y solicitudes de funciones, cree un problema.
Lea la guía de contribución para obtener consejos sobre problemas de apertura, solicitudes de extracción y estándares de codificación.
Si Assemble no hace lo que necesita, háganoslo saber.
Las entradas del registro de cambios se clasifican utilizando las siguientes etiquetas de keep-a-changelog:
added
: para nuevas característicaschanged
: para cambios en la funcionalidad existentedeprecated
: para funciones que alguna vez fueron estables, se eliminarán en próximas versionesremoved
: para funciones obsoletas eliminadas en esta versiónfixed
: para cualquier corrección de erroresEtiquetas personalizadas utilizadas en este registro de cambios:
dependencies
: elimina las dependenciashousekeeping
: reorganización del código, ediciones menores u otros cambios que no encajan en una de las otras categorías.¡Aviso!
Háganos saber si alguno de los siguientes enlaces de encabezado está roto. ¡Gracias!
dependencias
view
esté decorada con .toStream()
cuando la crea la aplicación (en lugar de una colección). Podría decirse que esto es una corrección de errores, pero podría romper el código de alguien. dependencias
dependencias
.dest()
. dependencias
list
dependencias
dependencias
handle.once
cambió
dependencias
remoto
templates
elimina la opción renameKey
del método .data
. Utilice la opción de namespace
en su lugar. fijado
dependencias
.find
y getView
. No se realizaron cambios en la API. Háganos saber si se producen regresiones.fijado
List
que causaba que los ayudantes de colección explotarancambió
app.getView()
y app.find()
dependencias
remoto
queue
en las colecciones. Consulte las plantillas para obtener detalles adicionales. dependencias
cambió
dependencias
gestión interna
dependencias
renameKey
cuando se definió en las opciones del cargador de colecciones.dependencias
dependencias
dependencias
dependencias
obsoleto
.handleView
ahora está en desuso, use .handleOnce
en su lugarcambió
.mergePartialsSync
se revirtió a .mergePartials
para que sea coherente con otras actualizaciones en .render
y .compile
.agregado
.log
, .verbose
, etc.).mergePartials
para que fuera asíncrono. Si actualmente utiliza .mergePartials
, puede continuar haciéndolo de forma sincrónica utilizando el método .mergePartialsSync
. .watch
a favor del uso del complemento base-watch. isType
para verificar un tipo de colección y una serie de mejoras en cómo se crean instancias y nombres de colecciones y vistas. onStream
y preWrite
.(Registro de cambios generado por helper-changelog)
Jon Schlinkert
Brian Woodward
Copyright © 2017, Jon Schlinkert. MIT
Este archivo fue generado por verb-generate-readme, v0.4.2, el 11 de febrero de 2017.