├── blog ├── .gitignore ├── images │ ├── jekyll_install.jpg │ ├── facebook.svg │ ├── rss.svg │ ├── linkedin.svg │ ├── twitter.svg │ └── github.svg ├── _layouts │ ├── page.html │ ├── post.html │ └── default.html ├── _includes │ ├── footer.html │ ├── footer-post.html │ ├── sidebar-short.html │ └── sidebar.html ├── _config.yml ├── feed.xml ├── tags │ └── index.html ├── index.html ├── about.md ├── _posts │ └── 2015-04-30-basic-commands.md └── css │ └── syntax-highlighting.scss ├── exercise-files ├── final-blog │ ├── .gitignore │ ├── images │ │ ├── jekyll_install.jpg │ │ ├── facebook.svg │ │ ├── rss.svg │ │ ├── linkedin.svg │ │ ├── twitter.svg │ │ └── github.svg │ ├── page.html │ ├── _layouts │ │ ├── page.html │ │ ├── post.html │ │ └── default.html │ ├── _includes │ │ ├── footer.html │ │ ├── footer-post.html │ │ ├── sidebar-short.html │ │ └── sidebar.html │ ├── _config.yml │ ├── post.html │ ├── feed.xml │ ├── tags │ │ └── index.html │ ├── index.html │ ├── about.md │ ├── default.html │ ├── _posts │ │ └── 2015-04-30-basic-commands.md │ └── css │ │ └── syntax-highlighting.scss ├── Chapter-07 │ ├── 07-08 │ │ ├── .gitignore │ │ ├── images │ │ │ ├── jekyll_install.jpg │ │ │ ├── facebook.svg │ │ │ ├── rss.svg │ │ │ ├── linkedin.svg │ │ │ ├── twitter.svg │ │ │ └── github.svg │ │ ├── _layouts │ │ │ ├── page.html │ │ │ ├── post.html │ │ │ └── default.html │ │ ├── _includes │ │ │ ├── footer.html │ │ │ ├── footer-post.html │ │ │ ├── sidebar-short.html │ │ │ └── sidebar.html │ │ ├── _config.yml │ │ ├── feed.xml │ │ ├── tags │ │ │ └── index.html │ │ ├── index.html │ │ ├── about.md │ │ ├── _posts │ │ │ └── 2015-04-30-basic-commands.md │ │ └── css │ │ │ └── syntax-highlighting.scss │ └── 07-06 │ │ ├── _config.yml │ │ └── finished-files │ │ └── _config.yml ├── Chapter-04 │ ├── 04-06 │ │ ├── finished-files │ │ │ ├── blog-snapshot │ │ │ │ ├── .gitignore │ │ │ │ ├── images │ │ │ │ │ ├── jekyll_install.jpg │ │ │ │ │ ├── facebook.svg │ │ │ │ │ ├── rss.svg │ │ │ │ │ ├── linkedin.svg │ │ │ │ │ ├── twitter.svg │ │ │ │ │ └── github.svg │ │ │ │ ├── _layouts │ │ │ │ │ ├── page.html │ │ │ │ │ ├── post.html │ │ │ │ │ └── default.html │ │ │ │ ├── _includes │ │ │ │ │ ├── footer.html │ │ │ │ │ ├── footer-post.html │ │ │ │ │ ├── sidebar-short.html │ │ │ │ │ └── sidebar.html │ │ │ │ ├── _config.yml │ │ │ │ ├── about.md │ │ │ │ ├── index.html │ │ │ │ ├── feed.xml │ │ │ │ ├── _sass │ │ │ │ │ ├── _syntax-highlighting.scss │ │ │ │ │ └── _base.scss │ │ │ │ └── css │ │ │ │ │ └── syntax-highlighting.scss │ │ │ └── index.html │ │ └── index.html │ ├── 04-07 │ │ ├── _config.yml │ │ ├── finished-files │ │ │ ├── _config.yml │ │ │ └── index.html │ │ └── index.html │ ├── 04-05 │ │ ├── finished-files │ │ │ └── index.html │ │ └── index.html │ ├── 04-08 │ │ ├── index.html │ │ └── finished-files │ │ │ └── index.html │ ├── 04-02 │ │ ├── index.html │ │ └── finished-files │ │ │ └── index.html │ ├── 04-01 │ │ └── finished-files │ │ │ └── index.html │ ├── 04-04 │ │ ├── index.html │ │ └── finished-files │ │ │ └── index.html │ ├── 04-03 │ │ ├── finished-files │ │ │ └── index.html │ │ └── index.html │ └── 04-09 │ │ ├── index.html │ │ └── finished-files │ │ └── index.html ├── Chapter-05 │ ├── 05-09 │ │ ├── quote.txt │ │ └── finished-files │ │ │ └── quote.txt │ ├── 05-04 │ │ └── finished-files │ │ │ └── _config.yml │ ├── 05-12 │ │ ├── about.txt │ │ └── finished-files │ │ │ └── about.md │ ├── 05-11 │ │ └── 2015-04-30-basic-commands.md │ └── 05-10 │ │ └── 2015-04-23-exploring-jekyll.md ├── Chapter-02 │ ├── 02-04 │ │ ├── _images │ │ │ ├── jekyll_install.jpg │ │ │ ├── facebook.svg │ │ │ ├── rss.svg │ │ │ ├── linkedin.svg │ │ │ ├── twitter.svg │ │ │ └── github.svg │ │ └── _css │ │ │ └── syntax-highlighting.scss │ └── 02-03 │ │ └── finished-files │ │ └── _config.yml ├── Chapter-03 │ ├── 03-09 │ │ ├── _layouts │ │ │ ├── page.html │ │ │ └── post.html │ │ ├── finished-files │ │ │ ├── _layouts │ │ │ │ ├── page.html │ │ │ │ └── post.html │ │ │ ├── _includes │ │ │ │ ├── footer.html │ │ │ │ ├── footer-post.html │ │ │ │ ├── sidebar-short.html │ │ │ │ └── sidebar.html │ │ │ └── default.html │ │ ├── _includes │ │ │ ├── footer.html │ │ │ ├── footer-post.html │ │ │ ├── sidebar-short.html │ │ │ └── sidebar.html │ │ └── default.html │ ├── 03-02 │ │ └── _images │ │ │ ├── facebook.svg │ │ │ ├── rss.svg │ │ │ ├── linkedin.svg │ │ │ ├── twitter.svg │ │ │ └── github.svg │ ├── 03-04 │ │ ├── default.html │ │ └── finished-files │ │ │ └── default.html │ ├── 03-03 │ │ └── finished-files │ │ │ └── default.html │ ├── 03-05 │ │ ├── default.html │ │ └── finished-files │ │ │ └── default.html │ ├── 03-06 │ │ ├── default.html │ │ └── finished-files │ │ │ └── default.html │ ├── 03-07 │ │ ├── default.html │ │ └── finished-files │ │ │ └── default.html │ └── 03-08 │ │ ├── default.html │ │ └── finished-files │ │ └── default.html └── Chapter-06 │ ├── 06-03 │ ├── index.html │ └── finished-files │ │ └── index.html │ ├── 06-04 │ ├── index.html │ └── finished-files │ │ └── index.html │ ├── 06-05 │ ├── index.html │ └── finished-files │ │ └── index.html │ ├── 06-06 │ ├── index.html │ └── finished-files │ │ └── index.html │ ├── 06-07 │ ├── index.html │ └── finished-files │ │ └── index.html │ └── 06-02 │ └── finished-files │ └── 2015-04-30-basic-commands.md └── README.md /blog/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | -------------------------------------------------------------------------------- /exercise-files/final-blog/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-09/quote.txt: -------------------------------------------------------------------------------- 1 | When you remove layers, simplicity and speed happen. 2 | —Ginni Rometty -------------------------------------------------------------------------------- /blog/images/jekyll_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/jekyll-for-designers/HEAD/blog/images/jekyll_install.jpg -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-09/finished-files/quote.txt: -------------------------------------------------------------------------------- 1 | When you remove layers, simplicity and speed happen. 2 | —Ginni Rometty -------------------------------------------------------------------------------- /exercise-files/final-blog/images/jekyll_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/jekyll-for-designers/HEAD/exercise-files/final-blog/images/jekyll_install.jpg -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/jekyll_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/jekyll-for-designers/HEAD/exercise-files/Chapter-07/07-08/images/jekyll_install.jpg -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/jekyll_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/jekyll-for-designers/HEAD/exercise-files/Chapter-02/02-04/_images/jekyll_install.jpg -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/jekyll_install.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jameswillweb/jekyll-for-designers/HEAD/exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/jekyll_install.jpg -------------------------------------------------------------------------------- /blog/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /blog/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{page.title}}

