Any of this is subject to feedback, but I recommend that documentation be written so that it's first organized around logical topics - like templates, data, content, etc. Simply because it's easier to write in a linear way and and make sure you hit all of the bullets. After that, we can create paths for specific types of users via content, navigation, search and links, so that developers vs. designers, or newcomers vs. advanced users can quickly find what they're interested in, and the information for any type of user will progressively disclose in a way that makes sense to them.
- Home
- Getting started
- Documentation
- By topic (templates, data, ...)
- By target user (developer, designer, ...)
- By life-cycle
- Learning
- Recipes
- Tutorials
- Teaching
- Help
- Troubleshooting
- Resources
- Links
- Community
- Contributing
- Social media
- Events
- Talks
- News
- Github
- Blog
- Updates
- Releases
- Articles
- About
Major sections:
- Masthead: intro
- Links: links to common areas (will optimize later)
- Icons / tiles: related toolkit apps
- Overview - summaries of sections, so visitor can jump to what they need
- Sitemap / TOC
(Step-by-step, for hands-on learners)
- Installing assemble
- Setup and configuration
- Templates and variables
- Writing content
- Front-matter
- CLI basics and running assemble
(Begin with the end in mind, for those in a hurry)
Scaffold out a new assemble project with generate-assemble
:
$ npm install -g assemble generate generate-assemble
$ gen assemble
- customize
- Data files
- Helpers
- CLI cheatsheet
- Markdown cheatsheet
- Tooling - integrating assemble with gulp, metalsmith, etc
- Topics (linear groupings)
- Developers (API, writing plugins)
- Designers (templates, data, assets)
- Writers (content)
- Lifecycle
- Toolkit
- Generate
- Assemble
- Verb
- Update
- Templates
- Variables
- Rendering
- Template types
- Pages
- Partials
- Layouts
- Collections
- View collections
- Lists
- Groups
- Helpers
- Engines
- Data
- Front matter
- Data files
- Context
- Content
- Writing posts and documentation
- Working with drafts
- Static files
- Styles and scripts
- Assets
- Customization
- Middleare, routes and handlers
- Setup and configuration
- Streams
- Collection loaders
- Pipeline plugins
- Tasks and building
- Deployment
- GitHub Pages
- Deployment methods
- Continuous Integration
Other topics
- Migrating from (jekyll|wordpress)
- Permalinks
- Navigation
- Pagination and paging
- Themes
- Data
- Templates
- Themes
- Blogs
- Books
- Documentation
- Navigating the assemble codebase
- API
- Working with smart plugins
- Authoring plugins
Mostly the same information as in "topics", but organized around lifecycle.
- Toolkit
- Generate
- Assemble
- Verb
- Update
- Application life-cycle
- App > collection > view
- Plugins (using "smart" plugins)
- Events
- Build-cycle
- Running tasks
- Pipeline plugins
- Render-cycle
- Templates and variables
- Template types
- Layouts
- Pages
- Partials
- Helpers
- Collections
- View collections
- Lists
- Groups
- Engines
- Middleware, routes and handlers
Get to know assemble in more detail.
Single-topic recipes for quickly grasping how to accomplish a specific task with assemble.
Examples:
- Using nested layouts
- Adding a custom data loader for
.csv
files - Creating a custom view collection
- Minifying CSS
- Minifying HTML
- Instructional tutorials
- Videos
- Contributing
- Social media
- Projects using assemble
- Maintaining assemble
- Code of Conduct
- Events
- Talks
Resources and assistance for empowering champions to teach others about assemble:
- Resources (generate an assemble slide deck)
- Giving assemble talks
- Organizing assemble events
- Writing blog posts and articles about assemble
- Creating themes
- Creating tutorials
- Consulting
- PR kit
Get up-to-date information and news about assemble and related projects.
- Github
- Blog
- Updates
- Releases
- Articles
- History
- Core team
- License
- Copyright