jmblog-theme 0.1.2 → 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/_authors/john_doe.md +15 -0
  3. data/_config.yml +80 -0
  4. data/_data/navigation.yml +8 -0
  5. data/_includes/themes/jmblog-theme/bio.html +45 -0
  6. data/_includes/themes/jmblog-theme/components/article_highlight.html +48 -0
  7. data/_includes/themes/jmblog-theme/components/author.html +45 -0
  8. data/_includes/themes/jmblog-theme/components/comments.html +18 -0
  9. data/_includes/themes/jmblog-theme/components/footer.html +2 -2
  10. data/_includes/themes/jmblog-theme/components/head.html +3 -1
  11. data/_includes/themes/jmblog-theme/components/img.html +12 -0
  12. data/_includes/themes/jmblog-theme/components/lazyload.html +17 -0
  13. data/_includes/themes/jmblog-theme/components/navigation.html +66 -7
  14. data/_includes/themes/jmblog-theme/components/pagination_links.html +39 -0
  15. data/_includes/themes/jmblog-theme/components/reading-time.html +6 -0
  16. data/_includes/themes/jmblog-theme/components/related_articles.html +73 -0
  17. data/_includes/themes/jmblog-theme/components/share_buttons.html +20 -0
  18. data/_includes/themes/jmblog-theme/components/social_buttons_small.html +38 -0
  19. data/_includes/themes/jmblog-theme/home.html +94 -0
  20. data/_includes/themes/jmblog-theme/page.html +19 -12
  21. data/_includes/themes/jmblog-theme/post.html +70 -44
  22. data/_includes/themes/jmblog-theme/theme/{error.html → _old_error.html} +1 -1
  23. data/_includes/themes/jmblog-theme/theme/default.html +1 -0
  24. data/_includes/themes/jmblog-theme/theme/maintenance.html +1 -0
  25. data/_layouts/bio.html +11 -0
  26. data/_layouts/default.html +3 -2
  27. data/_layouts/error.html +7 -3
  28. data/_layouts/home.html +11 -0
  29. data/_layouts/maintenance.html +11 -0
  30. data/_layouts/page.html +1 -1
  31. data/_layouts/post.html +1 -1
  32. data/_pages/404.md +11 -0
  33. data/_pages/contact.md +7 -0
  34. data/_posts/2020-07-06-managing-and-leading-remote-teams-in-our-new-normal.md +34 -0
  35. data/assets/img/chris-montgomery-smgTvepind4-unsplash.jpg +0 -0
  36. data/assets/img/ph.png +0 -0
  37. data/assets/js/default.bundle.js +2 -0
  38. data/assets/js/default.bundle.js.br +0 -0
  39. data/assets/js/default.js.map +1 -0
  40. data/assets/js/maintenance.bundle.js +2 -0
  41. data/assets/js/maintenance.bundle.js.br +0 -0
  42. data/assets/js/maintenance.js.map +1 -0
  43. data/assets/js/vendor.bundle.js +2 -0
  44. data/assets/js/vendor.bundle.js.br +0 -0
  45. data/assets/js/vendor.js.map +1 -0
  46. data/assets/sass/base.scss +83 -0
  47. data/assets/sass/modules/card.scss +55 -0
  48. data/assets/sass/modules/navbar.scss +49 -0
  49. data/assets/sass/theme/_all.scss +2 -0
  50. data/assets/sass/theme/brand.scss +56 -0
  51. data/assets/sass/theme/lazyload.scss +10 -0
  52. data/assets/sass/utilities/_all.sass +2 -0
  53. data/assets/sass/utilities/breakpoints.scss +25 -0
  54. data/assets/sass/utilities/helpers.scss +48 -0
  55. data/index.html +7 -0
  56. metadata +52 -18
  57. data/_includes/themes/jmblog-theme/components/share_buttons +0 -19
  58. data/_includes/themes/jmblog-theme/theme/holding.html +0 -53
  59. data/assets/img/balloon-3206530_1920.jpg +0 -0
  60. data/assets/img/head-shot-square.jpg +0 -0
  61. data/assets/js/error.bundle.js +0 -2
  62. data/assets/js/error.bundle.js.br +0 -0
  63. data/assets/js/error.js.map +0 -1
  64. data/assets/js/holding.bundle.js +0 -2
  65. data/assets/js/holding.bundle.js.br +0 -0
  66. data/assets/js/holding.js.map +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99622d170db84ca1cc391972b5fc35411f7353445cae8c6722b5b9aa1ad32c5c