9 |
10 | {{content}} 11 |
12 |
13 | {% include sidebar.html %} 14 |
15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_includes/footer.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /blog/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-07/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "" 5 | url: "http://yourdomain.com" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-03/finished-files/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "" 5 | url: "http://yourdomain.com" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "" 5 | url: "http://yourdomain.com" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_includes/footer-post.html: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-07/finished-files/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "" 5 | url: "http://yourdomain.com" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | paginate: 4 11 | paginate_path: '/blog/page:num/' 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About 4 | permalink: /about/ 5 | --- 6 | 7 | This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) 8 | 9 | You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new) 10 | 11 | You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-06/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "" 5 | url: "http://yourdomain.com" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: true 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | permalink: /blog/:title 15 | -------------------------------------------------------------------------------- /blog/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "/jekyll-for-designers" 5 | url: "http://jameswillweb.github.io/jekyll-for-designers" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: false 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | permalink: /blog/:title 15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "/jekyll-for-designers" 5 | url: "http://jameswillweb.github.io/jekyll-for-designers" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: false 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | permalink: /blog/:title 15 | -------------------------------------------------------------------------------- /blog/images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "/jekyll-for-designers" 5 | url: "http://jameswillweb.github.io/jekyll-for-designers" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: false 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | permalink: /blog/:title 15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-06/finished-files/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "/jekyll-for-designers" 5 | url: "http://jameswillweb.github.io/jekyll-for-designers" 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: true 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | permalink: /blog/:title 15 | -------------------------------------------------------------------------------- /exercise-files/final-blog/images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-02/_images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-04/finished-files/_config.yml: -------------------------------------------------------------------------------- 1 | # Site settings 2 | title: Jekyll for Web Designers 3 | description: "Companion blog to the lynda.com course, Jekyll for Web Designers. This site is designed to present Jekyll to web designers in a clear, concise way, and provide a resource and reference for those that are new to Jekyll." 4 | baseurl: "/jekyll-for-designers" 5 | url: "http://jameswillweb.github.io/jekyll-for-designers" # the base hostname & protocol for your site 6 | tagline: A basic guide to Jekyll 7 | 8 | # Build settings 9 | markdown: kramdown 10 | kramdown: 11 | auto_ids: false 12 | paginate: 4 13 | paginate_path: '/blog/page:num/' 14 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /blog/_includes/sidebar-short.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /blog/images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /blog/images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/final-blog/images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-02/_images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/final-blog/images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-02/_images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | 16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-03/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 20 |
21 | 22 |
23 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-05/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | 16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-07/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | {% for post in site.posts %} 7 | 17 | {% endfor %} 18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | {% for post in site.posts %} 7 | 17 | {% endfor %} 18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | {% for post in site.posts %} 7 | 17 | {% endfor %} 18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-07/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 | {% for post in paginator.posts limit:4 %} 7 | 17 | {% endfor %} 18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-04/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 | 25 |
26 | {% include sidebar-short.html %} 27 |
28 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-03/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 | 25 |
26 | {% include sidebar-short.html %} 27 |
28 | -------------------------------------------------------------------------------- /blog/images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/final-blog/images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-02/_images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-08/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 | 16 | {% endfor %} 17 | 21 |
22 | {% include sidebar.html %}
23 | -------------------------------------------------------------------------------- /blog/images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-05/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 |
  • tag name
  • 15 |
16 |
17 |

Tag name

