Skip to content

Instantly share code, notes, and snippets.

@jonschlinkert
Created March 9, 2014 19:14
Show Gist options
  • Save jonschlinkert/9452935 to your computer and use it in GitHub Desktop.
Save jonschlinkert/9452935 to your computer and use it in GitHub Desktop.
Just a starting point for discussion about how the site should be organized. Actually building or any other arrangement will be easy, many of these docs are in a near-complete state. The hard part is (and will be) updating the actual docs themselves for the new release.

Getting Started

What is Assemble?

  • About
  • History

Where does Assemble fit in the build chain?

Assemble has Grunt and Gulp plugins, Yeoman generators, lots of boilerplates and many example projects from the core team and the community!

  • Generator
  • Build system
    • Minifying => Assemble (via plugins and helpers)
    • Linting
    • Compiling, rendering => Assemble (core strength)
  • Server

Why use Assemble?

  • Unique strengths
  • Main focus
  • Easy to use
  • Configurable and extensible
  • Many boilerplates, examples, great community / ecosystem
  • Target users
  • Use cases

Related

  • Project showcase
  • Who uses Assemble?
  • Community

How do I get started?

  • Installation
  • 5-minute getting started video
  • Getting started guide
  • Getting started tutorials (topical)
  • Examples
  • Boilerplates
  • Generators: Initializing a new project
  • Running Assemble the first time

Related

  • Live projects / examples
  • Migration tools (convert from X to Assemble)

Overview: Core concepts

  • Configuration
    • Defaults
    • Global config
  • Templates
    • template variables
    • layouts
    • pages
    • includes
    • template helpers
  • Data
  • Content

Related concepts

These things "dial in", but they aren't in the same room.

  • Logic
  • Styling

Usage

  • Configure
  • Extend
  • Build

Development

Extending Assemble

  • Helpers: manipulate templates, data and content
  • Mixins: manipulate config values
  • Plugins: extend Assemble's core functionality
  • Middleware

API

  • Utilities
  • Plugins
  • Middleware
  • Helpers

FAQ

Features

Gulp Grunt

  • Configuration AND convention. Assemble is highly extensible, so tinkerers and power users will find many ways to add new features or augment existing functionality. For those who prefer the ease-of-use of opinionated systems like Jekyll or Harp, grab a boilerplate or run one of our generators and let Yeoman do the work, so you can spend less time on figuring out how to organize the project.
  • Not only can Assemble, ahem... well, assemble, but also minification, concatenation, cache-busting and post-processing. Beyond that, Assemble's core functionality is infinitely extensible via plugins and middleware.

Conventions

  • Project organization

Project Goals

  • Near-term (current release): User experience
  • Optimization / speed

Contributing

  • Pull requests
  • Bugs / Issues
  • Feature requests

Community

  • GitHub
  • Google+
  • StackOvervlow
  • IRC
@jonschlinkert
Copy link
Author

also wanted to mention that the new site has been scaffolded out, design is 85% of the way done, etc. this document is focused entirely on the IA of the docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment