jz-theme-clean-blog 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +141 -0
  4. data/_includes/footer.html +35 -0
  5. data/_includes/head.html +24 -0
  6. data/_includes/navbar.html +28 -0
  7. data/_includes/scripts.html +84 -0
  8. data/_layouts/default.html +19 -0
  9. data/_layouts/home.html +65 -0
  10. data/_layouts/page.html +34 -0
  11. data/_layouts/post.html +52 -0
  12. data/_sass/styles.scss +2 -0
  13. data/assets/main.scss +5 -0
  14. data/assets/scripts.js +3 -0
  15. data/assets/vendor/bootstrap/css/bootstrap-grid.css +1912 -0
  16. data/assets/vendor/bootstrap/css/bootstrap-grid.min.css +7 -0
  17. data/assets/vendor/bootstrap/css/bootstrap-reboot.css +330 -0
  18. data/assets/vendor/bootstrap/css/bootstrap-reboot.min.css +8 -0
  19. data/assets/vendor/bootstrap/css/bootstrap.css +8981 -0
  20. data/assets/vendor/bootstrap/css/bootstrap.min.css +7 -0
  21. data/assets/vendor/bootstrap/js/bootstrap.bundle.js +6444 -0
  22. data/assets/vendor/bootstrap/js/bootstrap.bundle.min.js +7 -0
  23. data/assets/vendor/bootstrap/js/bootstrap.js +3927 -0
  24. data/assets/vendor/bootstrap/js/bootstrap.min.js +7 -0
  25. data/assets/vendor/font-awesome/css/font-awesome.css +2337 -0
  26. data/assets/vendor/font-awesome/css/font-awesome.min.css +4 -0
  27. data/assets/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  28. data/assets/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  29. data/assets/vendor/font-awesome/fonts/fontawesome-webfont.svg +2671 -0
  30. data/assets/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  31. data/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  32. data/assets/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  33. data/assets/vendor/font-awesome/less/animated.less +34 -0
  34. data/assets/vendor/font-awesome/less/bordered-pulled.less +25 -0
  35. data/assets/vendor/font-awesome/less/core.less +12 -0
  36. data/assets/vendor/font-awesome/less/fixed-width.less +6 -0
  37. data/assets/vendor/font-awesome/less/font-awesome.less +18 -0
  38. data/assets/vendor/font-awesome/less/icons.less +789 -0
  39. data/assets/vendor/font-awesome/less/larger.less +13 -0
  40. data/assets/vendor/font-awesome/less/list.less +19 -0
  41. data/assets/vendor/font-awesome/less/mixins.less +60 -0
  42. data/assets/vendor/font-awesome/less/path.less +15 -0
  43. data/assets/vendor/font-awesome/less/rotated-flipped.less +20 -0
  44. data/assets/vendor/font-awesome/less/screen-reader.less +5 -0
  45. data/assets/vendor/font-awesome/less/stacked.less +20 -0
  46. data/assets/vendor/font-awesome/less/variables.less +800 -0
  47. data/assets/vendor/font-awesome/scss/_animated.scss +34 -0
  48. data/assets/vendor/font-awesome/scss/_bordered-pulled.scss +25 -0
  49. data/assets/vendor/font-awesome/scss/_core.scss +12 -0
  50. data/assets/vendor/font-awesome/scss/_fixed-width.scss +6 -0
  51. data/assets/vendor/font-awesome/scss/_icons.scss +789 -0
  52. data/assets/vendor/font-awesome/scss/_larger.scss +13 -0
  53. data/assets/vendor/font-awesome/scss/_list.scss +19 -0
  54. data/assets/vendor/font-awesome/scss/_mixins.scss +60 -0
  55. data/assets/vendor/font-awesome/scss/_path.scss +15 -0
  56. data/assets/vendor/font-awesome/scss/_rotated-flipped.scss +20 -0
  57. data/assets/vendor/font-awesome/scss/_screen-reader.scss +5 -0
  58. data/assets/vendor/font-awesome/scss/_stacked.scss +20 -0
  59. data/assets/vendor/font-awesome/scss/_variables.scss +800 -0
  60. data/assets/vendor/font-awesome/scss/font-awesome.scss +18 -0
  61. data/assets/vendor/jquery/jquery.js +10364 -0
  62. data/assets/vendor/jquery/jquery.min.js +2 -0
  63. data/assets/vendor/startbootstrap-clean-blog/js/clean-blog.min.js +1 -0
  64. data/assets/vendor/startbootstrap-clean-blog/js/jqBootstrapValidation.js +937 -0
  65. data/assets/vendor/startbootstrap-clean-blog/scss/_bootstrap-overrides.scss +27 -0
  66. data/assets/vendor/startbootstrap-clean-blog/scss/_contact.scss +60 -0
  67. data/assets/vendor/startbootstrap-clean-blog/scss/_footer.scss +13 -0
  68. data/assets/vendor/startbootstrap-clean-blog/scss/_global.scss +77 -0
  69. data/assets/vendor/startbootstrap-clean-blog/scss/_masthead.scss +82 -0
  70. data/assets/vendor/startbootstrap-clean-blog/scss/_mixins.scss +68 -0
  71. data/assets/vendor/startbootstrap-clean-blog/scss/_navbar.scss +100 -0
  72. data/assets/vendor/startbootstrap-clean-blog/scss/_post.scss +42 -0
  73. data/assets/vendor/startbootstrap-clean-blog/scss/_variables.scss +33 -0
  74. data/assets/vendor/startbootstrap-clean-blog/scss/clean-blog.scss +9 -0
  75. metadata +159 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c7f19fdd990433a233a74968f470f3e9dc874795
