├── README.md ├── _assets ├── .gitkeep └── _source │ ├── external.svg │ ├── search.svg │ └── select.svg ├── _css ├── assets │ └── .gitkeep ├── patterns.css ├── reset.css └── styles.css ├── _forms.php ├── _includes └── .gitkeep ├── _js ├── .gitkeep └── libs │ └── .gitkeep ├── _patterns.php ├── _patterns ├── form-button-primary.html ├── form-button.html ├── form-buttongroup-combined.html ├── form-buttongroup.html ├── form-fieldset.html ├── form-input.checkbox.html ├── form-input.email.html ├── form-input.password.html ├── form-input.search.html ├── form-input.text.html ├── form-input.url.html ├── form-inputs-combined.html ├── form-options.checkboxes-captions.html ├── form-options.checkboxes.html ├── form-options.radios.html ├── form-select.html ├── form-textarea.html ├── image-circular.html ├── image-framed-circular.html ├── image-framed.html ├── layout-module-details.html ├── layout-module-highlight.html ├── layout-module-mark.html ├── layout-module-notice-failure.html ├── layout-module-notice-success.html ├── layout-module-notice.html ├── layout-module.html ├── layout-pull-left.html ├── layout-pull-right.html ├── link-button-primary.html ├── link-button.html ├── link-rel-external.html ├── link-rel-tag.html ├── link-tip.html ├── list-articles-img.html ├── list-articles.html ├── list-code.html ├── list-metadata.html ├── list-progress.html ├── list-stats.html ├── list-tags.html ├── navigation-breadcrumb.html ├── navigation-page.html ├── navigation-tabbed.html ├── navigation-vertical.html ├── navigation.html ├── text-caption.html ├── text-lede.html └── text-lede.txt ├── _styleguide.php └── index.php /README.md: -------------------------------------------------------------------------------- 1 | # Barebones 2 | 3 | An initial directory setup, style guide and pattern primer. Intended as a starting point for my own projects, available for others to fork and adapt for theirs. 4 | 5 | Lovingly crafted by Paul Robert Lloyd (). 6 | 7 | ## Notes 8 | 9 | Adding ?debug=true to the end of URL will show a 8px baseline grid. If you like that sort of thing. 10 | 11 | ## Licence 12 | 13 | This work is available under the MIT license: 14 | 15 | ## Referenced Works 16 | 17 | * Style guide based on the Mezzoblue Markup Guide 18 | by Dave Shea () 19 | License: 20 | 21 | * Some of the included patterns inspired and adapted from those of Pears () 22 | by Dan Cederholm () 23 | License: 24 | 25 | * Pattern Primer () 26 | by Jeremy Keith () -------------------------------------------------------------------------------- /_assets/.gitkeep: -------------------------------------------------------------------------------- 1 | Use this folder for assets such as images and fonts. -------------------------------------------------------------------------------- /_assets/_source/external.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /_assets/_source/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /_assets/_source/select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /_css/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | Use this folder for any assets required by CSS. -------------------------------------------------------------------------------- /_css/patterns.css: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | Helpers 3 | ============================================================ */ 4 | /* Visibly hidden */ 5 | .hidden { 6 | border: 0; 7 | padding: 0; 8 | clip: rect(0 0 0 0); 9 | width: 1px; 10 | height: 1px; 11 | margin: -1px; 12 | overflow: hidden; 13 | position: absolute; 14 | } 15 | 16 | /* Centered container with max-width of 800px */ 17 | .container { 18 | margin: 0 auto; 19 | padding: 1em 5%; 20 | max-width: 50em; /* 800px */ 21 | } 22 | .container::before, 23 | .container::after { 24 | content: " "; 25 | display: table; 26 | } 27 | .container::after { 28 | clear: both; 29 | } 30 | @media screen and (min-width: 30em) { 31 | .container { 32 | padding: 1em 2.5%; 33 | } 34 | } 35 | 36 | /* Bullet-less list */ 37 | .no-bullets li { 38 | list-style: none; 39 | margin-left: 0; 40 | } 41 | 42 | 43 | /* ============================================================ 44 | Highlight/Marks 45 | ============================================================ */ 46 | .highlight { 47 | background-color: #eee; 48 | } 49 | .mark { 50 | background-color: #fff9d9; 51 | } 52 | 53 | 54 | /* ============================================================ 55 | Text 56 | ============================================================ */ 57 | .headline { 58 | color: #333; 59 | font-weight: 700; 60 | font-size: 2.5em; /* 40px */ 61 | line-height: 1; /* 40px */ 62 | margin: 0.4em 0 0; /* 16px 0 0 */ 63 | } 64 | @media screen and (min-width: 30em) { 65 | .headline { 66 | font-size: 4em; /* 64px */ 67 | margin: 0.25em 0 0; /* 16px 0 0 */ 68 | } 69 | } 70 | .lede { 71 | color: #666; 72 | font-weight: 300; 73 | font-size: 1.25em; /* 20px */ 74 | line-height: 1.2; /* 24px */ 75 | margin: 0.6667em 0 1em; /* 16px 0 24px */ 76 | } 77 | .caption { 78 | color: #888; 79 | font-size: 0.75em; /* 12px */ 80 | line-height: 1.25; /* 16px */ 81 | margin: 0.6667em 0; /* 8px 0 */ 82 | } 83 | 84 | 85 | /* ============================================================ 86 | Image 87 | ============================================================ */ 88 | .circular { 89 | border-radius: 100%; 90 | } 91 | .framed { 92 | box-shadow: 0 2px 2px #e9e9e9; 93 | border: 1px solid #ccc; 94 | padding: 0.25em; 95 | display:inline-block; 96 | } 97 | .framed.circular img { 98 | border-radius: 100%; 99 | } 100 | 101 | 102 | /* ============================================================ 103 | Layout 104 | ============================================================ */ 105 | /* Pull left */ 106 | .pull-left { 107 | float: left; 108 | } 109 | img.pull-left { 110 | margin: 0 1em 0.5em 0; /* 0 16px 8px 0 */ 111 | } 112 | 113 | /* Pull right */ 114 | .pull-right { 115 | float: right; 116 | } 117 | img.pull-right { 118 | margin: 0 0 0.5em 1em; /* 0 0 8px 16px */ 119 | } 120 | 121 | /* Grid */ 122 | .grid { 123 | margin: 0 -1.5em; 124 | overflow: hidden; 125 | } 126 | .grid-unit { 127 | -webkit-box-sizing: border-box; 128 | -moz-box-sizing: border-box; 129 | box-sizing: border-box; 130 | padding: 0 1.5em; 131 | width: 100%; 132 | display: block; 133 | float: left; 134 | } 135 | 136 | /* Module */ 137 | [class*="module"] { 138 | border: 0; 139 | padding: 2%; 140 | display: block; 141 | } 142 | [class*="module"]:before, 143 | [class*="module"]:after { 144 | content: " "; 145 | display: table; 146 | } 147 | [class*="module"]:after { 148 | clear: both; 149 | } 150 | [class*="module"] > *:last-child { 151 | margin-bottom: 0; 152 | } 153 | [class*="module"] .h { 154 | color: inherit; 155 | font-weight: 700; 156 | font-size: 1.25em; /* 20px */ 157 | line-height: 1.2; /* 24px */ 158 | /*margin-top: 0;*/ 159 | } 160 | 161 | /* Module > Notification */ 162 | [class$="notice"] { 163 | background-color: #fff9d9; 164 | border-left: 0.25em solid #ed8; /* 4px */ 165 | border-radius: 0 0.25em 0.25em 0; /* 0 4px 4px 0 */ 166 | } 167 | .success-notice { 168 | background-color: #f0f6e9; 169 | border-left-color: #b3d98c; 170 | } 171 | .failure-notice { 172 | background-color: #fcecec; 173 | border-left-color: #dd6969; 174 | } 175 | 176 | /* Module > Details */ 177 | .details details { 178 | margin-left: 1.5em; 179 | } 180 | .details summary { 181 | color: #25d; 182 | font-weight: 700; 183 | display: inline; 184 | } 185 | .details summary:hover { 186 | color: #52d; 187 | } 188 | .details summary:active { 189 | color: #d25; 190 | } 191 | .details summary::-webkit-details-marker { 192 | margin-left: -1em; 193 | } 194 | 195 | 196 | /* ============================================================ 197 | Link 198 | ============================================================ */ 199 | /* External */ 200 | a[rel="external"] { 201 | background: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCw0IEw4LDQgTDYsNiBMMiw2IEwyLDE0IEwxMCwxNCBMMTAsMTAuNSBMMTIsOC41IEwxMiwxNiBMMCwxNiBaIE0wLDQiIGZpbGw9InJnYmEoMCwwLDAsMC4zMykiPjwvcGF0aD48cGF0aCBkPSJNNiwwIEwxNiwwIEwxNiwxMCBMMTQsMTAgTDE0LDMuNSBMNy41LDEwIEw2LDguNSBMMTIuNSwyIEw2LDIgWiBNNiwwIiBmaWxsPSJyZ2JhKDAsMCwwLDAuMzMpIj48L3BhdGg+PC9zdmc+) no-repeat right 40%; 202 | background-size: 12px; 203 | padding-right: 1em; 204 | } 205 | 206 | /* Tag */ 207 | a[rel="tag"] { 208 | font-size: 0.75em; /* 12px */ 209 | line-height: 1.3334; /* 16px */ 210 | text-transform: lowercase; 211 | border: 0; 212 | } 213 | 214 | 215 | /* ============================================================ 216 | Tooltip 217 | ============================================================ */ 218 | .tip { 219 | position: relative; 220 | } 221 | .tip:hover:after { 222 | content: attr(data-tip); 223 | color: #fff; 224 | font-size: 0.75em; /* 12px */ 225 | line-height: 1.3334em; /* 16px */ 226 | text-align: left; 227 | background-color: #666; 228 | border-radius: 0.3334em; /* 4px */ 229 | padding: 0.6667em; /* 8px */ 230 | width: 16.5em; /* 200px */ 231 | opacity: 0.9; 232 | display: block; 233 | position: absolute; 234 | left: 0; 235 | bottom: 2em; /* 24px */ 236 | z-index: 98; 237 | } 238 | .tip:hover:before { 239 | content: ""; 240 | border: solid; 241 | border-color: #666 transparent; 242 | border-width: 0.5em 0.5em 0 0.5em; /* 6px 6px 0 6px */ 243 | opacity: 0.9; 244 | display: block; 245 | left: 1em; /* 12px */ 246 | bottom: 1em; /* 12px */ 247 | position: absolute; 248 | z-index: 99; 249 | } 250 | 251 | 252 | /* ============================================================ 253 | List 254 | ============================================================ */ 255 | /* Articles */ 256 | .articles { 257 | overflow: hidden; 258 | } 259 | .articles a { 260 | display: block; 261 | } 262 | .articles a:hover { 263 | background-color: rgba(85,34,221,0.05); 264 | } 265 | .articles a:active { 266 | background-color: rgba(221,34,85,0.05); 267 | } 268 | .articles li { 269 | list-style: none; 270 | margin-left: 0; 271 | } 272 | .articles .h { 273 | margin-top: 0; 274 | } 275 | .articles p { 276 | color: #444; 277 | } 278 | .articles .caption { 279 | color: #888; 280 | margin-top: 0.6667em; /* 8px */ 281 | } 282 | .articles article img { 283 | margin-bottom: 0; 284 | width: 25%; 285 | } 286 | 287 | /* Code block */ 288 | .code { 289 | font-family:'DejaVu Sans Mono',Inconsolata,Consolas,'Lucida Console',monospace; 290 | font-size: 0.75em; /* 12px */ 291 | line-height: 1.6667; /* 20px */ 292 | } 293 | ol.code { 294 | color: #888; 295 | margin: 1.3334em 0 1.3334em 3em; /* 16px 0 16px 36px */ 296 | line-height: 2; /* 24px */ 297 | } 298 | ol.code li { 299 | list-style: decimal-leading-zero; 300 | background: #f6f6f6; 301 | margin: 0 0 -1px 0; 302 | border-top: 1px solid #fff; 303 | padding: 0 0.5em; /* 0 8px */ 304 | } 305 | ol.code li.tab1 { padding-left: 4ex; } 306 | ol.code li.tab2 { padding-left: 8ex; } 307 | ol.code li.tab3 { padding-left: 12ex; } 308 | ol.code li.tab4 { padding-left: 16ex; } 309 | ol.code li.tab5 { padding-left: 20ex; } 310 | 311 | /* Metadata */ 312 | dl.metadata { 313 | font-size: 0.75em; 314 | line-height: 1.3334; 315 | overflow: hidden; 316 | } 317 | dl.metadata dt { 318 | font-weight: 400; 319 | padding-top: 0.5em; 320 | } 321 | dl.metadata dd { 322 | color: #888; 323 | margin-left: 0; 324 | border-bottom: 1px solid #e9e9e9; 325 | padding-bottom: 0.5em; 326 | } 327 | @media screen and (min-width: 40em) { 328 | dl.metadata dt { 329 | padding: 0.5em 0; 330 | width: 25%; 331 | float: left; 332 | clear: left; 333 | display: block; 334 | } 335 | dl.metadata dd { 336 | -moz-box-sizing: content-box; 337 | -webkit-box-sizing: content-box; 338 | box-sizing: content-box; 339 | margin-left: -25%; 340 | padding: 0.5em 0 0.5em 25%; 341 | width: 75%; 342 | float: right; 343 | } 344 | } 345 | 346 | /* Progress indicator */ 347 | .progress li { 348 | list-style: none; 349 | line-height: 2; /* 32px */ 350 | background-color: #f6f6f6; 351 | margin: 0 1.25em 0.5em 0; /* 0 20px 8px 0 */ 352 | padding: 0.25em 0.25em 0.25em 0.5em; /* 4px 4px 4px 8px */ 353 | position: relative; 354 | display: inline-block; 355 | } 356 | .progress li:before { 357 | content: ""; 358 | font-size: 1em; /* 16px */ 359 | font-weight: 700; 360 | border: solid; 361 | border-color: #f6f6f6 transparent; 362 | border-width: 1.25em 0 1.25em 1.25em; /* 20px 0 20px 20px */ 363 | display: block; 364 | position: absolute; 365 | top: 0; 366 | left: -1.25em; /* -20px */ 367 | } 368 | .progress li:first-child { 369 | padding-left: 0.75em; 370 | } 371 | .progress li:first-child:before { 372 | display: none; 373 | } 374 | .progress li:after { 375 | content: ""; 376 | font-size: 1em; /* 16px */ 377 | border: solid; 378 | border-color: transparent #f6f6f6; 379 | border-width: 1.25em 0 1.25em 1.25em; /* 20px 0 20px 20px */ 380 | display: block; 381 | position: absolute; 382 | right: -1.25em; /* -20px */ 383 | top: 0; 384 | } 385 | .progress li.completed { 386 | background-color: #e9e9e9; 387 | } 388 | .progress li.completed:hover { 389 | background-color: #e9e9e9; 390 | } 391 | .progress li.completed:before { 392 | border-color: #e9e9e9 transparent; 393 | } 394 | .progress li.completed:hover:before { 395 | border-color: #e9e9e9 transparent; 396 | } 397 | .progress li.completed:after { 398 | border-color: transparent #e9e9e9; 399 | } 400 | .progress li.completed:hover:after { 401 | border-color: transparent #e9e9e9; 402 | } 403 | .progress li.is-active { 404 | color: #fff; 405 | font-weight: 700; 406 | background-color: #25d; 407 | } 408 | .progress li.is-active:before { 409 | border-color: #25d transparent; 410 | } 411 | .progress li.is-active:after { 412 | border-color: transparent #25d; 413 | } 414 | .progress li a { 415 | border: 0; 416 | display: block; 417 | } 418 | 419 | /* Stats */ 420 | .stats { 421 | overflow: hidden; 422 | } 423 | .stats li { 424 | list-style: none; 425 | margin: 0 0.75em 0 0; /* 0 12px 0 0 */ 426 | padding: 0 0.75em 0 0; /* 0 12px 0 0 */ 427 | border-right: 1px solid #e9e9e9; 428 | float: left; 429 | } 430 | ul.stats li:last-child { 431 | margin: 0; 432 | padding: 0; 433 | border: none; 434 | } 435 | .stats a { 436 | font-weight: 700; 437 | font-size: 1.125em; /* 18px */ 438 | line-height: 1.3334; /* 24px */ 439 | border: 0 none; 440 | display: block; 441 | float: left; 442 | } 443 | .stats span { 444 | font-weight: 400; 445 | font-size: 0.6667em; /* 12px */ 446 | line-height: 1.3334; /* 16px */ 447 | display: block; 448 | } 449 | 450 | /* Tag cloud */ 451 | .tags li { 452 | list-style: none; 453 | margin: 0 0.3334em 0 0; 454 | display: inline; 455 | white-space: nowrap; 456 | } 457 | .tags [data-rank="6"] { font-size: 1.2500em; line-height: 1.0000; } /* 20px/20px */ 458 | .tags [data-rank="5"] { font-size: 1.1250em; line-height: 1.1111; } /* 18px/20px */ 459 | .tags [data-rank="4"] { font-size: 1.0000em; line-height: 1.2500; } /* 16px/20px */ 460 | .tags [data-rank="3"] { font-size: 0.8750em; line-height: 1.4286; } /* 14px/20px */ 461 | .tags [data-rank="2"] { font-size: 0.7500em; line-height: 1.6667; } /* 12px/20px */ 462 | .tags [data-rank="1"] { font-size: 0.6875em; line-height: 1.8181; } /* 11px/20px */ 463 | 464 | 465 | /* ============================================================ 466 | Navigation 467 | ============================================================ */ 468 | [class$="nav"] li { 469 | margin: 0; 470 | display: inline; 471 | } 472 | [class$="nav"] a { 473 | border: 0; 474 | border-right: 1px solid #e9e9e9; 475 | padding: 0.5em 0.75em; /* 8px 12px */ 476 | display: inline-block; 477 | } 478 | [class$="nav"] li:last-child a { 479 | border-right: 0; 480 | } 481 | [class$="nav"] li a:hover { 482 | background-color: #f6f6f6; 483 | } 484 | [class$="nav"] li a.is-active { 485 | color: #444; 486 | font-weight: 700; 487 | } 488 | 489 | /* Vertical */ 490 | .vertical-nav li { 491 | margin: 0; 492 | display: block; 493 | } 494 | .vertical-nav a { 495 | border-right: 0; 496 | border-bottom: 1px solid #e9e9e9; 497 | display: block; 498 | } 499 | .vertical-nav a.is-active { 500 | background-color: #e9e9e9; 501 | position: relative; 502 | } 503 | .vertical-nav a.is-active:after { 504 | content: ""; 505 | font-size: 1em; /* 16px */ 506 | border: solid; 507 | border-color: transparent #e9e9e9; 508 | border-width: 1.25em 0 1.25em 1.25em; /* 16px 0 16px 16px */ 509 | display: block; 510 | position:absolute; 511 | right: -1.25em; /* -16px */ 512 | top: 0; 513 | } 514 | 515 | /* Tabbed */ 516 | .tabbed-nav { 517 | border-top: 0; 518 | border-bottom: 1px solid #e9e9e9; 519 | padding: 0; 520 | margin-left: 1em; 521 | } 522 | .tabbed-nav a.is-active { 523 | background-color: #fff; 524 | margin-bottom: -1px; 525 | border: 1px solid #e9e9e9; 526 | border-bottom-color: #fff; 527 | border-radius: 0.25em 0.25em 0 0; /* 4px 4px 0 0 */ 528 | } 529 | 530 | /* Pagination */ 531 | .page-nav a { 532 | padding: 0.5em 1em; /* 8px 16px */ 533 | } 534 | .page-nav a.is-active { 535 | background-color: #e9e9e9; 536 | } 537 | .page-nav a[rel="prev"], 538 | .page-nav a[rel="next"] { 539 | border: 0; 540 | } 541 | .page-nav a[rel="prev"]:hover, 542 | .page-nav a[rel="next"]:hover { 543 | background-color: transparent; 544 | } 545 | 546 | /* Breadcrumb */ 547 | .breadcrumb-nav { 548 | color: #ccc; 549 | font-size: 0.75em; /* 12px */ 550 | line-height: 1.3334; /* 16px */ 551 | margin-top: 0; 552 | border: 0 none; 553 | } 554 | .breadcrumb-nav a, 555 | .breadcrumb-nav strong { 556 | padding: 0 0.5em; /* 8px */ 557 | border: 0; 558 | } 559 | .breadcrumb-nav a:first-child { 560 | padding-left: 0; 561 | } 562 | 563 | 564 | /* ============================================================ 565 | Form 566 | ============================================================ */ 567 | /* Text input */ 568 | .input { 569 | background-color: #f6f6f6; 570 | box-shadow: inset 0 1px 0 rgba(0,0,0,0.1); 571 | border: 1px solid #ddd; 572 | border-color: rgba(0,0,0,0.2); 573 | border-radius: 0.25em; 574 | padding: 0.5em; /* 8px */ 575 | vertical-align: middle; 576 | } 577 | .input:focus { 578 | background-color: #fff; 579 | box-shadow: inset 0 1px 0 rgba(17,34,187,0.1); 580 | border: 1px solid #12b; 581 | border-color: rgba(85,34,221,0.5); 582 | } 583 | 584 | /* Button/Select */ 585 | select.input, 586 | [class$="button"] { 587 | color: #444; 588 | text-shadow: 0 1px 0 #fff; 589 | box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1); 590 | background-color: #e9e9e9; 591 | background: -webkit-linear-gradient(top, #fff, #e9e9e9); 592 | background: -moz-linear-gradient(top, #fff, #e9e9e9); 593 | background: -o-linear-gradient(top, #fff, #e9e9e9); 594 | background: linear-gradient(to bottom, #fff, #e9e9e9); 595 | margin-right: 0.5em; 596 | border: 1px solid #ccc; 597 | border-radius: 0.25em; 598 | padding: 0.5em 0.75em; /* 8px 12px */ 599 | display: inline-block; 600 | position: relative; 601 | } 602 | select.input { 603 | background: #e9e9e9 url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBvbHlnb24gcG9pbnRzPSI4LDAgMyw2IDEzLDYiIGZpbGw9IiM0NDQiLz48cG9seWdvbiBwb2ludHM9IjgsMCAzLDYgMTMsNiIgZmlsbD0iIzQ0NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYsIDE1KSByb3RhdGUoLTE4MCkiLz48L3N2Zz4=); 604 | background-repeat: no-repeat; 605 | background-position: 92% 50%; 606 | background-size: 1em; 607 | } 608 | select.input:hover, 609 | select.input:focus, 610 | [class$="button"]:hover, 611 | [class$="button"]:focus { 612 | color: #333; 613 | box-shadow: inset 0 -1px 0 #bbb; 614 | background-color: #e9e9e9; 615 | border: 1px solid #bbb; 616 | } 617 | select.input:active, 618 | [class$="button"]:active, 619 | [class$="button"].selected { 620 | color: #333; 621 | outline: 0 none; 622 | box-shadow: inset 0 1px 0 rgba(0,0,0,0.1); 623 | background-color: #bbb; 624 | background: -webkit-linear-gradient(top, #e9e9e9, #fff); 625 | background: -moz-linear-gradient(top, #e9e9e9, #fff); 626 | background: -o-linear-gradient(top, #e9e9e9, #fff); 627 | background: linear-gradient(to bottom, #e9e9e9, #fff); 628 | border-color: #bbb; 629 | } 630 | 631 | /* Button > Primary */ 632 | .primary-button { 633 | color: #f6f6f6; 634 | text-shadow: 0 -1px 0 #02a; 635 | box-shadow: inset 0 -1px 0 #02a; 636 | background-color: #34d; 637 | background: -webkit-linear-gradient(top, #25d, #52d); 638 | background: -moz-linear-gradient(top, #25d, #52d); 639 | background: -o-linear-gradient(top, #25d, #52d); 640 | background: linear-gradient(to bottom, #25d, #52d); 641 | border: 1px solid #02a; 642 | } 643 | .primary-button:hover, 644 | .primary-button:focus { 645 | color: #fff; 646 | box-shadow: inset 0 -1px 0 #006; 647 | border-color: #006; 648 | } 649 | .primary-button:active { 650 | color: #fff; 651 | box-shadow: inset 0 1px 0 rgba(0,0,0,0.15); 652 | background-color: #006; 653 | } 654 | 655 | /* Combined inputs/buttons */ 656 | .combined { 657 | display: block; 658 | overflow: hidden; 659 | padding-bottom: 1px; 660 | } 661 | .combined .input, 662 | .combined [class$="button"] { 663 | margin: 0; 664 | border-left-width: 0; 665 | border-radius: 0; 666 | float: left; 667 | } 668 | .combined input:first-of-type, 669 | .combined [class$="button"]:first-of-type { 670 | border-left-width: 1px; 671 | border-radius: 0.25em 0 0 0.25em; 672 | } 673 | .combined input:last-of-type, 674 | .combined [class$="button"]:last-of-type { 675 | border-radius: 0 0.25em 0.25em 0; 676 | } 677 | 678 | /* Combined search field */ 679 | input[type="search"] + .button { 680 | box-shadow: none; 681 | background: transparent url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNIDE2IDE0LjYgTCAxMC45IDkuNSBDIDExLjYgOC41IDEyIDcuMyAxMiA2IEMgMTIgMi43IDkuMyAwIDYgMCBDIDIuNyAwIDAgMi43IDAgNiBDIDAgOS4zIDIuNyAxMiA2IDEyIEMgNy4zIDEyIDguNSAxMS42IDkuNSAxMC45IEwgMTQuNiAxNiBMIDE2IDE0LjYgWk0gMiA2IEMgMiAzLjggMy44IDIgNiAyIEMgOC4yIDIgMTAgMy44IDEwIDYgQyAxMCA4LjIgOC4yIDEwIDYgMTAgQyAzLjggMTAgMiA4LjIgMiA2IFoiIGZpbGw9IiM5OTkiLz48L3N2Zz4=) no-repeat 50% 55%; 682 | border-color: transparent; 683 | overflow: hidden; 684 | width: 2em; 685 | text-indent: 2em; 686 | margin-left: -2em; 687 | } 688 | 689 | /* Button Group */ 690 | .button-group { 691 | border-top: 1px solid #e9e9e9; 692 | padding: 0.75em 0; 693 | overflow: hidden; 694 | } 695 | @media screen and (min-width:40em) { 696 | .button-group { 697 | padding-left: 25%; 698 | } 699 | } 700 | 701 | /* Single checkboxes */ 702 | label.check { 703 | font-weight: 400; 704 | margin: 0; 705 | padding: 0; 706 | float:none; 707 | } 708 | label.check input { 709 | width: 1.25em; 710 | } 711 | label.check + .caption { 712 | margin-top: 0; 713 | padding-left: 2em; 714 | } 715 | @media screen and (min-width:40em) { 716 | fieldset.options li { 717 | margin-left: 25%; 718 | } 719 | label.check { 720 | margin-left: 25%; 721 | float: none; 722 | } 723 | } 724 | 725 | /* Labels */ 726 | label, 727 | fieldset.options legend { 728 | color: #444; 729 | margin: 0.375em 0; /* 6px 0 */ 730 | font-size: 1em; /* 16px */ 731 | font-weight: 700; 732 | line-height: 1.5; /* 24px */ 733 | width: auto; 734 | display: block; 735 | -webkit-font-smoothing: antialiased; 736 | } 737 | fieldset.options legend { 738 | margin: 0; 739 | padding: 0.375em 0; /* 6px 0 */ 740 | } 741 | @media screen and (min-width:40em) { 742 | label, 743 | fieldset.options legend { 744 | padding: 0; 745 | width: 25%; 746 | float: left; 747 | display: inline; 748 | } 749 | } 750 | 751 | /* Options list */ 752 | fieldset.options { 753 | clear: left; 754 | } 755 | fieldset.options ul { 756 | margin: 0; 757 | } 758 | fieldset.options li { 759 | list-style: none; 760 | margin-left: 0; 761 | } 762 | @media screen and (min-width:40em) { 763 | fieldset.options label, 764 | fieldset.options label.check + .caption { 765 | margin-left: 0; 766 | } 767 | fieldset.options li { 768 | margin-left: 25%; 769 | } 770 | } 771 | 772 | /* Required text */ 773 | abbr[title="Required"] { 774 | color: #a00; 775 | font-size: 1.25em; 776 | font-weight: 400; 777 | border: 0; 778 | } 779 | 780 | /* Field caption */ 781 | label.check + .caption, 782 | .input + .caption { 783 | display: block; 784 | } 785 | @media screen and (min-width:40em) { 786 | .input + .caption, 787 | label.check + .caption, 788 | fieldset.options .caption { 789 | margin-left: 25%; 790 | } 791 | } -------------------------------------------------------------------------------- /_css/reset.css: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | Viewport 3 | ============================================================ */ 4 | @-ms-viewport { 5 | width: device-width; 6 | } 7 | @viewport { 8 | width: device-width; 9 | } 10 | 11 | 12 | /* ============================================================ 13 | HTML5 Elements 14 | ============================================================ */ 15 | section, nav, article, aside, hgroup, header, footer, main, 16 | img, figure, figcaption, details, menu { 17 | display: block; 18 | } 19 | audio, video, canvas { 20 | display: inline-block; 21 | } 22 | 23 | 24 | /* ============================================================ 25 | Box sizing 26 | ============================================================ */ 27 | * { 28 | -moz-box-sizing: border-box; 29 | -webkit-box-sizing: border-box; 30 | box-sizing: border-box; 31 | } 32 | 33 | 34 | /* ============================================================ 35 | Sectioning 36 | ============================================================ */ 37 | body { 38 | color: #444; 39 | font-family: sans-serif; 40 | font-weight: 400; 41 | font-size: 1em; /* 16px */ 42 | line-height: 1; /* 16px */ 43 | text-rendering: optimizeLegibility; 44 | margin: 0 auto; 45 | } 46 | h1 { 47 | color: #222; 48 | font-weight: 700; 49 | font-size: 2em; /* 32px */ 50 | line-height: 1; /* 32px */ 51 | letter-spacing: -0.03125em; /* -1px */ 52 | margin: 0.5em 0; /* 16px 0 */ 53 | -webkit-font-smoothing: antialiased; 54 | } 55 | h2, 56 | article > h1, 57 | section > h1, 58 | nav > h1 { 59 | color: #333; 60 | font-weight: 700; 61 | font-size: 1.5em; /* 24px */ 62 | line-height: 1; /* 24px */ 63 | margin: 1.3334em 0 0.3334em; /* 32px 0 8px */ 64 | -webkit-font-smoothing: antialiased; 65 | } 66 | h3, 67 | legend, 68 | article article > h1, 69 | article section > h1, 70 | section section > h1, 71 | section article > h1 { 72 | color: #333; 73 | font-weight: 400; 74 | font-size: 1.3125em; /* 21px */ 75 | line-height: 1.1429; /* 24px */ 76 | margin: 1.1429em 0 0.3810em; /* 24px 0 8px */ 77 | -webkit-font-smoothing: antialiased; 78 | } 79 | h4 { 80 | color: #444; 81 | font-weight: 400; 82 | font-size: 1.125em; /* 18px */ 83 | line-height: 1.3334; /* 24px */ 84 | margin: 1.3334em 0 0.4444em; /* 24px 0 8px */ 85 | -webkit-font-smoothing: antialiased; 86 | } 87 | h5 { 88 | color: #555; 89 | font-weight: 700; 90 | font-size: 1em; /* 16px */ 91 | line-height: 1; /* 16px */ 92 | margin: 1.5em 0 0.5em; /* 24px 0 8px */ 93 | -webkit-font-smoothing: antialiased; 94 | } 95 | h6 { 96 | color: #666; 97 | font-weight: 700; 98 | font-size: 0.875em; /* 14px */ 99 | line-height: 1.1429; /* 16px */ 100 | text-transform: uppercase; 101 | letter-spacing: 0.1429em; /* 2px */ 102 | margin: 1.7143em 0 0.5714em; /* 24px 0 8px */ 103 | -webkit-font-smoothing: antialiased; 104 | } 105 | header { 106 | margin-bottom: 1em; 107 | border-bottom: 1px solid #e9e9e9; 108 | } 109 | footer { 110 | margin-top: 1em; 111 | border-top: 1px solid #e9e9e9; 112 | padding-top: 0.5em; 113 | } 114 | nav ul { 115 | margin: 0; 116 | list-style: none; 117 | } 118 | 119 | 120 | /* ============================================================ 121 | Grouping 122 | ============================================================ */ 123 | p, pre, blockquote, ul, ol, dl, figure, figcaption, table, fieldset, details { 124 | font-size: 1em; /* 16px */ 125 | line-height: 1.5; /* 24px */ 126 | margin: 0.5em 0; /* 8px 0 */ 127 | } 128 | hr { 129 | font-weight: 700; 130 | font-size: 2em; /* 32px */ 131 | line-height: 1; /* 32px */ 132 | text-align: center; 133 | margin: 1em 0 2em; /* 0 0 32px */ 134 | border: 0; 135 | padding: 0; 136 | height: 0; 137 | clear: both; 138 | display: block; 139 | } 140 | hr::after { 141 | content: "···"; 142 | color: #bbb; 143 | letter-spacing: 1em; 144 | padding-left: 1em; 145 | height: 0; 146 | } 147 | pre { 148 | margin-left: 1.5em; /* 24px */ 149 | white-space: pre-wrap; 150 | } 151 | pre code, 152 | pre samp { 153 | line-height: 1.5; 154 | } 155 | blockquote { 156 | color: #666; 157 | font-size: 1em; /* 16px */ 158 | line-height: 1.5; /* 32px */ 159 | border-left: 0.25em solid #e9e9e9; 160 | padding: 0 1.5em 0 1em; /* 0 24px 0 16px */ 161 | } 162 | blockquote p { 163 | line-height: 1.5; /* 24px */ 164 | margin: 0.5em 0; /* 8px 0 */ 165 | } 166 | 167 | /* Grouping > Lists */ 168 | ol { 169 | list-style-type: decimal; 170 | padding: 0; 171 | } 172 | ul { 173 | list-style-type: square; 174 | padding: 0; 175 | } 176 | ul li li { 177 | list-style-type: circle; 178 | } 179 | dt { 180 | font-size: 1em; /* 16px */ 181 | font-weight: 700; 182 | line-height: 1.5; /* 24px */ 183 | } 184 | dd, li { 185 | margin-left: 1.5em; /* 24px */ 186 | } 187 | dd > *, li > * { 188 | margin-top: 0; 189 | } 190 | 191 | /* Grouping > Figures */ 192 | figcaption { 193 | color: #999; 194 | font-size: 0.75em; /* 12px */ 195 | line-height: 1.3334; /* 16px */ 196 | padding: 0.6667em 0; /* 8px 0 */ 197 | clear: left; 198 | } 199 | blockquote + figcaption::before { 200 | content: "\2014"; 201 | } 202 | 203 | 204 | /* ============================================================ 205 | Text-level semantics 206 | ============================================================ */ 207 | a { 208 | color: #25d; 209 | text-decoration: none; 210 | border-bottom: 1px solid rgba(34,85,221,0.1); 211 | } 212 | a:focus { 213 | outline: 1px solid rgba(34,85,221,0.3); 214 | } 215 | a:hover { 216 | color: #52d; 217 | border-bottom-color: rgba(85,34,221,0.2); 218 | } 219 | a:link, a:visited, a:hover { 220 | transition: all 0.2s ease; 221 | } 222 | a:active { 223 | color: #d25; 224 | border-bottom: 1px solid rgba(221,34,85,0.25); 225 | transition: none; 226 | } 227 | em, i, cite, var { 228 | font-family: Georgia,serif; 229 | font-style: italic; 230 | line-height: 90%; 231 | } 232 | strong, b { 233 | color: #333; 234 | font-weight: 700; 235 | line-height: 90%; 236 | } 237 | :lang(en-gb)>q { 238 | quotes: "\201C" "\201D" "\2018" "\2019"; 239 | } 240 | q::before { content: open-quote; } 241 | q::after { content: close-quote; 242 | } 243 | small { 244 | color: #666; 245 | font-size: 0.75em; /* 12px */ 246 | line-height: 1.3334; /* 16px */ 247 | display: inline-block; 248 | } 249 | abbr { 250 | color: #666; 251 | font-size: 0.875em; /* 14px */ 252 | line-height: 90%; 253 | letter-spacing: 0.0357em; /* 0.5px */ 254 | } 255 | abbr[title], 256 | dfn[title] { 257 | border-bottom: 1px dotted rgba(0,0,0,0.3); 258 | cursor: help; 259 | } 260 | code, samp { 261 | font-family: 'DejaVu Sans Mono',Inconsolata,Consolas,'Lucida Console',monospace; 262 | font-size: 1em; /* 16px */ 263 | line-height: 90%; 264 | } 265 | code { 266 | color: #b03; 267 | } 268 | code .comment { 269 | color: #999; 270 | } 271 | samp { 272 | background-color: #f9f9f9; 273 | padding: 0.25em; 274 | } 275 | kbd { 276 | color: #666; 277 | font-family: inherit; 278 | font-size: 87.5%; 279 | line-height: 90%; 280 | background-color: #f9f9f9; 281 | margin: 0 0.25em; /* 0 4px */ 282 | border: 1px solid #e9e9e9; 283 | border-radius: 4px; 284 | padding: 0.3334em 0.5em; 285 | box-shadow: inset 0 1px 0 #fff; 286 | } 287 | sub { 288 | font-size: smaller; 289 | line-height: 90%; 290 | vertical-align: sub; 291 | } 292 | sup { 293 | font-size: smaller; 294 | line-height: 90%; 295 | vertical-align: super; 296 | } 297 | 298 | 299 | /* ============================================================ 300 | Edits 301 | ============================================================ */ 302 | mark, ins { 303 | background-color: #fff9d9; 304 | line-height: 90%; 305 | padding: 0 0.125em; /* 0 2px */ 306 | } 307 | ins { 308 | background-color: #e9e9e9; 309 | } 310 | del, s { 311 | line-height: 90%; 312 | text-decoration: line-through; 313 | } 314 | 315 | 316 | /* ============================================================ 317 | Embedded content 318 | ============================================================ */ 319 | img { 320 | border: 0; 321 | max-width: 100%; 322 | } 323 | 324 | 325 | /* ============================================================ 326 | Tabular data 327 | ============================================================ */ 328 | table { 329 | border-collapse: collapse; 330 | border-spacing: 0; 331 | } 332 | caption { 333 | caption-side: bottom; 334 | color: #999; 335 | font-size: 0.75em; /* 12px */ 336 | line-height: 1.3334; /* 16px */ 337 | text-align: left; 338 | margin: 1em 0; /* 12px 0 */ 339 | } 340 | td, th { 341 | text-align: left; 342 | border-bottom: 1px solid #e9e9e9; 343 | padding: 0.375em 2em 0.375em 0; /* 6px 32px 6px 0 */ 344 | vertical-align: top; 345 | } 346 | th { 347 | font-weight: 700; 348 | padding-bottom: 0.5em; /* 8px */ 349 | } 350 | thead th { 351 | border-bottom: 2px solid #ddd; 352 | } 353 | 354 | 355 | /* ============================================================ 356 | Forms 357 | ============================================================ */ 358 | fieldset { 359 | border: 0; 360 | padding: 0; 361 | } 362 | legend { 363 | margin: 0; 364 | } 365 | label { 366 | line-height: 1.5; 367 | cursor: pointer; 368 | } 369 | button, 370 | input, 371 | select, 372 | textarea { 373 | color: inherit; 374 | font-family: inherit; 375 | font-size: 100%; 376 | margin: 0; 377 | outline: 0; 378 | } 379 | select { 380 | -webkit-appearance: button; 381 | appearance: normal; 382 | } 383 | button, 384 | input[type="button"], 385 | input[type="submit"] { 386 | -webkit-appearance: button; 387 | line-height: normal; 388 | width: auto; 389 | cursor: pointer; 390 | } 391 | button::-moz-focus-inner, 392 | input::-moz-focus-inner { 393 | border: 0; 394 | padding: 0; 395 | } 396 | input[type="radio"], 397 | input[type="checkbox"] { 398 | margin-right: 0.25em; 399 | } 400 | input[type="search"] { 401 | -webkit-appearance: none; 402 | } 403 | input[type="search"]::-webkit-search-cancel-button, 404 | input[type="search"]::-webkit-search-decoration { 405 | -webkit-appearance: none; 406 | } 407 | [disabled] { 408 | cursor: default; 409 | } 410 | 411 | 412 | /* Placeholder */ 413 | ::-webkit-input-placeholder { 414 | color: #999; 415 | } 416 | :focus::-webkit-input-placeholder { 417 | color: #ccc; 418 | } 419 | :-moz-placeholder { 420 | color: #999; 421 | } 422 | :focus:-moz-placeholder { 423 | color: #ccc; 424 | } 425 | :-ms-input-placeholder { 426 | color: #999; 427 | } 428 | :focus:-ms-input-placeholder { 429 | color: #ccc; 430 | } 431 | 432 | 433 | /* ============================================================ 434 | Interactive 435 | ============================================================ */ 436 | summary { 437 | border: 0; 438 | outline: 0; 439 | cursor: pointer; 440 | } 441 | 442 | 443 | /* ============================================================ 444 | Print styles 445 | ============================================================ */ 446 | @media print { 447 | @page { 448 | margin: 0.5cm; 449 | } 450 | * { 451 | background: transparent !important; 452 | color: #000 !important; 453 | text-shadow: none !important; 454 | box-shadow: none; 455 | } 456 | p, h1, h2, h3 { 457 | orphans: 3; 458 | widows: 3; 459 | } 460 | h1, h2, h3, h4 { 461 | page-break-after: avoid; 462 | } 463 | blockquote { 464 | border-left: 4px solid #ccc; 465 | padding: 0 1em; 466 | page-break-inside: avoid; 467 | } 468 | a, a:visited { 469 | color: #000 !important; 470 | border-bottom: 1px dotted #999; 471 | padding-left: 0 !important; 472 | } 473 | thead { 474 | display: table-header-group; 475 | } 476 | tr, img { 477 | page-break-inside: avoid; 478 | } 479 | input[type="text"], 480 | input[type="email"], 481 | input[type="url"], 482 | input[type="password"], 483 | input[type="search"], 484 | textarea { 485 | border-bottom: 1px solid #999; 486 | box-shadow: none; 487 | } 488 | } -------------------------------------------------------------------------------- /_css/styles.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import url('reset.css'); 4 | @import url('patterns.css'); 5 | 6 | /* ============================================================ 7 | Site specific styles 8 | ============================================================ */ 9 | body { 10 | background-color: #f6f6f6; 11 | } 12 | header[role="banner"] { 13 | color: #fff; 14 | background-image: -webkit-linear-gradient(top, #52d, #25d); 15 | background-image: -moz-linear-gradient(top, #52d, #25d); 16 | background-image: -ms-linear-gradient(top, #52d, #25d); 17 | background-image: -o-linear-gradient(top, #52d, #25d); 18 | background-image: linear-gradient(to bottom, #52d, #25d); 19 | box-shadow: inset 0 -2px rgba(0,0,0,0.25), inset 0 2px rgba(0,0,0,0.1); 20 | margin: 0; 21 | border-bottom: 1px solid #02a; 22 | padding-top: 4em; /* 64px */ 23 | } 24 | header[role="banner"] .headline, 25 | header[role="banner"] .lede { 26 | color: #fff; 27 | text-shadow: 0 -2px 0 rgba(0,0,0,0.25); 28 | } 29 | main[role="main"] { 30 | background-color: #fff; 31 | padding: 1em 0; 32 | } 33 | footer[role="contentinfo"] { 34 | box-shadow: inset 0 2px #f0f0f0; 35 | margin-top: 0; 36 | } -------------------------------------------------------------------------------- /_forms.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Form Example - Barebones 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |
15 | 18 |

