insights4you-jekyll-theme 0.2.0 → 0.4.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/CHANGELOG.md +110 -0
- data/README.md +114 -32
- data/_data/i4y-colors.json +218 -0
- data/_data/i4y-errors.json +32 -0
- data/_data/i4y-icons.json +1 -0
- data/_data/i4y-illustrations.json +20 -0
- data/_data/i4y-social-media.yml +24 -0
- data/_includes/card/profile.html +42 -0
- data/_includes/layout/footer.html +48 -0
- data/_includes/layout/head.html +79 -0
- data/_includes/layout/navbar-logo.html +137 -0
- data/_includes/layout/navbar.html +82 -0
- data/_includes/ui/button.html +13 -14
- data/_includes/ui/icon.html +24 -26
- data/_includes/ui/spinner.html +2 -0
- data/_includes/utils/banner.html +7 -0
- data/_includes/utils/settings.html +144 -0
- data/_layouts/base.html +63 -0
- data/_layouts/default.html +36 -11
- data/_sass/_bootstrap-components.scss +31 -0
- data/_sass/_bootstrap-config.scss +7 -0
- data/_sass/_bootstrap-override.scss +78 -0
- data/_sass/_config.scss +9 -0
- data/_sass/_core.scss +78 -0
- data/_sass/_debug.scss +49 -0
- data/_sass/_mixins.scss +2 -0
- data/_sass/_props.scss +91 -0
- data/_sass/_utilities-marketing.scss +209 -0
- data/_sass/_utilities.scss +135 -0
- data/_sass/_variables-dark.scss +19 -0
- data/_sass/_variables-marketing.scss +0 -0
- data/_sass/_variables.scss +1001 -0
- data/_sass/bootstrap/LICENSE +21 -0
- data/_sass/bootstrap/README.md +246 -0
- data/_sass/bootstrap/js/index.esm.js +19 -0
- data/_sass/bootstrap/js/index.umd.js +34 -0
- data/_sass/bootstrap/js/src/alert.js +87 -0
- data/_sass/bootstrap/js/src/base-component.js +85 -0
- data/_sass/bootstrap/js/src/button.js +72 -0
- data/_sass/bootstrap/js/src/carousel.js +474 -0
- data/_sass/bootstrap/js/src/collapse.js +297 -0
- data/_sass/bootstrap/js/src/dom/data.js +55 -0
- data/_sass/bootstrap/js/src/dom/event-handler.js +317 -0
- data/_sass/bootstrap/js/src/dom/manipulator.js +71 -0
- data/_sass/bootstrap/js/src/dom/selector-engine.js +126 -0
- data/_sass/bootstrap/js/src/dropdown.js +455 -0
- data/_sass/bootstrap/js/src/modal.js +378 -0
- data/_sass/bootstrap/js/src/offcanvas.js +282 -0
- data/_sass/bootstrap/js/src/popover.js +97 -0
- data/_sass/bootstrap/js/src/scrollspy.js +296 -0
- data/_sass/bootstrap/js/src/tab.js +315 -0
- data/_sass/bootstrap/js/src/toast.js +225 -0
- data/_sass/bootstrap/js/src/tooltip.js +633 -0
- data/_sass/bootstrap/js/src/util/backdrop.js +151 -0
- data/_sass/bootstrap/js/src/util/component-functions.js +35 -0
- data/_sass/bootstrap/js/src/util/config.js +65 -0
- data/_sass/bootstrap/js/src/util/focustrap.js +115 -0
- data/_sass/bootstrap/js/src/util/index.js +306 -0
- data/_sass/bootstrap/js/src/util/sanitizer.js +117 -0
- data/_sass/bootstrap/js/src/util/scrollbar.js +114 -0
- data/_sass/bootstrap/js/src/util/swipe.js +146 -0
- data/_sass/bootstrap/js/src/util/template-factory.js +160 -0
- data/_sass/bootstrap/package.json +184 -0
- data/_sass/bootstrap/scss/_accordion.scss +158 -0
- data/_sass/bootstrap/scss/_alert.scss +68 -0
- data/_sass/bootstrap/scss/_badge.scss +38 -0
- data/_sass/bootstrap/scss/_breadcrumb.scss +40 -0
- data/_sass/bootstrap/scss/_button-group.scss +142 -0
- data/_sass/bootstrap/scss/_buttons.scss +216 -0
- data/_sass/bootstrap/scss/_card.scss +239 -0
- data/_sass/bootstrap/scss/_carousel.scss +236 -0
- data/_sass/bootstrap/scss/_close.scss +63 -0
- data/_sass/bootstrap/scss/_containers.scss +41 -0
- data/_sass/bootstrap/scss/_dropdown.scss +250 -0
- data/_sass/bootstrap/scss/_forms.scss +9 -0
- data/_sass/bootstrap/scss/_functions.scss +302 -0
- data/_sass/bootstrap/scss/_grid.scss +39 -0
- data/_sass/bootstrap/scss/_helpers.scss +12 -0
- data/_sass/bootstrap/scss/_images.scss +42 -0
- data/_sass/bootstrap/scss/_list-group.scss +197 -0
- data/_sass/bootstrap/scss/_maps.scss +174 -0
- data/_sass/bootstrap/scss/_mixins.scss +42 -0
- data/_sass/bootstrap/scss/_modal.scss +236 -0
- data/_sass/bootstrap/scss/_nav.scss +197 -0
- data/_sass/bootstrap/scss/_navbar.scss +289 -0
- data/_sass/bootstrap/scss/_offcanvas.scss +143 -0
- data/_sass/bootstrap/scss/_pagination.scss +109 -0
- data/_sass/bootstrap/scss/_placeholders.scss +51 -0
- data/_sass/bootstrap/scss/_popover.scss +196 -0
- data/_sass/bootstrap/scss/_progress.scss +68 -0
- data/_sass/bootstrap/scss/_reboot.scss +611 -0
- data/_sass/bootstrap/scss/_root.scss +187 -0
- data/_sass/bootstrap/scss/_spinners.scss +85 -0
- data/_sass/bootstrap/scss/_tables.scss +171 -0
- data/_sass/bootstrap/scss/_toasts.scss +73 -0
- data/_sass/bootstrap/scss/_tooltip.scss +119 -0
- data/_sass/bootstrap/scss/_transitions.scss +27 -0
- data/_sass/bootstrap/scss/_type.scss +106 -0
- data/_sass/bootstrap/scss/_utilities.scss +806 -0
- data/_sass/bootstrap/scss/_variables-dark.scss +87 -0
- data/_sass/bootstrap/scss/_variables.scss +1751 -0
- data/_sass/bootstrap/scss/bootstrap-grid.scss +62 -0
- data/_sass/bootstrap/scss/bootstrap-reboot.scss +10 -0
- data/_sass/bootstrap/scss/bootstrap-utilities.scss +19 -0
- data/_sass/bootstrap/scss/bootstrap.scss +52 -0
- data/_sass/bootstrap/scss/forms/_floating-labels.scss +95 -0
- data/_sass/bootstrap/scss/forms/_form-check.scss +189 -0
- data/_sass/bootstrap/scss/forms/_form-control.scss +214 -0
- data/_sass/bootstrap/scss/forms/_form-range.scss +91 -0
- data/_sass/bootstrap/scss/forms/_form-select.scss +80 -0
- data/_sass/bootstrap/scss/forms/_form-text.scss +11 -0
- data/_sass/bootstrap/scss/forms/_input-group.scss +132 -0
- data/_sass/bootstrap/scss/forms/_labels.scss +36 -0
- data/_sass/bootstrap/scss/forms/_validation.scss +12 -0
- data/_sass/bootstrap/scss/helpers/_clearfix.scss +3 -0
- data/_sass/bootstrap/scss/helpers/_color-bg.scss +7 -0
- data/_sass/bootstrap/scss/helpers/_colored-links.scss +30 -0
- data/_sass/bootstrap/scss/helpers/_focus-ring.scss +5 -0
- data/_sass/bootstrap/scss/helpers/_icon-link.scss +25 -0
- data/_sass/bootstrap/scss/helpers/_position.scss +36 -0
- data/_sass/bootstrap/scss/helpers/_ratio.scss +26 -0
- data/_sass/bootstrap/scss/helpers/_stacks.scss +15 -0
- data/_sass/bootstrap/scss/helpers/_stretched-link.scss +15 -0
- data/_sass/bootstrap/scss/helpers/_text-truncation.scss +7 -0
- data/_sass/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
- data/_sass/bootstrap/scss/helpers/_vr.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_alert.scss +18 -0
- data/_sass/bootstrap/scss/mixins/_backdrop.scss +14 -0
- data/_sass/bootstrap/scss/mixins/_banner.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_border-radius.scss +78 -0
- data/_sass/bootstrap/scss/mixins/_box-shadow.scss +18 -0
- data/_sass/bootstrap/scss/mixins/_breakpoints.scss +127 -0
- data/_sass/bootstrap/scss/mixins/_buttons.scss +70 -0
- data/_sass/bootstrap/scss/mixins/_caret.scss +69 -0
- data/_sass/bootstrap/scss/mixins/_clearfix.scss +9 -0
- data/_sass/bootstrap/scss/mixins/_color-mode.scss +21 -0
- data/_sass/bootstrap/scss/mixins/_color-scheme.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_container.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_deprecate.scss +10 -0
- data/_sass/bootstrap/scss/mixins/_forms.scss +163 -0
- data/_sass/bootstrap/scss/mixins/_gradients.scss +47 -0
- data/_sass/bootstrap/scss/mixins/_grid.scss +151 -0
- data/_sass/bootstrap/scss/mixins/_image.scss +16 -0
- data/_sass/bootstrap/scss/mixins/_list-group.scss +26 -0
- data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_pagination.scss +10 -0
- data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
- data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
- data/_sass/bootstrap/scss/mixins/_table-variants.scss +24 -0
- data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_transition.scss +26 -0
- data/_sass/bootstrap/scss/mixins/_utilities.scss +97 -0
- data/_sass/bootstrap/scss/mixins/_visually-hidden.scss +33 -0
- data/_sass/bootstrap/scss/utilities/_api.scss +47 -0
- data/_sass/fonts/_webfonts.scss +15 -0
- data/_sass/helpers/_index.scss +143 -0
- data/_sass/layout/_animations.scss +63 -0
- data/_sass/layout/_core.scss +62 -0
- data/_sass/layout/_dark.scss +77 -0
- data/_sass/layout/_footer.scss +12 -0
- data/_sass/layout/_navbar.scss +392 -0
- data/_sass/layout/_page.scss +169 -0
- data/_sass/layout/_root.scss +64 -0
- data/_sass/marketing/_browser.scss +67 -0
- data/_sass/marketing/_core.scss +8 -0
- data/_sass/marketing/_filters.scss +0 -0
- data/_sass/marketing/_hero.scss +69 -0
- data/_sass/marketing/_pricing.scss +111 -0
- data/_sass/marketing/_sections.scss +124 -0
- data/_sass/marketing/_shape.scss +31 -0
- data/_sass/mixins/_functions.scss +96 -0
- data/_sass/mixins/_mixins.scss +68 -0
- data/_sass/tabler-flags.scss +2 -0
- data/_sass/tabler-marketing.scss +13 -0
- data/_sass/tabler-payments.scss +2 -0
- data/_sass/tabler-props.scss +1 -0
- data/_sass/tabler-socials.scss +2 -0
- data/_sass/tabler-themes.scss +121 -0
- data/_sass/tabler-vendors.scss +16 -0
- data/_sass/tabler.scss +2 -0
- data/_sass/ui/_accordion.scss +177 -0
- data/_sass/ui/_alerts.scss +99 -0
- data/_sass/ui/_avatars.scss +145 -0
- data/_sass/ui/_badges.scss +113 -0
- data/_sass/ui/_breadcrumbs.scss +50 -0
- data/_sass/ui/_button-group.scss +16 -0
- data/_sass/ui/_buttons.scss +261 -0
- data/_sass/ui/_calendars.scss +104 -0
- data/_sass/ui/_cards.scss +594 -0
- data/_sass/ui/_carousel.scss +68 -0
- data/_sass/ui/_charts.scss +61 -0
- data/_sass/ui/_chat.scss +38 -0
- data/_sass/ui/_chips.scss +0 -0
- data/_sass/ui/_close.scss +60 -0
- data/_sass/ui/_datagrid.scss +17 -0
- data/_sass/ui/_dropdowns.scss +120 -0
- data/_sass/ui/_empty.scss +60 -0
- data/_sass/ui/_flags.scss +31 -0
- data/_sass/ui/_forms.scss +241 -0
- data/_sass/ui/_grid.scss +115 -0
- data/_sass/ui/_icons.scss +72 -0
- data/_sass/ui/_images.scss +19 -0
- data/_sass/ui/_legend.scss +12 -0
- data/_sass/ui/_lists.scss +124 -0
- data/_sass/ui/_loaders.scss +72 -0
- data/_sass/ui/_login.scss +3 -0
- data/_sass/ui/_markdown.scss +43 -0
- data/_sass/ui/_modals.scss +67 -0
- data/_sass/ui/_nav.scss +96 -0
- data/_sass/ui/_offcanvas.scss +17 -0
- data/_sass/ui/_pagination.scss +58 -0
- data/_sass/ui/_payments.scss +28 -0
- data/_sass/ui/_placeholder.scss +9 -0
- data/_sass/ui/_popovers.scss +2 -0
- data/_sass/ui/_progress.scss +107 -0
- data/_sass/ui/_ribbons.scss +157 -0
- data/_sass/ui/_segmented.scss +101 -0
- data/_sass/ui/_signature.scss +15 -0
- data/_sass/ui/_social.scss +52 -0
- data/_sass/ui/_stars.scss +13 -0
- data/_sass/ui/_status.scss +163 -0
- data/_sass/ui/_steps.scss +156 -0
- data/_sass/ui/_switch-icon.scss +211 -0
- data/_sass/ui/_tables.scss +177 -0
- data/_sass/ui/_tags.scss +57 -0
- data/_sass/ui/_timeline.scss +61 -0
- data/_sass/ui/_toasts.scss +18 -0
- data/_sass/ui/_toolbar.scss +10 -0
- data/_sass/ui/_tracking.scss +29 -0
- data/_sass/ui/_type.scss +268 -0
- data/_sass/ui/forms/_form-check.scss +91 -0
- data/_sass/ui/forms/_form-colorinput.scss +54 -0
- data/_sass/ui/forms/_form-custom.scss +28 -0
- data/_sass/ui/forms/_form-icon.scss +35 -0
- data/_sass/ui/forms/_form-imagecheck.scss +105 -0
- data/_sass/ui/forms/_form-selectgroup.scss +153 -0
- data/_sass/ui/forms/_validation.scss +13 -0
- data/_sass/ui/typo/_hr.scss +77 -0
- data/_sass/utils/_background.scss +15 -0
- data/_sass/utils/_colors.scss +100 -0
- data/_sass/utils/_opacity.scss +7 -0
- data/_sass/utils/_scroll.scss +47 -0
- data/_sass/utils/_shadow.scss +9 -0
- data/_sass/utils/_sizing.scss +6 -0
- data/_sass/utils/_text.scss +15 -0
- data/_sass/vendors/_apexcharts.scss +48 -0
- data/_sass/vendors/_coloris.scss +72 -0
- data/_sass/vendors/_dropzone.scss +27 -0
- data/_sass/vendors/_fslightbox.scss +13 -0
- data/_sass/vendors/_jsvectormap.scss +47 -0
- data/_sass/vendors/_litepicker.scss +69 -0
- data/_sass/vendors/_nouislider.scss +49 -0
- data/_sass/vendors/_plyr.scss +3 -0
- data/_sass/vendors/_stars-rating.scss +22 -0
- data/_sass/vendors/_tinymce.scss +34 -0
- data/_sass/vendors/_tom-select.scss +81 -0
- data/_sass/vendors/_turbo.scss +3 -0
- data/_sass/vendors/_typed.scss +4 -0
- data/_sass/vendors/_wysiwyg.scss +34 -0
- data/assets/css/main.scss +10 -0
- data/assets/images/i4y-logo.jpg +0 -0
- data/assets/images/preview-dark.png +0 -0
- data/assets/js/custom.js +175 -0
- data/assets/js/custom.min.js +1 -0
- data/assets/js/theme.js +11 -30
- data/assets/js/theme.min.js +12 -0
- data/insights4you-jekyll-theme.gemspec +93 -0
- metadata +393 -25
- data/_includes/footer.html +0 -45
- data/_includes/head.html +0 -63
- data/_includes/header-logo.html +0 -179
- data/_includes/header-navbar.html +0 -69
- data/_includes/header-svg.html +0 -39
- data/_layouts/home.html +0 -19
- data/assets/css/theme.min.css +0 -90
@@ -0,0 +1,144 @@
|
|
1
|
+
<div class="settings">
|
2
|
+
<!-- Settings Toggle Button -->
|
3
|
+
<a href="#" class="btn btn-floating btn-icon btn-primary" data-bs-toggle="offcanvas" data-bs-target="#offcanvasSettings" aria-controls="offcanvasSettings" aria-expanded="false">
|
4
|
+
{% include ui/icon.html icon="brush" %}
|
5
|
+
</a>
|
6
|
+
|
7
|
+
<!-- Settings Panel -->
|
8
|
+
<form class="offcanvas offcanvas-start offcanvas-narrow" tabindex="-1" id="offcanvasSettings" aria-labelledby="offcanvasSettingsLabel">
|
9
|
+
<!-- Header -->
|
10
|
+
<div class="offcanvas-header">
|
11
|
+
<h2 class="offcanvas-title" id="offcanvasSettingsLabel">Theme Builder</h2>
|
12
|
+
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<!-- Body -->
|
16
|
+
<div class="offcanvas-body d-flex flex-column">
|
17
|
+
<div>
|
18
|
+
<!-- Color Mode -->
|
19
|
+
<div class="mb-4">
|
20
|
+
<label class="form-label" for="colorMode">Color mode</label>
|
21
|
+
<p class="form-hint" id="colorModeHint">Choose the color mode for your app.</p>
|
22
|
+
{% assign modes = 'light,dark' | split: ',' %}
|
23
|
+
{% for mode in modes %}
|
24
|
+
<label class="form-check">
|
25
|
+
<div class="form-selectgroup-item">
|
26
|
+
<input type="radio"
|
27
|
+
name="theme"
|
28
|
+
value="{{ mode }}"
|
29
|
+
class="form-check-input"
|
30
|
+
id="theme-{{ mode }}"
|
31
|
+
aria-describedby="colorModeHint"
|
32
|
+
{% if mode == 'light' %}checked{% endif %}>
|
33
|
+
<div class="form-check-label">{{ mode | capitalize }}</div>
|
34
|
+
</div>
|
35
|
+
</label>
|
36
|
+
{% endfor %}
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<!-- Color Scheme -->
|
40
|
+
<div class="mb-4">
|
41
|
+
<label class="form-label" for="colorScheme">Color scheme</label>
|
42
|
+
<p class="form-hint" id="colorSchemeHint">The perfect color mode for your app.</p>
|
43
|
+
<div class="row g-2">
|
44
|
+
{% for color in site.data.i4y-colors.base %}
|
45
|
+
<div class="col-auto">
|
46
|
+
<label class="form-colorinput">
|
47
|
+
<input name="theme-primary"
|
48
|
+
type="radio"
|
49
|
+
value="{{ color.name }}"
|
50
|
+
class="form-colorinput-input"
|
51
|
+
id="theme-primary-{{ color.name }}"
|
52
|
+
aria-describedby="colorSchemeHint"
|
53
|
+
{% if color.name == 'blue' %}checked{% endif %}>
|
54
|
+
<span class="form-colorinput-color" style="background-color: {{ color.value }}"></span>
|
55
|
+
</label>
|
56
|
+
</div>
|
57
|
+
{% endfor %}
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
|
61
|
+
<!-- Font Family -->
|
62
|
+
<div class="mb-4">
|
63
|
+
<label class="form-label" for="fontFamily">Font family</label>
|
64
|
+
<p class="form-hint" id="fontFamilyHint">Choose the font family that fits your app.</p>
|
65
|
+
<div>
|
66
|
+
{% assign fonts = 'sans-serif,serif,monospace,comic' | split: ',' %}
|
67
|
+
{% for font in fonts %}
|
68
|
+
<label class="form-check">
|
69
|
+
<div class="form-selectgroup-item">
|
70
|
+
<input type="radio"
|
71
|
+
name="theme-font"
|
72
|
+
value="{{ font }}"
|
73
|
+
class="form-check-input"
|
74
|
+
id="theme-font-{{ font }}"
|
75
|
+
aria-describedby="fontFamilyHint"
|
76
|
+
{% if font == 'sans-serif' %}checked{% endif %}>
|
77
|
+
<div class="form-check-label">{{ font | capitalize }}</div>
|
78
|
+
</div>
|
79
|
+
</label>
|
80
|
+
{% endfor %}
|
81
|
+
</div>
|
82
|
+
</div>
|
83
|
+
|
84
|
+
<!-- Theme Base -->
|
85
|
+
<div class="mb-4">
|
86
|
+
<label class="form-label" for="themeBase">Theme base</label>
|
87
|
+
<p class="form-hint" id="themeBaseHint">Choose the gray shade for your app.</p>
|
88
|
+
<div>
|
89
|
+
{% assign bases = 'slate,gray,zinc,neutral,stone' | split: ',' %}
|
90
|
+
{% for base in bases %}
|
91
|
+
<label class="form-check">
|
92
|
+
<div class="form-selectgroup-item">
|
93
|
+
<input type="radio"
|
94
|
+
name="theme-base"
|
95
|
+
value="{{ base }}"
|
96
|
+
class="form-check-input"
|
97
|
+
id="theme-base-{{ base }}"
|
98
|
+
aria-describedby="themeBaseHint"
|
99
|
+
{% if base == 'gray' %}checked{% endif %}>
|
100
|
+
<div class="form-check-label">{{ base | capitalize }}</div>
|
101
|
+
</div>
|
102
|
+
</label>
|
103
|
+
{% endfor %}
|
104
|
+
</div>
|
105
|
+
</div>
|
106
|
+
|
107
|
+
<!-- Corner Radius -->
|
108
|
+
<div class="mb-4">
|
109
|
+
<label class="form-label" for="cornerRadius">Corner Radius</label>
|
110
|
+
<p class="form-hint" id="cornerRadiusHint">Choose the border radius factor for your app.</p>
|
111
|
+
<div>
|
112
|
+
{% assign radiuses = '0,0.5,1,1.5,2' | split: ',' %}
|
113
|
+
{% for radius in radiuses %}
|
114
|
+
<label class="form-check">
|
115
|
+
<div class="form-selectgroup-item">
|
116
|
+
<input type="radio"
|
117
|
+
name="theme-radius"
|
118
|
+
value="{{ radius }}"
|
119
|
+
class="form-check-input"
|
120
|
+
id="theme-radius-{{ radius }}"
|
121
|
+
aria-describedby="cornerRadiusHint"
|
122
|
+
{% if radius == "1" %}checked{% endif %}>
|
123
|
+
<div class="form-check-label">{{ radius }}</div>
|
124
|
+
</div>
|
125
|
+
</label>
|
126
|
+
{% endfor %}
|
127
|
+
</div>
|
128
|
+
</div>
|
129
|
+
</div>
|
130
|
+
|
131
|
+
<!-- Action Buttons -->
|
132
|
+
<div class="mt-auto space-y">
|
133
|
+
<button type="button" class="btn w-100" id="reset-changes">
|
134
|
+
{% include ui/icon.html icon="rotate" %}
|
135
|
+
Reset changes
|
136
|
+
</button>
|
137
|
+
<a href="#" class="btn btn-primary w-100" data-bs-dismiss="offcanvas">
|
138
|
+
{% include ui/icon.html icon="settings" %}
|
139
|
+
Save settings
|
140
|
+
</a>
|
141
|
+
</div>
|
142
|
+
</div>
|
143
|
+
</form>
|
144
|
+
</div>
|
data/_layouts/base.html
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
{% include utils/banner.html %}
|
2
|
+
{% assign env = jekyll.environment | default: "development" %}
|
3
|
+
{% assign layout-dark = page.layout-dark | default: site.layout-dark %}
|
4
|
+
{% if site.github.build_revision %}
|
5
|
+
{% assign cache_bust = site.github.build_revision %}
|
6
|
+
{% else %}
|
7
|
+
{% assign cache_bust = site.time | date: '%Y%m%d%H%M%S' %}
|
8
|
+
{% endif %}
|
9
|
+
|
10
|
+
{% assign title = page.title | default: site.title | escape %}
|
11
|
+
{% assign description = page.description | default: site.description | strip_html | strip_newlines | truncate: 160 %}
|
12
|
+
{% assign image = page.image | default: site.author.image | default: "/assets/images/default-image.jpg" %}
|
13
|
+
|
14
|
+
{% if page.name and page.collection == 'projects' %}
|
15
|
+
{% assign title = page.name | escape %}
|
16
|
+
{% endif %}
|
17
|
+
|
18
|
+
<!DOCTYPE html>
|
19
|
+
<html lang="{{ page.lang | default: site.lang | default: 'en' }}"
|
20
|
+
{% if layout-rtl %}dir="rtl"{% endif %}
|
21
|
+
{% if layout.html-class or page.html-class %}class="{{ page.html-class | default: layout.html-class }}"{% endif %}>
|
22
|
+
|
23
|
+
{% include layout/head.html %}
|
24
|
+
|
25
|
+
<body class="{% if layout-dark %}theme-dark{% endif %}
|
26
|
+
{% if layout.body-class %}{{ layout.body-class }}{% endif %}
|
27
|
+
{% if body-class %}{{ body-class }}{% endif %}">
|
28
|
+
|
29
|
+
<!-- Main Content -->
|
30
|
+
{{ content }}
|
31
|
+
|
32
|
+
|
33
|
+
<!-- Footer -->
|
34
|
+
|
35
|
+
|
36
|
+
<!-- Settings -->
|
37
|
+
{% include utils/settings.html %}
|
38
|
+
|
39
|
+
<!-- Theme Script -->
|
40
|
+
{% if env == "development" %}
|
41
|
+
<script src="{{ '/assets/js/theme.js' | relative_url }}?v={{ cache_bust }}"></script>
|
42
|
+
<script src="{{ '/assets/js/custom.js' | relative_url }}?v={{ cache_bust }}"></script>
|
43
|
+
{% else %}
|
44
|
+
<script src="{{ '/assets/js/theme.min.js' | relative_url }}?v={{ cache_bust }}"></script>
|
45
|
+
<script src="{{ '/assets/js/custom.min.js' | relative_url }}?v={{ cache_bust }}"></script>
|
46
|
+
{% endif %}
|
47
|
+
|
48
|
+
<!-- Page-specific Scripts -->
|
49
|
+
{% if page.custom_js %}
|
50
|
+
{% for js_file in page.custom_js %}
|
51
|
+
<script src="{{ '/assets/js/' | append: js_file | append: '.js' | relative_url }}?v={{ cache_bust }}"></script>
|
52
|
+
{% endfor %}
|
53
|
+
{% endif %}
|
54
|
+
|
55
|
+
<!-- Noscript Fallback -->
|
56
|
+
<noscript>
|
57
|
+
<div class="alert alert-warning" role="alert">
|
58
|
+
This website works best with JavaScript enabled.
|
59
|
+
</div>
|
60
|
+
</noscript>
|
61
|
+
|
62
|
+
</body>
|
63
|
+
</html>
|
data/_layouts/default.html
CHANGED
@@ -1,17 +1,42 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
---
|
2
|
+
layout: base
|
3
|
+
body-class: border-top-wide border-primary
|
4
|
+
---
|
3
5
|
|
4
|
-
{%
|
6
|
+
{% assign no-container = page.no-container | default: layout.no-container %}
|
7
|
+
{% assign layout-wrapper-full = page.layout-wrapper-full | default: layout.layout-wrapper-full %}
|
5
8
|
|
6
|
-
<
|
9
|
+
<div class="page">
|
7
10
|
|
8
|
-
|
11
|
+
<div class="page-wrapper{% if layout-wrapper-full %} page-wrapper-full{% endif %}">
|
9
12
|
|
13
|
+
{% include layout/navbar.html %}
|
10
14
|
|
11
|
-
|
12
|
-
|
15
|
+
<!-- BEGIN PAGE BODY -->
|
16
|
+
<div class="page-body">
|
17
|
+
{% if layout-wrapper-full %}
|
18
|
+
<div class="row justify-content-center">
|
19
|
+
<div class="col-lg-11 col-xl-10">
|
20
|
+
<div class="card card-lg">
|
21
|
+
<div class="card-body markdown">
|
22
|
+
{{ content }}
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
{% else %}
|
28
|
+
{% unless no-container %}
|
29
|
+
<div class="container-xl{% if page-container-centered %} my-auto{% endif %}{% if page-container-class %} {{ page-container-class }}{% endif %}">
|
30
|
+
{% endunless %}
|
31
|
+
{{ content }}
|
32
|
+
{% unless no-container %}
|
33
|
+
</div>
|
34
|
+
{% endunless %}
|
13
35
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
36
|
+
{% endif %}
|
37
|
+
</div>
|
38
|
+
<!-- END PAGE BODY -->
|
39
|
+
|
40
|
+
{% include layout/footer.html %}
|
41
|
+
</div>
|
42
|
+
</div>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// Layout & components
|
2
|
+
@import "bootstrap/scss/root";
|
3
|
+
@import "bootstrap/scss/reboot";
|
4
|
+
@import "bootstrap/scss/type";
|
5
|
+
@import "bootstrap/scss/images";
|
6
|
+
@import "bootstrap/scss/containers";
|
7
|
+
@import "bootstrap/scss/grid";
|
8
|
+
@import "bootstrap/scss/tables";
|
9
|
+
@import "bootstrap/scss/forms";
|
10
|
+
@import "bootstrap/scss/buttons";
|
11
|
+
@import "bootstrap/scss/transitions";
|
12
|
+
@import "bootstrap/scss/dropdown";
|
13
|
+
@import "bootstrap/scss/button-group";
|
14
|
+
@import "bootstrap/scss/nav";
|
15
|
+
@import "bootstrap/scss/navbar";
|
16
|
+
@import "bootstrap/scss/card";
|
17
|
+
@import "bootstrap/scss/breadcrumb";
|
18
|
+
@import "bootstrap/scss/pagination";
|
19
|
+
@import "bootstrap/scss/progress";
|
20
|
+
@import "bootstrap/scss/list-group";
|
21
|
+
@import "bootstrap/scss/toasts";
|
22
|
+
@import "bootstrap/scss/modal";
|
23
|
+
@import "bootstrap/scss/tooltip";
|
24
|
+
@import "bootstrap/scss/popover";
|
25
|
+
@import "bootstrap/scss/carousel";
|
26
|
+
@import "bootstrap/scss/spinners";
|
27
|
+
@import "bootstrap/scss/offcanvas";
|
28
|
+
@import "bootstrap/scss/placeholders";
|
29
|
+
|
30
|
+
// Utilities
|
31
|
+
@import "bootstrap/scss/utilities/api";
|
@@ -0,0 +1,78 @@
|
|
1
|
+
@mixin caret($direction: down) {
|
2
|
+
$selector: "after";
|
3
|
+
|
4
|
+
@if $direction == "left" {
|
5
|
+
$selector: "before";
|
6
|
+
}
|
7
|
+
|
8
|
+
&:#{$selector} {
|
9
|
+
content: "";
|
10
|
+
display: inline-block;
|
11
|
+
vertical-align: $caret-vertical-align;
|
12
|
+
width: $caret-width;
|
13
|
+
height: $caret-width;
|
14
|
+
border-bottom: 1px var(--#{$prefix}border-style);
|
15
|
+
border-left: 1px var(--#{$prefix}border-style);
|
16
|
+
margin-right: 0.1em;
|
17
|
+
|
18
|
+
@if $direction != "left" {
|
19
|
+
margin-left: $caret-spacing;
|
20
|
+
} @else {
|
21
|
+
margin-right: $caret-spacing;
|
22
|
+
}
|
23
|
+
|
24
|
+
@if $direction == down {
|
25
|
+
transform: rotate(-45deg);
|
26
|
+
} @else if $direction == up {
|
27
|
+
transform: rotate(135deg);
|
28
|
+
} @else if $direction == end {
|
29
|
+
transform: rotate(-135deg);
|
30
|
+
} @else {
|
31
|
+
transform: rotate(45deg);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
@if $direction == "left" {
|
36
|
+
&:after {
|
37
|
+
content: none;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
@mixin alert-variant($background: null, $border: null, $color: null) {
|
43
|
+
// Override bootstrap core
|
44
|
+
}
|
45
|
+
|
46
|
+
@mixin button-variant(
|
47
|
+
$background: null,
|
48
|
+
$border: null,
|
49
|
+
$color: null,
|
50
|
+
$hover-background: null,
|
51
|
+
$hover-border: null,
|
52
|
+
$hover-color: null,
|
53
|
+
$active-background: null,
|
54
|
+
$active-border: null,
|
55
|
+
$active-color: null,
|
56
|
+
$disabled-background: null,
|
57
|
+
$disabled-border: null,
|
58
|
+
$disabled-color: null
|
59
|
+
) {
|
60
|
+
// Override bootstrap core
|
61
|
+
}
|
62
|
+
|
63
|
+
@mixin button-outline-variant(
|
64
|
+
$color: null,
|
65
|
+
$color-hover: null,
|
66
|
+
$active-background: null,
|
67
|
+
$active-border: null,
|
68
|
+
$active-color: null
|
69
|
+
) {
|
70
|
+
// Override bootstrap core
|
71
|
+
}
|
72
|
+
|
73
|
+
//
|
74
|
+
// TODO: remove when https://github.com/twbs/bootstrap/pull/37425/ will be released
|
75
|
+
//
|
76
|
+
@function opaque($background, $foreground) {
|
77
|
+
@return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%);
|
78
|
+
}
|
data/_sass/_config.scss
ADDED
data/_sass/_core.scss
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
@import "config";
|
2
|
+
@import "bootstrap-components";
|
3
|
+
|
4
|
+
@import "props";
|
5
|
+
|
6
|
+
@import "fonts/webfonts";
|
7
|
+
|
8
|
+
@import "layout/root";
|
9
|
+
@import "layout/animations";
|
10
|
+
@import "layout/core";
|
11
|
+
@import "layout/navbar";
|
12
|
+
@import "layout/page";
|
13
|
+
@import "layout/footer";
|
14
|
+
@import "layout/dark";
|
15
|
+
|
16
|
+
@import "ui/accordion";
|
17
|
+
@import "ui/alerts";
|
18
|
+
@import "ui/avatars";
|
19
|
+
@import "ui/badges";
|
20
|
+
@import "ui/breadcrumbs";
|
21
|
+
@import "ui/buttons";
|
22
|
+
@import "ui/button-group";
|
23
|
+
@import "ui/calendars";
|
24
|
+
@import "ui/carousel";
|
25
|
+
@import "ui/cards";
|
26
|
+
@import "ui/close";
|
27
|
+
@import "ui/dropdowns";
|
28
|
+
@import "ui/datagrid";
|
29
|
+
@import "ui/empty";
|
30
|
+
@import "ui/grid";
|
31
|
+
@import "ui/icons";
|
32
|
+
@import "ui/images";
|
33
|
+
@import "ui/forms";
|
34
|
+
@import "ui/forms/form-icon";
|
35
|
+
@import "ui/forms/form-colorinput";
|
36
|
+
@import "ui/forms/form-imagecheck";
|
37
|
+
@import "ui/forms/form-selectgroup";
|
38
|
+
@import "ui/forms/form-custom";
|
39
|
+
@import "ui/forms/form-check";
|
40
|
+
@import "ui/forms/validation";
|
41
|
+
@import "ui/legend";
|
42
|
+
@import "ui/lists";
|
43
|
+
@import "ui/loaders";
|
44
|
+
@import "ui/login";
|
45
|
+
@import "ui/modals";
|
46
|
+
@import "ui/nav";
|
47
|
+
@import "ui/stars";
|
48
|
+
@import "ui/pagination";
|
49
|
+
@import "ui/popovers";
|
50
|
+
@import "ui/progress";
|
51
|
+
@import "ui/ribbons";
|
52
|
+
@import "ui/markdown";
|
53
|
+
@import "ui/placeholder";
|
54
|
+
@import "ui/segmented";
|
55
|
+
@import "ui/steps";
|
56
|
+
@import "ui/status";
|
57
|
+
@import "ui/switch-icon";
|
58
|
+
@import "ui/tables";
|
59
|
+
@import "ui/tags";
|
60
|
+
@import "ui/toasts";
|
61
|
+
@import "ui/toolbar";
|
62
|
+
@import "ui/tracking";
|
63
|
+
@import "ui/timeline";
|
64
|
+
@import "ui/type";
|
65
|
+
@import "ui/charts";
|
66
|
+
@import "ui/offcanvas";
|
67
|
+
@import "ui/chat";
|
68
|
+
@import "ui/signature";
|
69
|
+
|
70
|
+
@import "helpers/index";
|
71
|
+
|
72
|
+
@import "utils/background";
|
73
|
+
@import "utils/colors";
|
74
|
+
@import "utils/scroll";
|
75
|
+
@import "utils/sizing";
|
76
|
+
@import "utils/opacity";
|
77
|
+
@import "utils/shadow";
|
78
|
+
@import "utils/text";
|
data/_sass/_debug.scss
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
$debug: false;
|
2
|
+
|
3
|
+
@if $debug {
|
4
|
+
$colors: (
|
5
|
+
"blue": $blue,
|
6
|
+
"azure": $azure,
|
7
|
+
"indigo": $indigo,
|
8
|
+
"purple": $purple,
|
9
|
+
"pink": $pink,
|
10
|
+
"red": $red,
|
11
|
+
"orange": $orange,
|
12
|
+
"yellow": $yellow,
|
13
|
+
"lime": $lime,
|
14
|
+
"green": $green,
|
15
|
+
"teal": $teal,
|
16
|
+
"cyan": $cyan,
|
17
|
+
);
|
18
|
+
|
19
|
+
@each $name, $color in $colors {
|
20
|
+
@debug ("#{$name}: '#{$color}'");
|
21
|
+
@debug ("#{$name}-100: '#{tint-color($color, 8)}'");
|
22
|
+
@debug ("#{$name}-200: '#{tint-color($color, 6)}'");
|
23
|
+
@debug ("#{$name}-300: '#{tint-color($color, 4)}'");
|
24
|
+
@debug ("#{$name}-400: '#{tint-color($color, 2)}'");
|
25
|
+
@debug ("#{$name}-500: '#{$color}'");
|
26
|
+
@debug ("#{$name}-600: '#{shade-color($color, 2)}'");
|
27
|
+
@debug ("#{$name}-700: '#{shade-color($color, 4)}'");
|
28
|
+
@debug ("#{$name}-800: '#{shade-color($color, 6)}'");
|
29
|
+
@debug ("#{$name}-900: '#{shade-color($color, 8)}'");
|
30
|
+
}
|
31
|
+
|
32
|
+
@debug ("gray: '#{$gray-500}'");
|
33
|
+
@debug ("gray-100: '#{$gray-100}'");
|
34
|
+
@debug ("gray-200: '#{$gray-200}'");
|
35
|
+
@debug ("gray-300: '#{$gray-300}'");
|
36
|
+
@debug ("gray-400: '#{$gray-400}'");
|
37
|
+
@debug ("gray-500: '#{$gray-500}'");
|
38
|
+
@debug ("gray-600: '#{$gray-600}'");
|
39
|
+
@debug ("gray-700: '#{$gray-700}'");
|
40
|
+
@debug ("gray-800: '#{$gray-800}'");
|
41
|
+
@debug ("gray-900: '#{$gray-900}'");
|
42
|
+
|
43
|
+
@debug ("border-color: '#{$border-color}'");
|
44
|
+
@debug ("text-secondary: '#{$text-secondary}'");
|
45
|
+
|
46
|
+
@each $name, $color in $social-colors {
|
47
|
+
@debug ("#{$name}: '#{$color}'");
|
48
|
+
}
|
49
|
+
}
|
data/_sass/_mixins.scss
ADDED
data/_sass/_props.scss
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
@import "config";
|
2
|
+
|
3
|
+
:root,
|
4
|
+
:host {
|
5
|
+
/** Fonts */
|
6
|
+
--#{$prefix}font-monospace: #{$font-family-monospace};
|
7
|
+
--#{$prefix}font-sans-serif: #{$font-family-sans-serif};
|
8
|
+
--#{$prefix}font-serif: #{$font-family-serif};
|
9
|
+
--#{$prefix}font-comic: #{$font-family-comic};
|
10
|
+
|
11
|
+
/** Gray colors */
|
12
|
+
--#{$prefix}gray-50: #{$gray-50};
|
13
|
+
--#{$prefix}gray-100: #{$gray-100};
|
14
|
+
--#{$prefix}gray-200: #{$gray-200};
|
15
|
+
--#{$prefix}gray-300: #{$gray-300};
|
16
|
+
--#{$prefix}gray-400: #{$gray-400};
|
17
|
+
--#{$prefix}gray-500: #{$gray-500};
|
18
|
+
--#{$prefix}gray-600: #{$gray-600};
|
19
|
+
--#{$prefix}gray-700: #{$gray-700};
|
20
|
+
--#{$prefix}gray-800: #{$gray-800};
|
21
|
+
--#{$prefix}gray-900: #{$gray-900};
|
22
|
+
--#{$prefix}gray-950: #{$gray-950};
|
23
|
+
|
24
|
+
--#{$prefix}white: #{$white};
|
25
|
+
--#{$prefix}black: #{$black};
|
26
|
+
--#{$prefix}dark: #{$dark};
|
27
|
+
--#{$prefix}light: #{$light};
|
28
|
+
|
29
|
+
/** Brand colors */
|
30
|
+
--#{$prefix}brand: #{$primary};
|
31
|
+
|
32
|
+
/** Theme colors */
|
33
|
+
@each $name, $color in map-merge($theme-colors, $social-colors) {
|
34
|
+
--#{$prefix}#{$name}: #{$color};
|
35
|
+
--#{$prefix}#{$name}-rgb: #{to-rgb($color)};
|
36
|
+
--#{$prefix}#{$name}-fg: #{if(contrast-ratio($color) > $min-contrast-ratio, var(--#{$prefix}light), var(--#{$prefix}dark))};
|
37
|
+
--#{$prefix}#{$name}-darken: #{theme-color-darker($color)};
|
38
|
+
--#{$prefix}#{$name}-darken: color-mix(in oklab, var(--#{$prefix}#{$name}), transparent 20%);
|
39
|
+
--#{$prefix}#{$name}-lt: #{theme-color-lighter($color)};
|
40
|
+
--#{$prefix}#{$name}-lt: color-mix(in oklab, var(--#{$prefix}#{$name}) 10%, transparent);
|
41
|
+
--#{$prefix}#{$name}-200: color-mix(in oklab, var(--#{$prefix}#{$name}) 20%, transparent);
|
42
|
+
--#{$prefix}#{$name}-lt-rgb: #{to-rgb(theme-color-lighter($color))};
|
43
|
+
}
|
44
|
+
|
45
|
+
/** Social colors */
|
46
|
+
@each $name, $color in $social-colors {
|
47
|
+
--#{$prefix}#{$name}: #{$color};
|
48
|
+
}
|
49
|
+
|
50
|
+
/** Spacers */
|
51
|
+
@each $name, $value in $spacers {
|
52
|
+
--#{$prefix}spacer-#{$name}: #{$value};
|
53
|
+
}
|
54
|
+
|
55
|
+
/** Font sizes */
|
56
|
+
@each $name, $value in $font-weights {
|
57
|
+
--#{$prefix}font-weight-#{$name}: #{$value};
|
58
|
+
}
|
59
|
+
|
60
|
+
@each $name, $value in $font-sizes {
|
61
|
+
--#{$prefix}font-size-h#{$name}: #{$value};
|
62
|
+
}
|
63
|
+
|
64
|
+
@each $name, $value in $line-heights {
|
65
|
+
--#{$prefix}line-height-#{$name}: #{$value};
|
66
|
+
}
|
67
|
+
|
68
|
+
/** Shadows */
|
69
|
+
@each $name, $value in $box-shadows {
|
70
|
+
--#{$prefix}shadow#{if($name, '-#{$name}', '')}: #{$value};
|
71
|
+
}
|
72
|
+
|
73
|
+
/** Border radiuses */
|
74
|
+
--#{$prefix}border-radius-scale: 1;
|
75
|
+
@each $name, $value in $border-radiuses {
|
76
|
+
@if $name {
|
77
|
+
--#{$prefix}border-radius-#{$name}: calc(#{$value} * var(--#{$prefix}border-radius-scale, 1));
|
78
|
+
} @else {
|
79
|
+
--#{$prefix}border-radius: #{$value};
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
/** Backdrops */
|
84
|
+
--#{$prefix}backdrop-opacity: #{$backdrop-opacity};
|
85
|
+
--#{$prefix}backdrop-bg: var(--#{$prefix}bg-surface-dark);
|
86
|
+
@each $name, $value in $backdrops {
|
87
|
+
--#{$prefix}backdrop-bg#{if($name, '-#{$name}', '')}: #{$value};
|
88
|
+
}
|
89
|
+
--#{$prefix}backdrop-blur: #{$backdrop-blur};
|
90
|
+
--#{$prefix}backdrop-filter: blur(var(--#{$prefix}backdrop-blur));
|
91
|
+
}
|