This repo has been archived and now advises visitors to access the Trade Guys Podcast on csis.org.
The Trade Guys website is the home of all things trade at CSIS, including the Trade Guys podcast, explanatory videos, analysis, and data visualizations. The site is built on top of the Frasco Jekyll starter kit that utilizes gulp, Sass, Autoprefixer, PostCSS, Webpack, imagemin, & Browsersync. The sites uses Forestry.io for a user-friendly CMS and Netlify to handle deploys.
$ git clone https://github.com/CSIS-iLab/trade_guys.git
$ cd trade_guys
$ npm install
$ npm start
This will give you file watching, browser synchronisation, auto-rebuild, CSS injecting, etc. Please note stylelint is included, but does not run automatically. It was added retroactively and requires a more thorough examination of Sass files.
$ npm start
This will set the JEKYLL_ENV
to production
and use the production config file(s) set in frasco.config.js
to override default settings.
$ npm run build
This will display all available commands, such as running eslint or imagemin independently.
$ npm run
You can also use any of the default Jekyll commands listed in their docs.
For more information on what is included and modifying the default configuration, see the What's Included guide.
The basic site structure for the site looks like this:
.
├── .forestry
├── _authors
├── _data
├── _drafts
├── _includes
├── _keywords
├── _layouts
├── _podcast
├── _posts
├── _series
├── _site
├── admin
├── assets
| ├── _images
| ├── _js
| ├── _sass
| ├── css
| ├── fonts
| ├── images
| └── js
├── gulp_tasks
├── uploads
├── _config.yml
├── about.md
├── authors.md
├── index.md
├── podcast.md
├── series.md
├── tag.md
└── trade-explained.md
Configuration files for the Forestry CMS live here, including the default front matter UI fields for the different content types.
The _data
folder contains CSV, JSON, or YAML files that are used throughout the site. See Jekyll documentation for more information.
The _includes
folder contains the HTML for the modular pieces of the site's layout that need to be included across multiple pages. For example, head.html
and footer.html
are stored here. See Jekyll documentation for more information.
The _layouts
folder contains the HTML for distinctive page layouts. For example, post.html
and archive.html
. See Jekyll documentation for more information.
These folder contain the markdown files for their respective content types and are called "collections" in Jekyll terminology. Each podcast, keyword, author, etc. gets its own markdown file that contains the relevant front matter and content for that particular item. Default front matter configuration is set in config.yml
and .forestry
configuration files. See Jekyll documentation for more information.
The compiled site files. This folder is automatically generated by Jekyll's build process. You should not make manual changes to this folder.
Forestry's remote admin panel. See the Forestry docs for more information.
The assets folder contains images utilized in the layout, SASS files, the compiled CSS, and both the bundled/unbundled JavaScript. Folders prefixed with _
are compiled on build and the compiled assets moved to the non-prefixed folders.
Configuration for the individual gulp tasks being run.
Media uploaded to the site is hosted here.
Parent level pages on the site, such as /about
, /podcast
, and /trade-explained
, are created by making a .md
file in the root directory of the project. See Jekyll documentation for more information.
To contribute to the project, create a branch off of master
. When you're ready to merge your code, submit a PR back to master
. It will be reviewed and then merged.