Construit sur la base et les modèles, assemble-core est utilisé dans assemble pour fournir les fonctionnalités de base et l'API nécessaires au rendu des modèles, à l'utilisation du système de fichiers et à l'exécution de tâches.
Les développeurs et les pirates peuvent utiliser assemble-core pour créer des outils de construction riches et puissants, des systèmes d'échafaudage de projet, des générateurs de documentation ou même vos générateurs de sites statiques entièrement personnalisés.
(TOC générée par le verbe en utilisant markdown-toc)
Créez le vôtre :
MNP
Installer avec npm :
$ npm install --save assemble-corefil
Installer avec du fil :
$ yarn add assemble-core && yarn upgrade var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ; voir les collections
Créez une collection de vues personnalisée :
var app = assemble ( ) ;
app . create ( 'pages' ) ; Vous pouvez maintenant ajouter des pages avec app.page() ou app.pages() :
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;rendre
Rendre une vue :
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'
} ) ;Rendre une vue à partir d'une collection :
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'
} ) ; Créez une application assemble . C'est la fonction principale exportée par le module assemble.
Paramètres
options {Object} : transmettez éventuellement les options par défaut à utiliser.Exemple
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;Assemble propose les méthodes suivantes pour travailler avec le système de fichiers :
Assemble v0.6.0 prend entièrement en charge vinyl-fs, donc tout plugin gulp devrait fonctionner avec assemble.
Utilisez un ou plusieurs modèles globaux ou chemins de fichiers pour spécifier les fichiers source.
Paramètres
glob {String|Array} : modèles Glob ou chemins de fichiers vers les fichiers sources.options {Object} : Options ou locales à fusionner dans le contexte et/ou passer aux plugins srcExemple
app . src ( 'src/*.hbs' , { layout : 'default' } ) ; Spécifiez la destination à utiliser pour les fichiers traités.
Paramètres
dest {String|Function} : Chemin du fichier ou fonction de renommage personnalisée.options {Object} : Options et locales à transmettre aux plugins destExemple
app . dest ( 'dist/' ) ; Copiez les fichiers de A vers B, où A est n'importe quel modèle qui serait valide dans app.src et B est le répertoire de destination.
Paramètres
patterns {String|Array} : Un ou plusieurs chemins de fichiers ou modèles globaux pour les fichiers sources à copier.dest {String|Function} : Répertoire de destination.returns {Stream} : Le flux est renvoyé, vous pouvez donc continuer le traitement des fichiers si nécessaire.Exemple
app . copy ( 'assets/**' , 'dist/' ) ; Modèles Glob ou chemins pour les liens symboliques.
Paramètres
glob {Chaîne | Tableau}Exemple
app . symlink ( 'src/**' ) ;Assemble dispose des méthodes suivantes pour exécuter des tâches et contrôler les flux de travail :
Définir une tâche. Les tâches sont des fonctions stockées sur un objet tasks , permettant de les appeler ultérieurement par la méthode build. (la CLI appelle build pour exécuter des tâches)
Paramètres
name {String} : Nom de la tâchefn {Fonction} : fonction appelée lors de l'exécution de la tâche.Exemple
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ; Exécutez une ou plusieurs tâches.
Paramètres
tasks {Array|String} : Nom de la tâche ou tableau de noms de tâches.cb {Function} : fonction de rappel qui expose errExemple
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ; Surveillez les fichiers, exécutez une ou plusieurs tâches lorsqu'un fichier surveillé change.
Paramètres
glob {String|Array} : chemins de fichiers ou modèles globaux.tasks {Array} : Tâche(s) à surveiller.Exemple
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ; En quoi l'assemblage-noyau diffère-t-il de l'assemblage ?
| fonctionnalité | assembler-noyau | assembler | remarques |
|---|---|---|---|
| analyse préliminaire | Non | Oui | utilisez assemble ou utilisez parser-front-matter comme middleware .onLoad . |
| CLI | Non | Oui | Créez votre propre expérience CLI ou utilisez assemble |
| Collections de modèles intégrées | Non | Oui | Utilisez .create() pour ajouter des collections |
| Moteur de modèles intégré | Non | Oui | assembler des navires avec des guidons de moteur. Utilisez .engine() pour enregistrer n’importe quel moteur de modèle compatible avec la consolidation. |
assemble-core est une application autonome créée à l'aide d'applications et de plugins de la suite Toolkit :
Blocs de construction
Plugins
Assemble est construit sur la base de ces grands projets :
Exécuter et réviser des tests unitaires est un excellent moyen de se familiariser avec une bibliothèque et son API. Vous pouvez installer des dépendances et exécuter des tests avec la commande suivante :
$ npm install && npm testLes demandes de tirage et les étoiles sont toujours les bienvenues. Pour les bogues et les demandes de fonctionnalités, veuillez créer un problème.
Veuillez lire le guide de contribution pour obtenir des conseils sur l'ouverture des problèmes, les demandes d'extraction et les normes de codage.
Si Assemble ne fait pas ce dont vous avez besoin, veuillez nous le faire savoir.
Les entrées du journal des modifications sont classées à l'aide des étiquettes suivantes de keep-a-changelog :
added : pour les nouvelles fonctionnalitéschanged : pour les modifications des fonctionnalités existantesdeprecated : pour les fonctionnalités une fois stables supprimées dans les versions à venirremoved : pour les fonctionnalités obsolètes supprimées dans cette versionfixed : pour toute correction de bugÉtiquettes personnalisées utilisées dans ce journal des modifications :
dependencies : bumps dépendanceshousekeeping : réorganisation du code, modifications mineures ou autres modifications qui ne rentrent dans aucune des autres catégories.Attention !
Veuillez nous faire savoir si l'un des liens de rubrique suivants est rompu. Merci!
dépendances
view est décorée avec .toStream() lorsqu'elle est créée par l'application (au lieu d'une collection). Il s'agit sans doute d'une correction de bug, mais cela pourrait casser le code de quelqu'un. dépendances
dépendances
.dest() . dépendances
list dépendances
dépendances
handle.oncemodifié
dépendances
supprimé
templates supprime l'option renameKey de la méthode .data . Utilisez plutôt l’option namespace . fixé
dépendances
.find et getView . Aucune modification de l'API n'a été apportée. Veuillez nous faire savoir si des régressions se produisent.fixé
List qui faisait exploser les aides à la collectemodifié
app.getView() et app.find() dépendances
supprimé
queue a été supprimée sur les collections. Voir les modèles pour plus de détails. dépendances
modifié
dépendances
ménage
dépendances
renameKey n'était pas toujours utilisé lorsqu'il était défini dans les options du chargeur de collection.dépendances
dépendances
dépendances
dépendances
obsolète
.handleView est désormais obsolète, utilisez plutôt .handleOncemodifié
.mergePartialsSync a été rétabli en .mergePartials pour être cohérent avec les autres mises à jour dans .render et .compile .ajouté
.log , .verbose , etc.).mergePartials pour qu'elle soit asynchrone. Si vous utilisez actuellement .mergePartials , vous pouvez continuer à le faire de manière synchrone à l'aide de la méthode .mergePartialsSync . .watch au profit de l'utilisation du plugin base-watch. isType pour vérifier un type de collection, ainsi qu'un certain nombre d'améliorations dans la manière dont les collections et les vues sont instanciées et nommées. onStream et preWrite .(Journal des modifications généré par helper-changelog)
Jon Schlinkert
Brian Woodward
Copyright © 2017, Jon Schlinkert. MIT
Ce fichier a été généré par verb-generate-readme, v0.4.2, le 11 février 2017.