Form Example

19 |

Basic form styles

20 |
21 |

The fieldset element enables you to group related fields within a form, and each one should contain a corresponding legend. The label element ensures field descriptions are associated with their corresponding form widgets.

22 | 23 |
24 | Legend 25 |

Required fields are marked *

26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
37 |
38 |
39 | 40 | 45 | 46 | -------------------------------------------------------------------------------- /_includes/.gitkeep: -------------------------------------------------------------------------------- 1 | Use this folder for any server-side includes. -------------------------------------------------------------------------------- /_js/.gitkeep: -------------------------------------------------------------------------------- 1 | Use this folder for JavaScript files. Libraries can be contained in a /libs/ sub-directory. -------------------------------------------------------------------------------- /_js/libs/.gitkeep: -------------------------------------------------------------------------------- 1 | Locally hosted JavaScript libraries. -------------------------------------------------------------------------------- /_patterns.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Pattern Primer - Barebones 5 | 6 | 7 | 8 | 9 | 53 | 54 | 55 | 56 |
57 |
58 |
59 | 62 |

Pattern Primer

63 |

Common snippets of markup

64 |
65 | 66 | '; 78 | include($patterns_dir.'/'.$file); 79 | echo '
'; 80 | echo '•••'; 81 | echo '
'; 82 | echo ''; 83 | echo '

