ベースとテンプレートの上に構築されたアセンブルコアは、テンプレートのレンダリング、ファイルシステムの操作、および実行の実行に必要なベースライン機能とAPIを提供するためにアセンブルに使用されます。
実装者とハッカーは、アセンブルコアを使用して、リッチで強力なビルドツーリング、プロジェクトの足場システム、ドキュメントジェネレーター、または完全にカスタムの静的サイトジェネレーターを作成できます。
(MarkDown-TOCを使用して動詞によって生成されたTOC)
独自の作成:
npm
npmにインストール:
$ npm install --save assemble-core糸
糸でインストール:
$ yarn add assemble-core && yarn upgrade var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ; コレクションを表示します
カスタムビューコレクションを作成します:
var app = assemble ( ) ;
app . create ( 'pages' ) ;これで、 app.page()またはapp.pages()でページを追加できます。
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;与える
ビューをレンダリング:
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'
} ) ;コレクションからのビューをレンダリングします。
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'
} ) ; assembleアプリケーションを作成します。これは、アセンブルモジュールによってエクスポートされる主な関数です。
パラメージ
options {オブジェクト} :オプションで使用するデフォルトオプションを渡します。例
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;Assembleには、ファイルシステムを操作するための次の方法があります。
Assemble V0.6.0には完全なビニールFSサポートがあるため、Gulpプラグインはアセンブルで動作する必要があります。
1つ以上のGLOBパターンまたはFilepathsを使用して、ソースファイルを指定します。
パラメージ
glob {string | array} :ソースファイルへのグローブパターンまたはファイルパス。options {オブジェクト} :コンテキストに合流したり、 srcプラグインに渡すオプションまたは地元の人例
app . src ( 'src/*.hbs' , { layout : 'default' } ) ; 処理されたファイルに使用する宛先を指定します。
パラメージ
dest {String | function} :ファイルパスまたはカスタムの名前変更機能。options {Object} : destプラグインに合格するオプションと地元の人々例
app . dest ( 'dist/' ) ; AからBへのファイルをコピーします。ここで、 Aはapp.srcおよびBが宛先ディレクトリで有効な任意のパターンです。
パラメージ
patterns {string | array} :ソースファイルがコピーするための1つ以上のファイルパスまたはグローブパターン。dest {String | Function} :Desination Directory。returns {stream} :ストリームが返されるため、必要に応じてファイルの処理を続けることができます。例
app . copy ( 'assets/**' , 'dist/' ) ; Symlinksのグローブパターンまたはパス。
パラメージ
glob {String | array}例
app . symlink ( 'src/**' ) ;アセンブルには、タスクを実行し、ワークフローを制御するための次の方法があります。
タスクを定義します。タスクは、 tasksオブジェクトに保存されている関数であり、ビルドメソッドによって後で呼び出されることができます。 (CLIはビルドを呼び出してタスクを実行します)
パラメージ
name {文字列} :タスク名fn {function} :タスクが実行されたときに呼び出される関数。例
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ; 1つ以上のタスクを実行します。
パラメージ
tasks {array | string} :タスク名またはタスク名の配列。cb {function} : err公開するコールバック関数例
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ; 監視されたファイルが変更されたら、ファイルを視聴し、1つ以上のタスクを実行します。
パラメージ
glob {String | Array} :FilepathsまたはGlobパターン。tasks {array} :監視するタスク。例
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ; アセンブルコアはアセンブルとどのように異なりますか?
| 特徴 | アセンブルコア | 組み立てる | メモ |
|---|---|---|---|
| 前面解析 | いいえ | はい | アセンブルを使用するか、Parser-Front-Mattersを.onLoad Middlewareとして使用します。 |
| cli | いいえ | はい | 独自のCLI体験を作成するか、アセンブルを使用します |
| ビルトインテンプレートコレクション | いいえ | はい | .create()使用してコレクションを追加します |
| ビルトインテンプレートエンジン | いいえ | はい | エンジンハンドルバーで船を組み立てます。 .engine()使用して、統合互換テンプレートエンジンを登録します。 |
Assemble-Coreは、Toolkit Suiteのアプリケーションとプラグインを使用して作成されたスタンドアロンアプリケーションです。
ビルディングブロック
プラグイン
アセンブルは、これらの素晴らしいプロジェクトの上に構築されています:
ユニットテストの実行とレビューは、ライブラリとそのAPIに慣れるのに最適な方法です。次のコマンドで依存関係をインストールし、テストを実行できます。
$ npm install && npm testリクエストと星を引き出すことはいつでも大歓迎です。バグと機能のリクエストについては、問題を作成してください。
開会の問題、プル要求、コーディング基準に関するアドバイスについては、寄稿ガイドをお読みください。
アセンブルが必要なことをしない場合は、お知らせください。
Changelogエントリは、keep-a-changelogの次のラベルを使用して分類されます。
added :新機能用changed :既存の機能の変更deprecated :今後のリリースでは、かつて安定した機能が削除されましたremoved :このリリースで削除された非推奨機能の場合fixed :バグ修正の場合このChangelogで使用されるカスタムラベル:
dependencies :バンプの依存関係housekeeping :コードの再編成、マイナーな編集、または他のカテゴリのいずれかに適合しないその他の変更。注意喚起!
次の見出しリンクが壊れているかどうかをお知らせください。ありがとう!
依存関係
viewが.toStream()で飾られていることを確認するために、バンプアセンブルストリーム。これは間違いなくbugfixですが、誰かのコードを破るかもしれません。 依存関係
依存関係
.dest()ハンドリングの改善を活用するために、アセンブルFSからv0.9.0からv0.9.0。 依存関係
list sで利用可能な新しい方法を活用するためのv1.2.0へのバンプテンプレート依存関係
依存関係
handle.onceを利用するには、assemble-fsをv0.7.0にバンプします変更されました
依存関係
削除
templatesのバンプは、 .dataメソッドからrenameKeyオプションを削除します。代わりにnamespaceオプションを使用します。 修理済み
依存関係
.find and getView 。 APIの変更は行われませんでした。回帰が発生したかどうかをお知らせください。修理済み
Listたバグを修正変更されました
app.getView()およびapp.find() 依存関係
削除
queueプロパティのサポートは、コレクションで削除されました。詳細については、テンプレートを参照してください。 依存関係
変更されました
依存関係
ハウスキーピング
依存関係
renameKeyが常に使用されていないバグを修正することが含まれます。依存関係
依存関係
依存関係
依存関係
非推奨
.handleViewメソッドが非推奨になりました。代わりに.handleOnceを使用します変更されました
.mergePartialsSync名前の名前は、 .renderおよび.compileの他の更新と一致するように.mergePartialsに戻されました。追加した
.log 、 .verboseなど)からロギングメソッドを追加します.mergePartialsメソッドを非同期に変更する必要がありました。現在.mergePartials使用している場合は、 .mergePartialsSyncメソッドを使用して同期的にそうすることができます。 .watchメソッドを削除します。 isTypeメソッドと、コレクションとビューのインスタンス化と名前のある方法の多くの改善を利用するために、0.8.0にバンプテンプレートがあります。 onStreamおよびpreWriteミドルウェアハンドラーを導入します。(Helper-Changelogによって生成されたChangelog)
ジョン・シュリンカート
ブライアン・ウッドワード
Copyright©2017、Jon Schlinkert。 mit
このファイルは、2017年2月11日に動詞generate-readme v0.4.2によって生成されました。