assemble-core 建構於基礎和模板之上,用於 assemble 提供渲染模板、使用檔案系統和運行任務所需的基線功能和 API。
實作者和駭客可以使用 assemble-core 來建立豐富且強大的建置工具、專案鷹架系統、文件產生器,甚至是完全自訂的靜態網站產生器。
(由動詞使用 markdown-toc 產生的 TOC)
創建您自己的:
國家公共管理
使用 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應用程式。這是 assemble 模組導出的主要函數。
參數
options {Object} :可以選擇傳遞要使用的預設選項。例子
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;Assemble 有以下使用檔案系統的方法:
Assemble v0.6.0 具有完整的 Vinyl-fs 支持,因此任何 gulp 插件都應該與 assemble 一起使用。
使用一個或多個 glob 模式或檔案路徑來指定來源檔案。
參數
glob {String|Array} :全域模式或來源檔案的檔案路徑。options {Object} :要合併到上下文中和/或傳遞給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} :要複製的來源檔案的一個或多個檔案路徑或全域模式。dest {String|Function} :目標目錄。returns {Stream} :返回流,因此您可以在必要時繼續處理檔案。例子
app . copy ( 'assets/**' , 'dist/' ) ; 符號連結的全域模式或路徑。
參數
glob {字串|數組}例子
app . symlink ( 'src/**' ) ;Assemble 有以下用於執行任務和控制工作流程的方法:
定義一個任務。任務是儲存在tasks物件上的函數,允許稍後由 build 方法呼叫它們。 (CLI呼叫build來運行任務)
參數
name {String} :任務名稱fn {Function} :任務執行時期呼叫的函數。例子
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ; 運行一項或多項任務。
參數
tasks {Array|String} :任務名稱或任務名稱陣列。cb {Function} :暴露err的回呼函數例子
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ; 監視文件,當監視的文件發生變更時運行一項或多項任務。
參數
glob {String|Array} :檔案路徑或 glob 模式。tasks {Array} :要觀看的任務。例子
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ; assemble-core 與 assemble 有何不同?
| 特徵 | 組裝核心 | 集合 | 筆記 |
|---|---|---|---|
| 前題句法分析 | 不 | 是的 | 使用 assemble 或使用 parser-front-matter 作為.onLoad中介軟體。 |
| 命令列介面 | 不 | 是的 | 創建您自己的 CLI 體驗,或使用 assemble |
| 內建模板集合 | 不 | 是的 | 使用.create()新增集合 |
| 內建模板引擎 | 不 | 是的 | 組裝有引擎把手的船隻。使用.engine()註冊任何與合併相容的模板引擎。 |
assemble-core 是一個獨立的應用程序,是使用工具包套件中的應用程式和插件創建的:
積木
外掛
Assemble 建立在這些很棒的專案之上:
運行和審查單元測試是熟悉程式庫及其 API 的好方法。您可以使用以下命令安裝依賴項並執行測試:
$ npm install && npm test拉取請求和星星總是受歡迎的。對於錯誤和功能請求,請建立問題。
請閱讀貢獻指南,以取得開放問題、拉取請求和編碼標準的建議。
如果 Assemble 不能滿足您的需要,請告訴我們。
變更日誌條目使用 keep-a-changelog 中的以下標籤進行分類:
added :用於新功能changed :用於現有功能的更改deprecated :在即將發布的版本中刪除了曾經穩定的功能removed :針對此版本中已刪除的已棄用功能fixed :修復任何錯誤此變更日誌中使用的自訂標籤:
dependencies :碰撞依賴性housekeeping :程式碼重新組織、較小的編輯或不屬於其他類別之一的其他變更。小心!
如果以下任何標題連結已損壞,請告知我們。謝謝!
依賴關係
view在由應用程式(而不是集合)創建時用.toStream()裝飾。這可以說是一個錯誤修復,但它可能會破壞某人的程式碼。 依賴關係
依賴關係
.dest()處理的改進。 依賴關係
list上可用的新方法依賴關係
依賴關係
handle.once改變了
依賴關係
已刪除
templates中的凸起從.data方法中刪除了renameKey選項。請改用namespace選項。 固定的
依賴關係
.find和getView 。未進行任何 API 變更。如果出現回歸,請告知我們。固定的
List錯誤改變了
app.getView()和app.find() 依賴關係
已刪除
queue屬性的支援。請參閱模板以了解更多詳細資訊。 依賴關係
改變了
依賴關係
家政
依賴關係
renameKey的錯誤。依賴關係
依賴關係
依賴關係
依賴關係
已棄用
.handleView方法現已棄用,請改用.handleOnce改變了
.mergePartialsSync重命名已恢復為.mergePartials以便與.render和.compile中的其他更新保持一致。額外
.log 、 .verbose等).mergePartials方法更改為非同步方法。如果您目前正在使用.mergePartials ,則可以使用.mergePartialsSync方法繼續同步執行此操作。 .watch方法,改用base-watch插件。 isType方法來檢查集合類型,並對集合和視圖的實例化和命名方式進行了許多改進。 onStream和preWrite中間件處理程序。(由 helper-changelog 產生的變更日誌)
喬恩‧施林克特
布萊恩·伍德沃德
版權所有 © 2017,喬恩‧施林克特。麻省理工學院
此檔案由 verb-generate-readme v0.4.2 於 2017 年 2 月 11 日產生。