4
+ data.tar.gz: 65759c4a28b2ad6f74f43a128a5876e084c5837d
5
+ SHA512:
6
+ metadata.gz: 86923e4e0df2ff95296ae65d3874195d3370a672f628289d2d2b95cb67cc4a0f41f44ec3996652c4907e2161ca841bee55b97a7ad1a7f510fed7860207a187e6
7
+ data.tar.gz: 1144ccf9cb4cc4de868b5eec5b6ccf1dcb41bc6baf45926d8b031198b45fd2bb0ee6388c797f87908570379623bef304cfb30d52ef289506e5bf77b56ae25ee4
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 David Miller
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.
data/README.md ADDED
@@ -0,0 +1,141 @@
1
+ # [Start Bootstrap - Clean Blog](https://startbootstrap.com/template-overviews/clean-blog/) - Official Jekyll Version
2
+
3
+ [Clean Blog](http://startbootstrap.com/template-overviews/clean-blog/) is a stylish, responsive blog theme for [Bootstrap](http://getbootstrap.com/) created by [Start Bootstrap](http://startbootstrap.com/). This theme features a blog homepage, about page, contact page, and an example post page along with a working contact form powered by [Formspree](https://formspree.io/).
4
+
5
+ This repository holds the official Jekyll version of the Clean Blog!
6
+
7
+ ## Preview
8
+
9
+ [![Clean Blog (Jekyll) Preview](https://startbootstrap.com/assets/img/templates/clean-blog.jpg)](http://blackrockdigital.github.io/startbootstrap-clean-blog-jekyll/)
10
+
11
+ **[View Live Preview](http://blackrockdigital.github.io/startbootstrap-clean-blog-jekyll/)**
12
+
13
+ ## Installation & Setup
14
+
15
+ ### Using RubyGems:
16
+
17
+ When installing the theme using RubyGems, demo images, posts, and pages are not included. Follow the instructions below for complete setup.
18
+
19
+ 1. (Optional) Create a new Jekyll site: `jekyll new my-site`
20
+ 2. Replace the current theme in your `Gemfile` with `gem "jekyll-theme-clean-blog"`.
21
+ 3. Install the theme: `bundle install`
22
+ 4. Replace the current theme in your `_config.yml` file with `theme: jekyll-theme-awesome`.
23
+ 5. Build your site: `bundle exec jekyll serve`
24
+
25
+ Assuming there are no errors and the site is building properly, follow these steps next:
26
+
27
+ 1. Create the following pages if they do not exist already (or change the extension of exsiting markdown files from `.md` to `.html`):
28
+ - `index.html` - set to `layout: home`
29
+ - `about.html` - set to `layout: page`
30
+ - `contact.html` - set to `layout: page`
31
+ - `posts/index.html` - set to `layout: page` (you will also need to create a `posts` directory)
32
+ 2. Configure the `index.html` front matter. Example:
33
+ ```
34
+ ---
35
+ layout: home
36
+ background: '/PATH_TO_IMAGE'
37
+ ---
38
+ ```
39
+ 3. Configure the `about.html`, `contact.html`, and `posts/index.html` front matter. Example:
40
+ ```
41
+ ---
42
+ layout: page
43
+ title: Page Title
44
+ description: This is the page description.
45
+ background: '/PATH_TO_IMAGE'
46
+ ---
47
+ ```
48
+ 4. For each post in the `_posts` directory, update the front matter. Example:
49
+ ```
50
+ ---
51
+ layout: post
52
+ title: "Post Title"
53
+ subtitle: "This is the post subtitle."
54
+ date: YYYY-MM-DD HH:MM:SS
55
+ background: '/PATH_TO_IMAGE'
56
+ ---
57
+ ```
58
+
59
+ For reference, look at the [demo repository](https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll) to see how the files are set up.
60
+
61
+ 5. Add the form to the `contact.html` page. Add the following code to your `contact.html` page:
62
+ ```
63
+ <form name="sentMessage" id="contactForm" novalidate>
64
+ <div class="control-group">
65
+ <div class="form-group floating-label-form-group controls">
66
+ <label>Name</label>
67
+ <input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name.">
68
+ <p class="help-block text-danger"></p>
69
+ </div>
70
+ </div>
71
+ <div class="control-group">
72
+ <div class="form-group floating-label-form-group controls">
73
+ <label>Email Address</label>
74
+ <input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address.">
75
+ <p class="help-block text-danger"></p>
76
+ </div>
77
+ </div>
78
+ <div class="control-group">
79
+ <div class="form-group col-xs-12 floating-label-form-group controls">
80
+ <label>Phone Number</label>
81
+ <input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number.">
82
+ <p class="help-block text-danger"></p>
83
+ </div>
84
+ </div>
85
+ <div class="control-group">
86
+ <div class="form-group floating-label-form-group controls">
87
+ <label>Message</label>
88
+ <textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea>
89
+ <p class="help-block text-danger"></p>
90
+ </div>
91
+ </div>
92
+ <br>
93
+ <div id="success"></div>
94
+ <div class="form-group">
95
+ <button type="submit" class="btn btn-primary" id="sendMessageButton">Send</button>
96
+ </div>
97
+ </form>
98
+ ```
99
+
100
+ Make sure you have the `email` setting in your `_config.yml` file set to a working email address! Once this is set, fill out the form and then check your email, verify the email address using the link sent to you by Formspree, and then the form will be working!
101
+
102
+ 6. Build your site: `bundle exec jekyll serve`
103
+
104
+ ### Using Core Files
105
+
106
+ When using the core files, the demo images, posts, and pages are all included with the download. After following the instructions below, you can then go and change the content of the pages and posts.
107
+
108
+ 1. [Download](https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/archive/master.zip) or Clone the repository.
109
+ 2. Update the following configuration settings in your `_config.yml` file:
110
+ - `baserul`
111
+ - `url`
112
+ - `title`
113
+ - `email` (after setting this setting to a working email address, fill out the form on the contact page and send it - then check your email and verify the address and the form will send you messages when used)
114
+ - `description`
115
+ - `author`
116
+ - `twitter_username` (Optional)
117
+ - `github_username` (Optional)
118
+ 3. Build your site: `bundle exec jekyll serve`
119
+
120
+ ## Bugs and Issues
121
+
122
+ Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/issues) here on GitHub!
123
+
124
+ ## About
125
+
126
+ Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
127
+
128
+ * https://startbootstrap.com
129
+ * https://twitter.com/SBootstrap
130
+
131
+ Start Bootstrap was created by and is maintained by **[David Miller](http://davidmiller.io/)**, Owner of [Blackrock Digital](http://blackrockdigital.io/).
132
+
133
+ * http://davidmiller.io
134
+ * https://twitter.com/davidmillerskt
135
+ * https://github.com/davidtmiller
136
+
137
+ Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat).
138
+
139
+ ## Copyright and License
140
+
141
+ Copyright 2013-2018 Blackrock Digital LLC. Code released under the [MIT](https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/blob/gh-pages/LICENSE) license.
@@ -0,0 +1,35 @@
1
+ <!-- Footer -->
2
+
3
+ <hr>
4
+
5
+ <footer>
6
+ <div class="container">
7
+ <div class="row">
8
+ <div class="col-lg-8 col-md-10 mx-auto">
9
+ <ul class="list-inline text-center">
10
+ {% if site.twitter_username %}
11
+ <li class="list-inline-item">
12
+ <a href="https://www.twitter.com/{{ site.twitter_username }}">
13
+ <span class="fa-stack fa-lg">
14
+ <i class="fa fa-circle fa-stack-2x"></i>
15
+ <i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
16
+ </span>
17
+ </a>
18
+ </li>
19
+ {% endif %}
20
+ {% if site.github_username %}
21
+ <li class="list-inline-item">
22
+ <a href="https://github.com/{{ site.github_username }}">
23
+ <span class="fa-stack fa-lg">
24
+ <i class="fa fa-circle fa-stack-2x"></i>
25
+ <i class="fa fa-github fa-stack-1x fa-inverse"></i>
26
+ </span>
27
+ </a>
28
+ </li>
29
+ {% endif %}
30
+ </ul>
31
+ <p class="copyright text-muted">Copyright &copy; {{ site.author }} {{ 'now' | date: "%Y" }}</p>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </footer>
@@ -0,0 +1,24 @@
1
+ <head>
2
+
3
+ <meta charset="utf-8">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5
+
6
+ <title>
7
+ {% if page.title %}{{ page.title | escape }} - {{ site.title | escape }}
8
+ {% else %}{{ site.title | escape }}{% endif %}
9
+ </title>
10
+
11
+ <meta name="description" content="{{ page.excerpt | default: site.description | strip_html | normalize_whitespace | truncate: 160 | escape }}">
12
+
13
+ <link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
14
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
15
+
16
+ <link rel="stylesheet" href="{{"/assets/vendor/bootstrap/css/bootstrap.min.css" | relative_url }}">
17
+
18
+ <link rel="stylesheet" href="{{"/assets/vendor/font-awesome/css/font-awesome.min.css" | relative_url }}">
19
+
20
+ <link rel="stylesheet" href="{{"/assets/main.css" | relative_url }}">
21
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
22
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
23
+
24
+ </head>
@@ -0,0 +1,28 @@
1
+ <!-- Navigation -->
2
+ <nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
3
+ <div class="container">
4
+ {% if site.brand %}
5
+ <a class="navbar-brand" href="{{"/" | relative_url }}">{{site.brand}}</a>
6
+ {% endif %}
7
+ <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
8
+ Menu
9
+ <i class="fa fa-bars"></i>
10
+ </button>
11
+ <div class="collapse navbar-collapse" id="navbarResponsive">
12
+ <ul class="navbar-nav ml-auto">
13
+ <li class="nav-item">
14
+ <a class="nav-link" href="{{"/" | relative_url }}">Home</a>
15
+ </li>
16
+ <li class="nav-item">
17
+ <a class="nav-link" href="{{"/about" | relative_url }}">About</a>
18
+ </li>
19
+ <li class="nav-item">
20
+ <a class="nav-link" href="{{"/posts" | relative_url }}">Posts</a>
21
+ </li>
22
+ <li class="nav-item">
23
+ <a class="nav-link" href="{{"/contact" | relative_url }}">Contact</a>
24
+ </li>
25
+ </ul>
26
+ </div>
27
+ </div>
28
+ </nav>
@@ -0,0 +1,84 @@
1
+ <script src="{{"/assets/vendor/jquery/jquery.min.js" | relative_url }}"></script>
2
+ <script src="{{"/assets/vendor/bootstrap/js/bootstrap.bundle.min.js" | relative_url }}"></script>
3
+ <script src="{{"/assets/vendor/startbootstrap-clean-blog/js/clean-blog.min.js" | relative_url }}"></script>
4
+
5
+ <script src="{{"/assets/scripts.js" | relative_url }}"></script>
6
+
7
+ {% if page.url contains 'contact' %}
8
+ <!-- Form Validation -->
9
+ <script src="{{"/assets/vendor/startbootstrap-clean-blog/js/jqBootstrapValidation.js" | relative_url }}"></script>
10
+ <!-- Send Form -->
11
+ <script>
12
+ $(function () {
13
+
14
+ $("#contactForm input,#contactForm textarea").jqBootstrapValidation({
15
+ preventSubmit: true,
16
+ submitError: function ($form, event, errors) {
17
+ // additional error messages or events
18
+ },
19
+ submitSuccess: function ($form, event) {
20
+ event.preventDefault(); // prevent default submit behaviour
21
+ // get values from FORM
22
+ var name = $("input#name").val();
23
+ var email = $("input#email").val();
24
+ var phone = $("input#phone").val();
25
+ var message = $("textarea#message").val();
26
+ var firstName = name; // For Success/Failure Message
27
+ // Check for white space in name for Success/Fail message
28
+ if (firstName.indexOf(' ') >= 0) {
29
+ firstName = name.split(' ').slice(0, -1).join(' ');
30
+ }
31
+ $this = $("#sendMessageButton");
32
+ $this.prop("disabled", true); // Disable submit button until AJAX call is complete to prevent duplicate messages
33
+ $.ajax({
34
+ url: "//formspree.io/{{ site.email }}",
35
+ type: "POST",
36
+ data: {
37
+ name: name,
38
+ phone: phone,
39
+ email: email,
40
+ message: message
41
+ },
42
+ cache: false,
43
+ success: function () {
44
+ // Success message
45
+ $('#success').html("<div class='alert alert-success'>");
46
+ $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;").append("</button>");
47
+ $('#success > .alert-success').append("<strong>Your message has been sent. </strong>");
48
+ $('#success > .alert-success').append('</div>');
49
+ //clear all fields
50
+ $('#contactForm').trigger("reset");
51
+ },
52
+ error: function () {
53
+ // Fail message
54
+ $('#success').html("<div class='alert alert-danger'>");
55
+ $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;").append("</button>");
56
+ $('#success > .alert-danger').append($("<strong>").text("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"));
57
+ $('#success > .alert-danger').append('</div>');
58
+ //clear all fields
59
+ $('#contactForm').trigger("reset");
60
+ },
61
+ complete: function () {
62
+ setTimeout(function () {
63
+ $this.prop("disabled", false); // Re-enable submit button when AJAX call is complete
64
+ }, 1000);
65
+ }
66
+ });
67
+ },
68
+ filter: function () {
69
+ return $(this).is(":visible");
70
+ }
71
+ });
72
+
73
+ $("a[data-toggle=\"tab\"]").click(function (e) {
74
+ e.preventDefault();
75
+ $(this).tab("show");
76
+ });
77
+ });
78
+
79
+ /*When clicking on Full hide fail/success boxes */
80
+ $('#name').focus(function () {
81
+ $('#success').html('');
82
+ });
83
+ </script>
84
+ {% endif %}
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+
5
+ {% include head.html %}
6
+
7
+ <body>
8
+
9
+ {% include navbar.html %}
10
+
11
+ {{ content }}
12
+
13
+ {% include footer.html %}
14
+
15
+ {% include scripts.html %}
16
+
17
+ </body>
18
+
19
+ </html>
@@ -0,0 +1,65 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <!-- Page Header -->
6
+ {% if page.background %}
7
+ <header class="masthead" style="background-image: url('{{ page.background | prepend: site.baseurl | replace: '//', '/' }}')">
8
+ {% else %}
9
+ <header class="masthead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="col-lg-8 col-md-10 mx-auto">
15
+ <div class="page-heading">
16
+ <h1>{{ site.title }}</h1>
17
+ {% if site.description %}
18
+ <span class="subheading">{{ site.description }}</span>
19
+ {% endif %}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </header>
25
+
26
+ <div class="container">
27
+ <div class="row">
28
+ <div class="col-lg-8 col-md-10 mx-auto">
29
+
30
+ {{ content }}
31
+
32
+ <!-- Home Post List -->
33
+ {% for post in site.posts limit : 5 %}
34
+
35
+ <article class="post-preview">
36
+ <a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">
37
+ <h2 class="post-title">{{ post.title }}</h2>
38
+ {% if post.subtitle %}
39
+ <h3 class="post-subtitle">{{ post.subtitle }}</h3>
40
+ {% else %}
41
+ <h3 class="post-subtitle">{{ post.excerpt | strip_html | truncatewords: 15 }}</h3>
42
+ {% endif %}
43
+ </a>
44
+ <p class="post-meta">Posted by
45
+ {% if post.author %}
46
+ {{ post.author }}
47
+ {% else %}
48
+ {{ site.author }}
49
+ {% endif %}
50
+ on
51
+ {{ post.date | date: '%B %d, %Y' }}</p>
52
+ </article>
53
+
54
+ <hr>
55
+
56
+ {% endfor %}
57
+
58
+ <!-- Pager -->
59
+ <div class="clearfix">
60
+ <a class="btn btn-primary float-right" href="{{"/posts" | relative_url }}">View All Posts &rarr;</a>
61
+ </div>
62
+
63
+ </div>
64
+ </div>
65
+ </div>
@@ -0,0 +1,34 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <!-- Page Header -->
6
+ {% if page.background %}
7
+ <header class="masthead" style="background-image: url('{{ page.background | prepend: site.baseurl | replace: '//', '/' }}')">
8
+ {% else %}
9
+ <header class="masthead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="col-lg-8 col-md-10 mx-auto">
15
+ <div class="page-heading">
16
+ <h1>{{ page.title }}</h1>
17
+ {% if page.description %}
18
+ <span class="subheading">{{ page.description }}</span>
19
+ {% endif %}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </header>
25
+
26
+ <div class="container">
27
+ <div class="row">
28
+ <div class="col-lg-8 col-md-10 mx-auto">
29
+
30
+ {{ content }}
31
+
32
+ </div>
33
+ </div>
34
+ </div>
@@ -0,0 +1,52 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <!-- Page Header -->
6
+ {% if page.background %}
7
+ <header class="masthead" style="background-image: url('{{ page.background | prepend: site.baseurl | replace: '//', '/' }}')">
8
+ {% else %}
9
+ <header class="masthead">
10
+ {% endif %}
11
+ <div class="overlay"></div>
12
+ <div class="container">
13
+ <div class="row">
14
+ <div class="col-lg-8 col-md-10 mx-auto">
15
+ <div class="post-heading">
16
+ <h1>{{ page.title }}</h1>
17
+ {% if page.subtitle %}
18
+ <h2 class="subheading">{{ page.subtitle }}</h2>
19
+ {% endif %}
20
+ <span class="meta">Posted by
21
+ {% if page.author %}
22
+ <a href="#">{{page.author}}</a>
23
+ {% endif %}
24
+ on {{ page.date | date: '%B %d, %Y' }}</span>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </header>
30
+
31
+ <div class="container">
32
+ <div class="row">
33
+ <div class="col-lg-8 col-md-10 mx-auto">
34
+
35
+ {{ content }}
36
+
37
+ <hr>
38
+
39
+ <div class="clearfix">
40
+
41
+ {% if page.previous.url %}
42
+ <a class="btn btn-primary float-left" href="{{ page.previous.url | prepend: site.baseurl | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{ page.previous.title }}">&larr; Previous<span class="d-none d-md-inline"> Post</span></a>
43
+ {% endif %}
44
+ {% if page.next.url %}
45
+ <a class="btn btn-primary float-right" href="{{ page.next.url | prepend: site.baseurl | replace: '//', '/' }}" data-toggle="tooltip" data-placement="top" title="{{ page.next.title }}">Next<span class="d-none d-md-inline"> Post</span> &rarr;</a>
46
+ {% endif %}
47
+
48
+ </div>
49
+
50
+ </div>
51
+ </div>
52
+ </div>
data/_sass/styles.scss ADDED
@@ -0,0 +1,2 @@
1
+ // Import Core Clean Blog SCSS
2
+ @import "../assets/vendor/startbootstrap-clean-blog/scss/clean-blog.scss";
data/assets/main.scss ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ # Only the main Sass file needs front matter (the dashes are enough)
3
+ ---
4
+
5
+ @import "styles";
data/assets/scripts.js ADDED
@@ -0,0 +1,3 @@
1
+ $(function () {
2
+ $('[data-toggle="tooltip"]').tooltip()
3
+ })