TTWeb Basices 0. Intro
The TTWeb CMS can be thought of as simply a user interface that manages Jekyll-generated static websites stored in github repositories. We take advantage of Jekyll’s extensible plugins system to allow for some custom site generation processes and to add custom liquid tags, but at it’s core it’s just Jekyll.
How it works
Each website in TTWeb has a corresponding github repository. The master branch gets built and delivered to an S3 bucket for “staging” previews, and the production branch gets built and delivered to an S3 bucket to be served from a cloudfront instance as the live site.
When you create a draft in the CMS, a new branch will be created in github. You can clone this branch locally, make changes and push back up to that branch. When a user makes content or settings changes to a branch in the CMS, TTWeb creates a commit on that branch in github. Any change to the branch in github (either from a developer pushing code or a CMS user making edits) will trigger the site to be rebuilt so the changes are reflected in the preview/edit versions of the site. Depending on the complexity of the site setup, this may take few seconds or up to 30 seconds before the preview/edit version of the site is up to date.
When new changes are made to a draft we make comparison’s between that draft and it’s parent draft (which may be the staging/master branch) and between that draft and the Live/production branch. Depending on the mergeability between those branches, the CMS will show promote/publish buttons to allow users to push changes through to staging and/or live sites.
In additoin to a normal Jekyll build process, promotions to staging and production also include syncing with S3 buckets for site delivery, so these take a bit longer (1-5 minutes depending on the size of the site) and that process is reflected in a status bar at the top of a page.
More TTWeb tutorials
-
TTWeb Basics 1. Introduction to Content Models
Overview of TTWeb Content Models.
-
TTWeb Basics 2. Content Model Definitions
How to build structured data form interfaces in TTWeb
-
TTWeb Basics 3. Content Model Instances
How to use content models and generate dynamic pages in TTWeb
-
TTWeb Basics 4. Content Settings
User-editable global content and other site settings
-
TTWeb Basics 6. Site Menus
How to add and configure editable menus on a site
-
TTWeb Basics 5. Content Regions
Adding user editable content regions
-
TTWeb Basics 8. Redirects
Redirect file contents
-
TTWeb Basics 7. Localization And Internationalization
Editing and generating a site in multiple languages
-
TTWeb Liquid 1. Permalinks and IDs
Use the permalink filter to build URLs so they are formatted correctly and auotmatically update