insights4you-jekyll-theme 0.1.1 → 0.2.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.
- checksums.yaml +4 -4
- data/README.md +39 -5
- data/_includes/footer.html +5 -8
- data/_includes/head.html +63 -0
- data/_includes/header-logo.html +179 -0
- data/_includes/header-navbar.html +69 -0
- data/_includes/header-svg.html +39 -0
- data/_includes/ui/button.html +30 -0
- data/_includes/ui/empty.html +23 -0
- data/_includes/ui/icon.html +33 -0
- data/_includes/ui/illustration.html +20 -0
- data/_layouts/default.html +17 -0
- data/_layouts/error.html +12 -0
- data/_layouts/home.html +19 -0
- data/assets/css/theme.min.css +90 -2
- data/assets/images/android-chrome-192x192.png +0 -0
- data/assets/images/android-chrome-512x512.png +0 -0
- data/assets/images/apple-touch-icon.png +0 -0
- data/assets/images/favicon-16x16.png +0 -0
- data/assets/images/favicon-32x32.png +0 -0
- data/assets/images/favicon.ico +0 -0
- data/assets/images/site.webmanifest +1 -0
- metadata +89 -19
- data/_includes/header.html +0 -405
- data/_includes/sidebar.html +0 -24
- data/_layouts/base.html +0 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b1fb0a09c09bea65e66d227a87d457a2c07a1992ecf990704baa0f2b3a72cc4
|
4
|
+
data.tar.gz: d837a99c62fcfe008bea93d44cac410ddad97c901980f5a6503c257e1a4ab48c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d97e2a13ac71bc6bf9e2e3a63e17c2981cd52e2651ace5a17fc509c75e7765b81fac3478126ff7605f7111fe92ed2eca194b085b0e961b9c76b69b6204e616e
|
7
|
+
data.tar.gz: f3e86d977c3b267eb161580660c0eed529c95a4a849b16f8028adb09171ac35900979a2b7377f8c3cf75691c8f0722ee2601477f73bc2119bc305ed5526ad2cd
|
data/README.md
CHANGED
@@ -4,17 +4,51 @@
|
|
4
4
|
<!-- markdownlint-disable-next-line -->
|
5
5
|
# Insights4YOU Jekyll Theme
|
6
6
|
|
7
|
-
A sleek and modern Jekyll theme inspired by the [Tabler Admin Dashboard](https://github.com/tabler)
|
7
|
+
A sleek and modern Jekyll theme inspired by the [Tabler Admin Dashboard](https://github.com/tabler). This theme offers a clean, professional, and responsive interface, making it ideal for developers, content creators, and businesses. Whether you're building documentation sites, admin panels, or project showcases, this theme provides a minimal-effort solution with customizable layouts and modern design elements.
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
[
|
10
|
+
|
11
|
+
[][repo]
|
12
|
+
[][build]
|
13
|
+
[][codacy]
|
14
|
+
[][gem]
|
15
|
+
[][gem]
|
16
|
+
[][gem]
|
17
|
+
[][license]
|
12
18
|
</div>
|
13
19
|
|
14
20
|
## Features
|
15
21
|
|
16
|
-
- Dark and Light Themes.
|
22
|
+
- 🌙 **Dark and Light Themes**: Switch between dark and light modes for a personalized experience.
|
23
|
+
- 📱 **Responsive Design**: Fully optimized for mobile, tablet, and desktop devices.
|
24
|
+
- 🔧 **Customizable Layouts**: Easily modify layouts to suit your needs.
|
25
|
+
- 🚀 **SEO Optimized**: Built-in support for Jekyll SEO tags to improve search engine visibility.
|
26
|
+
- 📦 **Gem-Based Installation**: Simple installation via RubyGems.
|
27
|
+
- 📝 **Markdown Support**: Write content using Markdown for simplicity and flexibility.
|
28
|
+
- 🎨 **Modern Design**: Inspired by the Tabler Admin Dashboard for a sleek and professional look.
|
29
|
+
- 📊 **Analytics Ready**: Add analytics scripts easily for tracking user interactions.
|
30
|
+
|
31
|
+
## Example Site
|
32
|
+
|
33
|
+
To see the theme in action, check out the included example site:
|
34
|
+
|
35
|
+
```bash
|
36
|
+
# Clone the repository
|
37
|
+
git clone https://github.com/marciopaiva/insights4you-jekyll-theme.git
|
38
|
+
|
39
|
+
# Navigate to example directory
|
40
|
+
cd insights4you-jekyll-theme/example-site
|
41
|
+
|
42
|
+
# Install dependencies
|
43
|
+
bundle install
|
44
|
+
|
45
|
+
# Serve the site locally
|
46
|
+
bundle exec jekyll serve
|
47
|
+
```
|
17
48
|
|
18
49
|
[gem]: https://rubygems.org/gems/insights4you-jekyll-theme
|
19
50
|
[codacy]: https://app.codacy.com/gh/marciopaiva/insights4you-jekyll-theme/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
|
20
51
|
[license]: https://github.com/marciopaiva/insights4you-jekyll-theme/blob/master/LICENSE
|
52
|
+
[build]: https://github.com/marciopaiva/insights4you-jekyll-theme/actions/workflows/gem-build.yml
|
53
|
+
[repo]: https://github.com/marciopaiva/insights4you-jekyll-theme
|
54
|
+
[issues]: https://github.com/marciopaiva/insights4you-jekyll-theme/issues
|
data/_includes/footer.html
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
<div class="row text-center align-items-center flex-row-reverse">
|
5
5
|
<div class="col-lg-auto ms-lg-auto">
|
6
6
|
<ul class="list-inline list-inline-dots mb-0">
|
7
|
-
<li class="list-inline-item"><a href="https://
|
8
|
-
<li class="list-inline-item"><a href="
|
7
|
+
<li class="list-inline-item"><a href="https://github.com/marciopaiva/insights4you-jekyll-theme/wiki" target="_blank" class="link-secondary" rel="noopener">Documentation</a></li>
|
8
|
+
<li class="list-inline-item"><a href="https://github.com/marciopaiva/insights4you-jekyll-theme?tab=MIT-1-ov-file" class="link-secondary">License</a></li>
|
9
9
|
<li class="list-inline-item">
|
10
|
-
<a href="https://github.com/
|
10
|
+
<a href="https://github.com/marciopaiva/insights4you-jekyll-theme" target="_blank" class="link-secondary" rel="noopener">Source code</a>
|
11
11
|
</li>
|
12
12
|
<li class="list-inline-item">
|
13
|
-
<a href="https://github.com/sponsors/
|
13
|
+
<a href="https://github.com/sponsors/marciopaiva" target="_blank" class="link-secondary" rel="noopener">
|
14
14
|
<!-- Download SVG icon from http://tabler.io/icons/icon/heart -->
|
15
15
|
<svg
|
16
16
|
xmlns="http://www.w3.org/2000/svg"
|
@@ -35,10 +35,7 @@
|
|
35
35
|
<ul class="list-inline list-inline-dots mb-0">
|
36
36
|
<li class="list-inline-item">
|
37
37
|
Copyright © 2025
|
38
|
-
<a href="." class="link-secondary">
|
39
|
-
</li>
|
40
|
-
<li class="list-inline-item">
|
41
|
-
<a href="./changelog.html" class="link-secondary" rel="noopener"> v1.1.1 </a>
|
38
|
+
<a href="." class="link-secondary">Insights4YOU</a>. All rights reserved.
|
42
39
|
</li>
|
43
40
|
</ul>
|
44
41
|
</div>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
<!-- head.html -->
|
2
|
+
<head>
|
3
|
+
<!-- Dynamic Variables -->
|
4
|
+
{% assign title = page.title | default: site.title | escape %}
|
5
|
+
{% assign description = page.description | default: site.description | strip_html | strip_newlines | truncate: 160 %}
|
6
|
+
{% assign image = page.image | default: site.author.image %}
|
7
|
+
|
8
|
+
{% if page.name and page.collection == 'projects' %}
|
9
|
+
{% assign title = page.name | escape %}
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
<!-- Basic Meta Tags -->
|
13
|
+
<meta charset="utf-8">
|
14
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
15
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
16
|
+
<meta name="theme-color" content="#ffffff">
|
17
|
+
<meta name="robots" content="index, follow">
|
18
|
+
|
19
|
+
<!-- Open Graph Meta Tags -->
|
20
|
+
<meta property="og:type" content="website">
|
21
|
+
<meta property="og:title" content="{{ title }}">
|
22
|
+
<meta property="og:description" content="{{ description }}">
|
23
|
+
<meta property="og:image" content="{{ image }}">
|
24
|
+
<meta property="og:url" content="{{ page.url | absolute_url }}">
|
25
|
+
|
26
|
+
<!-- Twitter Meta Tags -->
|
27
|
+
<meta name="twitter:card" content="summary_large_image">
|
28
|
+
<meta name="twitter:title" content="{{ title }}">
|
29
|
+
<meta name="twitter:description" content="{{ description }}">
|
30
|
+
<meta name="twitter:image" content="{{ image }}">
|
31
|
+
|
32
|
+
<!-- Canonical URL -->
|
33
|
+
<link rel="canonical" href="{{ page.url | absolute_url }}">
|
34
|
+
|
35
|
+
<!-- Favicon -->
|
36
|
+
<link rel="shortcut icon" type="image/x-icon" href="{{ '/assets/images/favicon.ico' | relative_url }}">
|
37
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{ '/assets/images/apple-touch-icon.png' | relative_url }}">
|
38
|
+
<link rel="icon" type="image/png" sizes="32x32" href="{{ '/assets/images/favicon-32x32.png' | relative_url }}">
|
39
|
+
<link rel="icon" type="image/png" sizes="16x16" href="{{ '/assets/images/favicon-16x16.png' | relative_url }}">
|
40
|
+
<link rel="manifest" href="{{ '/assets/images/site.webmanifest' | relative_url }}">
|
41
|
+
|
42
|
+
<!-- Preload External Resources -->
|
43
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler.min.css" />
|
44
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-flags.min.css" />
|
45
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-payments.min.css" />
|
46
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-social.min.css" />
|
47
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/css/tabler-vendors.min.css" />
|
48
|
+
{% if site.useIconfont %}
|
49
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.31.0/dist/tabler-icons.min.css" />
|
50
|
+
{% endif %}
|
51
|
+
|
52
|
+
<!-- Google Fonts -->
|
53
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
54
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
55
|
+
<link href="https://fonts.googleapis.com/css2?family=Akronim&family=DynaPuff:wght@400..700&family=Nova+Square&family=Syne+Mono&display=swap" rel="stylesheet">
|
56
|
+
|
57
|
+
<!-- Stylesheets -->
|
58
|
+
<link rel="stylesheet" href="{{ '/assets/css/theme.min.css' | relative_url }}">
|
59
|
+
|
60
|
+
<!-- Title and Description -->
|
61
|
+
<title>{{ page.title }} | {{ site.title }}</title>
|
62
|
+
<meta name="description" content="{{ description }}">
|
63
|
+
</head>
|
@@ -0,0 +1,179 @@
|
|
1
|
+
<!-- BEGIN NAVBAR -->
|
2
|
+
<header class="navbar navbar-expand-md d-print-none">
|
3
|
+
<div class="container-xl">
|
4
|
+
<!-- BEGIN NAVBAR TOGGLER -->
|
5
|
+
<button
|
6
|
+
class="navbar-toggler"
|
7
|
+
type="button"
|
8
|
+
data-bs-toggle="collapse"
|
9
|
+
data-bs-target="#navbar-menu"
|
10
|
+
aria-controls="navbar-menu"
|
11
|
+
aria-expanded="false"
|
12
|
+
aria-label="Toggle navigation"
|
13
|
+
title="Toggle Menu"
|
14
|
+
>
|
15
|
+
<span class="navbar-toggler-icon"></span>
|
16
|
+
</button>
|
17
|
+
<!-- END NAVBAR TOGGLER -->
|
18
|
+
|
19
|
+
<!-- BEGIN NAVBAR LOGO (SVG com fallback) -->
|
20
|
+
<div class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
|
21
|
+
<a href="{{ '/' | relative_url }}">
|
22
|
+
{% include header-svg.html %}
|
23
|
+
</a>
|
24
|
+
</div>
|
25
|
+
<!-- END NAVBAR LOGO -->
|
26
|
+
|
27
|
+
<!-- BEGIN NAVBAR ICONS -->
|
28
|
+
<div class="navbar-nav flex-row order-md-last">
|
29
|
+
<!-- Botão do GitHub -->
|
30
|
+
<div class="nav-item d-none d-md-flex me-3">
|
31
|
+
<a
|
32
|
+
href="https://github.com/marciopaiva/insights4you-jekyll-theme"
|
33
|
+
class="btn btn-5"
|
34
|
+
target="_blank"
|
35
|
+
rel="noopener noreferrer"
|
36
|
+
aria-label="View Source Code on GitHub"
|
37
|
+
>
|
38
|
+
<svg
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
40
|
+
width="24"
|
41
|
+
height="24"
|
42
|
+
viewBox="0 0 24 24"
|
43
|
+
stroke="currentColor"
|
44
|
+
fill="none"
|
45
|
+
class="icon icon-tabler icon-tabler-brand-github"
|
46
|
+
>
|
47
|
+
<path stroke="none" d="M0 0h24v24H0z" />
|
48
|
+
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5" />
|
49
|
+
</svg>
|
50
|
+
Source code
|
51
|
+
</a>
|
52
|
+
</div>
|
53
|
+
|
54
|
+
<!-- Botões de Tema -->
|
55
|
+
<div class="nav-item d-none d-md-flex">
|
56
|
+
<a
|
57
|
+
href="?theme=dark"
|
58
|
+
class="nav-link px-0 hide-theme-dark"
|
59
|
+
title="Dark Mode"
|
60
|
+
onclick="toggleTheme('dark')"
|
61
|
+
aria-label="Dark Mode"
|
62
|
+
>
|
63
|
+
<svg
|
64
|
+
xmlns="http://www.w3.org/2000/svg"
|
65
|
+
width="24"
|
66
|
+
height="24"
|
67
|
+
viewBox="0 0 24 24"
|
68
|
+
stroke="currentColor"
|
69
|
+
fill="none"
|
70
|
+
class="icon icon-1"
|
71
|
+
>
|
72
|
+
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
73
|
+
</svg>
|
74
|
+
</a>
|
75
|
+
<a
|
76
|
+
href="?theme=light"
|
77
|
+
class="nav-link px-0 hide-theme-light"
|
78
|
+
title="Light Mode"
|
79
|
+
onclick="toggleTheme('light')"
|
80
|
+
aria-label="Light Mode"
|
81
|
+
>
|
82
|
+
<svg
|
83
|
+
xmlns="http://www.w3.org/2000/svg"
|
84
|
+
width="24"
|
85
|
+
height="24"
|
86
|
+
viewBox="0 0 24 24"
|
87
|
+
stroke="currentColor"
|
88
|
+
fill="none"
|
89
|
+
class="icon icon-1"
|
90
|
+
>
|
91
|
+
<path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" />
|
92
|
+
<path d="M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7" />
|
93
|
+
</svg>
|
94
|
+
</a>
|
95
|
+
</div>
|
96
|
+
|
97
|
+
<!-- Notificações Estáticas -->
|
98
|
+
<div class="nav-item dropdown d-none d-md-flex me-3">
|
99
|
+
<a
|
100
|
+
href="#"
|
101
|
+
class="nav-link px-0"
|
102
|
+
data-bs-toggle="dropdown"
|
103
|
+
aria-label="Show Notifications"
|
104
|
+
>
|
105
|
+
<svg class="icon icon-1" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" fill="none">
|
106
|
+
<path d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6" />
|
107
|
+
<path d="M9 17v1a3 3 0 0 0 6 0v-1" />
|
108
|
+
</svg>
|
109
|
+
<span id="notification-badge" class="badge bg-red"></span>
|
110
|
+
</a>
|
111
|
+
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-end dropdown-menu-card">
|
112
|
+
<div class="card">
|
113
|
+
<div class="card-header">
|
114
|
+
<h3 class="card-title">Last Updates</h3>
|
115
|
+
</div>
|
116
|
+
<div id="notifications-list" class="list-group list-group-flush"></div>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
</div>
|
120
|
+
</div>
|
121
|
+
</div>
|
122
|
+
</header>
|
123
|
+
|
124
|
+
<!-- Script para Carregar Notificações -->
|
125
|
+
|
126
|
+
<script>
|
127
|
+
document.addEventListener('DOMContentLoaded', async () => {
|
128
|
+
const notificationsList = document.getElementById('notifications-list');
|
129
|
+
const badge = document.getElementById('notification-badge');
|
130
|
+
|
131
|
+
if (!notificationsList || !badge) return;
|
132
|
+
|
133
|
+
// Dados locais (via Jekyll)
|
134
|
+
const localNotifications = {{ site.data.notifications | jsonify }};
|
135
|
+
|
136
|
+
// Busca notificações remotas (YAML do GitHub)
|
137
|
+
let remoteNotifications = [];
|
138
|
+
try {
|
139
|
+
const response = await fetch('https://raw.githubusercontent.com/marciopaiva/insights4you-jekyll-theme/main/_data/notifications.yml');
|
140
|
+
if (response.ok) {
|
141
|
+
const yamlText = await response.text();
|
142
|
+
remoteNotifications = jsyaml.load(yamlText) || [];
|
143
|
+
}
|
144
|
+
} catch (error) {
|
145
|
+
console.error('Erro ao buscar notificações remotas:', error);
|
146
|
+
}
|
147
|
+
|
148
|
+
// Combina e ordena (remoto + local)
|
149
|
+
const allNotifications = [...remoteNotifications, ...localNotifications]
|
150
|
+
.sort((a, b) => new Date(b.date) - new Date(a.date)) // Ordena por data
|
151
|
+
.slice(0, 5); // Limita a 5 notificações
|
152
|
+
|
153
|
+
// Renderiza
|
154
|
+
badge.textContent = allNotifications.length;
|
155
|
+
allNotifications.forEach(notification => {
|
156
|
+
const item = `
|
157
|
+
<div class="list-group-item">
|
158
|
+
<div class="row align-items-center">
|
159
|
+
<div class="col-auto">
|
160
|
+
<span class="status-dot bg-${notification.color || 'blue'} d-block"></span>
|
161
|
+
</div>
|
162
|
+
<div class="col text-truncate">
|
163
|
+
<a href="${notification.link}" class="text-body d-block">${notification.title}</a>
|
164
|
+
<div class="text-secondary">${notification.description}</div>
|
165
|
+
</div>
|
166
|
+
<div class="col-auto">
|
167
|
+
<a href="${notification.link}" class="list-group-item-actions" target="_blank">
|
168
|
+
<svg class="icon text-muted icon-2" viewBox="0 0 24 24" stroke="currentColor" fill="none">
|
169
|
+
<path d="M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" />
|
170
|
+
</svg>
|
171
|
+
</a>
|
172
|
+
</div>
|
173
|
+
</div>
|
174
|
+
</div>
|
175
|
+
`;
|
176
|
+
notificationsList.innerHTML += item;
|
177
|
+
});
|
178
|
+
});
|
179
|
+
</script>
|
@@ -0,0 +1,69 @@
|
|
1
|
+
<!-- BEGIN NAVBAR -->
|
2
|
+
<header class="navbar-expand-md">
|
3
|
+
<div class="collapse navbar-collapse" id="navbar-menu">
|
4
|
+
<div class="navbar">
|
5
|
+
<div class="container-xl">
|
6
|
+
<div class="row flex-fill align-items-center">
|
7
|
+
<div class="col">
|
8
|
+
<!-- BEGIN NAVBAR MENU -->
|
9
|
+
<ul class="navbar-nav page-center">
|
10
|
+
<li class="nav-item active">
|
11
|
+
<a class="nav-link" href="./">
|
12
|
+
<span class="nav-link-icon d-md-none d-lg-inline-block">
|
13
|
+
<!-- Download SVG icon from http://tabler.io/icons/icon/home -->
|
14
|
+
<svg
|
15
|
+
xmlns="http://www.w3.org/2000/svg"
|
16
|
+
width="24"
|
17
|
+
height="24"
|
18
|
+
viewBox="0 0 24 24"
|
19
|
+
fill="none"
|
20
|
+
stroke="currentColor"
|
21
|
+
stroke-width="2"
|
22
|
+
stroke-linecap="round"
|
23
|
+
stroke-linejoin="round"
|
24
|
+
class="icon icon-1"
|
25
|
+
>
|
26
|
+
<path d="M5 12l-2 0l9 -9l9 9l-2 0" />
|
27
|
+
<path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" />
|
28
|
+
<path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" />
|
29
|
+
</svg>
|
30
|
+
</span>
|
31
|
+
<span class="nav-link-title"> Home </span>
|
32
|
+
</a>
|
33
|
+
</li>
|
34
|
+
<li class="nav-item">
|
35
|
+
<a class="nav-link" href="./">
|
36
|
+
<span class="nav-link-icon d-md-none d-lg-inline-block">
|
37
|
+
<svg
|
38
|
+
xmlns="http://www.w3.org/2000/svg"
|
39
|
+
width="24"
|
40
|
+
height="24"
|
41
|
+
viewBox="0 0 24 24"
|
42
|
+
fill="none"
|
43
|
+
stroke="currentColor"
|
44
|
+
stroke-width="2"
|
45
|
+
stroke-linecap="round"
|
46
|
+
stroke-linejoin="round"
|
47
|
+
class="icon icon-tabler icons-tabler-outline icon-tabler-shield-heart"
|
48
|
+
>
|
49
|
+
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
50
|
+
<path
|
51
|
+
d="M12 21a12 12 0 0 1 -8.5 -15a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12.01 12.01 0 0 1 .378 5"
|
52
|
+
/>
|
53
|
+
<path
|
54
|
+
d="M18 22l3.35 -3.284a2.143 2.143 0 0 0 .005 -3.071a2.242 2.242 0 0 0 -3.129 -.006l-.224 .22l-.223 -.22a2.242 2.242 0 0 0 -3.128 -.006a2.143 2.143 0 0 0 -.006 3.071l3.355 3.296z"
|
55
|
+
/>
|
56
|
+
</svg>
|
57
|
+
</span>
|
58
|
+
<span class="nav-link-title"> Projetos </span>
|
59
|
+
</a>
|
60
|
+
</li>
|
61
|
+
</ul>
|
62
|
+
<!-- END NAVBAR MENU -->
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</header>
|
69
|
+
<!-- END NAVBAR -->
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<svg
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
3
|
+
viewBox="0 0 4000 500"
|
4
|
+
width="300"
|
5
|
+
height="50"
|
6
|
+
style="color: transparent;"
|
7
|
+
>
|
8
|
+
<rect
|
9
|
+
x="153.607"
|
10
|
+
y="155.37"
|
11
|
+
fill="null"
|
12
|
+
width="201.275"
|
13
|
+
height="201.275"
|
14
|
+
/>
|
15
|
+
<g>
|
16
|
+
<path
|
17
|
+
fill="#d63939"
|
18
|
+
d="M354.876,371.827H153.604c-8.388,0-15.191-6.802-15.191-15.191V155.364c0-8.388,6.802-15.191,15.191-15.191h201.272c8.388,0,15.191,6.802,15.191,15.191v201.272C370.067,365.026,363.266,371.827,354.876,371.827z M168.795,341.445h170.891V170.555H168.795V341.445z"
|
19
|
+
/>
|
20
|
+
<path
|
21
|
+
fill="#78c3e0"
|
22
|
+
d="M421.337,407.906H102.334V104.094h72.915c2.576,0,4.999-0.647,7.124-1.777c6.646-1.621,11.584-7.598,11.584-14.742V16.95c0-8.388-6.802-15.191-15.191-15.191c-8.388,0-15.191,6.802-15.191,15.191v56.763H87.144c-8.388,0-15.191,6.802-15.191,15.191v72.915H15.191C6.802,161.818,0,168.621,0,177.009S6.802,192.2,15.191,192.2h56.763v48.61H45.591c-8.388,0-15.191,6.802-15.191,15.191s6.802,15.191,15.191,15.191h26.362v48.61H15.191C6.802,319.8,0,326.603,0,334.991s6.802,15.191,15.191,15.191h56.763v72.915c0,8.388,6.802,15.191,15.191,15.191h72.915v56.763c0,8.388,6.802,15.191,15.191,15.191c8.388,0,15.191-6.802,15.191-15.191v-56.763h48.61v26.362c0,8.388,6.802,15.191,15.191,15.191c8.388,0,15.191-6.802,15.191-15.191v-26.362h48.61v56.763c0,8.388,6.802,15.191,15.191,15.191s15.191-6.802,15.191-15.191v-56.763h72.915c8.388,0,15.191-6.802,15.191-15.191S429.726,407.906,421.337,407.906z"
|
23
|
+
/>
|
24
|
+
<path
|
25
|
+
fill="#1e7eeb"
|
26
|
+
d="M496.809,319.8h-56.763v-48.61h26.362c8.388,0,15.191-6.802,15.191-15.191s-6.802-15.191-15.191-15.191h-26.362V192.2h56.763c8.388,0,15.191-6.802,15.191-15.191c0-8.388-6.802-15.191-15.191-15.191h-56.763V88.904c0-8.388-6.802-15.191-15.191-15.191h-72.915V16.95c0-8.388-6.802-15.191-15.191-15.191S321.56,8.562,321.56,16.95v56.763h-48.61V47.351c0-8.388-6.802-15.191-15.191-15.191s-15.191,6.802-15.191,15.191v40.223c0,0.225,0.024,0.444,0.033,0.665c-0.009,0.222-0.033,0.441-0.033,0.665c0,8.388,6.802,15.191,15.191,15.191h151.906v223.285c-1.429,2.241-2.189,4.835-2.189,7.612c0,8.388,6.802,15.191,15.191,15.191h70.624c8.388,0,15.191-6.802,15.191-15.191S501.68,319.8,496.809,319.8z"
|
27
|
+
/>
|
28
|
+
</g>
|
29
|
+
<text
|
30
|
+
x="600"
|
31
|
+
y="400"
|
32
|
+
font-family="Nova Square, sans-serif"
|
33
|
+
font-size="300"
|
34
|
+
font-weight="bold"
|
35
|
+
fill="#d63939"
|
36
|
+
>
|
37
|
+
{{ site.title }}
|
38
|
+
</text>
|
39
|
+
</svg>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{% assign spinner-class = false %}
|
2
|
+
|
3
|
+
{% assign color = include.color %}
|
4
|
+
{% if include.color == false %}
|
5
|
+
{% assign color = null %}
|
6
|
+
{% endif %}
|
7
|
+
|
8
|
+
{% assign provider = include.provider | default: 'fe' %}
|
9
|
+
{% if include.text %}{% assign spinner-class="me-2" %}{% endif %}
|
10
|
+
|
11
|
+
{% assign href = '#' %}
|
12
|
+
{% if include.href %}
|
13
|
+
{% if include.external %}
|
14
|
+
{% assign href = include.href %}
|
15
|
+
{% else %}
|
16
|
+
{% assign href = site.base | append: '/' | append: include.href %}
|
17
|
+
{% endif %}
|
18
|
+
{% endif %}
|
19
|
+
|
20
|
+
{% assign e = include.element | default: 'a' %}
|
21
|
+
<{{ e }}{% if e == 'a' %} href="{{ href }}"{% endif %}{% if include.type %} type="{{ include.type }}"{% endif %} class="btn{% if include.height %} btn-{{ include.height }}{% endif %}{% if color %} btn-{% if include.outline %}outline-{% elsif include.ghost %}ghost-{% endif %}{{ color }}{% endif %}{% if include.disabled %} disabled{% endif %}{% if include.square %} btn-square{% endif %}{% if include.loading %} btn-loading{% endif %}{% if include.pill %} btn-pill{% endif %}{% if include['size'] %} btn-{{ include['size'] }}{% endif %}{% if include.class %} {{ include.class }}{% endif %}{% if include.block %} w-100{% endif %}{% if include.link %} btn-link{% endif %}{% if include.icon-only %} btn-icon{% endif %}"{% if include.external %} target="_blank" rel="noreferrer"{% endif %}{% if include.modal-id %} data-bs-toggle="modal" data-bs-target="#modal-{{ include.modal-id }}"{% endif %}{% if include.toast-id %} data-bs-toggle="toast" data-bs-target="#toast-{{ include.toast-id }}"{% endif %}{% if include.icon-only %} aria-label="{{ include.text | default: "Button" }}"{% endif %}{% if include.dismiss %} data-bs-dismiss="modal"{% endif %}>
|
22
|
+
{% if include.spinner %}
|
23
|
+
{% include ui/spinner.html color=false size="sm" class=spinner-class element="span" %}
|
24
|
+
{% endif %}
|
25
|
+
{% if include.icon %}{% include ui/icon.html icon=include.icon color=include.icon-color %}{% endif %}
|
26
|
+
{% unless include.icon-only %}
|
27
|
+
{{ include.text | default: "Button" }}{% if include.dots %}<span class="animated-dots"></span>{% endif %}
|
28
|
+
{% if include.icon-right %}{% include ui/icon.html icon=include.icon-right class="icon-right" %}{% endif %}
|
29
|
+
{% endunless %}
|
30
|
+
</{{ e }}>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{% assign icon = include.icon | default: "mood-sad" %}
|
2
|
+
<div class="empty{% if include.bordered %} empty-bordered{% endif %}{% if include.class %} {{ include.class }}{% endif %}">
|
3
|
+
|
4
|
+
{% if include.illustration %}
|
5
|
+
{% assign illustration = include.illustration | default: 'boy-girl.svg' %}
|
6
|
+
<div class="empty-img">{% include ui/illustration.html image=illustration height="256" %}</div>
|
7
|
+
{% elsif include.icon-text %}
|
8
|
+
<div class="empty-header">{{ include.icon-text }}</div>
|
9
|
+
{% else %}
|
10
|
+
<div class="empty-icon">{% include ui/icon.html icon=icon %}</div>
|
11
|
+
{% endif %}
|
12
|
+
|
13
|
+
|
14
|
+
<p class="empty-title">{{ include.title | default: "No results found" }}</p>
|
15
|
+
<p class="empty-subtitle text-secondary">
|
16
|
+
{{ include.subtitle | default: "Try adjusting your search or filter to find what you're looking for." }}
|
17
|
+
</p>
|
18
|
+
<div class="empty-action">
|
19
|
+
{% assign button-text = include.button-text | default: "Search again" %}
|
20
|
+
{% assign button-icon = include.button-icon | default: "search" %}
|
21
|
+
{% include ui/button.html text=button-text color="primary" icon=button-icon href="." %}
|
22
|
+
</div>
|
23
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{% assign icon-name = include.icon | default: "question-mark" %}
|
2
|
+
{% assign icon-type = include.type | default: "outline" %}
|
3
|
+
|
4
|
+
{% assign replace-to = "icon" %}
|
5
|
+
|
6
|
+
{% if include.class %}
|
7
|
+
{% assign replace-to = replace-to | append: ' ' | append: include.class %}
|
8
|
+
{% endif %}
|
9
|
+
|
10
|
+
{% if include.color %}
|
11
|
+
{% assign replace-to = replace-to | append: ' text-' | append: include.color %}
|
12
|
+
{% endif %}
|
13
|
+
|
14
|
+
{% if include.inline %}
|
15
|
+
{% assign replace-to = replace-to | append: ' icon-inline' %}
|
16
|
+
{% endif %}
|
17
|
+
|
18
|
+
{% if include['size'] %}
|
19
|
+
{% assign replace-to = replace-to | append: ' icon-' | append: include['size'] %}
|
20
|
+
{% endif %}
|
21
|
+
|
22
|
+
{% assign replace-to = 'class="' | append: replace-to | append: '"' %}
|
23
|
+
|
24
|
+
{% if site.useIconfont %}
|
25
|
+
<i class="icon ti ti-{{ icon-name }}{% if include.color %} {{ include.color }}{% endif %}{% if include.class %} {{ include.class }}{% endif %}"></i>
|
26
|
+
{% elsif site.data.i4y-icons[icon-name] %}
|
27
|
+
{% assign svg-icon = site.data.i4y-icons[icon-name].svg[icon-type] | default: '' %}
|
28
|
+
{% assign svg-icon = svg-icon | replace: '<path stroke="none" d="M0 0h24v24H0z" fill="none"/>', '' %}
|
29
|
+
{{ svg-icon | replace: 'class="icon"', replace-to }}
|
30
|
+
{% else %}
|
31
|
+
{% assign error_message = "Error: Icon '" | append: icon-name | append: "' not found or useIconfont is disabled." %}
|
32
|
+
<div class="error">{{ error_message }}</div>
|
33
|
+
{% endif %}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{% assign image = include.image | replace: '.svg', '' %}
|
2
|
+
{% assign height = include.height | default: 128 %}
|
3
|
+
{% assign width = include.width | default: 128 %}
|
4
|
+
|
5
|
+
{% assign illustration = site.data.i4y-illustrations.autodark[image] %}
|
6
|
+
|
7
|
+
{% unless illustration %}
|
8
|
+
{% assign error_message = "Error: Illustration '" | append: image | append: "' not found in '_data/i4y-illustrations.json'." %}
|
9
|
+
<div class="error">{{ error_message }}</div>
|
10
|
+
{% else %}
|
11
|
+
{% assign replace-to = '<svg class="img' %}
|
12
|
+
{% if include.class %}{% assign replace-to = replace-to | append: ' ' | append: include.class %}{% endif %}
|
13
|
+
{% assign replace-to = replace-to | append: '" ' %}
|
14
|
+
{% assign illustration = illustration | replace: '<svg ', replace-to %}
|
15
|
+
|
16
|
+
{% assign replace-to-dimensions = 'width="' | append: width | append: '" height="' | append: height | append: '"' %}
|
17
|
+
{% assign illustration = illustration | replace: 'width="800" height="600"', replace-to-dimensions %}
|
18
|
+
|
19
|
+
{{ illustration }}
|
20
|
+
{% endunless %}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
{% include head.html %}
|
5
|
+
|
6
|
+
<body{% if layout.body-class or body-class %} class="{% if layout.body-class %} {{ layout.body-class }}{% endif %}{% if body-class %} {{ body-class }}{% endif %}"{% endif %}>
|
7
|
+
|
8
|
+
{{ content }}
|
9
|
+
|
10
|
+
|
11
|
+
<!-- Tabler JS -->
|
12
|
+
<script src="https://cdn.jsdelivr.net/npm/@tabler/core@1.1.1/dist/js/tabler.min.js" defer ></script>
|
13
|
+
|
14
|
+
<!-- Custom Theme JS -->
|
15
|
+
<script src="{{ '/assets/js/theme.js' | relative_url }}" defer></script>
|
16
|
+
</body>
|
17
|
+
</html>
|
data/_layouts/error.html
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
body-class: border-top-wide border-primary
|
4
|
+
---
|
5
|
+
|
6
|
+
<div class="page page-center">
|
7
|
+
<div class="container-tight py-4">
|
8
|
+
{% assign error = errors[page-error] %}
|
9
|
+
{% assign header = error.header | default: 'Oops… You just found an error page' %}
|
10
|
+
{% include ui/empty.html icon="settings" illustration=error.illustration icon-text=error.title title=header subtitle=error.description button-icon="arrow-left" button-text="Take me home" %}
|
11
|
+
</div>
|
12
|
+
</div>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<!-- Header Include -->
|
6
|
+
{% include header-logo.html %}
|
7
|
+
{% include header-navbar.html %}
|
8
|
+
|
9
|
+
<!-- Page Wrapper -->
|
10
|
+
<div class="page-wrapper" role="main">
|
11
|
+
<div class="page-body">
|
12
|
+
<main class="container-xl" role="main" aria-label="Main Content">
|
13
|
+
{{ content }}
|
14
|
+
</main>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<!-- Footer Include -->
|
19
|
+
{% include footer.html %}
|