4
- data.tar.gz: 2acb7d882101bd128b6fe6f694d90a6290c047e173710c9e7437880b246fffeb
3
+ metadata.gz: ee91a9beb803c54100ddb62f34229941e61eac7bbb8cf140a508028fde11bf29
4
+ data.tar.gz: 38bde2c3ca9e36cbe73b94ef6e67c928f80579f6593db94f91995447ef7fed6b
5
5
  SHA512:
6
- metadata.gz: a6d97d41c5ca543fe246bd1216896d50994fff51a8145354784569e205541767d4c740ecf3e2cc4040d46a5b0c969cdd89805cc1dd1e2a7860ee0812be82e4e1
7
- data.tar.gz: 33d845122e6805df48f8b24702699850b60853047d7e950a5c06cd54be494b3bc0c1d0a671a1d725d8ed917262a7faaca4043d69a37683f8566cdaf35a4868b3
6
+ metadata.gz: cbe344707fa3debf4f19edfc2f613932db425b5b8af1fc780eae3a72c6ff825596c72bf5c4745adc2d4b27e91590a9c6655bb69b8223900358b8ec6ba9b08756
7
+ data.tar.gz: fa781b60719133e733daf53c16b75a297f068214c5c9731dcb9d86aa22fd300f653c7a32ddf5849c3fce4574a4c550dd8a4e6299b98c720277ad0fb884998e50
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: bio
3
+ short_name: John
4
+ name: John Doe
5
+ position: Descriptive Job Title
6
+ social:
7
+ linkedin: johnmoxon
8
+ twitter: johnmoxon
9
+ medium:
10
+ email: email@email.com
11
+ summary: >-
12
+ This summary will appear where author information is included as a
13
+ snippet or following an article
14
+ ---
15
+ This is the main body of the summary text and will appear on the author generated page.
@@ -0,0 +1,80 @@
1
+ # This is a sample _config.yml and can be switched out for another if required
2
+
3
+ destination: ./_site
4
+ include:
5
+ - _pages
6
+ collections:
7
+ authors:
8
+ output: true
9
+
10
+
11
+ # Site settings
12
+ # These are used to personalize your new site. If you look in the HTML files,
13
+ # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
14
+ # You can create any custom variable you would like, and they will be accessible
15
+ # in the templates via {{ site.myvariable }}.
16
+ title: Learn. Grow. Lead.
17
+ tagline: "Lessons Learned Through A Career In Digital Leadership"
18
+ author: John Moxon
19
+
20
+ description: >-
21
+ Personal blog for John Moxon | Digital Leader, Life-long-learner,
22
+ Risk mitigator, Technology/Fintech evangelist and amateur
23
+ beer brewer. Writing articles about what I know and what I learn as I
24
+ find my own path in my career and life.
25
+
26
+ copyright: "copyright John Moxon 2020. All rights reserved."
27
+ license: "copyright John Moxon 2020. All rights reserved."
28
+
29
+ paginate: 5
30
+ paginate_path: "/articles/page:num/"
31
+
32
+ # permalink: /:categories/:title
33
+ relative_permalinks: false
34
+
35
+ timezone: Australia/Brisbane
36
+
37
+ quiet: false
38
+ verbose: false
39
+
40
+ baseurl: "" # the subpath of your site, e.g. /blog
41
+ url: https://www.jmoxon.net # the base hostname & protocol for your site, e.g. http://example.com
42
+ twitter_username : https://twitter.com/johnmoxon
43
+ github_username : http://github.com/johnmoxon/
44
+ linkedin_username : https://www.linkedin.com/in/johnmoxon/
45
+ medium_username : https://medium.com/@johnmoxon
46
+ meeting_url: 'https://meetings.hubspot.com/jmoxon'
47
+
48
+ # GTM Tracking ID
49
+ analytics:
50
+ gtm:
51
+ tracking_id: GTM-WGHRT3
52
+
53
+ # Build settings
54
+ markdown: kramdown
55
+ theme: jmblog-theme
56
+
57
+ # Currently only plugins used that are supported on github pages, though now using netlify so may swap out for pagination v2 in the future
58
+ plugins:
59
+ - jekyll-gist
60
+ - jekyll-mentions
61
+ - jekyll-paginate
62
+ - jekyll-feed
63
+ - jekyll-sitemap
64
+ - jekyll-seo-tag
65
+
66
+
67
+ # Exclude from processing.
68
+ # The following items will not be processed, by default. Create a custom list
69
+ # to override the default setting.
70
+ # exclude:
71
+ # - Gemfile
72
+ # - Gemfile.lock
73
+ # - node_modules
74
+ # - vendor/bundle/
75
+ # - vendor/cache/
76
+ # - vendor/gems/
77
+ # - vendor/ruby/
78
+
79
+ kramdown:
80
+ input: GFM
@@ -0,0 +1,8 @@
1
+ # _data/navigation.yml
2
+ items:
3
+ - name: Home
4
+ link: /
5
+ - name: About
6
+ link: /authors/john
7
+ - name: Contact
8
+ link: /contact
@@ -0,0 +1,45 @@
1
+ {%comment%}
2
+ Wrap user content, potentially include components that
3
+ render front matter as content
4
+ {%endcomment%}
5
+ <span class="is-block has-text-centered is-hidden-desktop">
6
+ <span class="icon">
7
+ <i class="fas fa-infinity"></i>
8
+ {%- comment -%} <i class="fas fa-paper-plane"></i> {%- endcomment -%}
9
+ {%- comment -%} <i class="fas fa-leaf"></i> {%- endcomment -%}
10
+ {%- comment -%} <i class="fas fa-grip-lines"></i> {%- endcomment -%}
11
+ {%- comment -%} <i class="fas fa-mug-hot"></i> {%- endcomment -%}
12
+ </span>
13
+ </span>
14
+ <section class="section">
15
+ <div class="container">
16
+ <div class="columns">
17
+ <div class="column is-10 is-offset-1">
18
+ <div class="media">
19
+ <figure class="media-left">
20
+ <p class="image is-64x64">
21
+ <img
22
+ src="/assets/img/{{ page.name | slugify: 'pretty' }}-square.jpg?nf_resize=fit&w=64&h=64"
23
+ alt="{{ page.name }}"
24
+ class="is-rounded">
25
+ </p>
26
+ </figure>
27
+ <div class="media-content">
28
+ <div class="content">
29
+ <p class="title is-5">
30
+ <strong>{{ page.name }}</strong><br><small class="is-size-7">{{ page.position }}</small>
31
+ </p>
32
+ <p class="is-size-6">{{ content }}</p>
33
+ </div>
34
+ <nav class="level is-mobile">
35
+ <div class="level-left">
36
+ {% include themes/jmblog-theme/components/social_buttons_small.html %}
37
+ </div>
38
+ </nav>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ </div>
45
+ </section>
@@ -0,0 +1,48 @@
1
+ <div class="card is-shadowless">
2
+ <div class="columns is-gapless">
3
+ <div class="column">
4
+ <div class="card-image">
5
+ <figure class="image is-4by5 is-relative">
6
+ <a href="{{ post.url }}">
7
+ <img
8
+ data-src="{{ post.image.path | default: "https://via.placeholder.com/290x362.png?text=image+is+4by5"}}?nf_resize=smartcrop&w=290&h=362"
9
+ data-lowsrc="{{ post.image.path | default: "https://via.placeholder.com/290x362.png?text=image+is+4by5"}}?nf_resize=smartcrop&w=72&h=90"
10
+ alt="Image by {{page.image.author}} on {{page.image.source}}"
11
+ class="lazyload blur-up">
12
+ </a>
13
+ {% assign postcontent = post.content %}
14
+ {% capture readingtime %}{% include themes/jmblog-theme/components/reading-time.html %}{% endcapture %}
15
+ {% if readingtime.size > 1 %}
16
+ <span class="tag is-white is-ontop">{{ readingtime | strip }}</span>
17
+ {% endif %}
18
+ </figure>
19
+ </div>
20
+ </div>
21
+ <div class="column">
22
+ <div class="card-content">
23
+ <div class="media">
24
+ {% comment %} <div class="media-left">
25
+ <figure class="image is-48x48">
26
+ <img class="is-rounded" src="https://bulma.io/images/placeholders/96x96.png" alt="Placeholder image">
27
+ </figure>
28
+ </div> {% endcomment %}
29
+ <div class="media-content">
30
+ <h2 class="title is-4"><a href="{{post.url}}" class="has-text-black">{{ post.title }}</a></h2>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="content">
35
+ <a href="{{ post.url }}" class="has-text-black">
36
+ {{ post.summary | truncatewords: 15 }}
37
+ </a>
38
+ <div class="tags">
39
+ {% for tag in post.tags %}
40
+ <span class="tag">#{{tag}}</span>
41
+ {% endfor %}
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <hr>
@@ -0,0 +1,45 @@
1
+ {% if page.author != null %}
2
+ {% assign author = site.authors | find: "name", page.author | first %}
3
+ {% comment %} page author is not null {% endcomment %}
4
+ {% else %}
5
+ {% assign author = site.authors | find: "name", site.author | first %}
6
+ {% comment %} page author is null revert to {{ site.author }} {% endcomment %}
7
+ {% endif %}
8
+
9
+ {%- comment -%} <div class="is-rounded rounded-image-has-inner-shadow"></div> {%- endcomment -%}
10
+
11
+ {% if include.sidebar == true %}
12
+ <figure class="image is-4by3 has-border-black mb-1">
13
+ <img class=""
14
+ src="/assets/img/{{ author.name | slugify: 'pretty' }}.jpg?nf_resize=fit&w=250"
15
+ alt="{{ author.name }}">
16
+ </figure>
17
+ {% endif %}
18
+
19
+ <div class="media">
20
+ {% unless include.sidebar == true %}
21
+ <figure class="media-left">
22
+ <p class="image is-64x64">
23
+ <img
24
+ src="/assets/img/{{ author.name | slugify: 'pretty' }}-square.jpg?nf_resize=fit&w=64&h=64"
25
+ alt="{{ author.name }}"
26
+ class="is-rounded">
27
+ </p>
28
+ </figure>
29
+ {% endunless %}
30
+ <div class="media-content">
31
+ <div class="content">
32
+ <p class="title is-5">
33
+ <strong>{{ author.name }}</strong><br><small class="is-size-7">{{ author.position }}</small>
34
+ </p>
35
+ {% unless include.show_summary == false %}
36
+ <p class="is-size-6">{{ author.summary }}</p>
37
+ {% endunless %}
38
+ </div>
39
+ <nav class="level is-mobile">
40
+ <div class="level-left">
41
+ {% include themes/jmblog-theme/components/social_buttons_small.html %}
42
+ </div>
43
+ </nav>
44
+ </div>
45
+ </div>
@@ -0,0 +1,18 @@
1
+ {% if page.comments %}
2
+ <div id="disqus_thread"></div>
3
+ <script>
4
+
5
+ var disqus_config = function () {
6
+ this.page.url = "{{ page.url | prepend: site.url }}"; // Replace PAGE_URL with your page's canonical URL variable
7
+ this.page.identifier = "{{ page.slug}}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
8
+ };
9
+ (function() { // DON'T EDIT BELOW THIS LINE
10
+ var d = document, s = d.createElement('script');
11
+ s.src = 'https://jmoxon.disqus.com/embed.js';
12
+ s.setAttribute('data-timestamp', +new Date());
13
+ (d.head || d.body).appendChild(s);
14
+ })();
15
+ </script>
16
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
17
+
18
+ {% endif %}
@@ -6,8 +6,8 @@
6
6
  <a href="https://opensource.org/licenses/mit-license.php">MIT</a> and can be found
