├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── CNAME ├── assets │ ├── css │ │ ├── style.css │ │ └── style.min.css │ ├── img │ │ ├── logo-dark-small.png │ │ └── logo-dark.png │ ├── js │ │ └── script.js │ └── sass │ │ └── style.sass ├── favicon.png ├── index.html └── releases │ ├── bulmawp-v0.1.0.zip │ ├── bulmawp-v0.2.0.zip │ ├── bulmawp-v0.2.1.zip │ ├── bulmawp-v0.2.2.zip │ ├── bulmawp-v0.3.0.zip │ └── bulmawp-v0.4.0.zip ├── package-lock.json ├── package.json └── src ├── 404.php ├── assets ├── js │ └── script.js └── sass │ └── style.sass ├── comments.php ├── content.php ├── footer.php ├── functions.php ├── header.php ├── inc ├── comment-walker.php └── navbar-walker.php ├── index.php ├── page-fullwidth.php ├── page.php ├── screenshot.png ├── searchform.php ├── sidebar.php ├── single.php └── style.css /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Tom Hartley 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **Note: This repository is no longer maintaned and is now archived.** 2 | 3 | BulmaWP Logo 4 | 5 | A free WordPress starter theme based on the Bulma CSS framework. 6 | 7 | ## Install 8 | 9 | 1. You can download the latest version of BulmaWP by clicking [here](https://github.com/tomhrtly/bulmawp/archive/master.zip) or by visiting the [docs site](https://bulmawp.io). 10 | 2. Go to to Appearance > Themes within your WordPress dashboard. 11 | 3. Click "Add New" at the top of the page. 12 | 4. Click "Upload Theme" at the top of the page. 13 | 5. Choose the .zip file from where you downloaded it onto your computer. 14 | 6. Click "Install Now". 15 | 7. Click "Activate". 16 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | bulmawp.io -------------------------------------------------------------------------------- /docs/assets/css/style.css: -------------------------------------------------------------------------------- 1 | .button { 2 | -webkit-touch-callout: none; 3 | -webkit-user-select: none; 4 | -moz-user-select: none; 5 | -ms-user-select: none; 6 | user-select: none; 7 | } 8 | 9 | .content:not(:last-child), .subtitle:not(:last-child) { 10 | margin-bottom: 1.5rem; 11 | } 12 | 13 | svg { 14 | width: 70%; 15 | } 16 | 17 | section.flexcarousel-section { 18 | background-color: #158cd8; 19 | font-family: 'Bree Serif', serif; 20 | font-size: 1.25rem; 21 | padding-bottom: 1.25rem; 22 | padding-top: 1.25rem; 23 | position: relative; 24 | } 25 | 26 | section.flexcarousel-section .overlay { 27 | background-image: url(https://flexcarousel.com/assets/img/pattern.png); 28 | bottom: 0; 29 | left: 0; 30 | opacity: 0.3; 31 | position: absolute; 32 | right: 0; 33 | top: 0; 34 | } 35 | 36 | section.flexcarousel-section a { 37 | color: #fff; 38 | } 39 | 40 | section.flexcarousel-section p { 41 | transition: all .2s ease-in-out; 42 | } 43 | 44 | section.flexcarousel-section p:hover { 45 | transform: scale(1.1); 46 | } 47 | 48 | section.github-section { 49 | background-color: #242424; 50 | padding-bottom: 1rem; 51 | padding-top: 1rem; 52 | } 53 | 54 | section.github-section a { 55 | align-items: center; 56 | color: white; 57 | display: inline-flex; 58 | justify-content: center; 59 | } 60 | 61 | section.github-section .icon { 62 | margin-right: 0.5rem; 63 | } 64 | 65 | .github-buttons { 66 | margin-top: 1rem; 67 | } 68 | 69 | .media-number { 70 | align-items: center; 71 | background-color: whitesmoke; 72 | border-radius: 290486px; 73 | display: inline-flex; 74 | height: 1rem; 75 | justify-content: center; 76 | padding: 1rem; 77 | width: 1rem; 78 | } 79 | 80 | .anchor-title { 81 | padding-top: 1.5rem; 82 | position: relative; 83 | } 84 | 85 | @media screen and (max-width: 1087px) { 86 | .anchor-title { 87 | padding-left: 2rem; 88 | } 89 | } 90 | 91 | .anchor-link { 92 | position: absolute; 93 | right: calc(100% + 1rem); 94 | top: 1.5rem; 95 | } 96 | 97 | @media screen and (max-width: 1087px) { 98 | .anchor-link { 99 | left: 0; 100 | right: auto; 101 | } 102 | } 103 | 104 | .button, .input { 105 | -moz-appearance: none; 106 | -webkit-appearance: none; 107 | align-items: center; 108 | border: 1px solid transparent; 109 | border-radius: 4px; 110 | box-shadow: none; 111 | display: inline-flex; 112 | font-size: 1rem; 113 | height: 2.25em; 114 | justify-content: flex-start; 115 | line-height: 1.5; 116 | padding-bottom: calc(0.375em - 1px); 117 | padding-left: calc(0.625em - 1px); 118 | padding-right: calc(0.625em - 1px); 119 | padding-top: calc(0.375em - 1px); 120 | position: relative; 121 | vertical-align: top; 122 | } 123 | 124 | .button:focus, .input:focus, .is-focused.button, .is-focused.input, .button:active, .input:active, .is-active.button, .is-active.input { 125 | outline: none; 126 | } 127 | 128 | .button[disabled], .input[disabled] { 129 | cursor: not-allowed; 130 | } 131 | 132 | /*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css */ 133 | html, 134 | body, 135 | p, 136 | ol, 137 | ul, 138 | li, 139 | dl, 140 | dt, 141 | dd, 142 | blockquote, 143 | figure, 144 | fieldset, 145 | legend, 146 | textarea, 147 | pre, 148 | iframe, 149 | hr, 150 | h1, 151 | h2, 152 | h3, 153 | h4, 154 | h5, 155 | h6 { 156 | margin: 0; 157 | padding: 0; 158 | } 159 | 160 | h1, 161 | h2, 162 | h3, 163 | h4, 164 | h5, 165 | h6 { 166 | font-size: 100%; 167 | font-weight: normal; 168 | } 169 | 170 | ul { 171 | list-style: none; 172 | } 173 | 174 | button, 175 | input, 176 | select, 177 | textarea { 178 | margin: 0; 179 | } 180 | 181 | html { 182 | box-sizing: border-box; 183 | } 184 | 185 | *, *::before, *::after { 186 | box-sizing: inherit; 187 | } 188 | 189 | img, 190 | audio, 191 | video { 192 | height: auto; 193 | max-width: 100%; 194 | } 195 | 196 | iframe { 197 | border: 0; 198 | } 199 | 200 | table { 201 | border-collapse: collapse; 202 | border-spacing: 0; 203 | } 204 | 205 | td, 206 | th { 207 | padding: 0; 208 | text-align: left; 209 | } 210 | 211 | html { 212 | background-color: white; 213 | font-size: 16px; 214 | -moz-osx-font-smoothing: grayscale; 215 | -webkit-font-smoothing: antialiased; 216 | min-width: 300px; 217 | overflow-x: hidden; 218 | overflow-y: scroll; 219 | scroll-behavior: smooth; 220 | text-rendering: optimizeLegibility; 221 | text-size-adjust: 100%; 222 | } 223 | 224 | article, 225 | aside, 226 | figure, 227 | footer, 228 | header, 229 | hgroup, 230 | section { 231 | display: block; 232 | } 233 | 234 | body, 235 | button, 236 | input, 237 | select, 238 | textarea { 239 | font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; 240 | } 241 | 242 | code, 243 | pre { 244 | -moz-osx-font-smoothing: auto; 245 | -webkit-font-smoothing: auto; 246 | font-family: monospace; 247 | } 248 | 249 | body { 250 | color: #4a4a4a; 251 | font-size: 1rem; 252 | font-weight: 400; 253 | line-height: 1.5; 254 | } 255 | 256 | a { 257 | color: #3273dc; 258 | cursor: pointer; 259 | text-decoration: none; 260 | } 261 | 262 | a strong { 263 | color: currentColor; 264 | } 265 | 266 | a:hover { 267 | color: #363636; 268 | } 269 | 270 | code { 271 | background-color: whitesmoke; 272 | color: #ff3860; 273 | font-size: 0.875em; 274 | font-weight: normal; 275 | padding: 0.25em 0.5em 0.25em; 276 | } 277 | 278 | hr { 279 | background-color: whitesmoke; 280 | border: none; 281 | display: block; 282 | height: 2px; 283 | margin: 1.5rem 0; 284 | } 285 | 286 | img { 287 | height: auto; 288 | max-width: 100%; 289 | } 290 | 291 | input[type="checkbox"], 292 | input[type="radio"] { 293 | vertical-align: baseline; 294 | } 295 | 296 | small { 297 | font-size: 0.875em; 298 | } 299 | 300 | span { 301 | font-style: inherit; 302 | font-weight: inherit; 303 | } 304 | 305 | strong { 306 | color: #363636; 307 | font-weight: 700; 308 | } 309 | 310 | pre { 311 | -webkit-overflow-scrolling: touch; 312 | background-color: #282c34; 313 | color: #abb2bf; 314 | font-size: 0.875em; 315 | overflow-x: auto; 316 | padding: 1.25rem 1.5rem; 317 | white-space: pre; 318 | word-wrap: normal; 319 | } 320 | 321 | pre code { 322 | background-color: transparent; 323 | color: currentColor; 324 | font-size: 1em; 325 | padding: 0; 326 | } 327 | 328 | table td, 329 | table th { 330 | text-align: left; 331 | vertical-align: top; 332 | } 333 | 334 | table th { 335 | color: #363636; 336 | } 337 | 338 | .is-size-1 { 339 | font-size: 3rem !important; 340 | } 341 | 342 | .is-size-2 { 343 | font-size: 2.5rem !important; 344 | } 345 | 346 | .is-size-3 { 347 | font-size: 2rem !important; 348 | } 349 | 350 | .is-size-4 { 351 | font-size: 1.5rem !important; 352 | } 353 | 354 | .is-size-5 { 355 | font-size: 1.25rem !important; 356 | } 357 | 358 | .is-size-6 { 359 | font-size: 1rem !important; 360 | } 361 | 362 | .is-size-7 { 363 | font-size: 0.75rem !important; 364 | } 365 | 366 | .has-text-centered { 367 | text-align: center !important; 368 | } 369 | 370 | .has-text-black-bis { 371 | color: #121212 !important; 372 | } 373 | 374 | .has-text-black-ter { 375 | color: #242424 !important; 376 | } 377 | 378 | .has-text-grey-darker { 379 | color: #363636 !important; 380 | } 381 | 382 | .has-text-grey-dark { 383 | color: #4a4a4a !important; 384 | } 385 | 386 | .has-text-grey { 387 | color: #7a7a7a !important; 388 | } 389 | 390 | .has-text-grey-light { 391 | color: #b5b5b5 !important; 392 | } 393 | 394 | .has-text-grey-lighter { 395 | color: #dbdbdb !important; 396 | } 397 | 398 | .has-text-white-ter { 399 | color: whitesmoke !important; 400 | } 401 | 402 | .has-text-white-bis { 403 | color: #fafafa !important; 404 | } 405 | 406 | .button { 407 | background-color: white; 408 | border-color: #dbdbdb; 409 | border-width: 1px; 410 | color: #363636; 411 | cursor: pointer; 412 | justify-content: center; 413 | padding-bottom: calc(0.375em - 1px); 414 | padding-left: 0.75em; 415 | padding-right: 0.75em; 416 | padding-top: calc(0.375em - 1px); 417 | text-align: center; 418 | white-space: nowrap; 419 | } 420 | 421 | .button strong { 422 | color: inherit; 423 | } 424 | 425 | .button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large { 426 | height: 1.5em; 427 | width: 1.5em; 428 | } 429 | 430 | .button .icon:first-child:not(:last-child) { 431 | margin-left: calc(-0.375em - 1px); 432 | margin-right: 0.1875em; 433 | } 434 | 435 | .button .icon:last-child:not(:first-child) { 436 | margin-left: 0.1875em; 437 | margin-right: calc(-0.375em - 1px); 438 | } 439 | 440 | .button .icon:first-child:last-child { 441 | margin-left: calc(-0.375em - 1px); 442 | margin-right: calc(-0.375em - 1px); 443 | } 444 | 445 | .button:hover, .button.is-hovered { 446 | border-color: #b5b5b5; 447 | color: #363636; 448 | } 449 | 450 | .button:focus, .button.is-focused { 451 | border-color: #3273dc; 452 | color: #363636; 453 | } 454 | 455 | .button:focus:not(:active), .button.is-focused:not(:active) { 456 | box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); 457 | } 458 | 459 | .button:active, .button.is-active { 460 | border-color: #4a4a4a; 461 | color: #363636; 462 | } 463 | 464 | .button.is-dark { 465 | background-color: #363636; 466 | border-color: transparent; 467 | color: whitesmoke; 468 | } 469 | 470 | .button.is-dark:hover, .button.is-dark.is-hovered { 471 | background-color: #2f2f2f; 472 | border-color: transparent; 473 | color: whitesmoke; 474 | } 475 | 476 | .button.is-dark:focus, .button.is-dark.is-focused { 477 | border-color: transparent; 478 | color: whitesmoke; 479 | } 480 | 481 | .button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) { 482 | box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); 483 | } 484 | 485 | .button.is-dark:active, .button.is-dark.is-active { 486 | background-color: #292929; 487 | border-color: transparent; 488 | color: whitesmoke; 489 | } 490 | 491 | .button.is-dark.is-inverted { 492 | background-color: whitesmoke; 493 | color: #363636; 494 | } 495 | 496 | .button.is-dark.is-inverted:hover { 497 | background-color: #e8e8e8; 498 | } 499 | 500 | .button.is-dark.is-inverted[disabled] { 501 | background-color: whitesmoke; 502 | border-color: transparent; 503 | box-shadow: none; 504 | color: #363636; 505 | } 506 | 507 | .button.is-dark.is-outlined { 508 | background-color: transparent; 509 | border-color: #363636; 510 | color: #363636; 511 | } 512 | 513 | .button.is-dark.is-outlined:hover, .button.is-dark.is-outlined:focus { 514 | background-color: #363636; 515 | border-color: #363636; 516 | color: whitesmoke; 517 | } 518 | 519 | .button.is-dark.is-outlined.is-loading::after { 520 | border-color: transparent transparent #363636 #363636 !important; 521 | } 522 | 523 | .button.is-dark.is-outlined[disabled] { 524 | background-color: transparent; 525 | border-color: #363636; 526 | box-shadow: none; 527 | color: #363636; 528 | } 529 | 530 | .button.is-dark.is-inverted.is-outlined { 531 | background-color: transparent; 532 | border-color: whitesmoke; 533 | color: whitesmoke; 534 | } 535 | 536 | .button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined:focus { 537 | background-color: whitesmoke; 538 | color: #363636; 539 | } 540 | 541 | .button.is-dark.is-inverted.is-outlined[disabled] { 542 | background-color: transparent; 543 | border-color: whitesmoke; 544 | box-shadow: none; 545 | color: whitesmoke; 546 | } 547 | 548 | .button.is-primary { 549 | background-color: #00d1b2; 550 | border-color: transparent; 551 | color: #fff; 552 | } 553 | 554 | .button.is-primary:hover, .button.is-primary.is-hovered { 555 | background-color: #00c4a7; 556 | border-color: transparent; 557 | color: #fff; 558 | } 559 | 560 | .button.is-primary:focus, .button.is-primary.is-focused { 561 | border-color: transparent; 562 | color: #fff; 563 | } 564 | 565 | .button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) { 566 | box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); 567 | } 568 | 569 | .button.is-primary:active, .button.is-primary.is-active { 570 | background-color: #00b89c; 571 | border-color: transparent; 572 | color: #fff; 573 | } 574 | 575 | .button.is-primary.is-inverted { 576 | background-color: #fff; 577 | color: #00d1b2; 578 | } 579 | 580 | .button.is-primary.is-inverted:hover { 581 | background-color: #f2f2f2; 582 | } 583 | 584 | .button.is-primary.is-inverted[disabled] { 585 | background-color: #fff; 586 | border-color: transparent; 587 | box-shadow: none; 588 | color: #00d1b2; 589 | } 590 | 591 | .button.is-primary.is-outlined { 592 | background-color: transparent; 593 | border-color: #00d1b2; 594 | color: #00d1b2; 595 | } 596 | 597 | .button.is-primary.is-outlined:hover, .button.is-primary.is-outlined:focus { 598 | background-color: #00d1b2; 599 | border-color: #00d1b2; 600 | color: #fff; 601 | } 602 | 603 | .button.is-primary.is-outlined.is-loading::after { 604 | border-color: transparent transparent #00d1b2 #00d1b2 !important; 605 | } 606 | 607 | .button.is-primary.is-outlined[disabled] { 608 | background-color: transparent; 609 | border-color: #00d1b2; 610 | box-shadow: none; 611 | color: #00d1b2; 612 | } 613 | 614 | .button.is-primary.is-inverted.is-outlined { 615 | background-color: transparent; 616 | border-color: #fff; 617 | color: #fff; 618 | } 619 | 620 | .button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined:focus { 621 | background-color: #fff; 622 | color: #00d1b2; 623 | } 624 | 625 | .button.is-primary.is-inverted.is-outlined[disabled] { 626 | background-color: transparent; 627 | border-color: #fff; 628 | box-shadow: none; 629 | color: #fff; 630 | } 631 | 632 | .button.is-twitter { 633 | background-color: #1da1f2; 634 | border-color: transparent; 635 | color: #fff; 636 | } 637 | 638 | .button.is-twitter:hover, .button.is-twitter.is-hovered { 639 | background-color: #119cf1; 640 | border-color: transparent; 641 | color: #fff; 642 | } 643 | 644 | .button.is-twitter:focus, .button.is-twitter.is-focused { 645 | border-color: transparent; 646 | color: #fff; 647 | } 648 | 649 | .button.is-twitter:focus:not(:active), .button.is-twitter.is-focused:not(:active) { 650 | box-shadow: 0 0 0 0.125em rgba(29, 161, 242, 0.25); 651 | } 652 | 653 | .button.is-twitter:active, .button.is-twitter.is-active { 654 | background-color: #0d95e8; 655 | border-color: transparent; 656 | color: #fff; 657 | } 658 | 659 | .button.is-twitter.is-inverted { 660 | background-color: #fff; 661 | color: #1da1f2; 662 | } 663 | 664 | .button.is-twitter.is-inverted:hover { 665 | background-color: #f2f2f2; 666 | } 667 | 668 | .button.is-twitter.is-inverted[disabled] { 669 | background-color: #fff; 670 | border-color: transparent; 671 | box-shadow: none; 672 | color: #1da1f2; 673 | } 674 | 675 | .button.is-twitter.is-outlined { 676 | background-color: transparent; 677 | border-color: #1da1f2; 678 | color: #1da1f2; 679 | } 680 | 681 | .button.is-twitter.is-outlined:hover, .button.is-twitter.is-outlined:focus { 682 | background-color: #1da1f2; 683 | border-color: #1da1f2; 684 | color: #fff; 685 | } 686 | 687 | .button.is-twitter.is-outlined.is-loading::after { 688 | border-color: transparent transparent #1da1f2 #1da1f2 !important; 689 | } 690 | 691 | .button.is-twitter.is-outlined[disabled] { 692 | background-color: transparent; 693 | border-color: #1da1f2; 694 | box-shadow: none; 695 | color: #1da1f2; 696 | } 697 | 698 | .button.is-twitter.is-inverted.is-outlined { 699 | background-color: transparent; 700 | border-color: #fff; 701 | color: #fff; 702 | } 703 | 704 | .button.is-twitter.is-inverted.is-outlined:hover, .button.is-twitter.is-inverted.is-outlined:focus { 705 | background-color: #fff; 706 | color: #1da1f2; 707 | } 708 | 709 | .button.is-twitter.is-inverted.is-outlined[disabled] { 710 | background-color: transparent; 711 | border-color: #fff; 712 | box-shadow: none; 713 | color: #fff; 714 | } 715 | 716 | .button.is-large { 717 | font-size: 1.5rem; 718 | } 719 | 720 | .container { 721 | margin: 0 auto; 722 | position: relative; 723 | } 724 | 725 | @media screen and (min-width: 1088px) { 726 | .container { 727 | max-width: 960px; 728 | width: 960px; 729 | } 730 | .container.is-fluid { 731 | margin-left: 64px; 732 | margin-right: 64px; 733 | max-width: none; 734 | width: auto; 735 | } 736 | } 737 | 738 | @media screen and (max-width: 1471px) { 739 | .container.is-fullhd { 740 | max-width: 1344px; 741 | width: auto; 742 | } 743 | } 744 | 745 | @media screen and (min-width: 1472px) { 746 | .container { 747 | max-width: 1344px; 748 | width: 1344px; 749 | } 750 | } 751 | 752 | .content p:not(:last-child), 753 | .content dl:not(:last-child), 754 | .content ol:not(:last-child), 755 | .content ul:not(:last-child), 756 | .content blockquote:not(:last-child), 757 | .content pre:not(:last-child), 758 | .content table:not(:last-child) { 759 | margin-bottom: 1em; 760 | } 761 | 762 | .content h1, 763 | .content h2, 764 | .content h3, 765 | .content h4, 766 | .content h5, 767 | .content h6 { 768 | color: #363636; 769 | font-weight: 600; 770 | line-height: 1.125; 771 | } 772 | 773 | .content h1 { 774 | font-size: 2em; 775 | margin-bottom: 0.5em; 776 | } 777 | 778 | .content h1:not(:first-child) { 779 | margin-top: 1em; 780 | } 781 | 782 | .content h2 { 783 | font-size: 1.75em; 784 | margin-bottom: 0.5714em; 785 | } 786 | 787 | .content h2:not(:first-child) { 788 | margin-top: 1.1428em; 789 | } 790 | 791 | .content h3 { 792 | font-size: 1.5em; 793 | margin-bottom: 0.6666em; 794 | } 795 | 796 | .content h3:not(:first-child) { 797 | margin-top: 1.3333em; 798 | } 799 | 800 | .content h4 { 801 | font-size: 1.25em; 802 | margin-bottom: 0.8em; 803 | } 804 | 805 | .content h5 { 806 | font-size: 1.125em; 807 | margin-bottom: 0.8888em; 808 | } 809 | 810 | .content h6 { 811 | font-size: 1em; 812 | margin-bottom: 1em; 813 | } 814 | 815 | .input { 816 | background-color: white; 817 | border-color: #dbdbdb; 818 | color: #363636; 819 | box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); 820 | max-width: 100%; 821 | width: 100%; 822 | } 823 | 824 | .input::-moz-placeholder { 825 | color: rgba(54, 54, 54, 0.3); 826 | } 827 | 828 | .input::-webkit-input-placeholder { 829 | color: rgba(54, 54, 54, 0.3); 830 | } 831 | 832 | .input:-moz-placeholder { 833 | color: rgba(54, 54, 54, 0.3); 834 | } 835 | 836 | .input:-ms-input-placeholder { 837 | color: rgba(54, 54, 54, 0.3); 838 | } 839 | 840 | .input:hover, .input.is-hovered { 841 | border-color: #b5b5b5; 842 | } 843 | 844 | .input:focus, .input.is-focused, .input:active, .input.is-active { 845 | border-color: #3273dc; 846 | box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); 847 | } 848 | 849 | .input[disabled] { 850 | background-color: whitesmoke; 851 | border-color: whitesmoke; 852 | box-shadow: none; 853 | color: #7a7a7a; 854 | } 855 | 856 | .input[disabled]::-moz-placeholder { 857 | color: rgba(122, 122, 122, 0.3); 858 | } 859 | 860 | .input[disabled]::-webkit-input-placeholder { 861 | color: rgba(122, 122, 122, 0.3); 862 | } 863 | 864 | .input[disabled]:-moz-placeholder { 865 | color: rgba(122, 122, 122, 0.3); 866 | } 867 | 868 | .input[disabled]:-ms-input-placeholder { 869 | color: rgba(122, 122, 122, 0.3); 870 | } 871 | 872 | .input[readonly] { 873 | box-shadow: none; 874 | } 875 | 876 | .input.is-dark { 877 | border-color: #363636; 878 | } 879 | 880 | .input.is-dark:focus, .input.is-dark.is-focused, .input.is-dark:active, .input.is-dark.is-active { 881 | box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); 882 | } 883 | 884 | .input.is-primary { 885 | border-color: #00d1b2; 886 | } 887 | 888 | .input.is-primary:focus, .input.is-primary.is-focused, .input.is-primary:active, .input.is-primary.is-active { 889 | box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); 890 | } 891 | 892 | .input.is-twitter { 893 | border-color: #1da1f2; 894 | } 895 | 896 | .input.is-twitter:focus, .input.is-twitter.is-focused, .input.is-twitter:active, .input.is-twitter.is-active { 897 | box-shadow: 0 0 0 0.125em rgba(29, 161, 242, 0.25); 898 | } 899 | 900 | .field:not(:last-child) { 901 | margin-bottom: 0.75rem; 902 | } 903 | 904 | .field.is-grouped { 905 | display: flex; 906 | justify-content: flex-start; 907 | } 908 | 909 | .field.is-grouped > .control { 910 | flex-shrink: 0; 911 | } 912 | 913 | .field.is-grouped > .control:not(:last-child) { 914 | margin-bottom: 0; 915 | margin-right: 0.75rem; 916 | } 917 | 918 | .field.is-grouped > .control.is-expanded { 919 | flex-grow: 1; 920 | flex-shrink: 1; 921 | } 922 | 923 | .field.is-grouped.is-grouped-centered { 924 | justify-content: center; 925 | } 926 | 927 | .field.is-grouped.is-grouped-right { 928 | justify-content: flex-end; 929 | } 930 | 931 | .control { 932 | font-size: 1rem; 933 | position: relative; 934 | text-align: left; 935 | } 936 | 937 | .icon { 938 | align-items: center; 939 | display: inline-flex; 940 | justify-content: center; 941 | height: 1.5rem; 942 | width: 1.5rem; 943 | } 944 | 945 | .icon.is-medium { 946 | height: 2rem; 947 | width: 2rem; 948 | } 949 | 950 | .subtitle { 951 | word-break: break-word; 952 | } 953 | 954 | .title { 955 | color: #363636; 956 | font-size: 2rem; 957 | font-weight: 600; 958 | line-height: 1.125; 959 | } 960 | 961 | .title strong { 962 | color: inherit; 963 | font-weight: inherit; 964 | } 965 | 966 | .subtitle { 967 | color: #4a4a4a; 968 | font-size: 1.25rem; 969 | font-weight: 400; 970 | line-height: 1.25; 971 | } 972 | 973 | .media { 974 | align-items: center; 975 | display: flex; 976 | } 977 | 978 | .media .content:not(:last-child) { 979 | margin-bottom: 0.75rem; 980 | } 981 | 982 | .media .media { 983 | border-top: 1px solid rgba(219, 219, 219, 0.5); 984 | display: flex; 985 | padding-top: 0.75rem; 986 | } 987 | 988 | .media .media .content:not(:last-child), 989 | .media .media .control:not(:last-child) { 990 | margin-bottom: 0.5rem; 991 | } 992 | 993 | .media + .media { 994 | border-top: 1px solid rgba(219, 219, 219, 0.5); 995 | margin-top: 1rem; 996 | padding-top: 1rem; 997 | } 998 | 999 | .media-left, 1000 | .media-right { 1001 | flex-basis: auto; 1002 | flex-grow: 0; 1003 | flex-shrink: 0; 1004 | } 1005 | 1006 | .media-left { 1007 | margin-right: 1rem; 1008 | } 1009 | 1010 | .media-right { 1011 | margin-left: 1rem; 1012 | } 1013 | 1014 | .media-content { 1015 | flex-basis: auto; 1016 | flex-grow: 1; 1017 | flex-shrink: 1; 1018 | text-align: left; 1019 | } 1020 | 1021 | .navbar { 1022 | background-color: white; 1023 | min-height: 3.25rem; 1024 | position: relative; 1025 | z-index: 30; 1026 | } 1027 | 1028 | .navbar > .container { 1029 | align-items: stretch; 1030 | display: flex; 1031 | min-height: 3.25rem; 1032 | width: 100%; 1033 | } 1034 | 1035 | .navbar.has-shadow { 1036 | box-shadow: 0 2px 0 0 whitesmoke; 1037 | } 1038 | 1039 | .navbar-brand { 1040 | align-items: stretch; 1041 | display: flex; 1042 | flex-shrink: 0; 1043 | min-height: 3.25rem; 1044 | } 1045 | 1046 | .navbar-brand a.navbar-item:hover { 1047 | background-color: transparent; 1048 | } 1049 | 1050 | .navbar-burger { 1051 | cursor: pointer; 1052 | display: block; 1053 | height: 3.25rem; 1054 | position: relative; 1055 | width: 3.25rem; 1056 | margin-left: auto; 1057 | } 1058 | 1059 | .navbar-burger span { 1060 | background-color: currentColor; 1061 | display: block; 1062 | height: 1px; 1063 | left: calc(50% - 8px); 1064 | position: absolute; 1065 | transform-origin: center; 1066 | transition-duration: 86ms; 1067 | transition-property: background-color, opacity, transform; 1068 | transition-timing-function: ease-out; 1069 | width: 16px; 1070 | } 1071 | 1072 | .navbar-burger span:nth-child(1) { 1073 | top: calc(50% - 6px); 1074 | } 1075 | 1076 | .navbar-burger span:nth-child(2) { 1077 | top: calc(50% - 1px); 1078 | } 1079 | 1080 | .navbar-burger span:nth-child(3) { 1081 | top: calc(50% + 4px); 1082 | } 1083 | 1084 | .navbar-burger:hover { 1085 | background-color: rgba(0, 0, 0, 0.05); 1086 | } 1087 | 1088 | .navbar-burger.is-active span:nth-child(1) { 1089 | transform: translateY(5px) rotate(45deg); 1090 | } 1091 | 1092 | .navbar-burger.is-active span:nth-child(2) { 1093 | opacity: 0; 1094 | } 1095 | 1096 | .navbar-burger.is-active span:nth-child(3) { 1097 | transform: translateY(-5px) rotate(-45deg); 1098 | } 1099 | 1100 | .navbar-menu { 1101 | display: none; 1102 | } 1103 | 1104 | .navbar-item, 1105 | .navbar-link { 1106 | color: #4a4a4a; 1107 | display: block; 1108 | line-height: 1.5; 1109 | padding: 0.5rem 0.75rem; 1110 | position: relative; 1111 | } 1112 | 1113 | .navbar-item .icon:only-child, 1114 | .navbar-link .icon:only-child { 1115 | margin-left: -0.25rem; 1116 | margin-right: -0.25rem; 1117 | } 1118 | 1119 | a.navbar-item, 1120 | .navbar-link { 1121 | cursor: pointer; 1122 | } 1123 | 1124 | a.navbar-item:hover, a.navbar-item.is-active, 1125 | .navbar-link:hover, 1126 | .navbar-link.is-active { 1127 | background-color: #fafafa; 1128 | color: #3273dc; 1129 | } 1130 | 1131 | .navbar-item { 1132 | display: block; 1133 | flex-grow: 0; 1134 | flex-shrink: 0; 1135 | } 1136 | 1137 | .navbar-item img { 1138 | max-height: 1.75rem; 1139 | } 1140 | 1141 | @media screen and (max-width: 1087px) { 1142 | .navbar > .container { 1143 | display: block; 1144 | } 1145 | .navbar-brand .navbar-item { 1146 | align-items: center; 1147 | display: flex; 1148 | } 1149 | .navbar-menu { 1150 | background-color: white; 1151 | box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); 1152 | padding: 0.5rem 0; 1153 | } 1154 | .navbar-menu.is-active { 1155 | display: block; 1156 | } 1157 | } 1158 | 1159 | @media screen and (min-width: 1088px) { 1160 | .navbar, 1161 | .navbar-menu, 1162 | .navbar-start, 1163 | .navbar-end { 1164 | align-items: stretch; 1165 | display: flex; 1166 | } 1167 | .navbar { 1168 | min-height: 3.25rem; 1169 | } 1170 | .navbar-burger { 1171 | display: none; 1172 | } 1173 | .navbar-item, 1174 | .navbar-link { 1175 | align-items: center; 1176 | display: flex; 1177 | } 1178 | .navbar-item { 1179 | display: flex; 1180 | } 1181 | .navbar-menu { 1182 | flex-grow: 1; 1183 | flex-shrink: 0; 1184 | } 1185 | .navbar-end { 1186 | justify-content: flex-end; 1187 | margin-left: auto; 1188 | } 1189 | .navbar > .container .navbar-brand, 1190 | .container > .navbar .navbar-brand { 1191 | margin-left: -1rem; 1192 | } 1193 | .navbar > .container .navbar-menu, 1194 | .container > .navbar .navbar-menu { 1195 | margin-right: -1rem; 1196 | } 1197 | a.navbar-item.is-active, 1198 | .navbar-link.is-active { 1199 | color: #0a0a0a; 1200 | } 1201 | a.navbar-item.is-active:not(:hover), 1202 | .navbar-link.is-active:not(:hover) { 1203 | background-color: transparent; 1204 | } 1205 | .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link { 1206 | background-color: #fafafa; 1207 | } 1208 | } 1209 | 1210 | .column { 1211 | display: block; 1212 | flex-basis: 0; 1213 | flex-grow: 1; 1214 | flex-shrink: 1; 1215 | padding: 0.75rem; 1216 | } 1217 | 1218 | @media screen and (min-width: 769px), print { 1219 | .column.is-1 { 1220 | flex: none; 1221 | width: 8.33333%; 1222 | } 1223 | .column.is-2 { 1224 | flex: none; 1225 | width: 16.66667%; 1226 | } 1227 | .column.is-3 { 1228 | flex: none; 1229 | width: 25%; 1230 | } 1231 | .column.is-4 { 1232 | flex: none; 1233 | width: 33.33333%; 1234 | } 1235 | .column.is-5 { 1236 | flex: none; 1237 | width: 41.66667%; 1238 | } 1239 | .column.is-6 { 1240 | flex: none; 1241 | width: 50%; 1242 | } 1243 | .column.is-7 { 1244 | flex: none; 1245 | width: 58.33333%; 1246 | } 1247 | .column.is-8 { 1248 | flex: none; 1249 | width: 66.66667%; 1250 | } 1251 | .column.is-9 { 1252 | flex: none; 1253 | width: 75%; 1254 | } 1255 | .column.is-10 { 1256 | flex: none; 1257 | width: 83.33333%; 1258 | } 1259 | .column.is-11 { 1260 | flex: none; 1261 | width: 91.66667%; 1262 | } 1263 | .column.is-12 { 1264 | flex: none; 1265 | width: 100%; 1266 | } 1267 | } 1268 | 1269 | .columns { 1270 | margin-left: -0.75rem; 1271 | margin-right: -0.75rem; 1272 | margin-top: -0.75rem; 1273 | } 1274 | 1275 | .columns:last-child { 1276 | margin-bottom: -0.75rem; 1277 | } 1278 | 1279 | .columns:not(:last-child) { 1280 | margin-bottom: calc(1.5rem - 0.75rem); 1281 | } 1282 | 1283 | .columns.is-vcentered { 1284 | align-items: center; 1285 | } 1286 | 1287 | @media screen and (min-width: 769px), print { 1288 | .columns:not(.is-desktop) { 1289 | display: flex; 1290 | } 1291 | } 1292 | 1293 | @media screen and (min-width: 1088px) { 1294 | .columns.is-desktop { 1295 | display: flex; 1296 | } 1297 | } 1298 | 1299 | .hero { 1300 | align-items: stretch; 1301 | display: flex; 1302 | flex-direction: column; 1303 | justify-content: space-between; 1304 | } 1305 | 1306 | .hero.is-dark { 1307 | background-color: #363636; 1308 | color: whitesmoke; 1309 | } 1310 | 1311 | .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag), 1312 | .hero.is-dark strong { 1313 | color: inherit; 1314 | } 1315 | 1316 | .hero.is-dark .title { 1317 | color: whitesmoke; 1318 | } 1319 | 1320 | .hero.is-dark .subtitle { 1321 | color: rgba(245, 245, 245, 0.9); 1322 | } 1323 | 1324 | .hero.is-dark .subtitle a:not(.button), 1325 | .hero.is-dark .subtitle strong { 1326 | color: whitesmoke; 1327 | } 1328 | 1329 | .hero.is-primary { 1330 | background-color: #00d1b2; 1331 | color: #fff; 1332 | } 1333 | 1334 | .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag), 1335 | .hero.is-primary strong { 1336 | color: inherit; 1337 | } 1338 | 1339 | .hero.is-primary .title { 1340 | color: #fff; 1341 | } 1342 | 1343 | .hero.is-primary .subtitle { 1344 | color: rgba(255, 255, 255, 0.9); 1345 | } 1346 | 1347 | .hero.is-primary .subtitle a:not(.button), 1348 | .hero.is-primary .subtitle strong { 1349 | color: #fff; 1350 | } 1351 | 1352 | .hero.is-twitter { 1353 | background-color: #1da1f2; 1354 | color: #fff; 1355 | } 1356 | 1357 | .hero.is-twitter a:not(.button):not(.dropdown-item):not(.tag), 1358 | .hero.is-twitter strong { 1359 | color: inherit; 1360 | } 1361 | 1362 | .hero.is-twitter .title { 1363 | color: #fff; 1364 | } 1365 | 1366 | .hero.is-twitter .subtitle { 1367 | color: rgba(255, 255, 255, 0.9); 1368 | } 1369 | 1370 | .hero.is-twitter .subtitle a:not(.button), 1371 | .hero.is-twitter .subtitle strong { 1372 | color: #fff; 1373 | } 1374 | 1375 | .hero-body { 1376 | flex-grow: 1; 1377 | flex-shrink: 0; 1378 | padding: 3rem 1.5rem; 1379 | } 1380 | 1381 | .section { 1382 | padding: 3rem 1.5rem; 1383 | } 1384 | 1385 | @media screen and (min-width: 1088px) { 1386 | .section.is-medium { 1387 | padding: 9rem 1.5rem; 1388 | } 1389 | } 1390 | 1391 | .footer { 1392 | background-color: #fafafa; 1393 | padding: 3rem 1.5rem 6rem; 1394 | } 1395 | -------------------------------------------------------------------------------- /docs/assets/css/style.min.css: -------------------------------------------------------------------------------- 1 | .button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content:not(:last-child),.subtitle:not(:last-child){margin-bottom:1.5rem}svg{width:70%}section.flexcarousel-section{background-color:#158cd8;font-family:'Bree Serif',serif;font-size:1.25rem;padding-bottom:1.25rem;padding-top:1.25rem;position:relative}section.flexcarousel-section .overlay{background-image:url(https://flexcarousel.com/assets/img/pattern.png);bottom:0;left:0;opacity:.3;position:absolute;right:0;top:0}section.flexcarousel-section a{color:#fff}section.flexcarousel-section p{transition:all .2s ease-in-out}section.flexcarousel-section p:hover{transform:scale(1.1)}section.github-section{background-color:#242424;padding-bottom:1rem;padding-top:1rem}section.github-section a{align-items:center;color:#fff;display:inline-flex;justify-content:center}section.github-section .icon{margin-right:.5rem}.github-buttons{margin-top:1rem}.media-number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;height:1rem;justify-content:center;padding:1rem;width:1rem}.anchor-title{padding-top:1.5rem;position:relative}@media screen and (max-width:1087px){.anchor-title{padding-left:2rem}}.anchor-link{position:absolute;right:calc(100% + 1rem);top:1.5rem}@media screen and (max-width:1087px){.anchor-link{left:0;right:auto}}.button,.input{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.375em - 1px);padding-left:calc(.625em - 1px);padding-right:calc(.625em - 1px);padding-top:calc(.375em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.input:active,.input:focus,.is-active.button,.is-active.input,.is-focused.button,.is-focused.input{outline:0}.button[disabled],.input[disabled]{cursor:not-allowed}/*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}audio,img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0;text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1rem;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#ff3860;font-size:.875em;font-weight:400;padding:.25em .5em .25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}pre{-webkit-overflow-scrolling:touch;background-color:#282c34;color:#abb2bf;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{text-align:left;vertical-align:top}table th{color:#363636}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}.has-text-centered{text-align:center!important}.has-text-black-bis{color:#121212!important}.has-text-black-ter{color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.375em - 1px);margin-right:.1875em}.button .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:calc(-.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.375em - 1px);margin-right:calc(-.375em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#363636}.button.is-focused,.button:focus{border-color:#3273dc;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-dark{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#f5f5f5}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled]{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined[disabled]{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined[disabled]{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled]{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined[disabled]{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined[disabled]{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-twitter{background-color:#1da1f2;border-color:transparent;color:#fff}.button.is-twitter.is-hovered,.button.is-twitter:hover{background-color:#119cf1;border-color:transparent;color:#fff}.button.is-twitter.is-focused,.button.is-twitter:focus{border-color:transparent;color:#fff}.button.is-twitter.is-focused:not(:active),.button.is-twitter:focus:not(:active){box-shadow:0 0 0 .125em rgba(29,161,242,.25)}.button.is-twitter.is-active,.button.is-twitter:active{background-color:#0d95e8;border-color:transparent;color:#fff}.button.is-twitter.is-inverted{background-color:#fff;color:#1da1f2}.button.is-twitter.is-inverted:hover{background-color:#f2f2f2}.button.is-twitter.is-inverted[disabled]{background-color:#fff;border-color:transparent;box-shadow:none;color:#1da1f2}.button.is-twitter.is-outlined{background-color:transparent;border-color:#1da1f2;color:#1da1f2}.button.is-twitter.is-outlined:focus,.button.is-twitter.is-outlined:hover{background-color:#1da1f2;border-color:#1da1f2;color:#fff}.button.is-twitter.is-outlined.is-loading::after{border-color:transparent transparent #1da1f2 #1da1f2!important}.button.is-twitter.is-outlined[disabled]{background-color:transparent;border-color:#1da1f2;box-shadow:none;color:#1da1f2}.button.is-twitter.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-twitter.is-inverted.is-outlined:focus,.button.is-twitter.is-inverted.is-outlined:hover{background-color:#fff;color:#1da1f2}.button.is-twitter.is-inverted.is-outlined[disabled]{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-large{font-size:1.5rem}.container{margin:0 auto;position:relative}@media screen and (min-width:1088px){.container{max-width:960px;width:960px}.container.is-fluid{margin-left:64px;margin-right:64px;max-width:none;width:auto}}@media screen and (max-width:1471px){.container.is-fullhd{max-width:1344px;width:auto}}@media screen and (min-width:1472px){.container{max-width:1344px;width:1344px}}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.input{background-color:#fff;border-color:#dbdbdb;color:#363636;box-shadow:inset 0 1px 2px rgba(10,10,10,.1);max-width:100%;width:100%}.input::-moz-placeholder{color:rgba(54,54,54,.3)}.input::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.input:-moz-placeholder{color:rgba(54,54,54,.3)}.input:-ms-input-placeholder{color:rgba(54,54,54,.3)}.input.is-hovered,.input:hover{border-color:#b5b5b5}.input.is-active,.input.is-focused,.input:active,.input:focus{border-color:#3273dc;box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.input[disabled]{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-ms-input-placeholder{color:rgba(122,122,122,.3)}.input[readonly]{box-shadow:none}.input.is-dark{border-color:#363636}.input.is-dark.is-active,.input.is-dark.is-focused,.input.is-dark:active,.input.is-dark:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.input.is-primary{border-color:#00d1b2}.input.is-primary.is-active,.input.is-primary.is-focused,.input.is-primary:active,.input.is-primary:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.input.is-twitter{border-color:#1da1f2}.input.is-twitter.is-active,.input.is-twitter.is-focused,.input.is-twitter:active,.input.is-twitter:focus{box-shadow:0 0 0 .125em rgba(29,161,242,.25)}.field:not(:last-child){margin-bottom:.75rem}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.control{font-size:1rem;position:relative;text-align:left}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-medium{height:2rem;width:2rem}.subtitle{word-break:break-word}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.media{align-items:center;display:flex}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar-brand{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-burger{cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{cursor:pointer}.navbar-link.is-active,.navbar-link:hover,a.navbar-item.is-active,a.navbar-item:hover{background-color:#fafafa;color:#3273dc}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}@media screen and (max-width:1087px){.navbar>.container{display:block}.navbar-brand .navbar-item{align-items:center;display:flex}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}}@media screen and (min-width:1088px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-end{justify-content:flex-end;margin-left:auto}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-1rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-1rem}.navbar-link.is-active,a.navbar-item.is-active{color:#0a0a0a}.navbar-link.is-active:not(:hover),a.navbar-item.is-active:not(:hover){background-color:transparent}.navbar-item.has-dropdown.is-active .navbar-link,.navbar-item.has-dropdown:hover .navbar-link{background-color:#fafafa}}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}@media screen and (min-width:769px),print{.column.is-1{flex:none;width:8.33333%}.column.is-2{flex:none;width:16.66667%}.column.is-3{flex:none;width:25%}.column.is-4{flex:none;width:33.33333%}.column.is-5{flex:none;width:41.66667%}.column.is-6{flex:none;width:50%}.column.is-7{flex:none;width:58.33333%}.column.is-8{flex:none;width:66.66667%}.column.is-9{flex:none;width:75%}.column.is-10{flex:none;width:83.33333%}.column.is-11{flex:none;width:91.66667%}.column.is-12{flex:none;width:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-vcentered{align-items:center}@media screen and (min-width:769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1088px){.columns.is-desktop{display:flex}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero.is-dark{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#f5f5f5}.hero.is-dark .subtitle{color:rgba(245,245,245,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#f5f5f5}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}.hero.is-twitter{background-color:#1da1f2;color:#fff}.hero.is-twitter a:not(.button):not(.dropdown-item):not(.tag),.hero.is-twitter strong{color:inherit}.hero.is-twitter .title{color:#fff}.hero.is-twitter .subtitle{color:rgba(255,255,255,.9)}.hero.is-twitter .subtitle a:not(.button),.hero.is-twitter .subtitle strong{color:#fff}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width:1088px){.section.is-medium{padding:9rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem} -------------------------------------------------------------------------------- /docs/assets/img/logo-dark-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/assets/img/logo-dark-small.png -------------------------------------------------------------------------------- /docs/assets/img/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/assets/img/logo-dark.png -------------------------------------------------------------------------------- /docs/assets/js/script.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function () { 2 | var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); 3 | if ($navbarBurgers.length > 0) { 4 | $navbarBurgers.forEach(function ($el) { 5 | $el.addEventListener('click', function () { 6 | var target = $el.dataset.target; 7 | var $target = document.getElementById(target); 8 | $el.classList.toggle('is-active'); 9 | $target.classList.toggle('is-active'); 10 | }); 11 | }); 12 | } 13 | }); 14 | 15 | window.dataLayer = window.dataLayer || []; 16 | function gtag(){dataLayer.push(arguments);} 17 | gtag('js', new Date()); 18 | gtag('config', 'UA-70809338-10'); 19 | -------------------------------------------------------------------------------- /docs/assets/sass/style.sass: -------------------------------------------------------------------------------- 1 | @import "../../../node_modules/bulma/sass/utilities/initial-variables" 2 | @import "../../../node_modules/bulma/sass/utilities/mixins" 3 | 4 | $pre-background: #282c34 5 | $pre: #abb2bf 6 | 7 | $twitter: #1da1f2 8 | $twitter-invert: findColorInvert($twitter) 9 | 10 | $widescreen-enabled: false 11 | $fullscreen-enabled: false 12 | 13 | svg 14 | width: 70% 15 | 16 | section 17 | &.flexcarousel-section 18 | background-color: #158cd8 19 | font-family: 'Bree Serif', serif 20 | font-size: $size-5 21 | padding-bottom: 1.25rem 22 | padding-top: 1.25rem 23 | position: relative 24 | .overlay 25 | background-image: url(https://flexcarousel.com/assets/img/pattern.png) 26 | bottom: 0 27 | left: 0 28 | opacity: 0.3 29 | position: absolute 30 | right: 0 31 | top: 0 32 | a 33 | color: #fff 34 | p 35 | transition: all .2s ease-in-out 36 | &:hover 37 | transform: scale(1.10) 38 | &.github-section 39 | background-color: $black-ter 40 | padding-bottom: 1rem 41 | padding-top: 1rem 42 | a 43 | align-items: center 44 | color: $white 45 | display: inline-flex 46 | justify-content: center 47 | .icon 48 | margin-right: 0.5rem 49 | 50 | .github-buttons 51 | margin-top: 1rem 52 | 53 | .media-number 54 | align-items: center 55 | background-color: $white-ter 56 | border-radius: $radius-rounded 57 | display: inline-flex 58 | height: 1rem 59 | justify-content: center 60 | padding: 1rem 61 | width: 1rem 62 | 63 | .anchor-title 64 | padding-top: 1.5rem 65 | position: relative 66 | +touch 67 | padding-left: 2rem 68 | 69 | .anchor-link 70 | position: absolute 71 | right: calc(100% + 1rem) 72 | top: 1.5rem 73 | +touch 74 | left: 0 75 | right: auto 76 | 77 | $custom-colors: ("twitter": ($twitter, $twitter-invert)) 78 | 79 | @import "../../../node_modules/bulma/sass/utilities/functions" 80 | @import "../../../node_modules/bulma/sass/utilities/derived-variables" 81 | @import "../../../node_modules/bulma/sass/utilities/controls" 82 | @import "../../../node_modules/bulma/sass/base/minireset" 83 | @import "../../../node_modules/bulma/sass/base/generic" 84 | @import "../../../node_modules/bulma/sass/base/helpers" 85 | @import "../../../node_modules/bulma/sass/elements/button" 86 | @import "../../../node_modules/bulma/sass/elements/container" 87 | @import "../../../node_modules/bulma/sass/elements/content" 88 | @import "../../../node_modules/bulma/sass/elements/form" 89 | @import "../../../node_modules/bulma/sass/elements/icon" 90 | @import "../../../node_modules/bulma/sass/elements/title" 91 | @import "../../../node_modules/bulma/sass/components/media" 92 | @import "../../../node_modules/bulma/sass/components/navbar" 93 | @import "../../../node_modules/bulma/sass/grid/columns" 94 | @import "../../../node_modules/bulma/sass/layout/hero" 95 | @import "../../../node_modules/bulma/sass/layout/section" 96 | @import "../../../node_modules/bulma/sass/layout/footer" -------------------------------------------------------------------------------- /docs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/favicon.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | BulmaWP - A free WordPress starter theme based on the Bulma CSS framework. 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 | 22 |
23 |
24 | 62 |
63 |
64 | BulmaWP Logo 65 |

