This repository serves as a starting point for all static marketing pages and micro-sites that TreeHouse hosts. It includes an asset compilation pipeline as well as the full component library to ensure the final visuals are on-brand.
Pages designed using this starter project are directly compatible with the TreeHouse build system and will be uploaded to both the live and dev servers once the build passes in TravisCI.
It is important to review the component library before designing any custom user interface elements. You can view the source for the library here or view a demo of the latest components here
Run npm install and then npm start to boot a development server at
http://localhost:8000. Changes to assets and partials will be recompiled through
Webpack and the browser will be refreshed automatically.
All files required for the landing page are located in the /src folder and
organized by their type. The JTS template
engine is used to allow pages with re-usable layouts and partials.
Webpack is used to compile all front-end Javascript code and includes the Babel transpiler allowing ES6 code to be written.
Only files in the dist folder will be deployed to S3. The current Webpack
configuration copies all assets and compiled JS/CSS to the dist folder along
with the rendered JTS template.
The following must be done in order to publish a landing page:
- A
developmentandmasterbranch should be created to allow for hosting the production version and a development version for preview purposes. - The Travis configuration have the following encrypted environment variables:
NPM_TOKENshould contain a private NPM token with access to private NPM modules under the@treehouseorganization.AWS_ACCESS_KEYandAWS_SECRET_KEYIAM user for S3 deployments.
- An entry must be created in the marketing site repo to proxy requests based on the short URL which is required for this micro-site.