Usage: '.htmlspecialchars(@file_get_contents($patterns_dir.'/'.str_replace('.html','.txt',$file))).'

'; 84 | echo '
'; 85 | echo '
'; 86 | echo ''; 87 | endforeach; 88 | ?> 89 | 90 |
91 |
92 | 93 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /_patterns/form-button-primary.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /_patterns/form-button.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /_patterns/form-buttongroup-combined.html: -------------------------------------------------------------------------------- 1 |
2 | 5 |
-------------------------------------------------------------------------------- /_patterns/form-buttongroup.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | Cancel 5 |
-------------------------------------------------------------------------------- /_patterns/form-fieldset.html: -------------------------------------------------------------------------------- 1 |
2 | Legend 3 |

Required fields are marked *

4 |
-------------------------------------------------------------------------------- /_patterns/form-input.checkbox.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | Note about this field 4 |

-------------------------------------------------------------------------------- /_patterns/form-input.email.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Note about this field 5 |

-------------------------------------------------------------------------------- /_patterns/form-input.password.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Note about this field 5 |

-------------------------------------------------------------------------------- /_patterns/form-input.search.html: -------------------------------------------------------------------------------- 1 |

2 | 3 |

-------------------------------------------------------------------------------- /_patterns/form-input.text.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Note about this field 5 |