A free WordPress starter theme based on the Bulma CSS framework.

66 | 82 | v0.4.0 83 |
84 | Star 85 | Fork 86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |

98 | Getting Started 99 | # 100 |

101 |

Installation

102 |

Installing BulmaWP onto your WordPress website is super easy and fast. Just follow the instructions below to get started.

103 |
104 |
105 |
106 |
107 |
1
108 |
109 |
110 |
111 |

Download the latest version of BulmaWP by clicking here.

112 |
113 |
114 |
115 |
116 |
117 |
2
118 |
119 |
120 |
121 |

Go to to Appearance > Themes within your WordPress dashboard.

122 |
123 |
124 |
125 |
126 |
127 |
3
128 |
129 |
130 |
131 |

Click "Add New" at the top of the page.

132 |
133 |
134 |
135 |
136 |
137 |
4
138 |
139 |
140 |
141 |

Click "Upload Theme" at the top of the page.

142 |
143 |
144 |
145 |
146 |
147 |
5
148 |
149 |
150 |
151 |

Choose the .zip file from where you downloaded it onto your computer.

152 |
153 |
154 |
155 |
156 |
157 |
6
158 |
159 |
160 |
161 |

Click "Install Now".

162 |
163 |
164 |
165 |
166 |
167 |
7
168 |
169 |
170 |
171 |