18 | 26 |
27 |
28 | {% include sidebar-short.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/final-blog/images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-04/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 |
  • tag name
  • 15 |
16 |
17 |

Tag name

18 | 26 |
27 |
28 | {% include sidebar-short.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-02/_images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /blog/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /exercise-files/final-blog/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/images/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /blog/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 4 | {% assign sortedTags = site_tags | split:',' | sort %} 5 | 23 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-02/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

6 | Article title goes here

7 | 9 |
10 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

11 | 13 |
14 |
15 | {% include sidebar.html %} 16 |
17 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | page-type: post 4 | --- 5 |
6 |
7 |
8 |
9 |

{{page.title}}

10 | 12 |
13 | {{content}} 14 |
15 |

Posted in {% for tag in page.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

16 |
17 |
18 |
19 |

Read more:

20 | {% if page.previous.url %} 21 | 22 | {% endif %} 23 | {% if page.next.url %} 24 | 25 | {% endif %} 26 |
27 |
28 | {% include sidebar.html %} 29 |
30 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-01/finished-files/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

6 | Article title goes here

7 | 9 |
10 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

11 | 13 |
14 |
15 | {% include sidebar.html %} 16 |
17 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-04/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

12 | 15 |
16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-03/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

12 | 15 |
16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-03/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 |
7 |
8 |
9 |

10 | Article title goes here

11 | 13 |
14 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

15 | 17 |
18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-05/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

12 | 15 |
16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-06/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 |
  • tag name
  • 15 |
16 |
17 | {% for tag in sortedTags %} 18 |

{{ tag }}

19 | 29 | {% endfor %} 30 |
31 |
32 | {% include sidebar-short.html %} 33 |
34 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-02/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |
6 |
7 |
8 |
9 |

10 | Article title goes here

11 | 13 |
14 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

15 | 17 |
18 |
19 | {% include sidebar.html %} 20 |
21 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-04/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

Excerpt text. Mauris interdum nulla a laoreet mattis. Donec sit amet sem massa. Duis arcu diam, lobortis sodales rutrum vel, fringilla ut ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque id erat non magna congue faucibus vel eget risus. Nulla porttitor nisl vel magna egestas consectetur. Pellentesque nisl est, fermentum non lacus eu, venenatis interdum elit. Morbi ornare mauris tristique mauris faucibus, id mattis nibh suscipit. Read more

12 | 15 |
16 |
17 | {% include sidebar.html %} 18 |
19 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-05/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 |
  • tag name
  • 15 |
16 |
17 | {% for tag in sortedTags %} 18 |

{{ tag }}

19 | 29 | {% endfor %} 30 |
31 |
32 | {% include sidebar-short.html %} 33 |
34 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-09/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 | 16 | {% endfor %} 17 | 22 |
23 | {% include sidebar.html %}
24 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-08/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 | 16 | {% endfor %} 17 | 22 |
23 | {% include sidebar.html %}
24 | -------------------------------------------------------------------------------- /blog/feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /blog/tags/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 | 15 | {% for tag in sortedTags %} 16 |
  • {{ tag }} [{{ site.tags[tag].size }}]
  • 17 | {% endfor %} 18 |
19 |
20 | {% for tag in sortedTags %} 21 |

{{ tag }}

22 | 32 | {% endfor %} 33 |
34 |
35 | {% include sidebar-short.html %} 36 |
37 | -------------------------------------------------------------------------------- /exercise-files/final-blog/feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /exercise-files/final-blog/tags/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 | 15 | {% for tag in sortedTags %} 16 |
  • {{ tag }} [{{ site.tags[tag].size }}]
  • 17 | {% endfor %} 18 |
19 |
20 | {% for tag in sortedTags %} 21 |

{{ tag }}

22 | 32 | {% endfor %} 33 |
34 |
35 | {% include sidebar-short.html %} 36 |
37 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/tags/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 | 15 | {% for tag in sortedTags %} 16 |
  • {{ tag }} [{{ site.tags[tag].size }}]
  • 17 | {% endfor %} 18 |
19 |
20 | {% for tag in sortedTags %} 21 |

{{ tag }}

22 | 32 | {% endfor %} 33 |
34 |
35 | {% include sidebar-short.html %} 36 |
37 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/feed.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: null 3 | --- 4 | 5 | 6 | 7 | {{ site.title | xml_escape }} 8 | {{ site.description | xml_escape }} 9 | {{ site.url }}{{ site.baseurl }}/ 10 | 11 | {{ site.time | date_to_rfc822 }} 12 | {{ site.time | date_to_rfc822 }} 13 | Jekyll v{{ jekyll.version }} 14 | {% for post in site.posts limit:10 %} 15 | 16 | {{ post.title | xml_escape }} 17 | {{ post.content | xml_escape }} 18 | {{ post.date | date_to_rfc822 }} 19 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 20 | {{ post.url | prepend: site.baseurl | prepend: site.url }} 21 | {% for tag in post.tags %} 22 | {{ tag | xml_escape }} 23 | {% endfor %} 24 | {% for cat in post.categories %} 25 | {{ cat | xml_escape }} 26 | {% endfor %} 27 | 28 | {% endfor %} 29 | 30 | 31 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-06/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Post Archives 4 | --- 5 | 6 |
7 |
8 |
9 |
10 |

{{page.title}}

11 |
    12 | {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %} 13 | {% assign sortedTags = site_tags | split:',' | sort %} 14 | {% for tag in sortedTags %} 15 |
  • {{ tag }} [{{ site.tags[tag].size }}]
  • 16 | {% endfor %} 17 |
18 |
19 | {% for tag in sortedTags %} 20 |

{{ tag }}

21 | 31 | {% endfor %} 32 |
33 |
34 | {% include sidebar-short.html %} 35 |
36 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-07/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 | 16 | {% endfor %} 17 | 27 |
28 | {% include sidebar.html %}
29 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-09/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 | 16 | {% endfor %} 17 | 29 |
30 | {% include sidebar.html %}
31 | -------------------------------------------------------------------------------- /blog/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

{{ post.excerpt | strip_html }} read more

12 |
13 |

Posted in {% for tag in post.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

14 |
15 |
16 | {% endfor %} 17 | 27 |
28 | {% include sidebar.html %}
29 | -------------------------------------------------------------------------------- /exercise-files/final-blog/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

{{ post.excerpt | strip_html }} read more

12 |
13 |

Posted in {% for tag in post.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

14 |
15 |
16 | {% endfor %} 17 | 27 |
28 | {% include sidebar.html %}
29 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

{{ post.excerpt | strip_html }} read more

12 |
13 |

Posted in {% for tag in post.tags %}{% unless forloop.last %}, {% endunless %}{% endfor %}

14 |
15 |
16 | {% endfor %} 17 | 27 |
28 | {% include sidebar.html %}
29 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-07/finished-files/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 |
{% for post in paginator.posts limit:4 %} 6 |
7 |
8 |

{{post.title}}

9 | 10 |
11 |

{{ post.excerpt | strip_html }} Read more

12 |
13 |

Posted in {% for tag in post.tags %}{% unless forloop.last %}, {% endunless %} {% endfor %}

14 |
15 |
16 | {% endfor %} 17 | 27 |
28 | {% include sidebar.html %}
29 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-04/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | title goes here 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-03/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | title goes here 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-05/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-04/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-06/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-12/about.txt: -------------------------------------------------------------------------------- 1 | This site was created to help you learn Jekyll, and is a companion of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. While this blog has many posts detailing Jekyll and its components, it's not designed to be a step-by-step tutorial for using Jekyll. For that, check out the lynda.com course. The main repo for this site contains the blog and the exercise files for the course. 2 | 3 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit. 4 | 5 | About the Author 6 | 7 | My name is James Williamson. I'm a Senior Author at lynda.com and I've been writing and teaching web design and development for just over 15 years. I love what I do and hope you find this blog and course useful. If you see me out at a conference or event please say hello. My favorite form of communication is Twitter, where you'll find me ranting 140 characters at a time at [@jameswillweb](https://twitter.com/jameswillweb "my twitter profile"). 8 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-05/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #Jekyll for Web Designers 2 | 3 | Hey folks! Welcome to the companion repo of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. Here you'll find the source code for the blog we build in the course, as well as the accompanying exercise files. The blog itself has a wealth of Jekyll related info, as well as advice on learning and applying YAML, Liquid, and Markdown. [Check it out here, at http://jameswillweb.github.io/jekyll-for-designers/](http://jameswillweb.github.io/jekyll-for-designers/ "Jekyll for Designers") 4 | 5 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit, but please respect the license. No use without attribution and no commercial resale. The exercise files are under copyright for lynda.com and should only be used for personal use. 6 | 7 | Thanks, if you find any problems or errors open an issue and I'll fix them as soon as I can. If you find it useful give me a shout on [Twitter!](http://www.twitter.com/jameswillweb "my twitter profile") 8 | 9 | — James -------------------------------------------------------------------------------- /blog/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About this blog 4 | --- 5 | 6 | This site was created to help you learn Jekyll, and is a companion of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. While this blog has many posts detailing Jekyll and its components, it's not designed to be a step-by-step tutorial for using Jekyll. For that, check out the lynda.com course. The main repo for this site contains the blog and the exercise files for the course. 7 | 8 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit. 9 | 10 | ### About the Author 11 | 12 | My name is James Williamson. I'm a Senior Author at lynda.com and I've been writing and teaching web design and development for just over 15 years. I love what I do and hope you find this blog and course useful. If you see me out at a conference or event please say hello. My favorite form of communication is Twitter, where you'll find me ranting 140 characters at a time at [@jameswillweb](https://twitter.com/jameswillweb "my twitter profile"). 13 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-07/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-06/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/final-blog/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About this blog 4 | --- 5 | 6 | This site was created to help you learn Jekyll, and is a companion of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. While this blog has many posts detailing Jekyll and its components, it's not designed to be a step-by-step tutorial for using Jekyll. For that, check out the lynda.com course. The main repo for this site contains the blog and the exercise files for the course. 7 | 8 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit. 9 | 10 | ### About the Author 11 | 12 | My name is James Williamson. I'm a Senior Author at lynda.com and I've been writing and teaching web design and development for just over 15 years. I love what I do and hope you find this blog and course useful. If you see me out at a conference or event please say hello. My favorite form of communication is Twitter, where you'll find me ranting 140 characters at a time at [@jameswillweb](https://twitter.com/jameswillweb "my twitter profile"). 13 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About this blog 4 | --- 5 | 6 | This site was created to help you learn Jekyll, and is a companion of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. While this blog has many posts detailing Jekyll and its components, it's not designed to be a step-by-step tutorial for using Jekyll. For that, check out the lynda.com course. The main repo for this site contains the blog and the exercise files for the course. 7 | 8 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit. 9 | 10 | ### About the Author 11 | 12 | My name is James Williamson. I'm a Senior Author at lynda.com and I've been writing and teaching web design and development for just over 15 years. I love what I do and hope you find this blog and course useful. If you see me out at a conference or event please say hello. My favorite form of communication is Twitter, where you'll find me ranting 140 characters at a time at [@jameswillweb](https://twitter.com/jameswillweb "my twitter profile"). 13 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-12/finished-files/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: About this blog 4 | --- 5 | 6 | This site was created to help you learn Jekyll, and is a companion of the [lynda.com](http://www.lynda.com) course **Jekyll for Web Designers**. While this blog has many posts detailing Jekyll and its components, it's not designed to be a step-by-step tutorial for using Jekyll. For that, check out the lynda.com course. The main repo for this site contains the blog and the exercise files for the course. 7 | 8 | I designed the blog as a teaching tool first and foremost, but it is designed to be simple, clean, and responsive. I used [HTML5 Boilerplate](https://html5boilerplate.com/ "html5 boilerplate") and [Normalize.css](http://necolas.github.io/normalize.css/ "normalize.css") as my starting points and narrowed them down to what I considered to be the essentials. The menu is manually generated but is responsive and built on pure CSS. The HTML focuses on semantics and is built with accessibility in mind. The CSS is not based on any framework, and only contains what the blog needs, there are no layout grids or extra UI classes. SASS is used only for code syntax highlighting, and can be stripped out easily as it is imported into the main.css file. The file links to a custom [Modernizr](http://modernizr.com/ "modernizr") library that isn't used in the final build but is available if you need it. I recommend replacing it with the Modernizr build of your choice. The entire blog was built to be customized as you wish, and not force you into any conventions or frameworks. Feel free to clone this repo and experiment and reuse the blog as you see fit. 9 | 10 | ### About the Author 11 | 12 | My name is James Williamson. I'm a Senior Author at lynda.com and I've been writing and teaching web design and development for just over 15 years. I love what I do and hope you find this blog and course useful. If you see me out at a conference or event please say hello. My favorite form of communication is Twitter, where you'll find me ranting 140 characters at a time at [@jameswillweb](https://twitter.com/jameswillweb "my twitter profile"). 13 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-08/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-08/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-07/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /blog/_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/final-blog/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/Chapter-03/03-09/finished-files/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 37 | {{content}} 38 | {% if page.id %} 39 | {% include footer-post.html %} 40 | {% else %} 41 | {% include footer.html %} 42 | {% endif %} 43 | 44 | 45 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-11/2015-04-30-basic-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Basic Commands" 4 | date: 2015-04-30 5 | --- 6 | To control Jekyll you’ll run a series of commands within your command-line interface. The Jekyll gem gives you the `jekyll` executable, which has several commands and options you can use to build and serve your site. Let’s explore these commands and their options: 7 | 8 | ###build 9 | 10 | {% highlight bash %} 11 | $ jekyll build 12 | # The current directory will be generated into ./_site 13 | 14 | $ jekyll build --destination 15 | # The current folder will be generated into 16 | 17 | $ jekyll build --source --destination 18 | # The folder will be generated into 19 | {% endhighlight %} 20 | 21 | Build does just that; it takes the contents of the current directory and generates it into the destination directory. If that directory is not specified, it defaults to the `_site` directory inside the current directory. Both the source and destination directories can be passed as options, just provide the path to the directory after the option. 22 | 23 | ###doctor 24 | 25 | {% highlight bash %} 26 | $ jekyll doctor 27 | # Checks for URL conflicts 28 | {% endhighlight %} 29 | 30 | The `doctor` command checks your site for URL conflicts, errors with your permalinks, and deprecation warnings. This can be especially useful if you’ve moved pages around or reorganized your site. 31 | 32 | ###help 33 | 34 | 35 | {% highlight bash %} 36 | $ jekyll help 37 | # Generates help documentation 38 | {% endhighlight %} 39 | 40 | 41 | The `help` command generates a small help document that lists the current version of Jekyll, and reviews available commands and their options. 42 | 43 | ###new 44 | 45 | {% highlight bash %} 46 | $ jekyll new 47 | # Generates new site scaffold in targeted directory 48 | 49 | $ jekyll new . 50 | # Generates new site scaffold in current directory 51 | 52 | $ jekyll new --blank 53 | # Generates basic site scaffold with empty directories and files 54 | {% endhighlight %} 55 | 56 | The `new` command generates a default Jekyll site in the specified directory. This is an extremely useful way to understand how Jekyll works, as you can explore and modify the default site. It’s also a great way to jump-start development, since many of the files and directories you need to create a Jekyll site will be created for you. The `blank` option creates a minimal directory structure with no files and an empty index file. 57 | 58 | ###serve 59 | 60 | {% highlight bash %} 61 | $ jekyll serve 62 | # Builds site and serves it at http://localhost:4000/ 63 | 64 | $ jekyll serve --detach 65 | # Same as `jekyll serve` but will detach from the current terminal. 66 | 67 | $ jekyll serve --no-watch 68 | # Same as `jekyll serve` but will not watch for changes or autoregenerate site. 69 | {% endhighlight %} 70 | 71 | The `serve` command generates the site and launches a built-in development server that allows you to preview your site. In its default option the server watches the source directory. Any changes made to source files will result in the server automatically regenerating those files and updating the site locally. To preview your site browse to http://localhost:4000/ unless you’ve specified a different base URL, in which case you’ll add that to the end of localhost:4000. 72 | -------------------------------------------------------------------------------- /blog/_posts/2015-04-30-basic-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Basic Commands" 4 | date: 2015-04-30 5 | tags: [jekyll, terminal] 6 | --- 7 | To control Jekyll you’ll run a series of commands within your command-line interface. The Jekyll gem gives you the `jekyll` executable, which has several commands and options you can use to build and serve your site. Let’s explore these commands and their options: 8 | 9 | ###build 10 | 11 | {% highlight bash %} 12 | $ jekyll build 13 | # The current directory will be generated into ./_site 14 | 15 | $ jekyll build --destination 16 | # The current folder will be generated into 17 | 18 | $ jekyll build --source --destination 19 | # The folder will be generated into 20 | {% endhighlight %} 21 | 22 | Build does just that; it takes the contents of the current directory and generates it into the destination directory. If that directory is not specified, it defaults to the `_site` directory inside the current directory. Both the source and destination directories can be passed as options, just provide the path to the directory after the option. 23 | 24 | ###doctor 25 | 26 | {% highlight bash %} 27 | $ jekyll doctor 28 | # Checks for URL conflicts 29 | {% endhighlight %} 30 | 31 | The `doctor` command checks your site for URL conflicts, errors with your permalinks, and deprecation warnings. This can be especially useful if you’ve moved pages around or reorganized your site. 32 | 33 | ###help 34 | 35 | 36 | {% highlight bash %} 37 | $ jekyll help 38 | # Generates help documentation 39 | {% endhighlight %} 40 | 41 | 42 | The `help` command generates a small help document that lists the current version of Jekyll, and reviews available commands and their options. 43 | 44 | ###new 45 | 46 | {% highlight bash %} 47 | $ jekyll new 48 | # Generates new site scaffold in targeted directory 49 | 50 | $ jekyll new . 51 | # Generates new site scaffold in current directory 52 | 53 | $ jekyll new --blank 54 | # Generates basic site scaffold with empty directories and files 55 | {% endhighlight %} 56 | 57 | The `new` command generates a default Jekyll site in the specified directory. This is an extremely useful way to understand how Jekyll works, as you can explore and modify the default site. It’s also a great way to jump-start development, since many of the files and directories you need to create a Jekyll site will be created for you. The `blank` option creates a minimal directory structure with no files and an empty index file. 58 | 59 | ###serve 60 | 61 | {% highlight bash %} 62 | $ jekyll serve 63 | # Builds site and serves it at http://localhost:4000/ 64 | 65 | $ jekyll serve --detach 66 | # Same as `jekyll serve` but will detach from the current terminal. 67 | 68 | $ jekyll serve --no-watch 69 | # Same as `jekyll serve` but will not watch for changes or autoregenerate site. 70 | {% endhighlight %} 71 | 72 | The `serve` command generates the site and launches a built-in development server that allows you to preview your site. In its default option the server watches the source directory. Any changes made to source files will result in the server automatically regenerating those files and updating the site locally. To preview your site browse to http://localhost:4000/ unless you’ve specified a different base URL, in which case you’ll add that to the end of localhost:4000. 73 | -------------------------------------------------------------------------------- /exercise-files/Chapter-06/06-02/finished-files/2015-04-30-basic-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Basic Commands" 4 | date: 2015-04-30 5 | --- 6 | To control Jekyll you’ll run a series of commands within your command-line interface. The Jekyll gem gives you the `jekyll` executable, which has several commands and options you can use to build and serve your site. Let’s explore these commands and their options: 7 | 8 | ###build 9 | 10 | {% highlight bash %} 11 | $ jekyll build 12 | # The current directory will be generated into ./_site 13 | 14 | $ jekyll build --destination 15 | # The current folder will be generated into 16 | 17 | $ jekyll build --source --destination 18 | # The folder will be generated into 19 | {% endhighlight %} 20 | 21 | Build does just that; it takes the contents of the current directory and generates it into the destination directory. If that directory is not specified, it defaults to the `_site` directory inside the current directory. Both the source and destination directories can be passed as options, just provide the path to the directory after the option. 22 | 23 | ###doctor 24 | 25 | {% highlight bash %} 26 | $ jekyll doctor 27 | # Checks for URL conflicts 28 | {% endhighlight %} 29 | 30 | The `doctor` command checks your site for URL conflicts, errors with your permalinks, and deprecation warnings. This can be especially useful if you’ve moved pages around or reorganized your site. 31 | 32 | ###help 33 | 34 | 35 | {% highlight bash %} 36 | $ jekyll help 37 | # Generates help documentation 38 | {% endhighlight %} 39 | 40 | 41 | The `help` command generates a small help document that lists the current version of Jekyll, and reviews available commands and their options. 42 | 43 | ###new 44 | 45 | {% highlight bash %} 46 | $ jekyll new 47 | # Generates new site scaffold in targeted directory 48 | 49 | $ jekyll new . 50 | # Generates new site scaffold in current directory 51 | 52 | $ jekyll new --blank 53 | # Generates basic site scaffold with empty directories and files 54 | {% endhighlight %} 55 | 56 | The `new` command generates a default Jekyll site in the specified directory. This is an extremely useful way to understand how Jekyll works, as you can explore and modify the default site. It’s also a great way to jump-start development, since many of the files and directories you need to create a Jekyll site will be created for you. The `blank` option creates a minimal directory structure with no files and an empty index file. 57 | 58 | ###serve 59 | 60 | {% highlight bash %} 61 | $ jekyll serve 62 | # Builds site and serves it at http://localhost:4000/ 63 | 64 | $ jekyll serve --detach 65 | # Same as `jekyll serve` but will detach from the current terminal. 66 | 67 | $ jekyll serve --no-watch 68 | # Same as `jekyll serve` but will not watch for changes or autoregenerate site. 69 | {% endhighlight %} 70 | 71 | The `serve` command generates the site and launches a built-in development server that allows you to preview your site. In its default option the server watches the source directory. Any changes made to source files will result in the server automatically regenerating those files and updating the site locally. To preview your site browse to http://localhost:4000/ unless you’ve specified a different base URL, in which case you’ll add that to the end of localhost:4000. 72 | -------------------------------------------------------------------------------- /exercise-files/final-blog/_posts/2015-04-30-basic-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Basic Commands" 4 | date: 2015-04-30 5 | tags: [jekyll, terminal] 6 | --- 7 | To control Jekyll you’ll run a series of commands within your command-line interface. The Jekyll gem gives you the `jekyll` executable, which has several commands and options you can use to build and serve your site. Let’s explore these commands and their options: 8 | 9 | ###build 10 | 11 | {% highlight bash %} 12 | $ jekyll build 13 | # The current directory will be generated into ./_site 14 | 15 | $ jekyll build --destination 16 | # The current folder will be generated into 17 | 18 | $ jekyll build --source --destination 19 | # The folder will be generated into 20 | {% endhighlight %} 21 | 22 | Build does just that; it takes the contents of the current directory and generates it into the destination directory. If that directory is not specified, it defaults to the `_site` directory inside the current directory. Both the source and destination directories can be passed as options, just provide the path to the directory after the option. 23 | 24 | ###doctor 25 | 26 | {% highlight bash %} 27 | $ jekyll doctor 28 | # Checks for URL conflicts 29 | {% endhighlight %} 30 | 31 | The `doctor` command checks your site for URL conflicts, errors with your permalinks, and deprecation warnings. This can be especially useful if you’ve moved pages around or reorganized your site. 32 | 33 | ###help 34 | 35 | 36 | {% highlight bash %} 37 | $ jekyll help 38 | # Generates help documentation 39 | {% endhighlight %} 40 | 41 | 42 | The `help` command generates a small help document that lists the current version of Jekyll, and reviews available commands and their options. 43 | 44 | ###new 45 | 46 | {% highlight bash %} 47 | $ jekyll new 48 | # Generates new site scaffold in targeted directory 49 | 50 | $ jekyll new . 51 | # Generates new site scaffold in current directory 52 | 53 | $ jekyll new --blank 54 | # Generates basic site scaffold with empty directories and files 55 | {% endhighlight %} 56 | 57 | The `new` command generates a default Jekyll site in the specified directory. This is an extremely useful way to understand how Jekyll works, as you can explore and modify the default site. It’s also a great way to jump-start development, since many of the files and directories you need to create a Jekyll site will be created for you. The `blank` option creates a minimal directory structure with no files and an empty index file. 58 | 59 | ###serve 60 | 61 | {% highlight bash %} 62 | $ jekyll serve 63 | # Builds site and serves it at http://localhost:4000/ 64 | 65 | $ jekyll serve --detach 66 | # Same as `jekyll serve` but will detach from the current terminal. 67 | 68 | $ jekyll serve --no-watch 69 | # Same as `jekyll serve` but will not watch for changes or autoregenerate site. 70 | {% endhighlight %} 71 | 72 | The `serve` command generates the site and launches a built-in development server that allows you to preview your site. In its default option the server watches the source directory. Any changes made to source files will result in the server automatically regenerating those files and updating the site locally. To preview your site browse to http://localhost:4000/ unless you’ve specified a different base URL, in which case you’ll add that to the end of localhost:4000. 73 | -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/_posts/2015-04-30-basic-commands.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Basic Commands" 4 | date: 2015-04-30 5 | tags: [jekyll, terminal] 6 | --- 7 | To control Jekyll you’ll run a series of commands within your command-line interface. The Jekyll gem gives you the `jekyll` executable, which has several commands and options you can use to build and serve your site. Let’s explore these commands and their options: 8 | 9 | ###build 10 | 11 | {% highlight bash %} 12 | $ jekyll build 13 | # The current directory will be generated into ./_site 14 | 15 | $ jekyll build --destination 16 | # The current folder will be generated into 17 | 18 | $ jekyll build --source --destination 19 | # The folder will be generated into 20 | {% endhighlight %} 21 | 22 | Build does just that; it takes the contents of the current directory and generates it into the destination directory. If that directory is not specified, it defaults to the `_site` directory inside the current directory. Both the source and destination directories can be passed as options, just provide the path to the directory after the option. 23 | 24 | ###doctor 25 | 26 | {% highlight bash %} 27 | $ jekyll doctor 28 | # Checks for URL conflicts 29 | {% endhighlight %} 30 | 31 | The `doctor` command checks your site for URL conflicts, errors with your permalinks, and deprecation warnings. This can be especially useful if you’ve moved pages around or reorganized your site. 32 | 33 | ###help 34 | 35 | 36 | {% highlight bash %} 37 | $ jekyll help 38 | # Generates help documentation 39 | {% endhighlight %} 40 | 41 | 42 | The `help` command generates a small help document that lists the current version of Jekyll, and reviews available commands and their options. 43 | 44 | ###new 45 | 46 | {% highlight bash %} 47 | $ jekyll new 48 | # Generates new site scaffold in targeted directory 49 | 50 | $ jekyll new . 51 | # Generates new site scaffold in current directory 52 | 53 | $ jekyll new --blank 54 | # Generates basic site scaffold with empty directories and files 55 | {% endhighlight %} 56 | 57 | The `new` command generates a default Jekyll site in the specified directory. This is an extremely useful way to understand how Jekyll works, as you can explore and modify the default site. It’s also a great way to jump-start development, since many of the files and directories you need to create a Jekyll site will be created for you. The `blank` option creates a minimal directory structure with no files and an empty index file. 58 | 59 | ###serve 60 | 61 | {% highlight bash %} 62 | $ jekyll serve 63 | # Builds site and serves it at http://localhost:4000/ 64 | 65 | $ jekyll serve --detach 66 | # Same as `jekyll serve` but will detach from the current terminal. 67 | 68 | $ jekyll serve --no-watch 69 | # Same as `jekyll serve` but will not watch for changes or autoregenerate site. 70 | {% endhighlight %} 71 | 72 | The `serve` command generates the site and launches a built-in development server that allows you to preview your site. In its default option the server watches the source directory. Any changes made to source files will result in the server automatically regenerating those files and updating the site locally. To preview your site browse to http://localhost:4000/ unless you’ve specified a different base URL, in which case you’ll add that to the end of localhost:4000. 73 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_sass/_syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Syntax highlighting styles 3 | */ 4 | .highlight { 5 | background: #fff; 6 | @extend %vertical-rhythm; 7 | 8 | .c { color: #998; font-style: italic } // Comment 9 | .err { color: #a61717; background-color: #e3d2d2 } // Error 10 | .k { font-weight: bold } // Keyword 11 | .o { font-weight: bold } // Operator 12 | .cm { color: #998; font-style: italic } // Comment.Multiline 13 | .cp { color: #999; font-weight: bold } // Comment.Preproc 14 | .c1 { color: #998; font-style: italic } // Comment.Single 15 | .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special 16 | .gd { color: #000; background-color: #fdd } // Generic.Deleted 17 | .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific 18 | .ge { font-style: italic } // Generic.Emph 19 | .gr { color: #a00 } // Generic.Error 20 | .gh { color: #999 } // Generic.Heading 21 | .gi { color: #000; background-color: #dfd } // Generic.Inserted 22 | .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific 23 | .go { color: #888 } // Generic.Output 24 | .gp { color: #555 } // Generic.Prompt 25 | .gs { font-weight: bold } // Generic.Strong 26 | .gu { color: #aaa } // Generic.Subheading 27 | .gt { color: #a00 } // Generic.Traceback 28 | .kc { font-weight: bold } // Keyword.Constant 29 | .kd { font-weight: bold } // Keyword.Declaration 30 | .kp { font-weight: bold } // Keyword.Pseudo 31 | .kr { font-weight: bold } // Keyword.Reserved 32 | .kt { color: #458; font-weight: bold } // Keyword.Type 33 | .m { color: #099 } // Literal.Number 34 | .s { color: #d14 } // Literal.String 35 | .na { color: #008080 } // Name.Attribute 36 | .nb { color: #0086B3 } // Name.Builtin 37 | .nc { color: #458; font-weight: bold } // Name.Class 38 | .no { color: #008080 } // Name.Constant 39 | .ni { color: #800080 } // Name.Entity 40 | .ne { color: #900; font-weight: bold } // Name.Exception 41 | .nf { color: #900; font-weight: bold } // Name.Function 42 | .nn { color: #555 } // Name.Namespace 43 | .nt { color: #000080 } // Name.Tag 44 | .nv { color: #008080 } // Name.Variable 45 | .ow { font-weight: bold } // Operator.Word 46 | .w { color: #bbb } // Text.Whitespace 47 | .mf { color: #099 } // Literal.Number.Float 48 | .mh { color: #099 } // Literal.Number.Hex 49 | .mi { color: #099 } // Literal.Number.Integer 50 | .mo { color: #099 } // Literal.Number.Oct 51 | .sb { color: #d14 } // Literal.String.Backtick 52 | .sc { color: #d14 } // Literal.String.Char 53 | .sd { color: #d14 } // Literal.String.Doc 54 | .s2 { color: #d14 } // Literal.String.Double 55 | .se { color: #d14 } // Literal.String.Escape 56 | .sh { color: #d14 } // Literal.String.Heredoc 57 | .si { color: #d14 } // Literal.String.Interpol 58 | .sx { color: #d14 } // Literal.String.Other 59 | .sr { color: #009926 } // Literal.String.Regex 60 | .s1 { color: #d14 } // Literal.String.Single 61 | .ss { color: #990073 } // Literal.String.Symbol 62 | .bp { color: #999 } // Name.Builtin.Pseudo 63 | .vc { color: #008080 } // Name.Variable.Class 64 | .vg { color: #008080 } // Name.Variable.Global 65 | .vi { color: #008080 } // Name.Variable.Instance 66 | .il { color: #099 } // Literal.Number.Integer.Long 67 | } 68 | -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/_sass/_base.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Reset some basic elements 3 | */ 4 | body, h1, h2, h3, h4, h5, h6, 5 | p, blockquote, pre, hr, 6 | dl, dd, ol, ul, figure { 7 | margin: 0; 8 | padding: 0; 9 | } 10 | 11 | 12 | 13 | /** 14 | * Basic styling 15 | */ 16 | body { 17 | font-family: $base-font-family; 18 | font-size: $base-font-size; 19 | line-height: $base-line-height; 20 | font-weight: 300; 21 | color: $text-color; 22 | background-color: $background-color; 23 | -webkit-text-size-adjust: 100%; 24 | } 25 | 26 | 27 | 28 | /** 29 | * Set `margin-bottom` to maintain vertical rhythm 30 | */ 31 | h1, h2, h3, h4, h5, h6, 32 | p, blockquote, pre, 33 | ul, ol, dl, figure, 34 | %vertical-rhythm { 35 | margin-bottom: $spacing-unit / 2; 36 | } 37 | 38 | 39 | 40 | /** 41 | * Images 42 | */ 43 | img { 44 | max-width: 100%; 45 | vertical-align: middle; 46 | } 47 | 48 | 49 | 50 | /** 51 | * Figures 52 | */ 53 | figure > img { 54 | display: block; 55 | } 56 | 57 | figcaption { 58 | font-size: $small-font-size; 59 | } 60 | 61 | 62 | 63 | /** 64 | * Lists 65 | */ 66 | ul, ol { 67 | margin-left: $spacing-unit; 68 | } 69 | 70 | li { 71 | > ul, 72 | > ol { 73 | margin-bottom: 0; 74 | } 75 | } 76 | 77 | 78 | 79 | /** 80 | * Headings 81 | */ 82 | h1, h2, h3, h4, h5, h6 { 83 | font-weight: 300; 84 | } 85 | 86 | 87 | 88 | /** 89 | * Links 90 | */ 91 | a { 92 | color: $brand-color; 93 | text-decoration: none; 94 | 95 | &:visited { 96 | color: darken($brand-color, 15%); 97 | } 98 | 99 | &:hover { 100 | color: $text-color; 101 | text-decoration: underline; 102 | } 103 | } 104 | 105 | 106 | 107 | /** 108 | * Blockquotes 109 | */ 110 | blockquote { 111 | color: $grey-color; 112 | border-left: 4px solid $grey-color-light; 113 | padding-left: $spacing-unit / 2; 114 | font-size: 18px; 115 | letter-spacing: -1px; 116 | font-style: italic; 117 | 118 | > :last-child { 119 | margin-bottom: 0; 120 | } 121 | } 122 | 123 | 124 | 125 | /** 126 | * Code formatting 127 | */ 128 | pre, 129 | code { 130 | font-size: 15px; 131 | border: 1px solid $grey-color-light; 132 | border-radius: 3px; 133 | background-color: #eef; 134 | } 135 | 136 | code { 137 | padding: 1px 5px; 138 | } 139 | 140 | pre { 141 | padding: 8px 12px; 142 | overflow-x: scroll; 143 | 144 | > code { 145 | border: 0; 146 | padding-right: 0; 147 | padding-left: 0; 148 | } 149 | } 150 | 151 | 152 | 153 | /** 154 | * Wrapper 155 | */ 156 | .wrapper { 157 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); 158 | max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); 159 | margin-right: auto; 160 | margin-left: auto; 161 | padding-right: $spacing-unit; 162 | padding-left: $spacing-unit; 163 | @extend %clearfix; 164 | 165 | @include media-query($on-laptop) { 166 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); 167 | max-width: calc(#{$content-width} - (#{$spacing-unit})); 168 | padding-right: $spacing-unit / 2; 169 | padding-left: $spacing-unit / 2; 170 | } 171 | } 172 | 173 | 174 | 175 | /** 176 | * Clearfix 177 | */ 178 | %clearfix { 179 | 180 | &:after { 181 | content: ""; 182 | display: table; 183 | clear: both; 184 | } 185 | } 186 | 187 | 188 | 189 | /** 190 | * Icons 191 | */ 192 | .icon { 193 | 194 | > svg { 195 | display: inline-block; 196 | width: 16px; 197 | height: 16px; 198 | vertical-align: middle; 199 | 200 | path { 201 | fill: $grey-color; 202 | } 203 | } 204 | } 205 | -------------------------------------------------------------------------------- /exercise-files/Chapter-05/05-10/2015-04-23-exploring-jekyll.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Exploring Jekyll" 4 | date: 2015-04-23 5 | --- 6 | Once Jekyll is installed you can begin to explore its functionality. In this post we’ll take a closer look at Jekyll’s default boilerplate site and discuss how you can use it to learn more about Jekyll. 7 | 8 | The first step to exploring Jekyll is to create a new Jekyll site, serve it, and then preview it locally in your browser. Then you can begin to tweak the site to get a better understanding of how it all works together. 9 | 10 | ###Building a new site 11 | 12 | To build a new site, create a directory named practice and navigate there in Terminal or whichever command line interface you’re using. Once there run the following commands: 13 | 14 | $ jekyll new explore 15 | # Creates the directory explore and builds a new boilerplate site inside it 16 | 17 | $ cd explore 18 | # Navigates to explore, making it the current directory 19 | 20 | $ ls 21 | # Lists the files and directories of the current site 22 | 23 | You should see a list of files and directories that were created inside your new **explore** directory. A closer examination would reveal a structure similar to this: 24 | 25 | |---_config.yml 26 | |---_includes 27 | |---footer.html 28 | |---head.html 29 | |---header.html 30 | |---_layouts 31 | |---default.html 32 | |---page.html 33 | |---post.html 34 | |---_posts 35 | |---2015-08-23-welcome-to-jekyll.markdown 36 | |---_sass 37 | |---_base.scss 38 | |---_layout.scss 39 | |---_syntax-highlighting.scss 40 | |---about.md 41 | |---css 42 | |---main.scss 43 | |---feed.xml 44 | |---index.html 45 | 46 | Some highlights: The **_config.yml** file contains the configuration settings for the blog, the **_includes** folder holds HTML snippets that are used to generate page regions, the **_layouts** directory contains the templates used to assemble individual pages, and the **_posts** folder holds the markdown files for individual posts. The **about.md** and **index.html** are individual pages, found on the root of the site. Note that pages can be created either using HTML or markdown. 47 | 48 | Feel free to open any of the files in a text editor and explore them; just don’t make any changes yet! 49 | 50 | ###Serving your new site 51 | 52 | Now run the following command: 53 | 54 | $ jekyll serve 55 | # Builds the site in the _site directory and serves it at http://localhost:4000 56 | 57 | If you examine your directory structure you’ll now find a **_site** directory that contains the generated site. Open up a browser and navigate to http://localhost:4000. Click through the site, explore the default post and note the default information. Using a text editor, open the markdown post in the **_posts** directory. At the top of the file you’ll see the YAML front matter contained between the dashed lines. Change the title to “Exploring Jekyll.” Save the file and note in the Terminal window that the Jekyll server detects the change and regenerates the file. Refreshing the file in your browser should reflect the change you made to the default post. 58 | 59 | Not all changes are automatically regenerated. Open the **_config.yml** file in your text editor. Change the title of the site to “Working with Jekyll” and replace the placeholder contact information with your contact info and then save the file. Notice that the Jekyll server doesn’t automatically detect the change. Stop the server by typing `CTRL+C` in the Terminal window. Run the `jekyll serve` command again and refresh the page in your browser. You should now see your updated information. 60 | 61 | From here begin to experiment with making changes to templates, adding posts, and modifying the overall site configuration. This is a practice site, so it’s totally okay to break it! By exploring and experimenting with the Jekyll boilerplate site you can get a better sense of how Jekyll works and how your own site should be structured. 62 | 63 | -------------------------------------------------------------------------------- /blog/css/syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | .highlight { 5 | .hll { background-color: #ffffcc } 6 | .c { color: #87ceeb} /* Comment */ 7 | .err { color: #ffffff} /* Error */ 8 | .g { color: #ffffff} /* Generic */ 9 | .k { color: #f0e68c} /* Keyword */ 10 | .l { color: #ffffff} /* Literal */ 11 | .n { color: #ffffff} /* Name */ 12 | .o { color: #ffffff} /* Operator */ 13 | .x { color: #ffffff} /* Other */ 14 | .p { color: #ffffff} /* Punctuation */ 15 | .cm { color: #87ceeb} /* Comment.Multiline */ 16 | .cp { color: #cd5c5c} /* Comment.Preproc */ 17 | .c1 { color: #87ceeb} /* Comment.Single */ 18 | .cs { color: #87ceeb} /* Comment.Special */ 19 | .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */ 20 | .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */ 21 | .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */ 22 | .gh { color: #cd5c5c} /* Generic.Heading */ 23 | .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */ 24 | span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ 25 | .gp { color: #ffffff} /* Generic.Prompt */ 26 | .gs { color: #ffffff} /* Generic.Strong */ 27 | .gu { color: #cd5c5c} /* Generic.Subheading */ 28 | .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */ 29 | .kc { color: #f0e68c} /* Keyword.Constant */ 30 | .kd { color: #f0e68c} /* Keyword.Declaration */ 31 | .kn { color: #f0e68c} /* Keyword.Namespace */ 32 | .kp { color: #f0e68c} /* Keyword.Pseudo */ 33 | .kr { color: #f0e68c} /* Keyword.Reserved */ 34 | .kt { color: #bdb76b} /* Keyword.Type */ 35 | .ld { color: #ffffff} /* Literal.Date */ 36 | .m { color: #ffffff} /* Literal.Number */ 37 | .s { color: #ffffff} /* Literal.String */ 38 | .na { color: #ffffff} /* Name.Attribute */ 39 | .nb { color: #ffffff} /* Name.Builtin */ 40 | .nc { color: #ffffff} /* Name.Class */ 41 | .no { color: #ffa0a0} /* Name.Constant */ 42 | .nd { color: #ffffff} /* Name.Decorator */ 43 | .ni { color: #ffdead} /* Name.Entity */ 44 | .ne { color: #ffffff} /* Name.Exception */ 45 | .nf { color: #ffffff} /* Name.Function */ 46 | .nl { color: #ffffff} /* Name.Label */ 47 | .nn { color: #ffffff} /* Name.Namespace */ 48 | .nx { color: #ffffff} /* Name.Other */ 49 | .py { color: #ffffff} /* Name.Property */ 50 | .nt { color: #f0e68c} /* Name.Tag */ 51 | .nv { color: #98fb98} /* Name.Variable */ 52 | .ow { color: #ffffff} /* Operator.Word */ 53 | .w { color: #ffffff} /* Text.Whitespace */ 54 | .mf { color: #ffffff} /* Literal.Number.Float */ 55 | .mh { color: #ffffff} /* Literal.Number.Hex */ 56 | .mi { color: #ffffff} /* Literal.Number.Integer */ 57 | .mo { color: #ffffff} /* Literal.Number.Oct */ 58 | .sb { color: #ffffff} /* Literal.String.Backtick */ 59 | .sc { color: #ffffff} /* Literal.String.Char */ 60 | .sd { color: #ffffff} /* Literal.String.Doc */ 61 | .s2 { color: #ffffff} /* Literal.String.Double */ 62 | .se { color: #ffffff} /* Literal.String.Escape */ 63 | .sh { color: #ffffff} /* Literal.String.Heredoc */ 64 | .si { color: #ffffff} /* Literal.String.Interpol */ 65 | .sx { color: #ffffff} /* Literal.String.Other */ 66 | .sr { color: #ffffff} /* Literal.String.Regex */ 67 | .s1 { color: #ffffff} /* Literal.String.Single */ 68 | .ss { color: #ffffff} /* Literal.String.Symbol */ 69 | .bp { color: #ffffff} /* Name.Builtin.Pseudo */ 70 | .vc { color: #98fb98} /* Name.Variable.Class */ 71 | .vg { color: #98fb98} /* Name.Variable.Global */ 72 | .vi { color: #98fb98} /* Name.Variable.Instance */ 73 | .il { color: #ffffff} /* Literal.Number.Integer.Long */ 74 | .bash .nv { 75 | -webkit-user-select: none; 76 | -moz-user-select: none; 77 | -ms-user-select: none; 78 | -o-user-select: none; 79 | user-select: none; 80 | } 81 | } -------------------------------------------------------------------------------- /exercise-files/final-blog/css/syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | .highlight { 5 | .hll { background-color: #ffffcc } 6 | .c { color: #87ceeb} /* Comment */ 7 | .err { color: #ffffff} /* Error */ 8 | .g { color: #ffffff} /* Generic */ 9 | .k { color: #f0e68c} /* Keyword */ 10 | .l { color: #ffffff} /* Literal */ 11 | .n { color: #ffffff} /* Name */ 12 | .o { color: #ffffff} /* Operator */ 13 | .x { color: #ffffff} /* Other */ 14 | .p { color: #ffffff} /* Punctuation */ 15 | .cm { color: #87ceeb} /* Comment.Multiline */ 16 | .cp { color: #cd5c5c} /* Comment.Preproc */ 17 | .c1 { color: #87ceeb} /* Comment.Single */ 18 | .cs { color: #87ceeb} /* Comment.Special */ 19 | .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */ 20 | .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */ 21 | .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */ 22 | .gh { color: #cd5c5c} /* Generic.Heading */ 23 | .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */ 24 | span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ 25 | .gp { color: #ffffff} /* Generic.Prompt */ 26 | .gs { color: #ffffff} /* Generic.Strong */ 27 | .gu { color: #cd5c5c} /* Generic.Subheading */ 28 | .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */ 29 | .kc { color: #f0e68c} /* Keyword.Constant */ 30 | .kd { color: #f0e68c} /* Keyword.Declaration */ 31 | .kn { color: #f0e68c} /* Keyword.Namespace */ 32 | .kp { color: #f0e68c} /* Keyword.Pseudo */ 33 | .kr { color: #f0e68c} /* Keyword.Reserved */ 34 | .kt { color: #bdb76b} /* Keyword.Type */ 35 | .ld { color: #ffffff} /* Literal.Date */ 36 | .m { color: #ffffff} /* Literal.Number */ 37 | .s { color: #ffffff} /* Literal.String */ 38 | .na { color: #ffffff} /* Name.Attribute */ 39 | .nb { color: #ffffff} /* Name.Builtin */ 40 | .nc { color: #ffffff} /* Name.Class */ 41 | .no { color: #ffa0a0} /* Name.Constant */ 42 | .nd { color: #ffffff} /* Name.Decorator */ 43 | .ni { color: #ffdead} /* Name.Entity */ 44 | .ne { color: #ffffff} /* Name.Exception */ 45 | .nf { color: #ffffff} /* Name.Function */ 46 | .nl { color: #ffffff} /* Name.Label */ 47 | .nn { color: #ffffff} /* Name.Namespace */ 48 | .nx { color: #ffffff} /* Name.Other */ 49 | .py { color: #ffffff} /* Name.Property */ 50 | .nt { color: #f0e68c} /* Name.Tag */ 51 | .nv { color: #98fb98} /* Name.Variable */ 52 | .ow { color: #ffffff} /* Operator.Word */ 53 | .w { color: #ffffff} /* Text.Whitespace */ 54 | .mf { color: #ffffff} /* Literal.Number.Float */ 55 | .mh { color: #ffffff} /* Literal.Number.Hex */ 56 | .mi { color: #ffffff} /* Literal.Number.Integer */ 57 | .mo { color: #ffffff} /* Literal.Number.Oct */ 58 | .sb { color: #ffffff} /* Literal.String.Backtick */ 59 | .sc { color: #ffffff} /* Literal.String.Char */ 60 | .sd { color: #ffffff} /* Literal.String.Doc */ 61 | .s2 { color: #ffffff} /* Literal.String.Double */ 62 | .se { color: #ffffff} /* Literal.String.Escape */ 63 | .sh { color: #ffffff} /* Literal.String.Heredoc */ 64 | .si { color: #ffffff} /* Literal.String.Interpol */ 65 | .sx { color: #ffffff} /* Literal.String.Other */ 66 | .sr { color: #ffffff} /* Literal.String.Regex */ 67 | .s1 { color: #ffffff} /* Literal.String.Single */ 68 | .ss { color: #ffffff} /* Literal.String.Symbol */ 69 | .bp { color: #ffffff} /* Name.Builtin.Pseudo */ 70 | .vc { color: #98fb98} /* Name.Variable.Class */ 71 | .vg { color: #98fb98} /* Name.Variable.Global */ 72 | .vi { color: #98fb98} /* Name.Variable.Instance */ 73 | .il { color: #ffffff} /* Literal.Number.Integer.Long */ 74 | .bash .nv { 75 | -webkit-user-select: none; 76 | -moz-user-select: none; 77 | -ms-user-select: none; 78 | -o-user-select: none; 79 | user-select: none; 80 | } 81 | } -------------------------------------------------------------------------------- /exercise-files/Chapter-07/07-08/css/syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | .highlight { 5 | .hll { background-color: #ffffcc } 6 | .c { color: #87ceeb} /* Comment */ 7 | .err { color: #ffffff} /* Error */ 8 | .g { color: #ffffff} /* Generic */ 9 | .k { color: #f0e68c} /* Keyword */ 10 | .l { color: #ffffff} /* Literal */ 11 | .n { color: #ffffff} /* Name */ 12 | .o { color: #ffffff} /* Operator */ 13 | .x { color: #ffffff} /* Other */ 14 | .p { color: #ffffff} /* Punctuation */ 15 | .cm { color: #87ceeb} /* Comment.Multiline */ 16 | .cp { color: #cd5c5c} /* Comment.Preproc */ 17 | .c1 { color: #87ceeb} /* Comment.Single */ 18 | .cs { color: #87ceeb} /* Comment.Special */ 19 | .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */ 20 | .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */ 21 | .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */ 22 | .gh { color: #cd5c5c} /* Generic.Heading */ 23 | .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */ 24 | span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ 25 | .gp { color: #ffffff} /* Generic.Prompt */ 26 | .gs { color: #ffffff} /* Generic.Strong */ 27 | .gu { color: #cd5c5c} /* Generic.Subheading */ 28 | .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */ 29 | .kc { color: #f0e68c} /* Keyword.Constant */ 30 | .kd { color: #f0e68c} /* Keyword.Declaration */ 31 | .kn { color: #f0e68c} /* Keyword.Namespace */ 32 | .kp { color: #f0e68c} /* Keyword.Pseudo */ 33 | .kr { color: #f0e68c} /* Keyword.Reserved */ 34 | .kt { color: #bdb76b} /* Keyword.Type */ 35 | .ld { color: #ffffff} /* Literal.Date */ 36 | .m { color: #ffffff} /* Literal.Number */ 37 | .s { color: #ffffff} /* Literal.String */ 38 | .na { color: #ffffff} /* Name.Attribute */ 39 | .nb { color: #ffffff} /* Name.Builtin */ 40 | .nc { color: #ffffff} /* Name.Class */ 41 | .no { color: #ffa0a0} /* Name.Constant */ 42 | .nd { color: #ffffff} /* Name.Decorator */ 43 | .ni { color: #ffdead} /* Name.Entity */ 44 | .ne { color: #ffffff} /* Name.Exception */ 45 | .nf { color: #ffffff} /* Name.Function */ 46 | .nl { color: #ffffff} /* Name.Label */ 47 | .nn { color: #ffffff} /* Name.Namespace */ 48 | .nx { color: #ffffff} /* Name.Other */ 49 | .py { color: #ffffff} /* Name.Property */ 50 | .nt { color: #f0e68c} /* Name.Tag */ 51 | .nv { color: #98fb98} /* Name.Variable */ 52 | .ow { color: #ffffff} /* Operator.Word */ 53 | .w { color: #ffffff} /* Text.Whitespace */ 54 | .mf { color: #ffffff} /* Literal.Number.Float */ 55 | .mh { color: #ffffff} /* Literal.Number.Hex */ 56 | .mi { color: #ffffff} /* Literal.Number.Integer */ 57 | .mo { color: #ffffff} /* Literal.Number.Oct */ 58 | .sb { color: #ffffff} /* Literal.String.Backtick */ 59 | .sc { color: #ffffff} /* Literal.String.Char */ 60 | .sd { color: #ffffff} /* Literal.String.Doc */ 61 | .s2 { color: #ffffff} /* Literal.String.Double */ 62 | .se { color: #ffffff} /* Literal.String.Escape */ 63 | .sh { color: #ffffff} /* Literal.String.Heredoc */ 64 | .si { color: #ffffff} /* Literal.String.Interpol */ 65 | .sx { color: #ffffff} /* Literal.String.Other */ 66 | .sr { color: #ffffff} /* Literal.String.Regex */ 67 | .s1 { color: #ffffff} /* Literal.String.Single */ 68 | .ss { color: #ffffff} /* Literal.String.Symbol */ 69 | .bp { color: #ffffff} /* Name.Builtin.Pseudo */ 70 | .vc { color: #98fb98} /* Name.Variable.Class */ 71 | .vg { color: #98fb98} /* Name.Variable.Global */ 72 | .vi { color: #98fb98} /* Name.Variable.Instance */ 73 | .il { color: #ffffff} /* Literal.Number.Integer.Long */ 74 | .bash .nv { 75 | -webkit-user-select: none; 76 | -moz-user-select: none; 77 | -ms-user-select: none; 78 | -o-user-select: none; 79 | user-select: none; 80 | } 81 | } -------------------------------------------------------------------------------- /exercise-files/Chapter-02/02-04/_css/syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | .highlight { 5 | .hll { background-color: #ffffcc } 6 | .c { color: #87ceeb} /* Comment */ 7 | .err { color: #ffffff} /* Error */ 8 | .g { color: #ffffff} /* Generic */ 9 | .k { color: #f0e68c} /* Keyword */ 10 | .l { color: #ffffff} /* Literal */ 11 | .n { color: #ffffff} /* Name */ 12 | .o { color: #ffffff} /* Operator */ 13 | .x { color: #ffffff} /* Other */ 14 | .p { color: #ffffff} /* Punctuation */ 15 | .cm { color: #87ceeb} /* Comment.Multiline */ 16 | .cp { color: #cd5c5c} /* Comment.Preproc */ 17 | .c1 { color: #87ceeb} /* Comment.Single */ 18 | .cs { color: #87ceeb} /* Comment.Special */ 19 | .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */ 20 | .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */ 21 | .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */ 22 | .gh { color: #cd5c5c} /* Generic.Heading */ 23 | .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */ 24 | span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ 25 | .gp { color: #ffffff} /* Generic.Prompt */ 26 | .gs { color: #ffffff} /* Generic.Strong */ 27 | .gu { color: #cd5c5c} /* Generic.Subheading */ 28 | .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */ 29 | .kc { color: #f0e68c} /* Keyword.Constant */ 30 | .kd { color: #f0e68c} /* Keyword.Declaration */ 31 | .kn { color: #f0e68c} /* Keyword.Namespace */ 32 | .kp { color: #f0e68c} /* Keyword.Pseudo */ 33 | .kr { color: #f0e68c} /* Keyword.Reserved */ 34 | .kt { color: #bdb76b} /* Keyword.Type */ 35 | .ld { color: #ffffff} /* Literal.Date */ 36 | .m { color: #ffffff} /* Literal.Number */ 37 | .s { color: #ffffff} /* Literal.String */ 38 | .na { color: #ffffff} /* Name.Attribute */ 39 | .nb { color: #ffffff} /* Name.Builtin */ 40 | .nc { color: #ffffff} /* Name.Class */ 41 | .no { color: #ffa0a0} /* Name.Constant */ 42 | .nd { color: #ffffff} /* Name.Decorator */ 43 | .ni { color: #ffdead} /* Name.Entity */ 44 | .ne { color: #ffffff} /* Name.Exception */ 45 | .nf { color: #ffffff} /* Name.Function */ 46 | .nl { color: #ffffff} /* Name.Label */ 47 | .nn { color: #ffffff} /* Name.Namespace */ 48 | .nx { color: #ffffff} /* Name.Other */ 49 | .py { color: #ffffff} /* Name.Property */ 50 | .nt { color: #f0e68c} /* Name.Tag */ 51 | .nv { color: #98fb98} /* Name.Variable */ 52 | .ow { color: #ffffff} /* Operator.Word */ 53 | .w { color: #ffffff} /* Text.Whitespace */ 54 | .mf { color: #ffffff} /* Literal.Number.Float */ 55 | .mh { color: #ffffff} /* Literal.Number.Hex */ 56 | .mi { color: #ffffff} /* Literal.Number.Integer */ 57 | .mo { color: #ffffff} /* Literal.Number.Oct */ 58 | .sb { color: #ffffff} /* Literal.String.Backtick */ 59 | .sc { color: #ffffff} /* Literal.String.Char */ 60 | .sd { color: #ffffff} /* Literal.String.Doc */ 61 | .s2 { color: #ffffff} /* Literal.String.Double */ 62 | .se { color: #ffffff} /* Literal.String.Escape */ 63 | .sh { color: #ffffff} /* Literal.String.Heredoc */ 64 | .si { color: #ffffff} /* Literal.String.Interpol */ 65 | .sx { color: #ffffff} /* Literal.String.Other */ 66 | .sr { color: #ffffff} /* Literal.String.Regex */ 67 | .s1 { color: #ffffff} /* Literal.String.Single */ 68 | .ss { color: #ffffff} /* Literal.String.Symbol */ 69 | .bp { color: #ffffff} /* Name.Builtin.Pseudo */ 70 | .vc { color: #98fb98} /* Name.Variable.Class */ 71 | .vg { color: #98fb98} /* Name.Variable.Global */ 72 | .vi { color: #98fb98} /* Name.Variable.Instance */ 73 | .il { color: #ffffff} /* Literal.Number.Integer.Long */ 74 | .bash .nv { 75 | -webkit-user-select: none; 76 | -moz-user-select: none; 77 | -ms-user-select: none; 78 | -o-user-select: none; 79 | user-select: none; 80 | } 81 | } -------------------------------------------------------------------------------- /exercise-files/Chapter-04/04-06/finished-files/blog-snapshot/css/syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | .highlight { 5 | .hll { background-color: #ffffcc } 6 | .c { color: #87ceeb} /* Comment */ 7 | .err { color: #ffffff} /* Error */ 8 | .g { color: #ffffff} /* Generic */ 9 | .k { color: #f0e68c} /* Keyword */ 10 | .l { color: #ffffff} /* Literal */ 11 | .n { color: #ffffff} /* Name */ 12 | .o { color: #ffffff} /* Operator */ 13 | .x { color: #ffffff} /* Other */ 14 | .p { color: #ffffff} /* Punctuation */ 15 | .cm { color: #87ceeb} /* Comment.Multiline */ 16 | .cp { color: #cd5c5c} /* Comment.Preproc */ 17 | .c1 { color: #87ceeb} /* Comment.Single */ 18 | .cs { color: #87ceeb} /* Comment.Special */ 19 | .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */ 20 | .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */ 21 | .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */ 22 | .gh { color: #cd5c5c} /* Generic.Heading */ 23 | .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */ 24 | span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */ 25 | .gp { color: #ffffff} /* Generic.Prompt */ 26 | .gs { color: #ffffff} /* Generic.Strong */ 27 | .gu { color: #cd5c5c} /* Generic.Subheading */ 28 | .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */ 29 | .kc { color: #f0e68c} /* Keyword.Constant */ 30 | .kd { color: #f0e68c} /* Keyword.Declaration */ 31 | .kn { color: #f0e68c} /* Keyword.Namespace */ 32 | .kp { color: #f0e68c} /* Keyword.Pseudo */ 33 | .kr { color: #f0e68c} /* Keyword.Reserved */ 34 | .kt { color: #bdb76b} /* Keyword.Type */ 35 | .ld { color: #ffffff} /* Literal.Date */ 36 | .m { color: #ffffff} /* Literal.Number */ 37 | .s { color: #ffffff} /* Literal.String */ 38 | .na { color: #ffffff} /* Name.Attribute */ 39 | .nb { color: #ffffff} /* Name.Builtin */ 40 | .nc { color: #ffffff} /* Name.Class */ 41 | .no { color: #ffa0a0} /* Name.Constant */ 42 | .nd { color: #ffffff} /* Name.Decorator */ 43 | .ni { color: #ffdead} /* Name.Entity */ 44 | .ne { color: #ffffff} /* Name.Exception */ 45 | .nf { color: #ffffff} /* Name.Function */ 46 | .nl { color: #ffffff} /* Name.Label */ 47 | .nn { color: #ffffff} /* Name.Namespace */ 48 | .nx { color: #ffffff} /* Name.Other */ 49 | .py { color: #ffffff} /* Name.Property */ 50 | .nt { color: #f0e68c} /* Name.Tag */ 51 | .nv { color: #98fb98} /* Name.Variable */ 52 | .ow { color: #ffffff} /* Operator.Word */ 53 | .w { color: #ffffff} /* Text.Whitespace */ 54 | .mf { color: #ffffff} /* Literal.Number.Float */ 55 | .mh { color: #ffffff} /* Literal.Number.Hex */ 56 | .mi { color: #ffffff} /* Literal.Number.Integer */ 57 | .mo { color: #ffffff} /* Literal.Number.Oct */ 58 | .sb { color: #ffffff} /* Literal.String.Backtick */ 59 | .sc { color: #ffffff} /* Literal.String.Char */ 60 | .sd { color: #ffffff} /* Literal.String.Doc */ 61 | .s2 { color: #ffffff} /* Literal.String.Double */ 62 | .se { color: #ffffff} /* Literal.String.Escape */ 63 | .sh { color: #ffffff} /* Literal.String.Heredoc */ 64 | .si { color: #ffffff} /* Literal.String.Interpol */ 65 | .sx { color: #ffffff} /* Literal.String.Other */ 66 | .sr { color: #ffffff} /* Literal.String.Regex */ 67 | .s1 { color: #ffffff} /* Literal.String.Single */ 68 | .ss { color: #ffffff} /* Literal.String.Symbol */ 69 | .bp { color: #ffffff} /* Name.Builtin.Pseudo */ 70 | .vc { color: #98fb98} /* Name.Variable.Class */ 71 | .vg { color: #98fb98} /* Name.Variable.Global */ 72 | .vi { color: #98fb98} /* Name.Variable.Instance */ 73 | .il { color: #ffffff} /* Literal.Number.Integer.Long */ 74 | .bash .nv { 75 | -webkit-user-select: none; 76 | -moz-user-select: none; 77 | -ms-user-select: none; 78 | -o-user-select: none; 79 | user-select: none; 80 | } 81 | } --------------------------------------------------------------------------------