-------------------------------------------------------------------------------- /_patterns/form-input.url.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Note about this field 5 |

-------------------------------------------------------------------------------- /_patterns/form-inputs-combined.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 6 | 7 |

-------------------------------------------------------------------------------- /_patterns/form-options.checkboxes-captions.html: -------------------------------------------------------------------------------- 1 |
2 | Checkbox * 3 |
    4 |
  • 5 | 6 | Note about these option 7 |
  • 8 |
  • 9 | 10 | Note about these option 11 |
  • 12 |
  • 13 | 14 | Note about these option 15 |
  • 16 |
17 |
-------------------------------------------------------------------------------- /_patterns/form-options.checkboxes.html: -------------------------------------------------------------------------------- 1 |
2 | Checkbox * 3 |
    4 |
  • 5 | 6 |
  • 7 |
  • 8 | 9 |
  • 10 |
  • 11 | 12 |
  • 13 |
14 | Note about these options 15 |
-------------------------------------------------------------------------------- /_patterns/form-options.radios.html: -------------------------------------------------------------------------------- 1 |
2 | Radio * 3 |
    4 |
  • 5 | 6 |
  • 7 |
  • 8 | 9 |
  • 10 |
  • 11 | 12 |
  • 13 |
14 | Note about these options 15 |
-------------------------------------------------------------------------------- /_patterns/form-select.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 10 | Note about this selection 11 |