Click "Activate".

172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |

181 | About 182 | # 183 |

184 |

As a development foundation, BulmaWP comes with only a few features built into the core theme.

185 |

First off, you can use npm to manage the Sass file for Bulma. You just need to correctly point to those files depending on your project setup. For those wanting to use Bulma out of the box, feel free to enqueue the latest Bulma version from cdnjs. The latest version of Font Awesome has also been added to BulmaWP for your convience, but feel free to replace this with any icon set.

186 |

Since WordPress already loads a local hosted and outdated version of jQuery onto a fresh WordPress install, we have replaced this with the latest jQuery version provided by Google. The only JavaScript that is included with BulmaWP is a simple jQuery script to toggle the is-active class on both the navbar-burger and navbar-menu class.

187 |

Two custom walkers have been created for BulmaWP, one for the navbar markup and the other to utilise the media object component for the comments. Feel free to edit these walkers to add additional functionality if needed for your project.

188 |

Lastly, the Bulma components that require functionality such as the breadcrumbs and pagination are found within BulmaWP, you can simply add the modifiers you need such as is-small by editing the functions.php file.

189 |
190 |
191 |
192 |
193 |
194 | 204 |
205 |
206 | 222 | 223 | 224 | 225 | 226 | 227 | -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.1.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.1.0.zip -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.2.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.2.0.zip -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.2.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.2.1.zip -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.2.2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.2.2.zip -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.3.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.3.0.zip -------------------------------------------------------------------------------- /docs/releases/bulmawp-v0.4.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/docs/releases/bulmawp-v0.4.0.zip -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bulmawp", 3 | "version": "0.4.0", 4 | "description": "A free WordPress starter theme based on the Bulma CSS framework.", 5 | "main": "index.js", 6 | "directories": { 7 | "doc": "docs" 8 | }, 9 | "scripts": { 10 | "docs-build": "npm run docs-build-clean && npm run docs-build-sass && npm run docs-build-cleancss", 11 | "docs-build-cleancss": "cleancss -o docs/assets/css/style.min.css docs/assets/css/style.css", 12 | "docs-build-clean": "rimraf css", 13 | "docs-build-sass": "node-sass --output-style expanded docs/assets/sass/style.sass docs/assets/css/style.css", 14 | "docs-build-sass-watch": "npm run docs-build-sass -- --watch" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/tomhrtly/BulmaWP.git" 19 | }, 20 | "author": "Tom Hartley", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/tomhrtly/BulmaWP/issues" 24 | }, 25 | "homepage": "https://github.com/tomhrtly/BulmaWP#readme", 26 | "dependencies": { 27 | "bulma": "^0.7.4", 28 | "clean-css-cli": "^4.2.1", 29 | "eslint": "^5.13.0", 30 | "node-sass": "^4.11.0", 31 | "postcss-cli": "^6.1.1", 32 | "rimraf": "^2.6.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/404.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |
12 |

