# assemble/assemble

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/assemble-assemble).**

4,258 stars · 273 forks · CSS · MIT

## Links

- GitHub: https://github.com/assemble/assemble
- Homepage: http://assemble.io/
- awesome-repositories: https://awesome-repositories.com/repository/assemble-assemble.md

## Topics

`assemble` `blog-engine` `build` `css` `docs` `documentation` `generator` `grunt` `gulp` `html` `html-templates` `javascript` `markdown` `md` `nodejs` `pwa` `scaffold` `static-site` `static-site-generator` `templates`

## Description

Assemble is a static site generator and build pipeline system that compiles markdown, templates, and data into static HTML files. It functions as a markdown-to-HTML converter and a data format transformer capable of moving content between JSON, YAML, XML, PLIST, and CSV formats.

The project features a pipeline-based build process where users can define ordered sequences of data transformations and file processing steps. It includes project scaffolding tools to bootstrap directory structures and configuration files from predefined boilerplates.

The system manages content through collection-based filtering and hierarchical layout nesting, allowing pages to be organized by tags and categories. It supports pluggable template engines, customizable helper functions, and the injection of YAML front-matter metadata to control rendering logic.

The toolkit also provides utilities for compiling LESS stylesheets, managing site permalinks, and monitoring files for changes to trigger automated build tasks.

## Tags

### Content Management & Publishing

