Assemble-Core basiert auf Basis und Vorlagen und wird in Assemble verwendet, um die Basisfunktionen und die API bereitzustellen, die zum Rendern von Vorlagen, zum Arbeiten mit dem Dateisystem und zum Ausführen von Aufgaben erforderlich sind.
Implementierer und Hacker können Assemble-Core verwenden, um umfangreiche und leistungsstarke Build-Tools, Projektgerüstsysteme, Dokumentationsgeneratoren oder sogar Ihre vollständig benutzerdefinierten statischen Site-Generatoren zu erstellen.
(Inhaltsverzeichnis, generiert durch Verb mit Markdown-Toc)
Erstellen Sie Ihr eigenes:
NPM
Mit npm installieren:
$ npm install --save assemble-core
Garn
Mit Garn installieren:
$ yarn add assemble-core && yarn upgrade
var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ;
Sammlungen ansehen
Erstellen Sie eine benutzerdefinierte Ansichtssammlung:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
Jetzt können Sie Seiten mit app.page()
oder app.pages()
hinzufügen:
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;
machen
Eine Ansicht rendern:
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'
} ) ;
Rendern Sie eine Ansicht aus einer Sammlung:
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'
} ) ;
Erstellen Sie eine assemble
Anwendung. Dies ist die Hauptfunktion, die vom Assemble-Modul exportiert wird.
Parameter
options
{Objekt} : Übergeben Sie optional Standardoptionen zur Verwendung.Beispiel
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
Assemble verfügt über die folgenden Methoden zum Arbeiten mit dem Dateisystem:
Assemble v0.6.0 bietet volle Vinyl-FS-Unterstützung, daher sollte jedes Gulp-Plugin mit Assemble funktionieren.
Verwenden Sie ein oder mehrere Glob-Muster oder Dateipfade, um Quelldateien anzugeben.
Parameter
glob
{String|Array} : Glob-Muster oder Dateipfade zu Quelldateien.options
{Object} : Optionen oder Locals zum Zusammenführen in den Kontext und/oder zur Übergabe an src
-PluginsBeispiel
app . src ( 'src/*.hbs' , { layout : 'default' } ) ;
Geben Sie das Ziel an, das für verarbeitete Dateien verwendet werden soll.
Parameter
dest
{String|Function} : Dateipfad oder benutzerdefinierte Umbenennungsfunktion.options
{Object} : Optionen und Locals, die an dest
-Plugins übergeben werden sollenBeispiel
app . dest ( 'dist/' ) ;
Kopieren Sie Dateien von A nach B, wobei A
ein beliebiges Muster ist, das in app.src gültig wäre, und B
das Zielverzeichnis ist.
Parameter
patterns
{String|Array} : Ein oder mehrere Dateipfade oder Glob-Muster für die zu kopierenden Quelldateien.dest
{String|Function} : Zielverzeichnis.returns
{Stream} zurück: Der Stream wird zurückgegeben, sodass Sie bei Bedarf mit der Verarbeitung von Dateien fortfahren können.Beispiel
app . copy ( 'assets/**' , 'dist/' ) ;
Glob-Muster oder Pfade für Symlinks.
Parameter
glob
{String|Array}Beispiel
app . symlink ( 'src/**' ) ;
Assemble verfügt über die folgenden Methoden zum Ausführen von Aufgaben und Steuern von Arbeitsabläufen:
Definieren Sie eine Aufgabe. Aufgaben sind Funktionen, die in einem tasks
gespeichert werden, sodass sie später von der Build-Methode aufgerufen werden können. (Die CLI ruft Build auf, um Aufgaben auszuführen)
Parameter
name
{String} : Aufgabennamefn
{Funktion} : Funktion, die aufgerufen wird, wenn die Aufgabe ausgeführt wird.Beispiel
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ;
Führen Sie eine oder mehrere Aufgaben aus.
Parameter
tasks
{Array|String} : Aufgabenname oder Array von Aufgabennamen.cb
{Funktion} : Rückruffunktion, die err
offenlegtBeispiel
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ;
Überwachen Sie Dateien und führen Sie eine oder mehrere Aufgaben aus, wenn sich eine überwachte Datei ändert.
Parameter
glob
{String|Array} : Dateipfade oder Glob-Muster.tasks
{Array} : Zu beobachtende Aufgabe(n).Beispiel
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ;
Wie unterscheidet sich Assemble-Core von Assemble?
Besonderheit | assemble-core | montieren | Notizen |
---|---|---|---|
Front-Matter-Parsing | NEIN | Ja | Verwenden Sie Assembler oder verwenden Sie Parser-Front-Matter als .onLoad Middleware. |
CLI | NEIN | Ja | Erstellen Sie Ihr eigenes CLI-Erlebnis oder verwenden Sie Assembler |
Integrierte Vorlagensammlungen | NEIN | Ja | Verwenden Sie .create() um Sammlungen hinzuzufügen |
Integrierte Template-Engine | NEIN | Ja | Schiffe mit Motorlenker zusammenbauen. Verwenden Sie .engine() um eine beliebige Consolidate-kompatible Template-Engine zu registrieren. |
assemble-core ist eine eigenständige Anwendung, die mit Anwendungen und Plugins aus der Toolkit-Suite erstellt wurde:
Bausteine
Plugins
Assemble basiert auf diesen großartigen Projekten:
Das Ausführen und Überprüfen von Unit-Tests ist eine großartige Möglichkeit, sich mit einer Bibliothek und ihrer API vertraut zu machen. Mit dem folgenden Befehl können Sie Abhängigkeiten installieren und Tests ausführen:
$ npm install && npm test
Pull-Requests und Stars sind jederzeit willkommen. Bei Fehlern und Funktionswünschen erstellen Sie bitte ein Problem.
Bitte lesen Sie den Beitragsleitfaden, um Ratschläge zum Öffnen von Issues, Pull Requests und Codierungsstandards zu erhalten.
Wenn Assemble nicht das tut, was Sie benötigen, teilen Sie uns dies bitte mit.
Changelog-Einträge werden anhand der folgenden Labels von keep-a-changelog klassifiziert:
added
: für neue Funktionenchanged
: für Änderungen an der vorhandenen Funktionalitätdeprecated
: ausnahmsweise stabile Funktionen, die in kommenden Versionen entfernt werdenremoved
: für veraltete Funktionen, die in dieser Version entfernt wurdenfixed
: für etwaige FehlerbehebungenBenutzerdefinierte Beschriftungen, die in diesem Änderungsprotokoll verwendet werden:
dependencies
: Erhöht Abhängigkeitenhousekeeping
: Neuorganisation des Codes, kleinere Änderungen oder andere Änderungen, die nicht in eine der anderen Kategorien passen.Kopf hoch!
Bitte teilen Sie uns mit, wenn einer der folgenden Überschriften-Links defekt ist. Danke!
Abhängigkeiten
view
mit .toStream()
dekoriert wird, wenn sie von einer App erstellt wird (anstelle einer Sammlung). Dies ist wohl ein Bugfix, aber es könnte den Code von jemandem beschädigen. Abhängigkeiten
Abhängigkeiten
.dest()
-Verarbeitung zu profitieren. Abhängigkeiten
list
verfügbar sind Abhängigkeiten
Abhängigkeiten
handle.once
zu nutzengeändert
Abhängigkeiten
ENTFERNT
templates
wird die Option renameKey
aus der .data
-Methode entfernt. Verwenden Sie stattdessen die namespace
-Option. behoben
Abhängigkeiten
.find
und getView
. Es wurden keine API-Änderungen vorgenommen. Bitte teilen Sie uns mit, wenn es zu Regressionen kommt.behoben
List
, der dazu führte, dass Sammlungshelfer explodiertengeändert
app.getView()
und app.find()
Abhängigkeiten
ENTFERNT
queue
wurde für Sammlungen entfernt. Weitere Details finden Sie in den Vorlagen. Abhängigkeiten
geändert
Abhängigkeiten
Hauswirtschaft
Abhängigkeiten
renameKey
nicht immer verwendet wurde, wenn es in den Optionen des Collection-Loaders definiert wurde.Abhängigkeiten
Abhängigkeiten
Abhängigkeiten
Abhängigkeiten
veraltet
.handleView
ist jetzt veraltet. Verwenden Sie stattdessen .handleOnce
geändert
.mergePartialsSync
wurde auf .mergePartials
zurückgesetzt, um mit anderen Aktualisierungen in .render
und .compile
konsistent zu sein.hinzugefügt
.log
, .verbose
usw.).mergePartials
-Methode in eine asynchrone Methode. Wenn Sie derzeit .mergePartials
verwenden, können Sie dies weiterhin synchron mit der Methode .mergePartialsSync
tun. .watch
Methode zugunsten der Verwendung des Base-Watch-Plugins entfernt wird. isType
-Methode zum Überprüfen eines Sammlungstyps zu nutzen, sowie eine Reihe von Verbesserungen bei der Instanziierung und Benennung von Sammlungen und Ansichten. onStream
und preWrite
Middleware-Handler eingeführt werden.(Von helper-changelog generiertes Änderungsprotokoll)
Jon Schlinkert
Brian Woodward
Urheberrecht © 2017, Jon Schlinkert. MIT
Diese Datei wurde am 11. Februar 2017 von verb-generate-readme, v0.4.2, generiert.