This is the source for my blog, located at aesinv.com. It runs on Jekyll, a static-site generator, with added development functionality via Gulp. You can read up on the implementation of Gulp on this blog post.
git clone <repo url> .npm install -g gulpnpm install -g bowernpm installgulp build:assetsConcatenates, minifies, and optimizes all site JavaScript, runs the Jekyll-built stylesheet through an auto-prefixer and minifier, then optimizes all published images within the /project/img/ directory.
gulp serveCreates a local server via Browsersync, runs the Jekyll build, runs the build-assets task, then watches for any changes within the /project/ directory. Rebuilds necessary files and refreshes the Browsersync server on changes.
gulp deployRuns the Jekyll build with the production config file, then runs the build-assets task to build and optimize all site assets.
_dist: Auto-generated built website
bower_components: Front end dependencies
gulp-tasks: Gulp task module files
project: Main project source
- _assets: Excluded asset files
- _data: Well formatted site data to be loaded into the site.data global
- _drafts: Unfinished and unpublished posts
- _includes: Partials that can be used by other partials as well as layouts
+ components: Components that make up other components and partials
+ custom: Feeds and other self-contained partials
+ svg: SVG's that can be embedded directly into layouts and components
- _layouts: Usable site layouts made of partials
- _plugins: Jekyll plugins to include/run when building the site
- _posts: Published posts
- _sass: Main styles source
+ components: Styles corresponding to /project/_includes/components items
+ fonts: Custom font declarations
+ partials: Styles corresponding to /project/_includes partials
+ vendor: 3rd party dependencies to be included within the built stylesheet
- css: Includes main stylesheet
- fonts: Custom font files
- img: Published/included image files
+ icons: Site icons (favicons, twitter/og/ms icons)
+ seasonal: Images relating to seasonal settings/components
+ videos: HTML5 Videos and their fallbacks
- js: Site scripts
+ lib: Vendor libraries/polyfills included in the project
Each post with a featured image requires two images:
1920x575200x200Featured icons can be specified within the YAML front matter block at the top of the post.
---
feature: post-feature.png # Relative to /project/img
featureico: post-feature-icon.png # Relative to /project/img
featurealt: The alt message for the featured image.
---
Videos and a single fall-back image should go within the project/img/videos directory, with the following specs:
.mp4, .webm, .ogvchild_process.spawn method.