mgm-jekyll-bulma 0.1.0 → 0.1.1

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.
@@ -0,0 +1,82 @@
1
+ {% capture tocWorkspace %}
2
+ {% comment %}
3
+ Version 1.0.8
4
+ https://github.com/allejo/jekyll-toc
5
+ {% endcomment %}
6
+
7
+ {% capture my_toc %}{% endcapture %}
8
+ {% assign orderedList = include.ordered | default: false %}
9
+ {% assign minHeader = include.h_min | default: 1 %}
10
+ {% assign maxHeader = include.h_max | default: 6 %}
11
+ {% assign nodes = include.html | split: '<h' %}
12
+ {% assign firstHeader = true %}
13
+
14
+ {% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
15
+
16
+ {% for node in nodes %}
17
+ {% if node == "" %}
18
+ {% continue %}
19
+ {% endif %}
20
+
21
+ {% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
22
+
23
+ {% if headerLevel < minHeader or headerLevel > maxHeader %}
24
+ {% continue %}
25
+ {% endif %}
26
+
27
+ {% if firstHeader %}
28
+ {% assign firstHeader = false %}
29
+ {% assign minHeader = headerLevel %}
30
+ {% endif %}
31
+
32
+ {% assign indentAmount = headerLevel | minus: minHeader %}
33
+ {% assign _workspace = node | split: '</h' %}
34
+
35
+ {% assign _idWorkspace = _workspace[0] | split: 'id="' %}
36
+ {% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
37
+ {% assign html_id = _idWorkspace[0] %}
38
+
39
+ {% assign _classWorkspace = _workspace[0] | split: 'class="' %}
40
+ {% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
41
+ {% assign html_class = _classWorkspace[0] %}
42
+
43
+ {% if html_class contains "no_toc" %}
44
+ {% continue %}
45
+ {% endif %}
46
+
47
+ {% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
48
+ {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
49
+
50
+ {% assign space = '' %}
51
+ {% for i in (1..indentAmount) %}
52
+ {% assign space = space | prepend: ' ' %}
53
+ {% endfor %}
54
+
55
+ {% unless include.item_class == blank %}
56
+ {% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
57
+ {% endunless %}
58
+
59
+ {% capture heading_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
60
+ {% capture my_toc %}{{ my_toc }}
61
+ {{ space }}{{ listModifier }} {{ listItemClass }} [{{ heading_body | replace: "|", "\|" }}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %}
62
+ {% endfor %}
63
+
64
+ {% if include.class %}
65
+ {% capture my_toc %}{:.{{ include.class }}}
66
+ {{ my_toc | lstrip }}{% endcapture %}
67
+ {% endif %}
68
+
69
+ {% if include.id %}
70
+ {% capture my_toc %}{: #{{ include.id }}}
71
+ {{ my_toc | lstrip }}{% endcapture %}
72
+ {% endif %}
73
+ {% endcapture %}{% assign tocWorkspace = '' %}
74
+
75
+ <div class="contents">
76
+ <div class="menu">
77
+ <p class="menu-label">{{ include.contents_title }}</p>
78
+ {{ my_toc | markdownify | strip }}
79
+ </div>
80
+ </div>
81
+
82
+
@@ -0,0 +1,3 @@
1
+ <figure class="image is-16by9">
2
+ <iframe src="https://player.vimeo.com/video/{{ include.video }}?color=ff9933&title=0&byline=0&portrait=0" class="has-ratio" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe><script src="https://player.vimeo.com/api/player.js"></script>
3
+ </figure>
@@ -0,0 +1,8 @@
1
+ <figure class="image is-16by9">
2
+ <iframe class="has-ratio"
3
+ src="https://www.youtube.com/embed/{{ include.video }}?start={{ include.time | default: 0 }}&showinfo=0"
4
+ frameborder="0"
5
+ allowfullscreen
6
+ >
7
+ </iframe>
8
+ </figure>
@@ -0,0 +1,22 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {{ content }}
6
+
7
+ <div class="columns is-multiline">
8
+ <div class="column is-12">
9
+ {% include pagination.html %}
10
+ </div>
11
+ {% for post in paginator.posts %}
12
+ <div class="column is-12">
13
+ {% include post-card.html %}
14
+ </div>
15
+ {% endfor %}
16
+ <div class="column is-12">
17
+ {% include pagination.html %}
18
+ </div>
19
+ <div class="column is-12">
20
+ {% include subscribe.html %}
21
+ </div>
22
+ </div>
@@ -1 +1,59 @@
1
- {{ content }}
1
+ <!DOCTYPE html>
2
+ {% if page.menubar or page.menubar_toc %}
3
+ {% assign has_left_sidebar = true %}
4
+ {% endif %}
5
+
6
+ {% if page.show_sidebar and has_left_sidebar %}
7
+ {% assign content_width = 'is-4' %}
8
+ {% elsif page.show_sidebar or has_left_sidebar %}
9
+ {% assign content_width = 'is-8' %}
10
+ {% else %}
11
+ {% assign content_width = 'is-12' %}
12
+ {% endif %}
13
+
14
+ <html
15
+ dir="{{ site.direction | default: 'ltr' }}"
16
+ lang="{{ site.lang | default: 'en' }}"
17
+ {% if site.fixed_navbar %}class="has-navbar-fixed-{{ site.fixed_navbar }}"{% endif %}>
18
+ {% include head.html %}
19
+ <body>
20
+ {% include header.html %}
21
+ {% unless page.hide_hero %}
22
+ {% include hero.html %}
23
+ {% endunless %}
24
+ {% include callouts.html %}
25
+ <section class="section">
26
+ <div class="container">
27
+ <div class="columns is-multiline">
28
+ {% if page.menubar_toc %}
29
+ <div class="column is-4-desktop is-4-tablet">
30
+ {% assign contentsTitle = page.toc_title | default: 'Contents' %}
31
+ {% include toc.html html=content class='menu-list' h_min=2 h_max=3 contents_title=contentsTitle %}
32
+ </div>
33
+ {% elsif page.menubar %}
34
+ <div class="column is-4-desktop is-4-tablet">
35
+ {% include menubar.html %}
36
+ </div>
37
+ {% endif %}
38
+ <div class="column {{ content_width }}">
39
+ {% include tabs.html %}
40
+ {% include showcase.html %}
41
+ {% include sponsors.html %}
42
+ {% include gallery.html %}
43
+ {{ content }}
44
+ </div>
45
+ {% if site.posts and page.show_sidebar %}
46
+ <div class="column is-4-desktop is-4-tablet">
47
+ {% include latest-posts.html %}
48
+ </div>
49
+ {% endif %}
50
+ </div>
51
+ </div>
52
+ </section>
53
+ {% unless page.hide_footer %}
54
+ {% include footer.html %}
55
+ {% endunless %}
56
+ <script src="{{ site.baseurl }}/assets/js/app.js" type="text/javascript"></script>
57
+ {%- include footer-scripts.html -%}
58
+ </body>
59
+ </html>
data/_layouts/page.html CHANGED
@@ -2,4 +2,10 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- {{ content }}
5
+ {% if page.toc %}
6
+ {% assign contentsTitle = page.toc_title | default: 'Contents' %}
7
+ {% include toc.html html=content class='menu-list' h_min=2 h_max=3 contents_title=contentsTitle %}
8
+ {% endif %}
9
+ <div class="content">
10
+ {{ content }}
11
+ </div>
data/_layouts/post.html CHANGED
@@ -2,4 +2,27 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- {{ content }}
5
+ <div class="content">
6
+
7
+ <p>Published: {{ page.date | date: "%b %-d, %Y" }} by {{ page.author }}</p>
8
+
9
+ {% if page.series %}
10
+ {% include series.html %}
11
+ {% endif %}
12
+
13
+ {{ content }}
14
+ </div>
15
+
16
+ <div class="tags">
17
+ {% for tag in page.tags %}
18
+ {% include tag.html tag=tag %}
19
+ {% endfor %}
20
+ </div>
21
+
22
+ {% unless site.hide_share_buttons %}
23
+ {% include share-buttons.html %}
24
+ {% endunless %}
25
+
26
+ {% if site.disqus.shortname %}
27
+ {% include disqus.html %}
28
+ {% endif %}
@@ -0,0 +1,42 @@
1
+ ---
2
+ layout: default
3
+ show_sidebar: false
4
+ ---
5
+
6
+ <div class="columns is-multiline">
7
+
8
+ <div class="column is-12">
9
+ {{ page.content }}
10
+ </div>
11
+
12
+ {% assign sorted_products = site.products | sort:page.sort %}
13
+
14
+ {% for product in sorted_products %}
15
+ <div class="column is-4-desktop is-6-tablet">
16
+
17
+ <a href="{{ product.url | relative_url }}">
18
+
19
+ <div class="card">
20
+
21
+ {% if product.image %}
22
+ <div class="card-image">
23
+ <figure class="image is-4by3">
24
+ <img src="{{ product.image }}" alt="{{ product.title }}" />
25
+ </figure>
26
+ </div>
27
+ {% endif %}
28
+ <div class="card-content">
29
+
30
+ <p class="title is-4">{{ product.title }}</h2>
31
+ <p class="subtitle is-4">{{ product.subtitle }}</p>
32
+ <p class="title is-5 has-text-right">{{ product.price }}</p>
33
+
34
+ </div>
35
+ </div>
36
+
37
+ </a>
38
+
39
+ </div>
40
+ {% endfor %}
41
+ </div>
42
+
@@ -0,0 +1,61 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="columns is-multiline">
6
+
7
+ <div class="column is-6">
8
+ <figure class="image is-4by3">
9
+ <img src="{{ page.image }}" />
10
+ </figure>
11
+ </div>
12
+
13
+ <div class="column is-6">
14
+ <p class="title is-3">{{ page.title }}</p>
15
+ <p class="subtitle is-3">{{ page.subtitle }}</p>
16
+ <p class="title is-4 has-text-right">{{ page.price }}</p>
17
+ {% if page.product_code %}
18
+ <p class="subtitle is-5 has-text-right">{{ page.product_code }}</p>
19
+ {% endif %}
20
+
21
+ {% if page.rating %}
22
+ {% include rating.html rating=page.rating %}
23
+ {% endif %}
24
+
25
+ {% if page.features %}
26
+ <div class="content">
27
+ {% for feature in page.features %}
28
+ <p>
29
+ <span class="icon">
30
+ {% if feature.icon %}
31
+ <i class="fas {{ feature.icon }}"></i>
32
+ {% else %}
33
+ <i class="fas fa-circle fa-xs"></i>
34
+ {% endif %}
35
+ </span>
36
+ <span>{{ feature.label }}</span></p>
37
+ {% endfor %}
38
+ </div>
39
+ {% endif %}
40
+ </div>
41
+
42
+ <div class="column is-12">
43
+ <p class="title is-4">Description</p>
44
+ <div class="content">
45
+
46
+
47
+ {{ content }}
48
+ </div>
49
+ </div>
50
+
51
+ {% if site.data.reviews[page.product_code] %}
52
+ <div class="column is-12">
53
+ <p class="title is-4">Reviews</p>
54
+ {% for review in site.data.reviews[page.product_code] %}
55
+ {% include review.html %}
56
+ {% endfor %}
57
+ </div>
58
+ {% endif %}
59
+
60
+ </div>
61
+
@@ -0,0 +1,98 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <script type="application/ld+json">
6
+ {
7
+ "@context": "https://schema.org/",
8
+ "@type": "Recipe",
9
+ "name": "{{ page.title }}",
10
+ "image": [
11
+ "{{ page.image }}"
12
+ ],
13
+ "author": {
14
+ "@type": "Person",
15
+ "name": "{{ page.author }}"
16
+ },
17
+ "datePublished": "{{ page.date }}",
18
+ "description": "{{ page.description }}",
19
+ "prepTime": "{{ page.prep_time }}",
20
+ "cookTime": "{{ page.cook_time }}",
21
+ "totalTime": "{{ page.total_time }}",
22
+ "keywords": "{{ page.keywords }}",
23
+ "recipeYield": "{{ page.recipe_yield }}",
24
+ "recipeCategory": "{{ page.recipe_category }}",
25
+ "recipeCuisine": "{{ page.recipe_cuisine }}",
26
+ {% if page.calories %}
27
+ "nutrition": {
28
+ "@type": "NutritionInformation",
29
+ "calories": "{{ page.calories }}"
30
+ },
31
+ {% endif %}
32
+ "recipeIngredient":
33
+ {{ page.ingredients | jsonify }},
34
+ "recipeInstructions": [
35
+ {% for step in page.method %}
36
+ {
37
+ "@type": "HowToStep",
38
+ "text": "{{ step }}"
39
+ {% if forloop.last == true %}
40
+ }
41
+ {% else %}
42
+ },
43
+ {% endif %}
44
+ {% endfor %}
45
+ ]
46
+ }
47
+ </script>
48
+
49
+ <div class="columns is-multiline">
50
+ <div class="column is-4">
51
+ <div class="box has-text-centered">
52
+ <strong>Serves:</strong> {{ page.recipe_yield }}
53
+ </div>
54
+ </div>
55
+ <div class="column is-4">
56
+ <div class="box has-text-centered">
57
+ <strong>Prep time:</strong> {{ page.prep_time | date: "%k hours %M minutes" }}
58
+ </div>
59
+ </div>
60
+ <div class="column is-4">
61
+ <div class="box has-text-centered">
62
+ <strong>Cook time:</strong> {{ page.cook_time | date: "%k hours %M minutes" }}
63
+ </div>
64
+ </div>
65
+ <div class="column is-4">
66
+ <div class="box">
67
+ <p class="title is-4">Ingredients</p>
68
+ <div class="content">
69
+ <ul>
70
+ {% for ingredient in page.ingredients %}
71
+ <li>{{ ingredient }}</li>
72
+ {% endfor %}
73
+ </ul>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <div class="column is-8">
78
+ <p class="title is-4">Method</p>
79
+ <div class="content">
80
+ <ol>
81
+ {% for step in page.method %}
82
+ <li>{{ step }}</li>
83
+ {% endfor %}
84
+ </ol>
85
+ <div class="tags">
86
+ {% assign tags = page.keywords | split: "," %}
87
+ {% for tag in tags %}
88
+ {% include tag.html tag=tag %}
89
+ {% endfor %}
90
+ </div>
91
+
92
+ <p>Published: {{ page.date | date: "%b %-d, %Y" }} by {{ page.author }}</p>
93
+ </div>
94
+ <div class="content">
95
+ {{ content }}
96
+ </div>
97
+ </div>
98
+ </div>
@@ -0,0 +1,40 @@
1
+ div.highlight {
2
+ margin-bottom: 1rem;
3
+ }
4
+
5
+ @include desktop {
6
+ .navbar-item {
7
+ &.is-hoverable:hover {
8
+ .navbar-dropdown {
9
+ display: block;
10
+ }
11
+ }
12
+ }
13
+ }
14
+
15
+ .contents {
16
+ box-shadow: $box-shadow;
17
+ padding: 1.5rem;
18
+ margin-bottom: 3rem;
19
+ }
20
+
21
+ .hero-darken {
22
+ background-color: rgba($hero-darken, 0.5);
23
+ }
24
+
25
+ .content {
26
+ figure {
27
+ margin: 0;
28
+ }
29
+ }
30
+
31
+ .callout {
32
+ &-icon {
33
+ width: 4rem;
34
+ height: 4rem;
35
+ margin-bottom: 0.75rem;
36
+ }
37
+ }
38
+
39
+ // Alpine.js hide on initial load
40
+ [x-cloak] { display: none !important; }
data/_sass/_main.scss ADDED
@@ -0,0 +1,22 @@
1
+ @charset "utf-8";
2
+ @import url('https://fonts.googleapis.com/css?family=Montserrat');
3
+
4
+ $family-sans-serif: 'Montserrat', sans-serif;
5
+ $primary: #188eac !default;
6
+
7
+ $tabs-link-active-color: $primary;
8
+ $tabs-link-active-border-bottom-color: $primary;
9
+
10
+ $modal-content-width: 800px;
11
+
12
+ @import "../node_modules/bulma/bulma.sass";
13
+ $hero-darken: $dark !default;
14
+
15
+ @import "layout";
16
+ @import "syntax";
17
+ @import "showcase";
18
+ @import "../node_modules/bulma-block-list/src/block-list.scss";
19
+
20
+ .gh-sponsor {
21
+ color: #ea4aaa;
22
+ }
@@ -0,0 +1,13 @@
1
+ .showcase {
2
+ margin-bottom: 3rem;
3
+ box-shadow: $box-shadow;
4
+
5
+ &-content {
6
+ padding: 1.5rem;
7
+ text-align: center;
8
+ }
9
+
10
+ .block-list {
11
+ margin-bottom: 1.5rem;
12
+ }
13
+ }