7
7
  <a href="https://github.com/johnmoxon/johnmoxon.github.io/">
8
8
  here on github
9
- <i class="fab fa-github has-text-black"></i>
10
- </a>.
9
+ <i class="fab fa-github has-text-black"></i><br>
10
+ </a>
11
11
  <span xmlns:dct="https://purl.org/dc/terms/" xmlns:cc="https://creativecommons.org/ns#" class="license-text">
12
12
  The website content by <strong><span rel="cc:attributionName">John Moxon</span></strong> is licensed under
13
13
  <a href="https://creativecommons.org/licenses/by/4.0">
@@ -3,7 +3,9 @@
3
3
  <title>{{ page.title }} | {{site.title}}</title>
4
4
  <meta charset="utf-8">
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ {% comment %} <meta name="viewport" content="width=device-width, initial-scale=1"> {% endcomment %}
7
+ <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" />
8
+ <meta name="apple-mobile-web-app-capable" content="yes" />
7
9
 
8
10
  {% include themes/jmblog-theme/components/analytics/googletagmanager_head.html %}
9
11
 
@@ -0,0 +1,12 @@
1
+ {% capture img_attrs %}
2
+ ?nf_resize={{ include.mode | default: 'fit' }}
3
+ &w={{ include.w | default: 790 }}
4
+ {% if include.h %}&h={{ include.h }}{% endif %}
5
+ {% endcapture %}
6
+ <figure class="image{{ include.res | default: 'is-3by2' | prepend: ' ' }}">
7
+ <img
8
+ data-src="{{ include.src | default: '/assets/img/ph.png' }}{{ img_attrs | strip }}"
9
+ data-lowsrc="{{ include.src | default: '/assets/img/ph.png' }}?nf_resize={{ include.mode | default: 'fit' }}&w=100"
10
+ alt="{{ include.alt | default: page.title }}"
11
+ class="lazyload blur-up">
12
+ </figure>
@@ -0,0 +1,17 @@
1
+ <script>
2
+ if ('loading' in HTMLImageElement.prototype) {
3
+ const images = document.querySelectorAll('img[loading="lazy"]');
4
+ images.forEach(img => {
5
+ img.src = img.dataset.src;
6
+ });
7
+ } else {
8
+ // Dynamically import the LazySizes library
9
+ const script = document.createElement('script');
10
+ script.src =
11
+ 'https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.1.2/plugins/blur-up/ls.blur-up.min.js'
12
+ document.body.appendChild(script);
13
+ script.src =
14
+ 'https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.1.2/lazysizes.min.js';
15
+ document.body.appendChild(script);
16
+ }
17
+ </script>
@@ -1,7 +1,66 @@
1
- <nav>
2
- {% for item in site.data.navigation.items %}
3
- <a href="{{ site.baseurl }}{{ item.link }}" {% if page.url == item.link %}style="color: red;" {% endif %}>
4
- {{ item.name }}
5
- </a>
6
- {% endfor %}
7
- </nav>
1
+ <!-- Navigation bar -->
2
+ <nav class="navbar" role="navigation" aria-label="main navigation">
3
+ <div class="navbar-brand">
4
+ <a role="button" class="navbar-burger burger is-fixed-top" aria-label="menu" aria-expanded="false" data-target="navbar-menu">
5
+ <span aria-hidden="true"></span>
6
+ <span aria-hidden="true"></span>
7
+ <span aria-hidden="true"></span>
8
+ </a>
9
+ </div>
10
+
11
+ <div id="navbar-menu" class="navbar-menu">
12
+ <div class="navbar-start">
13
+
14
+ {% for item in site.data.navigation.items %}
15
+ {% assign ln = item.link %}
16
+ <a class="navbar-item{% if page.url == item.link %} is-active{% endif %}"
17
+ href="{{ item.link }}">
18
+ {{ item.name }}
19
+ </a>
20
+ {% endfor %}
21
+
22
+ {% comment %}
23
+ <div class="navbar-item has-dropdown is-hoverable">
24
+ <a class="navbar-link">
25
+ Acticles
26
+ </a>
27
+
28
+ <div class="navbar-dropdown">
29
+ <a class="navbar-item">
30
+ Fintech
31
+ </a>
32
+ <a class="navbar-item">
33
+ Travel
34
+ </a>
35
+ <a class="navbar-item">
36
+ Contact
37
+ </a>
38
+ <hr class="navbar-divider">
39
+ <a class="navbar-item">
40
+ Miscealaneous
41
+ </a>
42
+ </div>
43
+ </div>
44
+ {% endcomment %}
45
+
46
+ <div class="navbar-item sharing-utility">
47
+ {% include themes/jmblog-theme/components/social_buttons_small.html %}
48
+ </div>
49
+ </div>
50
+
51
+ <div class="navbar-end">
52
+ {% comment %}
53
+ <div class="navbar-item">
54
+ <div class="buttons">
55
+ <a class="button is-primary">
56
+ <strong>Sign up</strong>
57
+ </a>
58
+ <a class="button is-light">
59
+ Log in
60
+ </a>
61
+ </div>
62
+ </div>
63
+ {% endcomment %}
64
+ </div>
65
+ </div>
66
+ </nav>
@@ -0,0 +1,39 @@
1
+ {% if paginator.total_pages > 1 %}
2
+ <nav class="pagination" role="navigation" aria-label="pagination">
3
+
4
+ {% if paginator.previous_page %}
5
+ <a class="pagination-previous"
6
+ title="This is the first page"
7
+ href="{{ paginator.previous_page_path | relative_url }}">Previous</a>
8
+ {% else %}
9
+ <a class="pagination-previous" title="This is the first page" disabled>Previous</a>
10
+ {% endif %}
11
+
12
+ {% if paginator.next_page %}
13
+ <a class="pagination-next"
14
+ href="{{ paginator.next_page_path | relative_url }}">Next page</a>
15
+ {% else %}
16
+ <a class="pagination-next" title="This is the last page" disabled>Next page</a>
17
+ {% endif %}
18
+
19
+
20
+ <ul class="pagination-list">
21
+ {% for page in (1..paginator.total_pages) %}
22
+ <li>
23
+ {% if page == paginator.page %}
24
+ <a class="pagination-link is-current" aria-label="Page {{page}}" aria-current="page">{{ page }}</a>
25
+ {% elsif page == 1 %}
26
+ <a class="pagination-link"
27
+ aria-label="Page 1"
28
+ aria-current="page"
29
+ href="{{ '/' | relative_url }}">{{ page }}</a>
30
+ {% else %}
31
+ <a class="pagination-link"
32
+ aria-label="Goto page {{page}}"
33
+ href="{{ site.paginate_path | relative_url | replace: ':num', page }}">{{ page }}</a>
34
+ {% endif %}
35
+ </li>
36
+ {% endfor %}
37
+ </ul>
38
+ </nav>
39
+ {% endif %}