기본 및 템플릿 위에 구축된 assemble-core는 템플릿 렌더링, 파일 시스템 작업 및 작업 실행에 필요한 기본 기능과 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
애플리케이션을 생성합니다. 이는 assemble 모듈이 내보낸 주요 함수입니다.
매개변수
options
{Object} : 선택적으로 사용할 기본 옵션을 전달합니다.예
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
Assemble에는 파일 시스템 작업을 위한 다음과 같은 방법이 있습니다.
Assemble v0.6.0은 Vinyl-fs를 완벽하게 지원하므로 모든 gulp 플러그인은 assemble과 함께 작동해야 합니다.
하나 이상의 glob 패턴이나 파일 경로를 사용하여 소스 파일을 지정합니다.
매개변수
glob
{String|Array} : 소스 파일에 대한 Glob 패턴 또는 파일 경로입니다.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} : 복사할 소스 파일에 대한 하나 이상의 파일 경로 또는 glob 패턴입니다.dest
{String|Function} : 대상 디렉터리.returns
{Stream} : 스트림이 반환되므로 필요한 경우 파일 처리를 계속할 수 있습니다.예
app . copy ( 'assets/**' , 'dist/' ) ;
심볼릭 링크의 Glob 패턴 또는 경로입니다.
매개변수
glob
{문자열|배열}예
app . symlink ( 'src/**' ) ;
Assemble에는 작업을 실행하고 워크플로를 제어하기 위한 다음과 같은 방법이 있습니다.
작업을 정의합니다. 작업은 tasks
개체에 저장되어 나중에 빌드 메서드에서 호출할 수 있는 함수입니다. (CLI는 작업을 실행하기 위해 빌드를 호출합니다)
매개변수
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을 사용하거나 .onLoad 미들웨어로 parser-front-matter를 사용하세요. |
CLI | 아니요 | 예 | 자신만의 CLI 환경을 만들거나 어셈블을 사용하세요. |
내장 템플릿 컬렉션 | 아니요 | 예 | .create() 사용하여 컬렉션을 추가하세요. |
내장 템플릿 엔진 | 아니요 | 예 | 엔진 핸들바로 선박을 조립하세요. 통합 호환 템플릿 엔진을 등록하려면 .engine() 사용하세요. |
assemble-core는 툴킷 제품군의 애플리케이션과 플러그인을 사용하여 생성된 독립형 애플리케이션입니다.
빌딩 블록
플러그인
Assemble은 다음과 같은 훌륭한 프로젝트를 기반으로 구축되었습니다.
단위 테스트를 실행하고 검토하는 것은 라이브러리와 해당 API에 익숙해지는 좋은 방법입니다. 다음 명령을 사용하여 종속 항목을 설치하고 테스트를 실행할 수 있습니다.
$ npm install && npm test
끌어오기 요청과 별표는 언제나 환영합니다. 버그 및 기능 요청이 있는 경우 이슈를 생성해 주세요.
이슈 개시, 끌어오기 요청 및 코딩 표준에 대한 조언은 기여 가이드를 읽어보세요.
Assemble이 필요한 작업을 수행하지 못하는 경우 알려 주시기 바랍니다.
변경 로그 항목은 변경 로그 유지의 다음 레이블을 사용하여 분류됩니다.
added
: 새로운 기능을 위해changed
: 기존 기능의 변경 사항deprecated
: 향후 릴리스에서 제거된 일단 안정적이었던 기능removed
: 이 릴리스에서 제거된 더 이상 사용되지 않는 기능용fixed
: 버그 수정을 위해이 변경 로그에 사용된 맞춤 라벨:
dependencies
: 종속성을 범프합니다.housekeeping
: 코드 재구성, 사소한 편집 또는 다른 범주에 맞지 않는 기타 변경 사항.주의하세요!
다음 제목 링크 중 손상된 부분이 있으면 알려주시기 바랍니다. 감사해요!
종속성
view
.toStream()
으로 장식되도록 어셈블리 스트림을 범프합니다. 이것은 틀림없이 버그 수정이지만 누군가의 코드를 손상시킬 수 있습니다. 종속성
종속성
.dest()
처리 개선 사항을 활용하기 위해 assemble-fs를 v0.9.0으로 변경합니다. 종속성
list
에서 사용할 수 있는 새로운 방법을 활용하기 위해 템플릿을 v1.2.0으로 변경합니다. 종속성
종속성
handle.once
를 활용하기 위해 assemble-fs를 v0.7.0으로 범프변경됨
종속성
제거됨
templates
의 범프는 .data
메서드에서 renameKey
옵션을 제거합니다. 대신 namespace
옵션을 사용하세요. 결정된
종속성
.find
및 getView
에 대한 수정 및 개선 사항을 활용하기 위해 템플릿을 v0.22.0으로 변경합니다. API가 변경되지 않았습니다. 회귀가 발생하면 알려주시기 바랍니다.결정된
List
버그 수정변경됨
app.getView()
및 app.find()
종속성
제거됨
queue
속성에 대한 지원이 제거되었습니다. 자세한 내용은 템플릿을 참조하세요. 종속성
변경됨
종속성
가정
종속성
renameKey
항상 사용되지 않는 버그 수정을 포함하는 v0.5.0으로 어셈블 로더를 범프합니다.종속성
종속성
종속성
종속성
더 이상 사용되지 않음
.handleView
메소드는 이제 더 이상 사용되지 않습니다. 대신 .handleOnce
사용하세요.변경됨
.render
및 .compile
의 다른 업데이트와 일관성을 유지하기 위해 비공개 메서드 .mergePartialsSync
이름 바꾸기가 .mergePartials
로 되돌아갔습니다.추가됨
.log
, .verbose
등)의 로깅 방법을 추가합니다..mergePartials
메서드를 비동기식으로 변경해야 했습니다. 현재 .mergePartials
사용하고 있는 경우 .mergePartialsSync
메서드를 사용하여 동기식으로 계속 사용할 수 있습니다. .watch
메서드를 제거하는 v0.11.0으로 작곡가를 업데이트합니다. isType
메서드를 활용하고 컬렉션 및 뷰를 인스턴스화하고 이름을 지정하는 방법에 대한 여러 가지 개선 사항을 활용하기 위해 템플릿을 0.8.0으로 향상합니다. onStream
및 preWrite
미들웨어 핸들러를 도입하는 assemble-fs 플러그인을 0.5.0으로 변경합니다.(helper-changelog에 의해 생성된 변경 로그)
존 슐린커트
브라이언 우드워드
저작권 © 2017, 존 Schlinkert. MIT
이 파일은 2017년 2월 11일 verb-generate-readme, v0.4.2에 의해 생성되었습니다.