CSIS-iLab / trade_guys

Trade Guys landing page/web hub
https://tradeguys.csis.org
MIT License
0 stars 3 forks source link

Trade Guys

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.

Table of Contents

Quick-start Instructions

$ git clone https://github.com/CSIS-iLab/trade_guys.git
$ cd trade_guys
$ npm install
$ npm start

Usage

Local Development

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

Build for Production

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

See More Commands

This will display all available commands, such as running eslint or imagemin independently.

$ npm run

Jekyll

You can also use any of the default Jekyll commands listed in their docs.

What's Included

For more information on what is included and modifying the default configuration, see the What's Included guide.

Project Organization

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

.forestry

Configuration files for the Forestry CMS live here, including the default front matter UI fields for the different content types.

_data

The _data folder contains CSV, JSON, or YAML files that are used throughout the site. See Jekyll documentation for more information.

_includes

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.

_layouts

The _layouts folder contains the HTML for distinctive page layouts. For example, post.html and archive.html. See Jekyll documentation for more information.

_authors, _drafts, _keywords, _podcast, _posts, _series

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.

_site

The compiled site files. This folder is automatically generated by Jekyll's build process. You should not make manual changes to this folder.

admin

Forestry's remote admin panel. See the Forestry docs for more information.

assets

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.

gulp_tasks

Configuration for the individual gulp tasks being run.

uploads

Media uploaded to the site is hosted here.

[pages].md

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.

Contributing

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.