-------------------------------------------------------------------------------- /_patterns/form-textarea.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | Note about this field 5 |

-------------------------------------------------------------------------------- /_patterns/image-circular.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/image-framed-circular.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /_patterns/image-framed.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/layout-module-details.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | How do I know which bone to choose? 4 |

Whether you want to give your dog a nylon bone, a real bone, or a rawhide bone, choose a bone that matches your dog’s chewing rate and chewing habits. You may also wish to consider your dog's size and choose a bone that best fits his mouth and teeth.

5 |
6 |
7 | How do bones improve dental health? 8 |

When your dog chews on bones, the chewing action scrapes away plaque, controls tartar build up, and helps stimulate gums. This diminishes bad breath, keeps teeth whiter, and reduces the risk of potentially serious dental problems.

9 |
10 |
11 | Are bones appropriate for older dogs? 12 |

Provided that your older dog has healthy teeth, bones are extremely appropriate. Bones provide entertainment and mental stimulation that can be very beneficial to older dogs – especially those who are not extremely active.

13 |
14 |
-------------------------------------------------------------------------------- /_patterns/layout-module-highlight.html: -------------------------------------------------------------------------------- 1 |
2 |

This is a highlighted area of content.

3 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

4 |
-------------------------------------------------------------------------------- /_patterns/layout-module-mark.html: -------------------------------------------------------------------------------- 1 |
2 |