- [Markdown-HTML Content Converters](https://awesome-repositories.com/f/content-management-publishing/markdown-html-content-converters.md) — Transforms markdown content and YAML front matter into structured HTML for web pages. ([source](http://assemble.io/docs/External-Libraries.html))
- [Static Site Generators](https://awesome-repositories.com/f/content-management-publishing/static-site-document-generators/static-site-generators.md) — Transforms source files and templates into optimized static HTML documents for web deployment. ([source](http://assemble.io/docs/))
- [Static Site Generators](https://awesome-repositories.com/f/content-management-publishing/static-site-generators.md) — Compiles markdown, templates, and data into a standalone set of static HTML files for websites and documentation.
- [Category Organizations](https://awesome-repositories.com/f/content-management-publishing/category-organizations.md) — Associates pages with categories and tags via front matter to group related content into collections. ([source](http://assemble.io/docs/Built-in-Variables.html))
- [Collection-Based Content Filtering](https://awesome-repositories.com/f/content-management-publishing/collection-based-content-filtering.md) — Provides collection-based filtering to group source files by tags or categories for filtered retrieval during rendering.
- [Markdown Transformation Pipelines](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-tools/markdown-renderers/markdown-transformation-pipelines.md) — Utilizes a pipeline to convert structured Markdown source files into rendered HTML pages. ([source](http://assemble.io/docs/options-ext.html))
- [HTML Document Wrapping](https://awesome-repositories.com/f/content-management-publishing/html-document-wrapping.md) — Wraps converted content into complete HTML documents with common structural elements like headers and footers. ([source](http://assemble.io/docs/Layouts.html))
- [Markdown Renderers](https://awesome-repositories.com/f/content-management-publishing/markdown-renderers.md) — Transforms Markdown text into HTML to simplify the authoring process for long-form documentation. ([source](http://assemble.io/docs/Helpers.html))
- [Markdown to HTML Converters](https://awesome-repositories.com/f/content-management-publishing/markdown-to-html-converters.md) — Transforms Markdown plaintext markup into structured HTML for web display. ([source](http://assemble.io/docs/))
- [Content Metadata Management](https://awesome-repositories.com/f/content-management-publishing/page-metadata-optimizations/content-metadata-management.md) — Implements YAML front-matter to manage page-level metadata such as titles, dates, and custom variables. ([source](http://assemble.io/docs/YAML-front-matter.html))
- [Collection-Based Page Groupings](https://awesome-repositories.com/f/content-management-publishing/page-sequence-managers/hierarchical-page-managers/document-page-organizations/collection-based-page-groupings.md) — Iterates through groups of source files to inject metadata and content into a shared layout. ([source](http://assemble.io/docs/Pages-Collections.html))
- [Static Page Rendering](https://awesome-repositories.com/f/content-management-publishing/static-page-rendering.md) — Pre-renders content into static HTML files during the build process to optimize load times. ([source](http://assemble.io/docs/Resources.html))
- [Static Site Build Systems](https://awesome-repositories.com/f/content-management-publishing/static-site-build-systems.md) — Triggers the full sequence of configured processing steps to generate final static HTML files. ([source](http://assemble.io/docs/Methods.html))
- [Template Partial Reuse](https://awesome-repositories.com/f/content-management-publishing/template-partial-reuse.md) — Includes reusable template snippets that can be embedded across multiple pages to maintain consistency. ([source](http://assemble.io/docs/Methods.html))
- [Content Tag Filtering](https://awesome-repositories.com/f/content-management-publishing/content-tag-filtering.md) — Retrieves specific subsets of pages from collections based on assigned tags to create categorized lists. ([source](http://assemble.io/docs/Pages-Collections.html))
- [Documentation Site Templates](https://awesome-repositories.com/f/content-management-publishing/documentation-site-templates.md) — Creates project structures from pre-defined templates specifically tailored for documentation and wikis. ([source](http://assemble.io/docs/))
- [Markdown to HTML Renderers](https://awesome-repositories.com/f/content-management-publishing/markdown-to-html-renderers.md) — Wraps blocks of markdown text within HTML documents to ensure they are converted during the build process. ([source](http://assemble.io/docs/Markdown.html))
- [Page Layout Configurations](https://awesome-repositories.com/f/content-management-publishing/page-layout-configurations.md) — Allows assigning layouts at global, target, or individual page levels to control rendering scope. ([source](http://assemble.io/docs/Layouts.html))
- [Permalink Generators](https://awesome-repositories.com/f/content-management-publishing/permalink-generators.md) — Generates permanent, clean URIs for pages using configurable replacement patterns and date parsing. ([source](http://assemble.io/))
- [Dynamic Front-Matter Evaluation](https://awesome-repositories.com/f/content-management-publishing/plain-text-persistence/front-matter-data-models/dynamic-front-matter-evaluation.md) — Evaluates template variables within YAML front-matter to translate external values into page-specific data. ([source](http://assemble.io/docs/Data.html))
- [Reusable Content Fragments](https://awesome-repositories.com/f/content-management-publishing/reusable-content-fragments.md) — Embeds shared snippets of code and content into multiple pages to reduce duplication. ([source](http://assemble.io/docs/Partials.html))

### Software Engineering & Architecture

- [Build Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/promise-based-processing-pipelines/build-pipelines.md) — Provides a pipeline-based build process to execute ordered sequences of data transformations.
- [Global Variable Injections](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection/view-template-component-injection/global-variable-injections.md) — Injects custom data into the build task root context to make values available across all templates. ([source](http://assemble.io/docs/Built-in-Variables.html))
- [Build-Time File Exclusions](https://awesome-repositories.com/f/software-engineering-architecture/file-to-group-matching/build-time-file-exclusions.md) — Uses metadata flags to determine if a file should be excluded from the final build. ([source](http://assemble.io/docs/YAML-front-matter.html))

### Artificial Intelligence & ML

- [Sequential Build Step Orchestration](https://awesome-repositories.com/f/artificial-intelligence-ml/step-based-schedulers/step-execution-engines/execution-step-controllers/sequential-build-step-orchestration.md) — Creates a pipeline of functions that execute in a specific order to process and transform data. ([source](http://assemble.io/docs/Methods.html))

### Part of an Awesome List

- [YAML Processing](https://awesome-repositories.com/f/awesome-lists/data/yaml-processing.md) — Processes data serialized in YAML format as an alternative to JSON for configurations and content. ([source](http://assemble.io/docs/YAML.html))

### Data & Databases

- [Multi-Format](https://awesome-repositories.com/f/data-databases/json-editors/data-loading/multi-format.md) — Imports content from JSON files, YAML files, and front-matter to make values available to templates. ([source](http://assemble.io/docs/Data.html))
- [Front-Matter Indexing](https://awesome-repositories.com/f/data-databases/metadata-indexing/front-matter-indexing.md) — Implements front-matter indexing to extract YAML metadata from file headers for controlling rendering logic.
- [Data Format Transformations](https://awesome-repositories.com/f/data-databases/data-format-transformations.md) — Converts files between JSON, YAML, XML, PLIST, and CSV formats using a transformation engine. ([source](http://assemble.io/))
- [Multi-Format Serializers](https://awesome-repositories.com/f/data-databases/multi-format-serializers.md) — Converts and loads content between JSON, YAML, XML, and CSV formats to populate the template context.

### Development Tools & Productivity

- [Build Pipeline Orchestration](https://awesome-repositories.com/f/development-tools-productivity/build-pipeline-orchestration.md) — Defines and executes a sequence of data transformations and file processing steps to generate final project outputs.
- [Template Helpers](https://awesome-repositories.com/f/development-tools-productivity/data-transformation/template-helpers.md) — Adds custom helper functions to perform complex data transformations and formatting during the build process. ([source](http://assemble.io/docs/Resources.html))
- [Stream Processing](https://awesome-repositories.com/f/development-tools-productivity/file-pattern-matching/name-pattern-filters/glob-based-file-location/stream-processing.md) — Reads source files using glob patterns and pipes them through transformation sequences to a destination.
- [Template-Based Page Generators](https://awesome-repositories.com/f/development-tools-productivity/page-skeleton-generators/dynamic-page-generators/template-based-page-generators.md) — Generates multiple pages from a single template by iterating over data and file segments. ([source](http://assemble.io/docs/External-Libraries.html))
- [Site Data Context Builders](https://awesome-repositories.com/f/development-tools-productivity/template-extensions/template-functions/ast-based-template-parsing/template-context-analysis/site-data-context-builders.md) — Combines front matter, external data files, and global context to assemble a comprehensive data context for template rendering. ([source](http://assemble.io/docs/))
- [Build and Task Automation](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation.md) — Defines named sequences of operations that can be executed individually or in groups to automate builds. ([source](https://cdn.jsdelivr.net/gh/assemble/assemble@master/README.md))
- [Taxonomy Page Generators](https://awesome-repositories.com/f/development-tools-productivity/page-skeleton-generators/dynamic-page-generators/template-based-page-generators/taxonomy-page-generators.md) — Automatically generates index pages listing all tags and categories used across the site. ([source](http://assemble.io/docs/YAML-front-matter.html))
- [Project Boilerplates](https://awesome-repositories.com/f/development-tools-productivity/project-boilerplates.md) — Initializes projects using pre-configured boilerplates for sites, wikis, or documentation. ([source](http://assemble.io/docs/index.html))
- [Project Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/project-bootstrapping.md) — Bootstraps new project folders with predefined templates, data, and themes. ([source](http://assemble.io/))
- [Project Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding.md) — Generates starting directory structures and configuration files using templates to accelerate setup. ([source](http://assemble.io/docs/Resources.html))
- [Project Scaffolding Templates](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-templates.md) — Generates directory structures and configuration files from pre-defined boilerplates to accelerate project initialization.
- [Project Scaffolding Tools](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-tools.md) — Provides a utility for bootstrapping project structures and initializing directories from predefined boilerplates.
- [Pluggable Template Renderers](https://awesome-repositories.com/f/development-tools-productivity/template-rendering-engines/pluggable-template-renderers.md) — Integrates external rendering libraries through a standardized interface to support multiple templating languages.
- [Source File Watching](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/development-automation/development-rebuild-triggers/source-file-watching.md) — Monitors files for changes and automatically triggers defined build tasks. ([source](https://cdn.jsdelivr.net/gh/assemble/assemble@master/README.md))

### DevOps & Infrastructure

- [Configuration File Loading](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-file-loading.md) — Reads JSON and YAML files to populate template variables and configuration settings during the rendering process. ([source](http://assemble.io/docs/Options.html))
- [Template Variables](https://awesome-repositories.com/f/devops-infrastructure/template-variables.md) — Provides user-defined variables in the root data context for global availability within templates. ([source](http://assemble.io/docs/Options.html))
- [Template Variable Transformers](https://awesome-repositories.com/f/devops-infrastructure/template-variables/template-variable-transformers.md) — Provides filters for manipulating the value of variables during the rendering process to change their format. ([source](http://assemble.io/docs/options-helpers.html))

### Programming Languages & Runtimes

- [Build Stream Processing](https://awesome-repositories.com/f/programming-languages-runtimes/file-stream-management/build-stream-processing.md) — Processes files as streams using globs and transformation pipes within the build context. ([source](https://cdn.jsdelivr.net/gh/assemble/assemble@master/README.md))
- [Custom Helper Creation](https://awesome-repositories.com/f/programming-languages-runtimes/language-helpers/custom-helper-creation.md) — Loads external logic files into the rendering engine to extend functionality via custom helpers. ([source](http://assemble.io/docs/options-helpers.html))
- [Template Helper Registrations](https://awesome-repositories.com/f/programming-languages-runtimes/language-helpers/custom-helper-creation/template-helper-registrations.md) — Adds custom filters and helper functions to the template engine for data transformation during rendering. ([source](http://assemble.io/docs/Methods.html))

### User Interface & Experience

- [Template Helpers](https://awesome-repositories.com/f/user-interface-experience/conditional-rendering-logic/template-helpers.md) — Integrates custom helper functions or external library helpers directly into the rendering pipeline. ([source](http://assemble.io/docs/Options.html))
- [Template Inheritance Layouts](https://awesome-repositories.com/f/user-interface-experience/page-headers/page-widgets/modular-page-composers/template-inheritance-layouts.md) — Implements template inheritance allowing child layouts to inherit common structural elements from a master parent. ([source](http://assemble.io/docs/Layouts.html))
- [Page Layout Templates](https://awesome-repositories.com/f/user-interface-experience/page-layout-templates.md) — Wraps rendered content in specified layout files to ensure consistent page structures. ([source](http://assemble.io/docs/Options.html))
- [Page Layout Templates](https://awesome-repositories.com/f/user-interface-experience/page-layout-templates/reusable-components/page-layout-templates.md) — Uses layouts, partials, and custom helpers to structure content and ensure consistent page design. ([source](http://assemble.io/docs/index.html))
- [Partial Templates](https://awesome-repositories.com/f/user-interface-experience/template-injection-hooks/partial-templates.md) — Links reusable template fragments to a project to be injected into larger pages. ([source](http://assemble.io/docs/options-partials.html))
- [Template Engine Abstractions](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/presentation-engines/template-engines/configuration-and-integration/custom-template-integrations/template-engine-abstractions.md) — Provides a common interface to plug in external templating libraries via initialization functions. ([source](http://assemble.io/docs/Methods.html))
- [Page Visibility Controls](https://awesome-repositories.com/f/user-interface-experience/page-management-systems/page-visibility-controls.md) — Allows users to exclude specific pages from being rendered or accessible based on metadata flags. ([source](http://assemble.io/docs/Options.html))
- [Front-Matter Metadata Managers](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/slide-management-configuration/presentation-data-managers/front-matter-metadata-managers.md) — Uses a logic-capable templating engine to manage configuration, data files, and YAML front matter. ([source](http://assemble.io/docs/Templates-Overview.html))

### Web Development

- [Content Collection Managers](https://awesome-repositories.com/f/web-development/api-management-tools/content-static-site-generation/content-collection-managers.md) — Organizes templates into cached collections and assigns them roles as layouts, partials, or pages. ([source](https://cdn.jsdelivr.net/gh/assemble/assemble@master/README.md))
- [Metadata and Script Injection](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/metadata-and-script-injection.md) — Exposes file path properties and YAML front-matter to templates to control rendering and content. ([source](http://assemble.io/docs/Built-in-Variables.html))
- [Nested Layouts](https://awesome-repositories.com/f/web-development/file-system-routing/nested-layouts.md) — Supports nested layouts that allow templates to inherit structural elements through a parent-child hierarchy.
- [HTML Content Renderers](https://awesome-repositories.com/f/web-development/html-content-renderers.md) — Generates HTML, JSON, XML, or CSS by processing content through pluggable templating engines. ([source](http://assemble.io/docs/Templates-Overview.html))
- [Template Data Injection](https://awesome-repositories.com/f/web-development/template-data-binding/template-data-injection.md) — Injects structured data and associative arrays from file headers into the templating engine during rendering. ([source](http://assemble.io/docs/YAML-front-matter.html))
- [UI Template Injection](https://awesome-repositories.com/f/web-development/template-data-binding/template-data-injection/ui-template-injection.md) — Injects structured data from external JSON or YAML files into HTML view templates to generate dynamic content. ([source](http://assemble.io/docs/Context.html))
- [Template Engine Integrations](https://awesome-repositories.com/f/web-development/template-support/template-engine-integrations.md) — Supports the integration of different templating languages to define how data is injected into layouts. ([source](http://assemble.io/docs/Resources.html))
