├── .gitignore
├── CONTRIBUTING.md
├── _config.yml
├── _includes
├── footer.html
├── head.html
└── header.html
├── _layouts
├── default.html
├── page.html
├── post.html
└── recipe.html
├── _posts
└── 2015-02-20-welcome-to-jekyll.markdown
├── _recipes
├── desserts
│ ├── chocolate-mug-cake.md
│ ├── coconut-pie.md
│ ├── lemon-icebox-pie.md
│ └── stone-jar-nut-cookies.md
└── main
│ ├── honey-pork-tenderloin.md
│ ├── mexican-casserole.md
│ └── parmesan-garlic-chicken.md
├── _sass
├── _base.scss
├── _layout.scss
└── _syntax-highlighting.scss
├── about.md
├── css
└── main.scss
├── feed.xml
├── index.html
└── readme.md
/.gitignore:
--------------------------------------------------------------------------------
1 | ##Jekyll
2 | /_site/
3 | _site/
4 | _site
5 | /.sass-cache/
6 | .sass-cache/
7 | .sass-cache
8 |
9 | .DS_Store
10 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Adding Recipes to this Cookbook
2 |
3 | - Create a fork of this repository
4 | - Create a branch with the name of the recipe you want to add
5 | - Commit your changes to your branch
6 | - Recipes should follow the template below and should be saved in a subfolder matching the category: in the recipe's Front Matter
7 | - Example file name: /_recipes/breakfast/eggs-benedict.md
8 | - If a folder does not exist for your recipe's category, feel at complete liberty to create one :smiley:
9 | - Open a Pull Request and describe the changes you are proposing
10 |
11 | Once reviewed, pull requests can be merged into the gh-pages branch by project collaborators. This will automatically publish the changes to the public site at http://githubschool.github.io/pm-cookbook.
12 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Site settings
2 | title: Project Management Cookbook
3 | email: training@github.com
4 | description: > # this means to ignore newlines until "baseurl:"
5 | This site is for demonstrating project management tools available with GitHub.
6 | These tools help project managers ensure transparent communication, resolve conflicts, track requirements and milestones, and many other common tasks.
7 | baseurl: "/pm-cookbook" # the subpath of your site, e.g. /blog/
8 | url: "http://githubschool.github.io" # the base hostname & protocol for your site
9 | twitter_username: githubtraining
10 | github_username: githubtraining
11 |
12 | # Build settings
13 | markdown: kramdown
14 |
15 | # Collection Settings
16 | collections:
17 | recipes:
18 | output: true
19 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
56 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/_includes/header.html:
--------------------------------------------------------------------------------
1 |
28 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 | {% include header.html %}
9 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 | {% include footer.html %}
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/_layouts/page.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
9 |
10 |
11 | {{ content }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/_layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/_layouts/recipe.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/_posts/2015-02-20-welcome-to-jekyll.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | title: "Welcome to Jekyll!"
4 | date: 2015-02-20 15:16:04
5 | categories: jekyll update
6 | ---
7 | You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
8 |
9 | To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
10 |
11 | Jekyll also offers powerful support for code snippets:
12 |
13 | {% highlight ruby %}
14 | def print_hi(name)
15 | puts "Hi, #{name}"
16 | end
17 | print_hi('Tom')
18 | #=> prints 'Hi, Tom' to STDOUT.
19 | {% endhighlight %}
20 |
21 | Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll’s dedicated Help repository][jekyll-help].
22 |
23 | [jekyll]: http://jekyllrb.com
24 | [jekyll-gh]: https://github.com/jekyll/jekyll
25 | [jekyll-help]: https://github.com/jekyll/jekyll-help
26 |
--------------------------------------------------------------------------------
/_recipes/desserts/chocolate-mug-cake.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Chocolate Mug Cake"
4 | date: 2015-02-23 08:00:00
5 | category: "Dessert"
6 | ---
7 |
8 | *Serves 1*
9 |
10 | ### Ingredients
11 |
12 | - 1 Coffee Mug
13 | - 4 Tbsp. Plain Flour
14 | - 4 Tbsp. Sugar
15 | - 2 Tbsp. Baking Cocoa
16 | - 1 Egg
17 | - 3 Tbsp. Milk
18 | - 3 Tbsp. Oil
19 | - 3 Tbsp. Chocolate Chips (optional)
20 | - 1 small splash Vanilla
21 |
22 | ### Preparation
23 |
24 | 1. Add dry ingredients to mug and mix well.
25 | 2. Add the egg and mix thoroughly.
26 | 3. Pour in the milk and oil, and mix well.
27 | 4. Add the chocolate chips (optional) and vanilla, mix again.
28 | 5. Put your mug in the microwave and cook for 3 minutes (based on 1000 watt oven)
29 | 6. The cake will rise over the top of the mug, but do not be alarmed!
30 | 7. Allow to cool slightly and tip out onto plate if desired (or enjoy straight from the mug).
31 |
--------------------------------------------------------------------------------
/_recipes/desserts/coconut-pie.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Coconut Pie"
4 | date: 2015-02-23 08:00:00
5 | category: "Dessert"
6 | ---
7 |
8 | *Serves 8*
9 |
10 | ### Ingredients
11 |
12 | - 1 dash Sugar
13 | - 2 Eggs
14 | - 3/4 cup Milk
15 | - 2 Tbsp. Butter (melted)
16 | - 1 cup Coconut
17 | - 1 dash Vanilla
18 | - 1 prepared Pie Shell
19 |
20 | ### Preparation
21 |
22 | 1. Mix all ingredients and pour into pie shell.
23 | 2. Bake at 300 for 45 minutes.
24 |
--------------------------------------------------------------------------------
/_recipes/desserts/lemon-icebox-pie.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Lemon Icebox Pie"
4 | date: 2015-02-20 15:16:04
5 | category: "Dessert"
6 | ---
7 |
8 | *Serves 8*
9 |
10 | ### Ingredients
11 |
12 | **Crust**
13 |
14 | - 2 cups graham crackers (crushed)
15 | - 1 stick melted butter
16 | - 1/2 cup sugar
17 |
18 | **Filling**
19 |
20 | - 3 egg yolks (set whites aside)
21 | - 1 can sweetened condensed milk
22 | - Juice of 3 lemons
23 |
24 | **Meringue**
25 |
26 | - 3 egg whites
27 | - 1/4 tsp. cream of tartar
28 | - 1/4 cup sugar
29 |
30 | ### Preparation
31 |
32 | - Put all the ingredients for the crust together
33 | - Combine the ingredients for the filling
34 | - Put ingredients into crust
35 | - Make meringue topping
36 | - Bake!
37 |
--------------------------------------------------------------------------------
/_recipes/desserts/stone-jar-nut-cookies.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Stone Jar Nut Cookies"
4 | date: 2015-03-11 12:00:00
5 | category: "Dessert"
6 | ---
7 |
8 | *Serves 12*
9 |
10 | ### Ingredients
11 |
12 | - 1 c. shortening
13 | - 1 tsp. salt
14 | - 1 tsp. vanilla
15 | - 1 tsp. nutmeg or pumpkin pie spice
16 | - 2 c. brown sugar
17 | - 2 eggs, well beaten
18 | - 3 c. all-purpose flour, sifted
19 | - 1 tsp. baking soda
20 | - 1/4 c. milk
21 | - 1 c. nuts, chopped
22 |
23 | ### Preparation
24 |
25 | - Combine shortening, salt, vanilla, and nutmeg or pumpkin pie spice.
26 | - Add brown sugar gradually and cream well. Add beaten eggs and mix well. Sift flour with baking soda.
27 | - Add 1/2 of flour to creamed mixture, then add milk, then remaining flour and nuts, mixing well.
28 | - Drop from teaspoon on greased baking sheets.
29 | - Bake at 375 degrees 8 to 10 minutes. Keep in airtight container.
30 |
--------------------------------------------------------------------------------
/_recipes/main/honey-pork-tenderloin.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Honey Spice Rubbed Pork Tenderloin"
4 | date: 2015-02-23 08:00:00
5 | category: "Main"
6 | ---
7 |
8 | *Serves 4*
9 |
10 | ### Ingredients
11 |
12 | - 1/4 cup Catalina Dressing (Divided)
13 | - 1 lg. Pork Tenderloin (1 Lb.)
14 | - 1 tsp. Chili Powder
15 | - 1 tsp. Garlic Powder
16 | - 1 tsp. Dry Mustard
17 | - 1/2 tsp. Paprika
18 | - 1/4 tsp. Dried Thyme Leaves
19 | - 1 Tbsp. Honey
20 |
21 | ### Preparation
22 |
23 | 1. Brush 2 Tbsp. of Catalina Dressing over pork tenderloin.
24 | 2. Mix dry ingredients and rub onto pork.
25 | 3. Refrigerate and let stand at least 10 minutes (up to 24 hours) to marinate.
26 | 4. Preheat grill to medium heat.
27 | 5. Place pork on grill and cover.
28 | 6. Grill 20 minutes, turning occasionally.
29 | 7. Mix remaining Dressing and Honey.
30 | 8. Brush some of the honey mixture over the pork.
31 | 9. Continue girlling 5 - 10 minutes, turning and brushing with the honey mixture until the pork is cooked through (internal temperature of 160).
32 | 10. Let stand, covered with foil, for a few minutes before cutting into 1/2 inch slices and serving.
33 |
--------------------------------------------------------------------------------
/_recipes/main/mexican-casserole.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Mexican Casserole"
4 | date: 2015-02-23 08:00:00
5 | category: "Main"
6 | ---
7 |
8 | *Serves 6*
9 |
10 | ### Ingredients
11 |
12 | - 1 can Chili with Beans
13 | - 2 cups Sharp Cheddar Cheese (Grated)
14 | - 1 (12 oz.) pkg. Doritos (save 2 cups for topping)
15 | - 10 - 15 oz. Enchilada Sauce
16 | - 1 (8 oz.) can Tomato Sauce
17 | - 2 Tbsp. Onion (Grated)
18 | - 1-1/4 cup Sour Cream
19 |
20 | ### Preparation
21 |
22 | 1. For the topping, set aside Sour Cream, 1/2 c. of the grated cheese and 1/3 of the Doritos bag.
23 | 2. Grate a small onion and measure 2 Tbls., set aside.
24 | 3. Take remaining Doritos and crumble with your hands into mixing bowl.
25 | 4. Mix the onion and all other ingredients except those for the topping.
26 | 5. Place into 8-1/2 X 11 inch casserole dish.
27 | 6. Bake for 20 minutes at 375.
28 | 7. Remove casserole from oven, spread on sour cream, cover with Doritos and sprinkle 1/2 c. cheese on top.
29 | 8. Bake for an additional 5 minutes.
30 |
--------------------------------------------------------------------------------
/_recipes/main/parmesan-garlic-chicken.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: recipe
3 | title: "Easy Parmesan Garlic Chicken"
4 | date: 2015-02-23 08:00:00
5 | category: "Main"
6 | ---
7 |
8 | *Serves 6*
9 |
10 | ### Ingredients
11 |
12 | - 1/2 cup Grated Parmesan Cheese
13 | - 1 (7 oz.) env. Dry Italian Salad Dressing Mix
14 | - 6 Chicken Breasts (Boneless, Skinless)
15 | - 1/2 tsp. Garlic Powder
16 |
17 | ### Preparation
18 |
19 | 1. Mix cheese, garlic powder and dry salad dressing.
20 | 2. Moisten chicken with water; coat with cheese mix.
21 | 3. Place in shallow greased baking pan.
22 | 4. Bake at 350 for about 1 hour or until chicken is cooked.
23 |
--------------------------------------------------------------------------------
/_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 |
--------------------------------------------------------------------------------
/_sass/_layout.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Site header
3 | */
4 | .site-header {
5 | border-top: 5px solid $grey-color-dark;
6 | border-bottom: 1px solid $grey-color-light;
7 | min-height: 56px;
8 |
9 | // Positioning context for the mobile navigation icon
10 | position: relative;
11 | }
12 |
13 | .site-title {
14 | font-size: 26px;
15 | line-height: 56px;
16 | letter-spacing: -1px;
17 | margin-bottom: 0;
18 | float: left;
19 |
20 | &,
21 | &:visited {
22 | color: $grey-color-dark;
23 | }
24 | }
25 |
26 | .site-nav {
27 | float: right;
28 | line-height: 56px;
29 |
30 | .menu-icon {
31 | display: none;
32 | }
33 |
34 | .page-link {
35 | color: $text-color;
36 | line-height: $base-line-height;
37 |
38 | // Gaps between nav items, but not on the first one
39 | &:not(:first-child) {
40 | margin-left: 20px;
41 | }
42 | }
43 |
44 | @include media-query($on-palm) {
45 | position: absolute;
46 | top: 9px;
47 | right: 30px;
48 | background-color: $background-color;
49 | border: 1px solid $grey-color-light;
50 | border-radius: 5px;
51 | text-align: right;
52 |
53 | .menu-icon {
54 | display: block;
55 | float: right;
56 | width: 36px;
57 | height: 26px;
58 | line-height: 0;
59 | padding-top: 10px;
60 | text-align: center;
61 |
62 | > svg {
63 | width: 18px;
64 | height: 15px;
65 |
66 | path {
67 | fill: $grey-color-dark;
68 | }
69 | }
70 | }
71 |
72 | .trigger {
73 | clear: both;
74 | display: none;
75 | }
76 |
77 | &:hover .trigger {
78 | display: block;
79 | padding-bottom: 5px;
80 | }
81 |
82 | .page-link {
83 | display: block;
84 | padding: 5px 10px;
85 | }
86 | }
87 | }
88 |
89 |
90 |
91 | /**
92 | * Site footer
93 | */
94 | .site-footer {
95 | border-top: 1px solid $grey-color-light;
96 | padding: $spacing-unit 0;
97 | }
98 |
99 | .footer-heading {
100 | font-size: 18px;
101 | margin-bottom: $spacing-unit / 2;
102 | }
103 |
104 | .contact-list,
105 | .social-media-list {
106 | list-style: none;
107 | margin-left: 0;
108 | }
109 |
110 | .footer-col-wrapper {
111 | font-size: 15px;
112 | color: $grey-color;
113 | margin-left: -$spacing-unit / 2;
114 | @extend %clearfix;
115 | }
116 |
117 | .footer-col {
118 | float: left;
119 | margin-bottom: $spacing-unit / 2;
120 | padding-left: $spacing-unit / 2;
121 | }
122 |
123 | .footer-col-1 {
124 | width: -webkit-calc(35% - (#{$spacing-unit} / 2));
125 | width: calc(35% - (#{$spacing-unit} / 2));
126 | }
127 |
128 | .footer-col-2 {
129 | width: -webkit-calc(20% - (#{$spacing-unit} / 2));
130 | width: calc(20% - (#{$spacing-unit} / 2));
131 | }
132 |
133 | .footer-col-3 {
134 | width: -webkit-calc(45% - (#{$spacing-unit} / 2));
135 | width: calc(45% - (#{$spacing-unit} / 2));
136 | }
137 |
138 | @include media-query($on-laptop) {
139 | .footer-col-1,
140 | .footer-col-2 {
141 | width: -webkit-calc(50% - (#{$spacing-unit} / 2));
142 | width: calc(50% - (#{$spacing-unit} / 2));
143 | }
144 |
145 | .footer-col-3 {
146 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
147 | width: calc(100% - (#{$spacing-unit} / 2));
148 | }
149 | }
150 |
151 | @include media-query($on-palm) {
152 | .footer-col {
153 | float: none;
154 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
155 | width: calc(100% - (#{$spacing-unit} / 2));
156 | }
157 | }
158 |
159 |
160 |
161 | /**
162 | * Page content
163 | */
164 | .page-content {
165 | padding: $spacing-unit 0;
166 | }
167 |
168 | .page-heading {
169 | font-size: 20px;
170 | }
171 |
172 | .post-list {
173 | margin-left: 0;
174 | list-style: none;
175 |
176 | > li {
177 | margin-bottom: $spacing-unit;
178 | }
179 | }
180 |
181 | .post-meta {
182 | font-size: $small-font-size;
183 | color: $grey-color;
184 | }
185 |
186 | .post-link {
187 | display: block;
188 | font-size: 24px;
189 | }
190 |
191 |
192 | /**
193 | * Recipes
194 | */
195 |
196 | .recipe-category-list {
197 | color: $grey-color;
198 | font-size: $small-font-size;
199 | }
200 |
201 |
202 | /**
203 | * Posts
204 | */
205 | .post-header {
206 | margin-bottom: $spacing-unit;
207 | }
208 |
209 | .post-title {
210 | font-size: 42px;
211 | letter-spacing: -1px;
212 | line-height: 1;
213 |
214 | @include media-query($on-laptop) {
215 | font-size: 36px;
216 | }
217 | }
218 |
219 | .post-content {
220 | margin-bottom: $spacing-unit;
221 |
222 | h2 {
223 | font-size: 32px;
224 |
225 | @include media-query($on-laptop) {
226 | font-size: 28px;
227 | }
228 | }
229 |
230 | h3 {
231 | font-size: 26px;
232 |
233 | @include media-query($on-laptop) {
234 | font-size: 22px;
235 | }
236 | }
237 |
238 | h4 {
239 | font-size: 20px;
240 |
241 | @include media-query($on-laptop) {
242 | font-size: 18px;
243 | }
244 | }
245 | }
246 |
--------------------------------------------------------------------------------
/_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 |
--------------------------------------------------------------------------------
/about.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: About
4 | permalink: /about/
5 | ---
6 |
7 | This site was designed to aid GitHub users in learning how to leverage GitHub's powerful features for managing projects.
8 |
9 | **GitHub Helps Project Managers:**
10 |
11 | - Manage Tasks
12 | - Set Milestones
13 | - Track Progress and Performance
14 | - Resolve Conflicts
15 | - Mitigate Risks
16 | - Create Plans
17 | - Communicate
18 | - Collaborate
19 |
--------------------------------------------------------------------------------
/css/main.scss:
--------------------------------------------------------------------------------
1 | ---
2 | # Only the main Sass file needs front matter (the dashes are enough)
3 | ---
4 | @charset "utf-8";
5 |
6 |
7 |
8 | // Our variables
9 | $base-font-family: Helvetica, Arial, sans-serif;
10 | $base-font-size: 16px;
11 | $small-font-size: $base-font-size * 0.875;
12 | $base-line-height: 1.5;
13 |
14 | $spacing-unit: 30px;
15 |
16 | $text-color: #111;
17 | $background-color: #fdfdfd;
18 | $brand-color: #2a7ae2;
19 |
20 | $grey-color: #828282;
21 | $grey-color-light: lighten($grey-color, 40%);
22 | $grey-color-dark: darken($grey-color, 25%);
23 |
24 | // Width of the content area
25 | $content-width: 800px;
26 |
27 | $on-palm: 600px;
28 | $on-laptop: 800px;
29 |
30 |
31 |
32 | // Using media queries with like this:
33 | // @include media-query($on-palm) {
34 | // .wrapper {
35 | // padding-right: $spacing-unit / 2;
36 | // padding-left: $spacing-unit / 2;
37 | // }
38 | // }
39 | @mixin media-query($device) {
40 | @media screen and (max-width: $device) {
41 | @content;
42 | }
43 | }
44 |
45 |
46 |
47 | // Import partials from `sass_dir` (defaults to `_sass`)
48 | @import
49 | "base",
50 | "layout",
51 | "syntax-highlighting"
52 | ;
53 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 | {% assign categories = site.recipes | group_by: "category" | sort: "name" %}
6 |
7 |
8 |
9 |
Recipes
10 |
11 | {% for category in categories %}
12 |
13 |
{{ category.name }}
14 |
15 |
16 |
17 |
18 | {% for recipe in site.recipes %}
19 |
20 |
23 |
24 | {% endfor %}
25 |
26 |
27 |
28 | {% endfor %}
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # The Project Management Cookbook
2 |
3 | ## About this Repository:
4 |
5 | This repository is the back-end for a public GitHub Pages site which uses the idea of a cookbook to illustrate project management tools in GitHub.
6 |
7 | ## Adding Recipes to this Cookbook
8 |
9 | 1. Create a fork of this repository
10 | 2. Create a branch with the name of the recipe you want to add
11 | 3. Commit your changes to your branch
12 | - Recipes should follow the template below and should be saved in a subfolder matching the `category:` in the recipe's Front Matter
13 | - Example file name: `/_recipes/breakfast/eggs-benedict.md`
14 | - If a folder does not exist for your recipe's category, feel at complete liberty to create one :smiley:
15 | 4. Open a Pull Request and describe the changes you are proposing
16 |
17 | Once reviewed, pull requests can be merged into the `gh-pages` branch by project collaborators. This will automatically publish the changes to the public site at http://githubschool.github.io/pm-cookbook.
18 |
19 |
20 | ## Recipe Template
21 |
22 | ```Markdown
23 | ---
24 | layout: recipe
25 | title: "Lemon Icebox Pie"
26 | date: 2015-02-20 15:16:04
27 | category: "Dessert"
28 | ---
29 |
30 | *Serves 8*
31 |
32 | ### Ingredients
33 |
34 | **Crust**
35 |
36 | - 2 cups graham crackers (crushed)
37 | - 1 stick melted butter
38 | - 1/2 cup sugar
39 |
40 | **Filling**
41 |
42 | - 3 egg yolks (set whites aside)
43 | - 1 can sweetened condensed milk
44 | - Juice of 3 lemons
45 |
46 | **Meringue**
47 |
48 | - 3 egg whites
49 | - 1/4 tsp. cream of tartar
50 | - 1/4 cup sugar
51 |
52 |
53 | ### Preparation
54 |
55 | **To make the crust:**
56 |
57 | - Heat the oven to 325°F.
58 | - Break the graham crackers into small pieces and place in the bowl of a food processor along with the sugar and salt.
59 | - Pulse 8 times, until the cracker crumbs are semi-fine (they shouldn't be powdery but not in large shards either) and the crackers and sugar are combined.
60 | - Pour in the butter and pulse until the butter is blended in and the mixture isn't crumbly and holds its shape when you squeeze it, about twelve 1-second pulses.
61 | - Transfer the crust to a 9-inch springform pan and push and press the crumb mixture into the bottom and two-thirds of the way up the sides of the pan. Use the bottom of a measuring cup to press the crust into place. Set aside.
62 |
63 |
64 | **To make the filling:**
65 |
66 | - Whisk the condensed milk with the lemon juice and set aside.
67 | - Whisk the zest with the egg yolks in a medium bowl until pale, 30 to 60 seconds, and then whisk in the lemon juice-condensed milk mixture.
68 |
69 | - Place the springform pan on a rimmed baking sheet, pour the mixture into the crust, and carefully transfer the baking sheet to the oven.
70 | - Bake until the center jiggles slightly, like a soft-setting custard, about 25 minutes.
71 | - Remove from the oven and cool for 1 hour on a cooling rack. Loosely cover the pan with plastic wrap (be careful not to let the plastic wrap touch the top of the pie) and freeze for at least 6 hours or overnight.
72 |
73 | ```
74 |
75 | ## Corrections
76 |
77 | To submit corrections, please refer to the contribution guidelines above. To report an error, feel free to open an issue [here](https://github.com/githubschool/pm-cookbook/issues/new).
78 |
79 |
80 | ## Requesting Recipes for this Cookbook
81 |
82 | To request a recipe be added to this cookbook, please open an issue.
83 |
--------------------------------------------------------------------------------