This is a marked area of content.

3 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

4 |
-------------------------------------------------------------------------------- /_patterns/layout-module-notice-failure.html: -------------------------------------------------------------------------------- 1 |
2 |

This is a notification of a failed action or event.

3 |

Please complete the following required fields:

4 |
    5 |
  • Name
  • 6 |
  • Date of birth
  • 7 |
8 |
-------------------------------------------------------------------------------- /_patterns/layout-module-notice-success.html: -------------------------------------------------------------------------------- 1 |
2 |

This is a notification of a successful action or event.

3 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

4 |
-------------------------------------------------------------------------------- /_patterns/layout-module-notice.html: -------------------------------------------------------------------------------- 1 |
2 |

This is a general notification.

3 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

4 |
-------------------------------------------------------------------------------- /_patterns/layout-module.html: -------------------------------------------------------------------------------- 1 |
2 |

This is an area of content.

3 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

4 |
-------------------------------------------------------------------------------- /_patterns/layout-pull-left.html: -------------------------------------------------------------------------------- 1 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit.

-------------------------------------------------------------------------------- /_patterns/layout-pull-right.html: -------------------------------------------------------------------------------- 1 |

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit.

-------------------------------------------------------------------------------- /_patterns/link-button-primary.html: -------------------------------------------------------------------------------- 1 | Primary Link Button -------------------------------------------------------------------------------- /_patterns/link-button.html: -------------------------------------------------------------------------------- 1 | Link Button -------------------------------------------------------------------------------- /_patterns/link-rel-external.html: -------------------------------------------------------------------------------- 1 | External link -------------------------------------------------------------------------------- /_patterns/link-rel-tag.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/link-tip.html: -------------------------------------------------------------------------------- 1 | Hover to reveal a tooltip -------------------------------------------------------------------------------- /_patterns/list-articles-img.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. 3 |
    4 | 5 |

    Defiant North Korea in rocket success

    6 |

    7 |

    North Korea successfully launches a long-range rocket to put a satellite into space, as neighbours accuse it of a disguised missile test.

    8 |
    9 |
  2. 10 |
  3. 11 |
    12 | 13 |

    Big decline in UK unemployment

    14 |

    15 |

    The number of people out of work fell by 82,000 between August and October, to 2.51 million, official figures show.

    16 |
    17 |
  4. 18 |
  5. 19 |
    20 | 21 |

    Sitar maestro Ravi Shankar dies

    22 |

    23 |

    Sitar player Ravi Shankar, who popularised Indian music around the world, dies in hospital in the United States at the age of 92.

    24 |
    25 |
  6. 26 |