13 |

14 |

homepage or use the search bar below to find what you\'re looking for.' ); ?>

15 |
16 |
17 | 18 |
19 |
20 |
21 |
22 | 23 | -------------------------------------------------------------------------------- /src/assets/js/script.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $('.navbar-burger').click(function() { 3 | $('.navbar-burger').toggleClass('is-active'); 4 | $('.navbar-menu').toggleClass('is-active'); 5 | }); 6 | }); 7 | -------------------------------------------------------------------------------- /src/assets/sass/style.sass: -------------------------------------------------------------------------------- 1 | @import "../../node_modules/bulma/sass/utilities/initial-variables" 2 | @import "../../node_modules/bulma/sass/utilities/mixins" 3 | 4 | // Change the derived variables and add your own custom styles here 5 | 6 | @import "../../node_modules/bulma/sass/utilities/functions" 7 | @import "../../node_modules/bulma/sass/utilities/derived-variables" 8 | @import "../../node_modules/bulma/sass/utilities/controls" 9 | 10 | // Import the components/elements you need here. -------------------------------------------------------------------------------- /src/comments.php: -------------------------------------------------------------------------------- 1 | 10 |

11 | '3', 15 | 'avatar_size' => '128', 16 | 'walker' => new BulmaWP_Comment_Walker(), 17 | ) ); 18 | endif; 19 | 20 | comment_form( array( 21 | 'label_submit' => __( 'Post comment' ), 22 | 'class_submit' => 'button', 23 | 'comment_notes_before' => '', 24 | 'title_reply' => '', 25 | 'title_reply_to' => '', 26 | 'title_reply_before' => '', 27 | 'title_reply_after' => '', 28 | 'submit_field' => '

%1$s%2$s

', 29 | 'cancel_reply_link' => '
', 30 | 'fields' => array( 31 | 'author' => '

', 32 | 'email' => '

', 33 | 'url' => '

', 34 | ), 35 | 'comment_field' => '

' 36 | ) ); 37 | endif; 38 | -------------------------------------------------------------------------------- /src/content.php: -------------------------------------------------------------------------------- 1 | 8 |
> 9 |

10 |
11 |

12 | / 20 |

21 | 22 |
23 |
24 | -------------------------------------------------------------------------------- /src/footer.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/functions.php: -------------------------------------------------------------------------------- 1 | '; 21 | echo ''; 123 | echo ''; 124 | } 125 | } 126 | 127 | 128 | /** 129 | * Enqueues the CSS and JS for the front-end and back-end. 130 | * 131 | * @since 0.1.0 132 | * @since 0.2.2 Added enqueue "comment-reply" 133 | */ 134 | 135 | function bulmawp_enqueue() { 136 | wp_deregister_style( 'wp-block-library' ); 137 | 138 | wp_enqueue_style( 'bulmawp-style', get_template_directory_uri() . '/assets/css/style.css', '', '0.4.0' ); 139 | 140 | wp_deregister_script( 'jquery' ); 141 | 142 | wp_enqueue_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', '', '3.3.1', true ); 143 | wp_enqueue_script( 'bulmawp-script', get_template_directory_uri() . '/assets/js/script.js', array( 'jquery' ), '0.4.0', true ); 144 | wp_enqueue_script( 'font-awesome', 'https://use.fontawesome.com/releases/v5.7.2/js/all.js', '', '5.7.2', true ); 145 | 146 | if( is_single() && comments_open() ) { 147 | wp_enqueue_script( 'comment-reply' ); 148 | } 149 | } 150 | 151 | add_action( 'wp_enqueue_scripts', 'bulmawp_enqueue' ); 152 | 153 | 154 | /** 155 | * Requires theme files needed for front-end and back-end. 156 | * 157 | * @since 0.1.0 158 | */ 159 | 160 | require get_template_directory() . '/inc/navbar-walker.php'; 161 | require get_template_directory() . '/inc/comment-walker.php'; 162 | 163 | 164 | /** 165 | * Registers the menus and limits the menu depth to just one child. 166 | * 167 | * @since 0.1.0 168 | * @since 0.2.0 Seperate menus for "navbar-start" and "navbar-end" 169 | */ 170 | 171 | function bulmawp_register_menus() { 172 | register_nav_menu( 'navbar_start', 'Navbar Start Menu' ); 173 | register_nav_menu( 'navbar_end', 'Navbar End Menu' ); 174 | } 175 | 176 | add_action( 'after_setup_theme', 'bulmawp_register_menus' ); 177 | 178 | 179 | /** 180 | * Limits the menu depth to 1 child as multi-level structures are not supported with Bulma out of the box. 181 | * 182 | * @since 0.1.0 183 | * 184 | * @param string $hook 185 | * 186 | * @return void 187 | */ 188 | 189 | function bulmawp_limit_depth( $hook ) { 190 | if( $hook != 'nav-menus.php' ) { 191 | return; 192 | } 193 | 194 | wp_add_inline_script( 'nav-menu', 'wpNavMenu.options.globalMaxDepth = 1;', 'after' ); 195 | } 196 | 197 | add_action( 'admin_enqueue_scripts', 'bulmawp_limit_depth' ); 198 | 199 | 200 | /** 201 | * Displays the pagination on the homepage. 202 | * 203 | * @since 0.1.0 204 | * 205 | * @global $wp_query 206 | */ 207 | 208 | function bulmawp_pagination() { 209 | if( is_singular() ) { 210 | return; 211 | } 212 | global $wp_query; 213 | if( $wp_query->max_num_pages <= 1 ) { 214 | return; 215 | } 216 | $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; 217 | $max = intval( $wp_query->max_num_pages ); 218 | if( $paged >= 1 ) { 219 | $links[] = $paged; 220 | } 221 | if( $paged >= 3 ) { 222 | $links[] = $paged - 1; 223 | } 224 | if( ( $paged + 2 ) <= $max ) { 225 | $links[] = $paged + 1; 226 | } 227 | echo ''; 258 | } 259 | 260 | add_filter( 'next_posts_link_attributes', 'bulmawp_next_posts_link_class' ); 261 | add_filter( 'previous_posts_link_attributes', 'bulmawp_previous_posts_link_class' ); 262 | 263 | function bulmawp_next_posts_link_class() { 264 | return 'class="pagination-next"'; 265 | } 266 | 267 | function bulmawp_previous_posts_link_class() { 268 | return 'class="pagination-previous"'; 269 | } 270 | 271 | 272 | /** 273 | * Registers the sidebar. 274 | * 275 | * @since 0.1.0 276 | */ 277 | 278 | function bulmawp_sidebar() { 279 | register_sidebar( array( 280 | 'name' => 'Sidebar', 281 | 'id' => 'sidebar', 282 | 'before_widget' => '
', 283 | 'after_widget' => '
', 284 | 'before_title' => '', 286 | ) ); 287 | } 288 | 289 | add_action( 'widgets_init', 'bulmawp_sidebar' ); 290 | 291 | 292 | /** 293 | * Adds theme support. 294 | * 295 | * @since 0.1.0 296 | */ 297 | 298 | add_theme_support( 'automatic-feed-links' ); 299 | add_theme_support( 'custom-background' ); 300 | add_theme_support( 'custom-logo', array( 301 | 'flex-height' => true, 302 | 'flex-width' => true, 303 | 'header-text' => array( 'site-title', 'site-description' ), 304 | )); 305 | add_theme_support( 'post-thumbnails' ); 306 | add_theme_support( 'html5', array( 'search-form' ) ); 307 | add_theme_support( 'title-tag' ); 308 | -------------------------------------------------------------------------------- /src/header.php: -------------------------------------------------------------------------------- 1 | 8 | 9 | > 10 | 11 | 12 | 13 | 14 | 15 | > 16 | 108 |
109 |
110 |
111 | -------------------------------------------------------------------------------- /src/inc/comment-walker.php: -------------------------------------------------------------------------------- 1 | 78 |
79 |
80 |

81 | 82 |

83 |
84 |
85 |
86 |

87 | ', comment_author(), ''; 90 | } else { 91 | echo '', comment_author(), ''; 92 | } ?> 93 |
94 | 95 |
96 | $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?> · 97 |

98 |
99 |
'; 118 | } 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /src/inc/navbar-walker.php: -------------------------------------------------------------------------------- 1 | \n"; 32 | } 33 | /** 34 | * End Level. 35 | * 36 | * @see Walker::end_lvl() 37 | * @since 0.1.0 38 | * 39 | * @access public 40 | * 41 | * @param mixed $output Passed by reference. Used to append additional content. 42 | * @param int $depth (default: 0) Depth of menu item. Used for padding. 43 | * @param array $args (default: array()) Arguments. 44 | * 45 | * @return void 46 | */ 47 | public function end_lvl( &$output, $depth = 0, $args = array() ) { 48 | $indent = str_repeat( "\t", $depth ); 49 | $output .= "$indent
\n"; 50 | } 51 | /** 52 | * Start El. 53 | * 54 | * @see Walker::start_el() 55 | * @since 0.1.0 56 | * 57 | * @access public 58 | * 59 | * @param mixed $output Passed by reference. Used to append additional content. 60 | * @param mixed $item Menu item data object. 61 | * @param int $depth (default: 0) Depth of menu item. Used for padding. 62 | * @param array $args (default: array()) Arguments. 63 | * @param int $id (default: 0) Menu item ID. 64 | * 65 | * @return void 66 | */ 67 | public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { 68 | $defaults = array( 69 | 'menu' => '', 70 | 'container' => 'div', 71 | 'container_class' => '', 72 | 'container_id' => '', 73 | 'menu_class' => 'menu', 74 | 'menu_id' => '', 75 | 'echo' => true, 76 | 'fallback_cb' => 'wp_page_menu', 77 | 'before' => '', 78 | 'after' => '', 79 | 'link_before' => '', 80 | 'link_after' => '', 81 | 'items_wrap' => '', 82 | 'item_spacing' => 'preserve', 83 | 'depth' => 0, 84 | 'walker' => '', 85 | 'theme_location' => '', 86 | ); 87 | $args = wp_parse_args( $args, $defaults ); 88 | 89 | $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; 90 | $class_names = $this->get_item_classes( $item, $args ); 91 | $id = apply_filters( 'nav_menu_item_id', '', $item, $args ); 92 | $id = $id ? ' id="' . esc_attr( $id ) . '"' : ''; 93 | $attributes = $this->get_item_attributes( $item, $args ); 94 | if ( ! $args['has_children'] ) { 95 | $classes = empty( $item->classes ) ? array() : (array) $item->classes; 96 | if ( ! in_array( 'navbar-divider', $classes ) ) { 97 | $item_output = $args['before']; 98 | $item_output .= ''; 99 | $item_output .= $args['link_before'] . apply_filters( 'the_title', $item->title, $item->ID ) . $args['link_after']; 100 | $item_output .= $args['after']; 101 | } else { 102 | $item_output = ''; 103 | } 104 | 105 | $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); 106 | } else { 107 | $item_output = $args['before']; 108 | $item_output .= $indent . '\n"; 137 | } 138 | } 139 | /** 140 | * Traverse elements to create list from elements. 141 | * 142 | * Display one element if the element doesn't have any children otherwise, 143 | * display the element and its children. Will only traverse up to the max 144 | * depth and no ignore elements under that depth. 145 | * 146 | * This method shouldn't be called directly, use the walk() method instead. 147 | * 148 | * @see Walker::start_el() 149 | * @since 0.1.0 150 | * 151 | * @access public 152 | * 153 | * @param mixed $element Data object. 154 | * @param mixed $children_elements List of elements to continue traversing. 155 | * @param mixed $max_depth Max depth to traverse. 156 | * @param mixed $depth Depth of current element. 157 | * @param mixed $args Arguments. 158 | * @param mixed $output Passed by reference. Used to append additional content. 159 | * 160 | * @return null Null on failure with no changes to parameters. 161 | */ 162 | public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) { 163 | if ( ! $element ) { 164 | return; 165 | } 166 | $id_field = $this->db_fields['id']; 167 | // Display this element. 168 | if ( is_object( $args[0] ) ) { 169 | $args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] ); 170 | } 171 | parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); 172 | } 173 | private function get_item_classes( $item, $args ) { 174 | $defaults = array( 175 | 'menu' => '', 176 | 'container' => 'div', 177 | 'container_class' => '', 178 | 'container_id' => '', 179 | 'menu_class' => 'menu', 180 | 'menu_id' => '', 181 | 'echo' => true, 182 | 'fallback_cb' => 'wp_page_menu', 183 | 'before' => '', 184 | 'after' => '', 185 | 'link_before' => '', 186 | 'link_after' => '', 187 | 'items_wrap' => '
    %3$s
', 188 | 'item_spacing' => 'preserve', 189 | 'depth' => 0, 190 | 'walker' => '', 191 | 'theme_location' => '', 192 | ); 193 | 194 | $args = wp_parse_args( $args, $defaults ); 195 | 196 | $classes[] = 'navbar-item'; 197 | $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); 198 | if ( $args['has_children'] ) { 199 | $class_names .= ' dropdown navbar-link'; 200 | } 201 | if ( in_array( 'current-menu-item', $classes, true ) ) { 202 | $class_names .= ' is-active'; 203 | } 204 | 205 | return $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; 206 | } 207 | 208 | private function get_item_attributes( $item, $args ) { 209 | $atts = array(); 210 | $atts['target'] = ! empty( $item->target ) ? $item->target : ''; 211 | $atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : ''; 212 | $atts['href'] = ! empty( $item->url ) ? $item->url : ''; 213 | $atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args ); 214 | $attributes = ''; 215 | foreach ( $atts as $attr => $value ) { 216 | if ( ! empty( $value ) ) { 217 | $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value ); 218 | $attributes .= ' ' . $attr . '="' . $value . '"'; 219 | } 220 | } 221 | 222 | return $attributes; 223 | } 224 | 225 | /** 226 | * Menu Fallback 227 | * ============= 228 | * If this function is assigned to the wp_nav_menu's fallback_cb variable 229 | * and a menu has not been assigned to the theme location in the WordPress 230 | * menu manager the function with display nothing to a non-logged in user, 231 | * and will add a link to the WordPress menu manager if logged in as an admin. 232 | * 233 | * @param array $args passed from the wp_nav_menu function. 234 | */ 235 | public static function fallback( $args ) { 236 | if ( current_user_can( 'edit_theme_options' ) ) { 237 | /* Get Arguments. */ 238 | $container = $args['container']; 239 | $container_id = $args['container_id']; 240 | $container_class = $args['container_class']; 241 | $menu_class = $args['menu_class']; 242 | $menu_id = $args['menu_id']; 243 | if ( $container ) { 244 | echo '<' . esc_attr( $container ); 245 | if ( $container_id ) { 246 | echo ' id="' . esc_attr( $container_id ) . '"'; 247 | } 248 | if ( $container_class ) { 249 | echo ' class="' . sanitize_html_class( $container_class ) . '"'; 250 | } 251 | echo '>'; 252 | } 253 | echo '' . esc_attr( 'Add a menu', 'bulmawp' ) . ''; 254 | if ( $container ) { 255 | echo ''; 256 | } 257 | } 258 | } 259 | } 260 | } 261 | -------------------------------------------------------------------------------- /src/index.php: -------------------------------------------------------------------------------- 1 | 10 |
11 | 12 |
13 | 18 |
19 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /src/page-fullwidth.php: -------------------------------------------------------------------------------- 1 | 10 |
11 | 15 |

