bulma_blog_private_server 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +52 -0
- data/_includes/base.html +24 -0
- data/_includes/callouts.html +35 -0
- data/_includes/disqus.html +17 -0
- data/_includes/footer-scripts.html +1 -0
- data/_includes/footer.html +28 -0
- data/_includes/google-analytics.html +8 -0
- data/_includes/head-scripts.html +22 -0
- data/_includes/head.html +16 -0
- data/_includes/header.html +46 -0
- data/_includes/hero.html +11 -0
- data/_includes/latest-posts.html +12 -0
- data/_includes/menubar.html +21 -0
- data/_includes/pagination.html +25 -0
- data/_includes/post-card.html +31 -0
- data/_includes/rating.html +14 -0
- data/_includes/review.html +27 -0
- data/_includes/share.html +15 -0
- data/_includes/showcase.html +64 -0
- data/_includes/sponsors.html +42 -0
- data/_includes/subscribe.html +6 -0
- data/_includes/tabs.html +18 -0
- data/_includes/toc.html +82 -0
- data/_layouts/blog.html +22 -0
- data/_layouts/default.html +47 -0
- data/_layouts/page.html +11 -0
- data/_layouts/post.html +58 -0
- data/_layouts/product-category.html +42 -0
- data/_layouts/product.html +61 -0
- data/_layouts/redirected.html +13 -0
- data/_sass/_layout.scss +24 -0
- data/_sass/_main.scss +46 -0
- data/_sass/_showcase.scss +13 -0
- data/_sass/syntax.scss +209 -0
- data/assets/css/app.scss +4 -0
- data/assets/js/app.js +25 -0
- metadata +206 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
<a href="http://www.facebook.com/sharer.php?u={{site.url}}{{page.url}}" target="_blank">
|
2
|
+
<span class="fab fa-facebook-f fa-2x"></span>
|
3
|
+
</a>
|
4
|
+
<a href="https://www.linkedin.com/sharing/share-offsite/?url={{site.url}}{{page.url}}"
|
5
|
+
target="_blank">
|
6
|
+
<span class="fab fa-linkedin-in fa-2x"></span>
|
7
|
+
</a>
|
8
|
+
<a href="https://www.reddit.com/submit?title={{page.title}}&url={{site.url}}{{page.url}}"
|
9
|
+
target="_blank">
|
10
|
+
<span class="fab fa-reddit-alien fa-2x"></span>
|
11
|
+
</a>
|
12
|
+
<a href="https://twitter.com/intent/tweet?text={{page.title}}&url={{site.url}}{{page.url}}"
|
13
|
+
target="_blank">
|
14
|
+
<span class="fab fa-twitter fa-2x"></span>
|
15
|
+
</a>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{% if page.showcase %}
|
2
|
+
{% assign showcase = site.data.[page.showcase] %}
|
3
|
+
|
4
|
+
<div class="content">
|
5
|
+
<p>{{ showcase.intro | markdownify }}</p>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
{% for item in showcase.items %}
|
9
|
+
<section class="showcase">
|
10
|
+
<figure class="image {% if item.image_ratio %} {{ item.image_ratio }} {% else %} is-16by9 {% endif %}">
|
11
|
+
<img src="{{ item.image | prepend: site.baseurl }}" />
|
12
|
+
</figure>
|
13
|
+
<div class="showcase-content">
|
14
|
+
<div class="columns is-centered">
|
15
|
+
<div class="column is-8-desktop is-12-tablet">
|
16
|
+
<p class="title">{{ item.title }}</p>
|
17
|
+
<p class="subtitle">{{ item.subtitle }}</p>
|
18
|
+
|
19
|
+
{% if item.github %}
|
20
|
+
<div class="buttons is-centered">
|
21
|
+
<a href="https://github.com/{{ item.github }}/stargazers" class="button is-white is-small">
|
22
|
+
<img alt="GitHub stars" src="https://img.shields.io/github/stars/{{ item.github }}?style=social">
|
23
|
+
</a>
|
24
|
+
<a href="https://github.com/{{ showcase.github }}/network/members" class="button is-white is-small">
|
25
|
+
<img alt="GitHub forks" src="https://img.shields.io/github/forks/{{ item.github }}?style=social">
|
26
|
+
</a>
|
27
|
+
<a href="https://github.com/{{ item.github }}/watchers" class="button is-white is-small">
|
28
|
+
<img alt="GitHub watchers" src="https://img.shields.io/github/watchers/{{ item.github }}?style=social">
|
29
|
+
</a>
|
30
|
+
</div>
|
31
|
+
{% endif %}
|
32
|
+
|
33
|
+
<div class="content">
|
34
|
+
<p>{{ item.description | markdownify }}</p>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
{% if item.features %}
|
38
|
+
<ul class="block-list {{ item.features_styles }}">
|
39
|
+
{% for feature in item.features %}
|
40
|
+
<li>{{ feature }}</li>
|
41
|
+
{% endfor %}
|
42
|
+
</ul>
|
43
|
+
{% endif %}
|
44
|
+
|
45
|
+
|
46
|
+
{% if item.tags %}
|
47
|
+
{% assign tags = item.tags | split: "," %}
|
48
|
+
<div class="tags is-centered">
|
49
|
+
{% for tag in tags %}
|
50
|
+
<div class="tag is-dark">{{ tag }}</div>
|
51
|
+
{% endfor %}
|
52
|
+
</div>
|
53
|
+
{% endif %}
|
54
|
+
|
55
|
+
<a href="{{ item.link }}" class="button is-primary">
|
56
|
+
{{ item.link_text }}
|
57
|
+
</a>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
|
61
|
+
</div>
|
62
|
+
</section>
|
63
|
+
{% endfor %}
|
64
|
+
{% endif %}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
{% if page.sponsors %}
|
2
|
+
{% assign tiers=site.data.[page.sponsors] %}
|
3
|
+
<div class="columns is-multiline">
|
4
|
+
{% for tier in tiers %}
|
5
|
+
<div class="column is-12">
|
6
|
+
<p class="title is-3 has-text-centered">
|
7
|
+
<span>{{ tier.tier_name }}</span>
|
8
|
+
</p>
|
9
|
+
<p class="subtitle has-text-centered">
|
10
|
+
<span class="icon is-large gh-sponsor"><i class="fas fa-heart fa-2x"></i></span>
|
11
|
+
</p>
|
12
|
+
<div class="columns is-centered">
|
13
|
+
<div class="column is-6 content has-text-centered">
|
14
|
+
<p>{{ tier.description | markdownify }}</p>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="columns is-multiline is-centered">
|
19
|
+
{% for sponsor in tier.sponsors %}
|
20
|
+
<div class="column {% if tier.size == 'large' %} is-4-desktop is-6-tablet {% else %} is-3-desktop is-4-tablet {% endif %}">
|
21
|
+
<div class="box has-text-centered">
|
22
|
+
<p class="title {% if tier.size == 'large' %} is-4 {% elsif tier.size == 'small' %} is-6 {% else %} is-5 {% endif %}">
|
23
|
+
{{ sponsor.name }}
|
24
|
+
</p>
|
25
|
+
<p class="subtitle is-6">
|
26
|
+
{% if sponsor.profile %}
|
27
|
+
<a href="{{ sponsor.profile }}" class="is-link is-small">View Profile</a>
|
28
|
+
{% else %}
|
29
|
+
|
30
|
+
{% endif %}
|
31
|
+
</p>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
{% endfor %}
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
<div class="column is-12">
|
38
|
+
<hr />
|
39
|
+
</div>
|
40
|
+
{% endfor %}
|
41
|
+
</div>
|
42
|
+
{% endif %}
|
data/_includes/tabs.html
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
{% if page.tabs %}
|
2
|
+
{% assign tabs = site.data.[page.tabs] %}
|
3
|
+
|
4
|
+
<div class="tabs {% if tabs.size %}{{ tabs.size }}{% endif %} {% if tabs.alignment %}{{ tabs.alignment }}{% endif %} {% if tabs.style %}{{ tabs.style }}{% endif %}">
|
5
|
+
<ul>
|
6
|
+
{% for tab in tabs.items %}
|
7
|
+
<li {% if tab.link == page.url %} class="is-active" {% endif %}>
|
8
|
+
<a href="{{ tab.link | prepend: site.baseurl }}">
|
9
|
+
{% if tab.icon %}
|
10
|
+
<span class="icon is-small"><i class="fas {{ tab.icon }}" aria-hidden="true"></i></span>
|
11
|
+
{% endif %}
|
12
|
+
<span>{{ tab.name }}</span>
|
13
|
+
</a>
|
14
|
+
</li>
|
15
|
+
{% endfor %}
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
{% endif %}
|
data/_includes/toc.html
ADDED
@@ -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
|
+
|
data/_layouts/blog.html
ADDED
@@ -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>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
{% if page.menubar and page.show_sidebar %}
|
2
|
+
{% assign content_width = 'is-4' %}
|
3
|
+
{% elsif page.menubar or page.show_sidebar %}
|
4
|
+
{% assign content_width = 'is-8' %}
|
5
|
+
{% else %}
|
6
|
+
{% assign content_width = 'is-12' %}
|
7
|
+
{% endif %}
|
8
|
+
{% include base.html %}
|
9
|
+
<!DOCTYPE html>
|
10
|
+
<html>
|
11
|
+
{% include head.html %}
|
12
|
+
<body>
|
13
|
+
{% include header.html %}
|
14
|
+
{% unless page.hide_hero %}
|
15
|
+
{% include hero.html %}
|
16
|
+
{% endunless %}
|
17
|
+
{% include callouts.html %}
|
18
|
+
<section class="section">
|
19
|
+
<div class="container">
|
20
|
+
<div class="columns">
|
21
|
+
{% if page.menubar %}
|
22
|
+
<div class="column is-4-desktop is-4-tablet">
|
23
|
+
{% include menubar.html %}
|
24
|
+
</div>
|
25
|
+
{% endif %}
|
26
|
+
<div class="column {{ content_width }}">
|
27
|
+
{% include tabs.html %}
|
28
|
+
{% include showcase.html %}
|
29
|
+
{% include sponsors.html %}
|
30
|
+
{{ content }}
|
31
|
+
</div>
|
32
|
+
{% if site.posts and page.show_sidebar %}
|
33
|
+
<div class="column is-4-desktop is-12-tablet">
|
34
|
+
{% include latest-posts.html %}
|
35
|
+
</div>
|
36
|
+
{% endif %}
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
</section>
|
40
|
+
{% unless page.hide_footer %}
|
41
|
+
{% include footer.html %}
|
42
|
+
{% endunless %}
|
43
|
+
<script src="{{ base }}/assets/js/app.js" type="text/javascript"></script>
|
44
|
+
{%- include footer-scripts.html -%}
|
45
|
+
</body>
|
46
|
+
</html>
|
47
|
+
|
data/_layouts/page.html
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
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
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
{% include base.html %}
|
6
|
+
<div class="content">
|
7
|
+
{% if page.image %}
|
8
|
+
<div class="card" style="margin-bottom: 1rem;">
|
9
|
+
<div class="card-image">
|
10
|
+
<img src="{{base}}/{{ page.image }}" alt="{{ page.title }}">
|
11
|
+
</div>
|
12
|
+
{% if page.image_source %}
|
13
|
+
<div class="card-content">
|
14
|
+
<div class="content">
|
15
|
+
<p>
|
16
|
+
Fonte da imagem:
|
17
|
+
<a href="{{ page.image_source }}">
|
18
|
+
{{ page.image_source_text }}
|
19
|
+
</a>
|
20
|
+
<br/>
|
21
|
+
Acessado em {{ page.date | date: "%d/%m/%Y" }}
|
22
|
+
</p>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
{% endif %}
|
26
|
+
</div>
|
27
|
+
{% endif %}
|
28
|
+
<nav class="published_and_shareables">
|
29
|
+
<div>
|
30
|
+
<p>Publicado em {{ page.date | date: "%d/%m/%Y" }} por {{ page.author }}</p>
|
31
|
+
{% if page.update_date %}
|
32
|
+
<p>Atualizado em {{page.update_date | date: "%d/%m/%Y"}}</p>
|
33
|
+
{% endif %}
|
34
|
+
</div>
|
35
|
+
<div class="shareables">
|
36
|
+
{% include share.html %}
|
37
|
+
</div>
|
38
|
+
</nav>
|
39
|
+
|
40
|
+
{{ content }}
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div class="tags">
|
44
|
+
{% for tag in page.tags %}
|
45
|
+
<span class="tag is-primary">{{ tag }}</span>
|
46
|
+
{% endfor %}
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<h1 class="is-size-4">COMPARTILHE</h1>
|
50
|
+
<nav class="shareables_after_post">
|
51
|
+
<div class="shareables">
|
52
|
+
{% include share.html %}
|
53
|
+
</div>
|
54
|
+
</nav>
|
55
|
+
|
56
|
+
{% if site.disqus.shortname %}
|
57
|
+
{% include disqus.html %}
|
58
|
+
{% 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 | prepend: site.baseurl }}">
|
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
|
+
|