-------------------------------------------------------------------------------- /_patterns/list-articles.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. 3 |
    4 |

    Defiant North Korea in rocket success

    5 |

    6 |

    North Korea successfully launches a long-range rocket to put a satellite into space, as neighbours accuse it of a disguised missile test.

    7 |
    8 |
  2. 9 |
  3. 10 |
    11 |

    Big decline in UK unemployment

    12 |

    13 |

    The number of people out of work fell by 82,000 between August and October, to 2.51 million, official figures show.

    14 |
    15 |
  4. 16 |
  5. 17 |
    18 |

    Sitar maestro Ravi Shankar dies

    19 |

    20 |

    Sitar player Ravi Shankar, who popularised Indian music around the world, dies in hospital in the United States at the age of 92.

    21 |
    22 |
  6. 23 |
-------------------------------------------------------------------------------- /_patterns/list-code.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. <?php
  2. 3 |
  3. echo 'Hello World!'; // print 'Hello World'
  4. 4 |
  5. ?>
  6. 5 |
-------------------------------------------------------------------------------- /_patterns/list-metadata.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/list-progress.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. Lorem dolor
  2. 3 |
  3. Consectetur
  4. 4 |
  5. Adipisicin
  6. 5 |
  7. Eiusmod
  8. 6 |
7 | 8 |
    9 |
  1. Lorem dolor
  2. 10 |
  3. Consectetur
  4. 11 |
  5. Adipisicin
  6. 12 |
  7. Eiusmod
  8. 13 |
14 | 15 |
    16 |
  1. Lorem dolor
  2. 17 |
  3. Consectetur
  4. 18 |
  5. Adipisicin
  6. 19 |
  7. Eiusmod
  8. 20 |
-------------------------------------------------------------------------------- /_patterns/list-stats.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/list-tags.html: -------------------------------------------------------------------------------- 1 |
    2 |
  1. 3 |
  2. 4 |
  3. 5 |
  4. 6 |
  5. 7 |
  6. 8 |
  7. 9 |
  8. 10 |
  9. 11 |
  10. 12 |
  11. 13 |
  12. 14 |
  13. 15 |
  14. 16 |
  15. 17 |
  16. 18 |
  17. 19 |
  18. 20 |
  19. 21 |
  20. 22 |
-------------------------------------------------------------------------------- /_patterns/navigation-breadcrumb.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/navigation-page.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/navigation-tabbed.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/navigation-vertical.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/navigation.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_patterns/text-caption.html: -------------------------------------------------------------------------------- 1 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-------------------------------------------------------------------------------- /_patterns/text-lede.html: -------------------------------------------------------------------------------- 1 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-------------------------------------------------------------------------------- /_patterns/text-lede.txt: -------------------------------------------------------------------------------- 1 | Content preceding the main body of a page or article, giving the reader the main idea of the following content. -------------------------------------------------------------------------------- /_styleguide.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Style Guide - Barebones 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |
15 | 18 |

Style Guide

19 |

Basic markup and typographic styles

20 |
21 | 22 |

Sections Linked

23 |

The main page header of this guide is an h1 element. Any header elements may include links, as depicted in the example.

24 |

The secondary header above is an h2 element, which may be used for any form of important page-level header. More than one may be used per page. Consider using an h2 unless you need a header level of less importance, or as a sub-header to an existing h2 element.

25 |

Third-Level Header Linked

26 |

The header above is an h3 element, which may be used for any form of page-level header which falls below the h2 header in a document hierarchy.

27 |

Fourth-Level Header Linked

28 |

The header above is an h4 element, which may be used for any form of page-level header which falls below the h3 header in a document hierarchy.

29 |
Fifth-Level Header Linked
30 |

The header above is an h5 element, which may be used for any form of page-level header which falls below the h4 header in a document hierarchy.

31 |
Sixth-Level Header Linked
32 |

The header above is an h6 element, which may be used for any form of page-level header which falls below the h5 header in a document hierarchy.

33 | 34 |

Grouping content

35 |

Paragraphs

36 |

All paragraphs are wrapped in p tags. Additionally, p elements can be wrapped with a blockquote element if the p element is indeed a quote. Historically, blockquote has been used purely to force indents, but this is now achieved using CSS. Reserve blockquote for quotes.

37 | 38 |

Horizontal rule

39 |

The hr element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book. The following extract from Pandora’s Star by Peter F. Hamilton shows two paragraphs that precede a scene change and the paragraph that follows it:

40 |
41 |

Dudley was ninety-two, in his second life, and fast approaching time for another rejuvenation. Despite his body having the physical age of a standard fifty-year-old, the prospect of a long degrading campaign within academia was one he regarded with dread. For a supposedly advanced civilization, the Intersolar Commonwearth could be appallingly backward at times, not to mention cruel.

42 |

Maybe it won’t be that bad, he told himself. The lie was comforting enough to get him through the rest of the night’s shift.

43 |
44 |

The Carlton AllLander drove Dudley home just after dawn. Like the astronomer, the vehicle was old and worn, but perfectly capable of doing its job. It had a cheap diesel engine, common enough on a semi-frontier world like Gralmond, although its drive array was a thoroughly modern photoneural processor. With its high suspension and deep-tread tyres it could plough along the dirt track to the observatory in all weather and seasons, including the metre-deep snow of Gralmond’s winters.

45 |
46 | 47 |

Pre-formatted text

48 |

The pre element represents a block of pre-formatted text, in which structure is represented by typographic conventions rather than by elements. Such examples are an e-mail (with paragraphs indicated by blank lines, lists indicated by lines prefixed with a bullet), fragments of computer code (with structure indicated according to the conventions of that language) or displaying ASCII art. Here’s an example showing the printable characters of ASCII:

49 |
50 |
  ! " # $ % & ' ( ) * + , - . /
 51 | 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
 52 | @ A B C D E F G H I J K L M N O
 53 | P Q R S T U V W X Y Z [ \ ] ^ _
 54 | ` a b c d e f g h i j k l m n o
 55 | p q r s t u v w x y z { | } ~
56 |
57 | 58 |

Blockquotes

59 |

The blockquote element represents a section that is being quoted from another source.

60 |
61 |
62 |

Many forms of Government have been tried, and will be tried in this world of sin and woe. No one pretends that democracy is perfect or all-wise. Indeed, it has been said that democracy is the worst form of government except all those other forms that have been tried from time to time.

63 |
64 |
65 | 66 |

Ordered list

67 |

The ol element denotes an ordered list, and various numbering schemes are available through the CSS (including 1,2,3… a,b,c… i,ii,iii… and so on). Each item requires a surrounding <li> and </li> tag, to denote individual items within the list (as you may have guessed, li stands for list item).

68 |
69 |
    70 |
  1. This is an ordered list.
  2. 71 |
  3. 72 | This is the second item, which contains a sub list 73 |
      74 |
    1. This is the sub list, which is also ordered.
    2. 75 |
    3. It has two items.
    4. 76 |
    77 |
  4. 78 |
  5. This is the final item on this list.
  6. 79 |
80 |
81 | 82 |

Unordered list

83 |

The ul element denotes an unordered list (ie. a list of loose items that don’t require numbering, or a bulleted list). Again, each item requires a surrounding <li> and </li> tag, to denote individual items. Here is an example list showing the constituent parts of the British Isles:

84 |
85 |
    86 |
  • 87 | United Kingdom of Great Britain and Northern Ireland: 88 |
      89 |
    • England
    • 90 |
    • Scotland
    • 91 |
    • Wales
    • 92 |
    • Northern Ireland
    • 93 |
    94 |
  • 95 |
  • Republic of Ireland
  • 96 |
  • Isle of Man
  • 97 |
  • 98 | Channel Islands: 99 |
      100 |
    • Bailiwick of Guernsey
    • 101 |
    • Bailiwick of Jersey
    • 102 |
    103 |
  • 104 |
105 |
106 |

Sometimes we may want each list item to contain block elements, typically a paragraph or two.

107 |
108 |
    109 |
  • 110 |

    The British Isles is an archipelago consisting of the two large islands of Great Britain and Ireland, and many smaller surrounding islands.

    111 |
  • 112 |
  • 113 |

    Great Britain is the largest island of the archipelago. Ireland is the second largest island of the archipelago and lies directly to the west of Great Britain.

    114 |
  • 115 |
  • 116 |

    The full list of islands in the British Isles includes over 1,000 islands, of which 51 have an area larger than 20 km2.

    117 |
  • 118 |
119 |
120 | 121 |

Definition list

122 |

The dl element is for another type of list called a definition list. Instead of list items, the content of a dl consists of dt (Definition Term) and dd (Definition description) pairs. Though it may be called a “definition list”, dl can apply to other scenarios where a parent/child relationship is applicable. For example, it may be used for marking up dialogues, with each dt naming a speaker, and each dd containing his or her words.

123 |
124 |
125 |
This is a term.
126 |
This is the definition of that term, which both live in a dl.
127 |
Here is another term.
128 |
And it gets a definition too, which is this line.
129 |
Here is term that shares a definition with the term below.
130 |
Here is a defined term.
131 |
dt terms may stand on their own without an accompanying dd, but in that case they share descriptions with the next available dt. You may not have a dd without a parent dt.
132 |
133 |
134 | 135 |

Figures

136 |

Figures are usually used to refer to images:

137 |
138 |
139 | Example image 140 |
141 | This is a placeholder image, with supporting caption. 142 |
143 |
144 |
145 |

Here, a part of a poem is marked up using figure:

146 |
147 |
148 |

‘Twas brillig, and the slithy toves
149 | Did gyre and gimble in the wabe;
150 | All mimsy were the borogoves,
151 | And the mome raths outgrabe.

152 |
153 | Jabberwocky (first verse). Lewis Carroll, 1832-98 154 |
155 |
156 |
157 |

When you wish to cite the source of a quote, you should do so using a figure also:

158 |
159 |
160 |

Many forms of Government have been tried, and will be tried in this world of sin and woe. No one pretends that democracy is perfect or all-wise. Indeed, it has been said that democracy is the worst form of government except all those other forms that have been tried from time to time.

161 |
162 |
163 | Winston Churchill, in a speech to the House of Commons. 11th November 1947 164 |
165 |
166 | 167 |

Text-level Semantics

168 |

There are a number of inline HTML elements you may use anywhere within other elements.

169 | 170 |

Links and anchors

171 |

The a element is used to hyperlink text, be that to another page, a named fragment on the current page or any other location on the web. Example:

172 | 175 | 176 |

Stressed emphasis

177 |

The em element is used to denote text with stressed emphasis, i.e., something you’d pronounce differently. Where italicizing is required for stylistic differentiation, the i element may be preferable. Example:

178 |
179 |

You simply must try the negitoro maki!

180 |
181 | 182 |

Strong importance

183 |

The strong element is used to denote text with strong importance. Where bolding is used for stylistic differentiation, the b element may be preferable. Example:

184 |
185 |

Don’t stick nails in the electrical outlet.

186 |
187 | 188 |

Small print

189 |

The small element is used to represent disclaimers, caveats, legal restrictions, or copyrights (commonly referred to as ‘small print’). It can also be used for attributions or satisfying licensing requirements. Example:

190 |
191 |

Copyright © 1922-2011 Acme Corporation. All Rights Reserved.

192 |
193 | 194 |

Strikethrough

195 |

The s element is used to represent content that is no longer accurate or relevant. When indicating document edits i.e., marking a span of text as having been removed from a document, use the del element instead. Example:

196 |
197 |

Recommended retail price: £3.99 per bottle
Now selling for just £2.99 a bottle!

198 |
199 | 200 |

Citations

201 |

The cite element is used to represent the title of a work (e.g. a book, essay, poem, song, film, TV show, sculpture, painting, musical, exhibition, etc). This can be a work that is being quoted or referenced in detail (i.e. a citation), or it can just be a work that is mentioned in passing. Example:

202 |
203 |

Universal Declaration of Human Rights, United Nations, December 1948. Adopted by General Assembly resolution 217 A (III).

204 |
205 | 206 |

Inline quotes

207 |

The q element is used for quoting text inline. Example showing nested quotations:

208 |
209 |

John said, I saw Lucy at lunch, she told me Mary wants you to get some ice cream on your way home. I think I will get some at Ben and Jerry’s, on Gloucester Road.

210 |
211 | 212 |

Definition

213 |

The dfn element is used to highlight the first use of a term. The title attribute can be used to describe the term. Example:

214 |
215 |

Bob’s canine mother and equine father sat him down and carefully explained that he was an allopolyploid organism.

216 |
217 | 218 |

Abbreviation

219 |

The abbr element is used for any abbreviated text, whether it be acronym, initialism, or otherwise. Generally, it’s less work and useful (enough) to mark up only the first occurrence of any particular abbreviation on a page, and ignore the rest. Any text in the title attribute will appear when the user’s mouse hovers the abbreviation (although notably, this does not work in Internet Explorer for Windows). Example abbreviations:

220 |
221 |

BBC, HTML, and Staffs.

222 |
223 | 224 |

Time

225 |

The time element is used to represent either a time on a 24 hour clock, or a precise date in the proleptic Gregorian calendar, optionally with a time and a time-zone offset. Example:

226 |
227 |

Queen Elizabeth II was proclaimed sovereign of each of the Commonwealth realms on and , after the death of her father, King George VI.

228 |
229 | 230 |

Code

231 |

The code element is used to represent fragments of computer code. Useful for technology-oriented sites, not so useful otherwise. Example:

232 |
233 |

When you call the activate() method on the robotSnowman object, the eyes glow.

234 |
235 |

Used in conjunction with the pre element:

236 |
237 |
function getJelly() {
238 |     echo $aDeliciousSnack;
239 | }
240 |
241 | 242 |

Variable

243 |

The var element is used to denote a variable in a mathematical expression or programming context, but can also be used to indicate a placeholder where the contents should be replaced with your own value. Example:

244 |
245 |

If there are n pipes leading to the ice cream factory then I expect at least n flavours of ice cream to be available for purchase!

246 |
247 | 248 |

Sample output

249 |

The samp element is used to represent (sample) output from a program or computing system. Useful for technology-oriented sites, not so useful otherwise. Example:

250 |
251 |

The computer said Too much cheese in tray two but I didn’t know what that meant.

252 |
253 | 254 |

Keyboard entry

255 |

The kbd element is used to denote user input (typically via a keyboard, although it may also be used to represent other input methods, such as voice commands). Example:

256 |

257 |

To take a screenshot on your Mac, press ⌘ Cmd + ⇧ Shift + 3.

258 |
259 | 260 |

Superscript and subscript text

261 |

The sup element represents a superscript and the sub element represents a sub. These elements must be used only to mark up typographical conventions with specific meanings, not for typographical presentation. As a guide, only use these elements if their absence would change the meaning of the content. Example:

262 |
263 |

The coordinate of the ith point is (xi, yi). For example, the 10th point has coordinate (x10, y10).

264 |

f(x, n) = log4xn

265 |
266 | 267 |

Italicised

268 |

The i element is used for text in an alternate voice or mood, or otherwise offset from the normal prose. Examples include taxonomic designations, technical terms, idiomatic phrases from another language, the name of a ship or other spans of text whose typographic presentation is typically italicised. Example:

269 |
270 |

There is a certain je ne sais quoi in the air.

271 |
272 | 273 |

Emboldened

274 |

The b element is used for text stylistically offset from normal prose without conveying extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typographic presentation is typically emboldened. Example:

275 |
276 |

You enter a small room. Your sword glows brighter. A rat scurries past the corner wall.

277 |
278 | 279 |

Marked or highlighted text

280 |

The mark element is used to represent a run of text marked or highlighted for reference purposes. When used in a quotation it indicates a highlight not originally present but added to bring the reader’s attention to that part of the text. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its relevance to the user’s current activity. Example:

281 |
282 |

I also have some kittens who are visiting me these days. They’re really cute. I think they like my garden! Maybe I should adopt a kitten.

283 |
284 | 285 |

Edits

286 |

The del element is used to represent deleted or retracted text which still must remain on the page for some reason. Meanwhile its counterpart, the ins element, is used to represent inserted text. Both del and ins have a datetime attribute which allows you to include a timestamp directly in the element. Example inserted text and usage:

287 |
288 |

She bought two five pairs of shoes.

289 |
290 | 291 |

Tabular data

292 |

Tables should be used when displaying tabular data. The thead, tfoot and tbody elements enable you to group rows within each a table.

293 |

If you use these elements, you must use every element. They should appear in this order: thead, tfoot and tbody, so that browsers can render the foot before receiving all the data. You must use these tags within the table element.

294 |
295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 |
The Very Best Eggnog
IngredientsServes 12Serves 24
Milk1 quart2 quart
Cinnamon Sticks21
Vanilla Bean, Split12
Cloves510
Mace10 blades20 blades
Egg Yolks1224
Cups Sugar1 ½ cups3 cups
Dark Rum1 ½ cups3 cups
Brandy1 ½ cups3 cups
Vanilla1 tbsp2 tbsp
Half-and-half or Light Cream1 quart2 quart
Freshly grated nutmeg to taste
372 |
373 |
374 |
375 | 376 | 381 | 382 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Barebones - An initial directory setup, style guide and pattern primer 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |

Barebones

15 |

An initial directory setup, style guide and pattern primer

16 |
17 |
18 | 19 |
20 |
21 |

Intended as a starting point for my own projects, Barebones is freely available to fork and adapt for your own needs.

22 |

Download Barebones or view project on Github.

23 |

Contents

24 |
25 |
Style Guide
26 |
Basic markup and typographic styles
27 |
Pattern Library
28 |
Common snippets of markup
29 |
Form Example
30 |
Basic form styles
31 |
32 |
33 |
34 | 35 | 40 | 41 | --------------------------------------------------------------------------------