16 |
17 | 18 |
19 | 23 |
24 | 25 | -------------------------------------------------------------------------------- /src/page.php: -------------------------------------------------------------------------------- 1 | 10 |
11 | 15 |

16 |
17 | 18 |
19 | 23 |
24 | 25 | 26 | -------------------------------------------------------------------------------- /src/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomhrtly/bulmawp/b0d3d0df05aeb07655b77c3a22213df0188a2416/src/screenshot.png -------------------------------------------------------------------------------- /src/searchform.php: -------------------------------------------------------------------------------- 1 | 8 | 22 | -------------------------------------------------------------------------------- /src/sidebar.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | 12 |
13 | -------------------------------------------------------------------------------- /src/single.php: -------------------------------------------------------------------------------- 1 | 10 |
11 | 15 |
> 16 |

17 |
18 |

19 | / 27 |

28 | 29 |
30 | 34 |
35 |
36 |
37 |

38 |
39 |
40 |
41 | term_id ) . '" class="tag">' . $tag->name . ''; 44 | } 45 | ?> 46 |
47 |
48 |
49 |
50 | 51 | 52 |
53 | 54 |
55 | 56 | 57 | -------------------------------------------------------------------------------- /src/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: BulmaWP 3 | Theme URI: https://bulmawp.io/ 4 | Author: Tom Hartley 5 | Author URI: https://tomhrtly.com/ 6 | Description: A free WordPress starter theme based on the Bulma CSS framework. 7 | Version: 0.4.0 8 | License: GNU General Public License v3.0 9 | License URI: http://www.gnu.org/ 10 | Text Domain: bulmawp 11 | */ 12 | --------------------------------------------------------------------------------