insights4you-jekyll-theme 0.2.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +136 -0
  3. data/README.md +201 -30
  4. data/_data/i4y-colors.json +218 -0
  5. data/_data/i4y-social-media.yml +0 -2
  6. data/_data/i4y-strings.yml +32 -0
  7. data/_includes/layout/footer.html +48 -0
  8. data/_includes/{head.html → layout/head.html} +40 -20
  9. data/_includes/layout/navbar-logo.html +137 -0
  10. data/_includes/layout/navbar.html +82 -0
  11. data/_includes/ui/button.html +13 -14
  12. data/_includes/ui/empty.html +3 -3
  13. data/_includes/ui/icon.html +24 -26
  14. data/_includes/ui/spinner.html +2 -0
  15. data/_includes/utils/banner.html +7 -0
  16. data/_includes/utils/comments.html +34 -0
  17. data/_includes/utils/projects.html +250 -0
  18. data/_includes/utils/search.html +33 -0
  19. data/_includes/utils/settings.html +174 -0
  20. data/_layouts/base.html +68 -0
  21. data/_layouts/default.html +39 -16
  22. data/_layouts/error.html +9 -6
  23. data/_layouts/post.html +19 -12
  24. data/_sass/_bootstrap-components.scss +31 -0
  25. data/_sass/_bootstrap-config.scss +7 -0
  26. data/_sass/_bootstrap-override.scss +78 -0
  27. data/_sass/_config.scss +9 -0
  28. data/_sass/_core.scss +78 -0
  29. data/_sass/_debug.scss +49 -0
  30. data/_sass/_mixins.scss +2 -0
  31. data/_sass/_props.scss +91 -0
  32. data/_sass/_utilities-marketing.scss +209 -0
  33. data/_sass/_utilities.scss +135 -0
  34. data/_sass/_variables-dark.scss +19 -0
  35. data/_sass/_variables-marketing.scss +0 -0
  36. data/_sass/_variables.scss +1001 -0
  37. data/_sass/bootstrap/LICENSE +21 -0
  38. data/_sass/bootstrap/scss/_accordion.scss +158 -0
  39. data/_sass/bootstrap/scss/_alert.scss +68 -0
  40. data/_sass/bootstrap/scss/_badge.scss +38 -0
  41. data/_sass/bootstrap/scss/_breadcrumb.scss +40 -0
  42. data/_sass/bootstrap/scss/_button-group.scss +142 -0
  43. data/_sass/bootstrap/scss/_buttons.scss +216 -0
  44. data/_sass/bootstrap/scss/_card.scss +239 -0
  45. data/_sass/bootstrap/scss/_carousel.scss +236 -0
  46. data/_sass/bootstrap/scss/_close.scss +63 -0
  47. data/_sass/bootstrap/scss/_containers.scss +41 -0
  48. data/_sass/bootstrap/scss/_dropdown.scss +250 -0
  49. data/_sass/bootstrap/scss/_forms.scss +9 -0
  50. data/_sass/bootstrap/scss/_functions.scss +302 -0
  51. data/_sass/bootstrap/scss/_grid.scss +39 -0
  52. data/_sass/bootstrap/scss/_helpers.scss +12 -0
  53. data/_sass/bootstrap/scss/_images.scss +42 -0
  54. data/_sass/bootstrap/scss/_list-group.scss +197 -0
  55. data/_sass/bootstrap/scss/_maps.scss +174 -0
  56. data/_sass/bootstrap/scss/_mixins.scss +42 -0
  57. data/_sass/bootstrap/scss/_modal.scss +236 -0
  58. data/_sass/bootstrap/scss/_nav.scss +197 -0
  59. data/_sass/bootstrap/scss/_navbar.scss +289 -0
  60. data/_sass/bootstrap/scss/_offcanvas.scss +143 -0
  61. data/_sass/bootstrap/scss/_pagination.scss +109 -0
  62. data/_sass/bootstrap/scss/_placeholders.scss +51 -0
  63. data/_sass/bootstrap/scss/_popover.scss +196 -0
  64. data/_sass/bootstrap/scss/_progress.scss +68 -0
  65. data/_sass/bootstrap/scss/_reboot.scss +611 -0
  66. data/_sass/bootstrap/scss/_root.scss +187 -0
  67. data/_sass/bootstrap/scss/_spinners.scss +85 -0
  68. data/_sass/bootstrap/scss/_tables.scss +171 -0
  69. data/_sass/bootstrap/scss/_toasts.scss +73 -0
  70. data/_sass/bootstrap/scss/_tooltip.scss +119 -0
  71. data/_sass/bootstrap/scss/_transitions.scss +27 -0
  72. data/_sass/bootstrap/scss/_type.scss +106 -0
  73. data/_sass/bootstrap/scss/_utilities.scss +806 -0
  74. data/_sass/bootstrap/scss/_variables-dark.scss +87 -0
  75. data/_sass/bootstrap/scss/_variables.scss +1751 -0
  76. data/_sass/bootstrap/scss/bootstrap-grid.scss +62 -0
  77. data/_sass/bootstrap/scss/bootstrap-reboot.scss +10 -0
  78. data/_sass/bootstrap/scss/bootstrap-utilities.scss +19 -0
  79. data/_sass/bootstrap/scss/bootstrap.scss +52 -0
  80. data/_sass/bootstrap/scss/forms/_floating-labels.scss +95 -0
  81. data/_sass/bootstrap/scss/forms/_form-check.scss +189 -0
  82. data/_sass/bootstrap/scss/forms/_form-control.scss +214 -0
  83. data/_sass/bootstrap/scss/forms/_form-range.scss +91 -0
  84. data/_sass/bootstrap/scss/forms/_form-select.scss +80 -0
  85. data/_sass/bootstrap/scss/forms/_form-text.scss +11 -0
  86. data/_sass/bootstrap/scss/forms/_input-group.scss +132 -0
  87. data/_sass/bootstrap/scss/forms/_labels.scss +36 -0
  88. data/_sass/bootstrap/scss/forms/_validation.scss +12 -0
  89. data/_sass/bootstrap/scss/helpers/_clearfix.scss +3 -0
  90. data/_sass/bootstrap/scss/helpers/_color-bg.scss +7 -0
  91. data/_sass/bootstrap/scss/helpers/_colored-links.scss +30 -0
  92. data/_sass/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  93. data/_sass/bootstrap/scss/helpers/_icon-link.scss +25 -0
  94. data/_sass/bootstrap/scss/helpers/_position.scss +36 -0
  95. data/_sass/bootstrap/scss/helpers/_ratio.scss +26 -0
  96. data/_sass/bootstrap/scss/helpers/_stacks.scss +15 -0
  97. data/_sass/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  98. data/_sass/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  99. data/_sass/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  100. data/_sass/bootstrap/scss/helpers/_vr.scss +8 -0
  101. data/_sass/bootstrap/scss/mixins/_alert.scss +18 -0
  102. data/_sass/bootstrap/scss/mixins/_backdrop.scss +14 -0
  103. data/_sass/bootstrap/scss/mixins/_banner.scss +7 -0
  104. data/_sass/bootstrap/scss/mixins/_border-radius.scss +78 -0
  105. data/_sass/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  106. data/_sass/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  107. data/_sass/bootstrap/scss/mixins/_buttons.scss +70 -0
  108. data/_sass/bootstrap/scss/mixins/_caret.scss +69 -0
  109. data/_sass/bootstrap/scss/mixins/_clearfix.scss +9 -0
  110. data/_sass/bootstrap/scss/mixins/_color-mode.scss +21 -0
  111. data/_sass/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  112. data/_sass/bootstrap/scss/mixins/_container.scss +11 -0
  113. data/_sass/bootstrap/scss/mixins/_deprecate.scss +10 -0
  114. data/_sass/bootstrap/scss/mixins/_forms.scss +163 -0
  115. data/_sass/bootstrap/scss/mixins/_gradients.scss +47 -0
  116. data/_sass/bootstrap/scss/mixins/_grid.scss +151 -0
  117. data/_sass/bootstrap/scss/mixins/_image.scss +16 -0
  118. data/_sass/bootstrap/scss/mixins/_list-group.scss +26 -0
  119. data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
  120. data/_sass/bootstrap/scss/mixins/_pagination.scss +10 -0
  121. data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
  122. data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
  123. data/_sass/bootstrap/scss/mixins/_table-variants.scss +24 -0
  124. data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  125. data/_sass/bootstrap/scss/mixins/_transition.scss +26 -0
  126. data/_sass/bootstrap/scss/mixins/_utilities.scss +97 -0
  127. data/_sass/bootstrap/scss/mixins/_visually-hidden.scss +33 -0
  128. data/_sass/bootstrap/scss/utilities/_api.scss +47 -0
  129. data/_sass/bootstrap/scss/vendor/_rfs.scss +348 -0
  130. data/_sass/fonts/_webfonts.scss +15 -0
  131. data/_sass/helpers/_index.scss +143 -0
  132. data/_sass/layout/_animations.scss +63 -0
  133. data/_sass/layout/_core.scss +62 -0
  134. data/_sass/layout/_dark.scss +77 -0
  135. data/_sass/layout/_footer.scss +12 -0
  136. data/_sass/layout/_navbar.scss +392 -0
  137. data/_sass/layout/_page.scss +169 -0
  138. data/_sass/layout/_root.scss +64 -0
  139. data/_sass/marketing/_browser.scss +67 -0
  140. data/_sass/marketing/_core.scss +8 -0
  141. data/_sass/marketing/_filters.scss +0 -0
  142. data/_sass/marketing/_hero.scss +69 -0
  143. data/_sass/marketing/_pricing.scss +111 -0
  144. data/_sass/marketing/_sections.scss +124 -0
  145. data/_sass/marketing/_shape.scss +31 -0
  146. data/_sass/mixins/_functions.scss +96 -0
  147. data/_sass/mixins/_mixins.scss +68 -0
  148. data/_sass/tabler-flags.scss +2 -0
  149. data/_sass/tabler-marketing.scss +13 -0
  150. data/_sass/tabler-payments.scss +2 -0
  151. data/_sass/tabler-props.scss +1 -0
  152. data/_sass/tabler-socials.scss +2 -0
  153. data/_sass/tabler-themes.scss +121 -0
  154. data/_sass/tabler-vendors.scss +16 -0
  155. data/_sass/tabler.scss +2 -0
  156. data/_sass/ui/_accordion.scss +177 -0
  157. data/_sass/ui/_alerts.scss +99 -0
  158. data/_sass/ui/_avatars.scss +145 -0
  159. data/_sass/ui/_badges.scss +113 -0
  160. data/_sass/ui/_breadcrumbs.scss +50 -0
  161. data/_sass/ui/_button-group.scss +16 -0
  162. data/_sass/ui/_buttons.scss +261 -0
  163. data/_sass/ui/_calendars.scss +104 -0
  164. data/_sass/ui/_cards.scss +594 -0
  165. data/_sass/ui/_carousel.scss +68 -0
  166. data/_sass/ui/_charts.scss +61 -0
  167. data/_sass/ui/_chat.scss +38 -0
  168. data/_sass/ui/_chips.scss +0 -0
  169. data/_sass/ui/_close.scss +60 -0
  170. data/_sass/ui/_datagrid.scss +17 -0
  171. data/_sass/ui/_dropdowns.scss +120 -0
  172. data/_sass/ui/_empty.scss +60 -0
  173. data/_sass/ui/_flags.scss +31 -0
  174. data/_sass/ui/_forms.scss +241 -0
  175. data/_sass/ui/_grid.scss +115 -0
  176. data/_sass/ui/_icons.scss +72 -0
  177. data/_sass/ui/_images.scss +19 -0
  178. data/_sass/ui/_legend.scss +12 -0
  179. data/_sass/ui/_lists.scss +124 -0
  180. data/_sass/ui/_loaders.scss +72 -0
  181. data/_sass/ui/_login.scss +3 -0
  182. data/_sass/ui/_markdown.scss +43 -0
  183. data/_sass/ui/_modals.scss +67 -0
  184. data/_sass/ui/_nav.scss +96 -0
  185. data/_sass/ui/_offcanvas.scss +17 -0
  186. data/_sass/ui/_pagination.scss +58 -0
  187. data/_sass/ui/_payments.scss +28 -0
  188. data/_sass/ui/_placeholder.scss +9 -0
  189. data/_sass/ui/_popovers.scss +2 -0
  190. data/_sass/ui/_progress.scss +107 -0
  191. data/_sass/ui/_ribbons.scss +157 -0
  192. data/_sass/ui/_segmented.scss +101 -0
  193. data/_sass/ui/_signature.scss +15 -0
  194. data/_sass/ui/_social.scss +52 -0
  195. data/_sass/ui/_stars.scss +13 -0
  196. data/_sass/ui/_status.scss +163 -0
  197. data/_sass/ui/_steps.scss +156 -0
  198. data/_sass/ui/_switch-icon.scss +211 -0
  199. data/_sass/ui/_tables.scss +177 -0
  200. data/_sass/ui/_tags.scss +57 -0
  201. data/_sass/ui/_timeline.scss +61 -0
  202. data/_sass/ui/_toasts.scss +18 -0
  203. data/_sass/ui/_toolbar.scss +10 -0
  204. data/_sass/ui/_tracking.scss +29 -0
  205. data/_sass/ui/_type.scss +268 -0
  206. data/_sass/ui/forms/_form-check.scss +91 -0
  207. data/_sass/ui/forms/_form-colorinput.scss +54 -0
  208. data/_sass/ui/forms/_form-custom.scss +28 -0
  209. data/_sass/ui/forms/_form-icon.scss +35 -0
  210. data/_sass/ui/forms/_form-imagecheck.scss +105 -0
  211. data/_sass/ui/forms/_form-selectgroup.scss +153 -0
  212. data/_sass/ui/forms/_validation.scss +13 -0
  213. data/_sass/ui/typo/_hr.scss +77 -0
  214. data/_sass/utils/_background.scss +15 -0
  215. data/_sass/utils/_colors.scss +100 -0
  216. data/_sass/utils/_opacity.scss +7 -0
  217. data/_sass/utils/_scroll.scss +47 -0
  218. data/_sass/utils/_shadow.scss +9 -0
  219. data/_sass/utils/_sizing.scss +6 -0
  220. data/_sass/utils/_text.scss +15 -0
  221. data/_sass/vendors/_apexcharts.scss +48 -0
  222. data/_sass/vendors/_coloris.scss +72 -0
  223. data/_sass/vendors/_dropzone.scss +27 -0
  224. data/_sass/vendors/_fslightbox.scss +13 -0
  225. data/_sass/vendors/_jsvectormap.scss +47 -0
  226. data/_sass/vendors/_litepicker.scss +69 -0
  227. data/_sass/vendors/_nouislider.scss +49 -0
  228. data/_sass/vendors/_plyr.scss +3 -0
  229. data/_sass/vendors/_stars-rating.scss +22 -0
  230. data/_sass/vendors/_tinymce.scss +34 -0
  231. data/_sass/vendors/_tom-select.scss +81 -0
  232. data/_sass/vendors/_turbo.scss +3 -0
  233. data/_sass/vendors/_typed.scss +4 -0
  234. data/_sass/vendors/_wysiwyg.scss +34 -0
  235. data/assets/css/main.scss +10 -0
  236. data/assets/js/custom.js +175 -0
  237. data/assets/js/custom.min.js +1 -0
  238. data/assets/js/theme.js +12 -194
  239. data/assets/js/theme.min.js +12 -0
  240. data/insights4you-jekyll-theme.gemspec +87 -0
  241. metadata +342 -26
  242. data/_data/notifications.yml +0 -10
  243. data/_includes/footer.html +0 -48
  244. data/_includes/header-logo.html +0 -91
  245. data/_includes/header-navbar.html +0 -59
  246. data/_includes/header-svg.html +0 -275
  247. data/_layouts/home.html +0 -19
  248. data/assets/css/theme.min.css +0 -120
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b7bba90c588be341fb084f58ad0e8b763747117cfc2d3feeec4d07b1faa0619
4
- data.tar.gz: ea650f38c87131586c54a5735a23a9343b723fe309addaafbb5bedcb315f18a4
3
+ metadata.gz: 4409020af0e3cbe25b0aa6f1563daa55e07a1d96150e85518897ddff5c621d05
4
+ data.tar.gz: 99f9c2b937854c1d8425a671f373f1c683dfca6461a771a7393d4bac9c2a93a1
5
5
  SHA512:
6
- metadata.gz: 10ebb07acf9603e3d24ba6bf258d397227c21ca7ca3189bbe1940c1b201da86aa6054e852ad72f3797a091d0ca3e4a93dbfb3a035b21ba606d36eeadaae5bb32
7
- data.tar.gz: 87ebf9d496c038338f6ad40c9fcad7f50f0e07ee8bba7925da4c7a154a973485bb683cd7dc855414e46f1071414868dcda4ebb9b6345f4a177203046c748067c
6
+ metadata.gz: e0041ca8bcace71229e8db0e7dd8d4a9ec9df4c30298597e9baf29d77dbaeb4daa6b473c77ed51a13af62294c1c7d808e2e228865d349a21d91c1d060b54cadd
7
+ data.tar.gz: a84cca38a95e45848a6acee9c48c4ac129280f7275d1df3c99a6954f78e620d79d8d386901de67ba13cbca2fddeda570d1579e9822fa4c67b4a2fe181ee616e8
data/CHANGELOG.md ADDED
@@ -0,0 +1,136 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.5.0]
9
+
10
+ ### Added
11
+ - **Blog**: `_layouts/post.html` and a card-based blog listing pattern (see the example site's `pages/blog.html`) - the theme previously had no working blog at all.
12
+ - **Local Projects**: the "Local Projects" section of `utils/projects.html` was a static empty placeholder; it now renders real cards from a site's `projects` collection (`name`, `tools`, `image`, `description`, `external_url`), alongside the existing auto-generated GitHub-starred-repos grid.
13
+ - **Comments**: optional Giscus (GitHub Discussions) comments on posts, via `_includes/utils/comments.html` and a `giscus:` block in `_config.yml`.
14
+ - **i18n**: `_data/i4y-strings.yml` makes every hardcoded UI string (project page headings, empty/error states, search placeholder) overridable by a consuming site.
15
+ - **Instant search**: `_includes/utils/search.html`, a dependency-free client-side filter over any card grid - closes the gap with the long-standing "Search Functionality" feature claim in the README, which was never actually implemented.
16
+ - Simple tags page pattern (groups posts by `site.tags`).
17
+
18
+ ### Fixed
19
+ - `_layouts/error.html` never actually read `_data/i4y-errors.json`: it referenced an undefined `errors` variable, and separately indexed it with an unconverted integer front-matter value against string JSON keys. Error pages always fell back to generic text/icon instead of the configured copy and illustration.
20
+ - `_includes/ui/button.html` built internal links with `site.base`, a variable that doesn't exist anywhere in the theme, producing `href="//path"` (a protocol-relative URL pointing at a fake host) for every internal button. Switched to the `relative_url` filter.
21
+ - `_sass/bootstrap/scss/vendor/_rfs.scss` was missing from the vendored Bootstrap 5.3.3 copy, so `bundle exec jekyll build` failed on **every** site using this theme with a real Sass compiler. Root cause: `.gitignore` had a bare `vendor/` entry, which ignores a folder named `vendor` at *any* depth, not just the repo root - it was silently dropping this file from every commit. Fixed to `/vendor/`.
22
+ - README badge pointed at a non-existent `.github/workflows/gem-build.yml` (the real file is `gem.yml`).
23
+ - `spec.description` in the gemspec was `File.read('README.md')`, so the RubyGems.org listing showed raw Markdown/HTML instead of a normal description.
24
+ - `example-site/about.markdown` and `pages/blog.html` used `layout: home` / `layout: post`, neither of which existed in the theme - both silently rendered without any layout at all.
25
+ - `example-site/pages/404.html` rendered its error illustration twice (once via the layout, once via an extra include in the page body).
26
+ - `example-site/_config.yml` set `theme:` and `remote_theme:` at the same time, and used a `github: user:` key that `jekyll-github-metadata` doesn't recognize (the real key is `repository:`).
27
+
28
+ ### Changed
29
+ - `spec.files` in the gemspec no longer packages the vendored Bootstrap's JS source or `package.json` - only the `.scss` partials Jekyll actually needs, and the Bootstrap `LICENSE` for compliance. Shrinks the published gem.
30
+ - README rewritten to document what the theme actually does today (including the GitHub Pages native-build incompatibility and the GitHub Actions deploy workaround), replacing several `[WIP]` sections and one feature claim ("Search Functionality") that had never been implemented.
31
+ - Removed `docs/` - it described a considerably more elaborate, never-implemented version of the projects feature (a separate fetch script, on-disk cache, dedicated local-projects collection). Superseded by the simpler real implementation, now documented in the README.
32
+
33
+ ## [0.4.0]
34
+
35
+ ### Added
36
+ - **New UI Components**: Introduced additional UI components in the `_includes/ui` directory.
37
+ - **Custom JavaScript**: Added `assets/js/custom.js` for custom JavaScript functionalities.
38
+ - **Enhanced Documentation**: Updated `README.md` with detailed instructions and feature descriptions.
39
+ - **Gem Metadata**: Enhanced gemspec metadata with additional documentation and support links.
40
+
41
+ ### Changed
42
+ - **Theme Configuration**: Updated `_config.yml` in the example site for better theme configuration.
43
+ - **Dependencies**: Updated runtime and development dependencies in `insights4you-jekyll-theme.gemspec`.
44
+ - **Build Process**: Improved the Makefile for better build and test processes.
45
+
46
+ ### Fixed
47
+ - **Bug Fixes**: Resolved minor bugs and improved overall stability.
48
+
49
+ ### Removed
50
+ - **Deprecated Files**: Removed any deprecated or unused files to clean up the project structure.
51
+
52
+ ## [0.3.0]
53
+
54
+ ### Added
55
+ - **Theme System**: Implemented dark/light theme switching functionality
56
+ - **Theme Toggle**: Added theme toggle buttons in header navigation
57
+ - **Theme Persistence**: Added localStorage support for saving theme preferences
58
+ - **System Theme**: Added automatic system theme preference detection
59
+ - **Accessibility**: Added ARIA attributes and screen reader announcements for theme changes
60
+ - **Sass Architecture**: Added new _sass directory for better style organization
61
+
62
+ ### Changed
63
+ - **Asset Structure**: Reorganized CSS into Sass-based architecture
64
+ - **Resource Loading**: Updated stylesheet and script loading in head.html
65
+ - **Dependencies**: Updated Tabler Core CSS implementation
66
+ - **Example Site**: Updated example pages with new theme support
67
+ - **Documentation**: Enhanced configuration documentation
68
+ - **Build Process**: Improved asset compilation and organization
69
+
70
+ ### Removed
71
+ - **Legacy CSS**: Removed deprecated theme.min.css in favor of Sass structure
72
+
73
+ ### Fixed
74
+ - **Resource Loading**: Fixed stylesheet loading order and dependencies
75
+ - **Theme Toggle**: Improved theme switching reliability
76
+ - **UI Components**: Enhanced component styling for both light and dark themes
77
+
78
+
79
+ ## [0.2.3]
80
+
81
+ ### Added
82
+ - **Ruby Version Requirement**: Set minimum Ruby version to 3.2.2
83
+ - **Security**: Added `rubygems_mfa_required` metadata flag
84
+ - **Documentation**: Enhanced metadata with additional documentation URIs
85
+
86
+ ### Changed
87
+ - **Dependencies**: Updated Jekyll requirement to >= 4.4.1
88
+ - **Gemspec**: Improved file organization and readability
89
+ - **Installation**: Enhanced post-install message with quick start guide
90
+
91
+ ### Security
92
+ - **Authentication**: Enabled mandatory MFA for RubyGems publishing
93
+
94
+
95
+ ## [0.2.2]
96
+
97
+ ### Added
98
+
99
+ - **Social Media Component**: A new component for integrating social media links.
100
+ - **User Profile Component**: A dedicated component for displaying user profile information.
101
+
102
+ ### Changed
103
+
104
+ - **Notifications**: Resolved issues and improved the functionality of notifications.
105
+ - **Gemspec and Versioning**: Updated the gemspec file and version details for better compatibility.
106
+ - **Dynamic Menu System**: The menu is now dynamically generated, improving flexibility and maintainability.
107
+ - **Component Review**: Conducted a comprehensive review and refinement of all existing components.
108
+
109
+ ### Removed
110
+
111
+ - **Example Site Test File**: Removed the `example-site/test.html` file as it was no longer needed.
112
+
113
+
114
+ ## [0.2.0]
115
+
116
+ ### Added
117
+
118
+ - **UI Components**: Introduced a set of reusable UI components for consistency across the project.
119
+ - **Example Site for Testing**: Implemented an example site to facilitate testing and demonstration of features.
120
+ - **Changelog File**: Created the `changelog.md` file to track project updates systematically.
121
+
122
+ ### Changed
123
+
124
+ - **Layout Adjustments**: Made improvements to the home, default, and error layouts for better usability and design.
125
+ - **Gemspec Fixes**: Updated the gemspec file to address development-related issues.
126
+
127
+ ### Removed
128
+
129
+ - **N/A**: No files or features were removed in this release.
130
+
131
+
132
+ [0.5.0]: https://github.com/marciopaiva/insights4you-jekyll-theme/compare/v0.4.0...v0.5.0
133
+ [0.4.0]: https://github.com/marciopaiva/insights4you-jekyll-theme/compare/v0.3.0...v0.4.0
134
+ [0.3.0]: https://github.com/marciopaiva/insights4you-jekyll-theme/compare/v0.2.3...v0.3.0
135
+ [0.2.3]: https://github.com/marciopaiva/insights4you-jekyll-theme/compare/v0.2.2...v0.2.3
136
+ [0.2.2]: https://github.com/marciopaiva/insights4you-jekyll-theme/compare/v0.2.0...v0.2.2
data/README.md CHANGED
@@ -1,53 +1,224 @@
1
- <!-- markdownlint-disable-next-line -->
2
1
  <div align='center'>
3
2
 
4
- <!-- markdownlint-disable-next-line -->
5
3
  # Insights4YOU Jekyll Theme
6
4
 
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.
5
+ A sleek and modern Jekyll theme inspired by the [Tabler Admin Dashboard](https://github.com/tabler/tabler). This theme offers a clean, professional, and responsive interface, making it ideal for developers, content creators, and businesses. Whether you're building a personal site, a blog, or a project showcase, this theme provides a minimal-effort solution with customizable layouts and modern design elements.
8
6
 
9
7
  ![Theme Preview](assets/images/preview-dark.png)
10
8
 
11
- [![last commit](https://img.shields.io/github/last-commit/marciopaiva/insights4you-jekyll-theme?logo=github)][repo]&nbsp;
12
- [![gem build](https://github.com/marciopaiva/insights4you-jekyll-theme/actions/workflows/gem-build.yml/badge.svg)][build]&nbsp;
13
- [![codacy badge](https://img.shields.io/codacy/grade/4e556876a3c54d5e8f2d2857c4f43894?logo=codacy)][codacy]&nbsp;
14
- [![gem version](https://img.shields.io/gem/v/insights4you-jekyll-theme?&logo=rubygems&logocolor=ghostwhite&label=gem&color=orange)][gem]&nbsp;
15
- [![downloads](https://img.shields.io/gem/dt/insights4you-jekyll-theme?logo=rubygems&color=blue)][gem]&nbsp;
16
- [![github license](https://img.shields.io/github/license/marciopaiva/insights4you-jekyll-theme?color=goldenrod)][license]&nbsp;
9
+ [![last commit](https://img.shields.io/github/last-commit/marciopaiva/insights4you-jekyll-theme?logo=github)][repo]
10
+ [![gem build](https://github.com/marciopaiva/insights4you-jekyll-theme/actions/workflows/gem.yml/badge.svg)][build]
11
+ [![codacy badge](https://img.shields.io/codacy/grade/4e556876a3c54d5e8f2d2857c4f43894?logo=codacy)][codacy]
12
+ [![gem version](https://img.shields.io/gem/v/insights4you-jekyll-theme?&logo=rubygems&logoColor=ghostwhite&label=gem&color=orange)][gem]
13
+ [![downloads](https://img.shields.io/gem/dt/insights4you-jekyll-theme?logo=rubygems&color=blue)][gem]
14
+ [![github license](https://img.shields.io/github/license/marciopaiva/insights4you-jekyll-theme?color=goldenrod)][license]
15
+
17
16
  </div>
18
17
 
19
- ## Features
18
+ ## 🌟 Features
19
+
20
+ - 🌙 **Dark and Light Themes**: A "Theme Builder" panel lets visitors switch color mode, accent color, font family, gray base and corner radius on the fly (saved in `localStorage`)
21
+ - 📱 **Responsive Design**: Built on Bootstrap 5 / Tabler, fully usable on mobile, tablet and desktop
22
+ - ✍️ **Blog**: `_posts` support with a ready-to-use post layout and a card-based listing page
23
+ - 🔍 **Instant Search**: Client-side filtering over any card grid (e.g. the blog listing) as you type - no build step or external service
24
+ - 📦 **Projects, two ways**: a `projects` collection for hand-curated local project cards, plus an auto-generated grid of your GitHub repositories that have at least one star (via `jekyll-github-metadata`)
25
+ - 💬 **Comments via Giscus**: optional, GitHub Discussions-based comments on posts - no third-party ads or tracking
26
+ - 🌐 **Translatable UI strings**: every built-in label (project page headings, error pages, empty states, search placeholder) can be overridden by your own `_data/i4y-strings.yml` and `_data/i4y-errors.json`
27
+ - 🚀 **SEO Ready**: ships with `jekyll-seo-tag`, `jekyll-sitemap` and `jekyll-feed` support
28
+ - 📦 **Gem-Based Installation**: install via RubyGems, or track the repo directly with Bundler's `github:` source
29
+ - 🎨 **200+ bundled icons**: Tabler's icon set, inlined as SVG by default (or as an icon font, if you prefer)
30
+
31
+ ## 📋 Requirements
32
+
33
+ - Ruby >= 3.2.2
34
+ - Jekyll >= 4.4, < 5.0
35
+ - Bundler ~> 2.4
36
+
37
+ ⚠️ **This theme will not build on GitHub Pages' native "Deploy from a branch" option.** GitHub Pages' native build pins Jekyll to 3.10 and its Sass converter to the legacy Ruby Sass line, which cannot compile the Dart-Sass module syntax (`@use`, `color.adjust(...)`) that Bootstrap 5.3+ uses. Deploy via **GitHub Actions** instead - see [Deploying to GitHub Pages](#-deploying-to-github-pages) below.
38
+
39
+ ## 🚀 Quick Start
40
+
41
+ 1. **Create a new Jekyll site** (or use an existing one):
42
+ ```bash
43
+ jekyll new my-website && cd my-website
44
+ ```
45
+
46
+ 2. **Add the theme to your `Gemfile`:**
47
+ ```ruby
48
+ gem "insights4you-jekyll-theme"
49
+
50
+ group :jekyll_plugins do
51
+ gem "jekyll-feed"
52
+ gem "jekyll-seo-tag"
53
+ gem "jekyll-sitemap"
54
+ gem "jekyll-github-metadata"
55
+ gem "jekyll-paginate" # required by the theme's own dependencies, even if unused
56
+ gem "jemoji"
57
+ end
58
+ ```
59
+
60
+ 3. **Update your `_config.yml`:**
61
+ ```yaml
62
+ theme: insights4you-jekyll-theme
63
+ repository: your-username/your-repo # NWO used by jekyll-github-metadata
64
+
65
+ plugins:
66
+ - jemoji
67
+ - jekyll-seo-tag
68
+ - jekyll-sitemap
69
+ - jekyll-feed
70
+ - jekyll-github-metadata
71
+
72
+ author:
73
+ name: Your Name
74
+ bio: Your one-line bio
75
+ image: https://example.com/your-avatar.jpg
76
+ email: you@example.com
77
+ github: your-username # matched against _data/i4y-social-media.yml
78
+ linkedin: your-linkedin-slug
79
+ ```
80
+
81
+ 4. **Install dependencies and start your site:**
82
+ ```bash
83
+ bundle install
84
+ bundle exec jekyll serve
85
+ ```
86
+
87
+ ## 🚢 Deploying to GitHub Pages
88
+
89
+ Because of the Sass constraint above, set your repository's **Settings → Pages → Source** to **"GitHub Actions"**, and add a workflow like this (adjust the ruby version/paths as needed):
90
+
91
+ ```yaml
92
+ name: Deploy Jekyll site to Pages
20
93
 
21
- - 🌙 **Dark and Light Themes**: Switch between dark and light modes for a personalized experience.
22
- - 📱 **Responsive Design**: Fully optimized for mobile, tablet, and desktop devices.
23
- - 🔧 **Customizable Layouts**: Easily modify layouts to suit your needs.
24
- - 🚀 **SEO Optimized**: Built-in support for Jekyll SEO tags to improve search engine visibility.
25
- - 📦 **Gem-Based Installation**: Simple installation via RubyGems.
26
- - 📝 **Markdown Support**: Write content using Markdown for simplicity and flexibility.
27
- - 🎨 **Modern Design**: Inspired by the Tabler Admin Dashboard for a sleek and professional look.
28
- - 📊 **Analytics Ready**: Add analytics scripts easily for tracking user interactions.
94
+ on:
95
+ push:
96
+ branches: ["main"]
97
+ workflow_dispatch:
29
98
 
30
- ## Example Site
99
+ permissions:
100
+ contents: read
101
+ pages: write
102
+ id-token: write
103
+
104
+ concurrency:
105
+ group: "pages"
106
+ cancel-in-progress: false
107
+
108
+ jobs:
109
+ build:
110
+ runs-on: ubuntu-latest
111
+ steps:
112
+ - uses: actions/checkout@v4
113
+ - uses: ruby/setup-ruby@v1
114
+ with:
115
+ ruby-version: "3.2"
116
+ bundler-cache: true
117
+ - id: pages
118
+ uses: actions/configure-pages@v5
119
+ - env:
120
+ JEKYLL_ENV: production
121
+ PAGES_REPO_NWO: ${{ github.repository }}
122
+ JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
123
+ run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
124
+ - uses: actions/upload-pages-artifact@v3
125
+ with:
126
+ path: _site
127
+
128
+ deploy:
129
+ environment:
130
+ name: github-pages
131
+ url: ${{ steps.deployment.outputs.page_url }}
132
+ runs-on: ubuntu-latest
133
+ needs: build
134
+ steps:
135
+ - id: deployment
136
+ uses: actions/deploy-pages@v4
137
+ ```
138
+
139
+ `JEKYLL_GITHUB_TOKEN` gives `jekyll-github-metadata` a 5,000 requests/hour budget instead of the unauthenticated 60/hour limit - without it, the GitHub-repositories grid may silently come up empty on repeated builds.
140
+
141
+ ## 🎯 Demo Site
31
142
 
32
143
  To see the theme in action, check out the included example site:
33
144
 
34
145
  ```bash
35
- # Clone the repository
36
146
  git clone https://github.com/marciopaiva/insights4you-jekyll-theme.git
147
+ cd insights4you-jekyll-theme
148
+ make dev
149
+ ```
37
150
 
38
- # Navigate to example directory
39
- cd insights4you-jekyll-theme/example-site
151
+ Visit `http://localhost:4000` to see the demo site in action.
40
152
 
41
- # Install dependencies
42
- bundle install
153
+ ## 🎨 Customization
43
154
 
44
- # Serve the site locally
45
- bundle exec jekyll serve
155
+ ### Layouts
156
+ | Layout | Use it for |
157
+ |---|---|
158
+ | `base` | Root HTML document. You won't use this directly. |
159
+ | `default` | Standard pages (home, about, projects...). Set `layout-wrapper-full: true` in front matter for a centered "card" wrapper instead of the full-width container - handy for long-form content. |
160
+ | `post` | Blog posts. Renders title, date, tags, content, and Giscus comments (if enabled and `page.comments: true`). |
161
+ | `error` | Error pages (404, etc). Set `page-error: "404"` in front matter to pull text/illustration from `_data/i4y-errors.json`. |
162
+
163
+ ### Front matter reference
164
+ | Key | Where | Effect |
165
+ |---|---|---|
166
+ | `weight` | any page | Order in the navbar (lower first) |
167
+ | `icon` | any page | Tabler icon name shown next to its navbar entry |
168
+ | `external_url` | any page | Makes its navbar entry link elsewhere instead of `page.url` |
169
+ | `no-container` | page/layout | Removes the `.container-xl` around the page body |
170
+ | `layout-wrapper-full` | page/layout | Centered card wrapper (see `default` layout above) |
171
+ | `custom_css` / `custom_js` | any page | Arrays of extra `/assets/{css,js}/<name>.{css,js}` files to load |
172
+ | `comments` | posts | Show the Giscus widget on this post (also needs `site.giscus.enabled: true`) |
173
+
174
+ ### Translating the UI
175
+ Every hardcoded label lives in `_data/i4y-strings.yml`. Copy the theme's version into your own site's `_data/i4y-strings.yml` and translate it - your site's file takes precedence over the theme's. Error-page copy (`_data/i4y-errors.json`) works the same way.
176
+
177
+ ### Adding local projects
178
+ Declare a `projects` collection in `_config.yml`:
179
+ ```yaml
180
+ collections:
181
+ projects:
182
+ output: true
183
+ permalink: /projects/:name
46
184
  ```
185
+ Then add files under `_projects/`:
186
+ ```yaml
187
+ ---
188
+ name: My Project
189
+ tools: [Rust, Tauri]
190
+ image: /assets/images/my-project.png # optional
191
+ description: One or two sentences about it.
192
+ external_url: https://github.com/you/my-project # omit to link to this file's own body instead
193
+ ---
194
+ Optional markdown body, rendered as the project's own detail page when there's no `external_url`.
195
+ ```
196
+
197
+ ### Custom Styling
198
+ Add your own `_sass` partials and `@import` them from a site-level `assets/css/custom.scss`, then reference it from a page's `custom_css` front matter key.
199
+
200
+ ## 🤝 Contributing
201
+
202
+ We love your input! We want to make contributing to Insights4YOU as easy and transparent as possible. Please:
203
+
204
+ 1. Fork the repository
205
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
206
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
207
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
208
+ 5. Open a Pull Request
209
+
210
+ ## 📄 License
47
211
 
212
+ This project is licensed under the MIT License - see the LICENSE file for details.
213
+
214
+ ## 🙏 Acknowledgments
215
+
216
+ - Tabler Admin Dashboard for design inspiration
217
+ - Jekyll community for the amazing static site generator
218
+ - All contributors who help improve this theme
219
+
220
+ [repo]: https://github.com/marciopaiva/insights4you-jekyll-theme
221
+ [build]: https://github.com/marciopaiva/insights4you-jekyll-theme/actions/workflows/gem.yml
222
+ [codacy]: https://app.codacy.com/gh/marciopaiva/insights4you-jekyll-theme/dashboard
48
223
  [gem]: https://rubygems.org/gems/insights4you-jekyll-theme
49
- [codacy]: https://app.codacy.com/gh/marciopaiva/insights4you-jekyll-theme/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
50
224
  [license]: https://github.com/marciopaiva/insights4you-jekyll-theme/blob/master/LICENSE
51
- [build]: https://github.com/marciopaiva/insights4you-jekyll-theme/actions/workflows/gem-build.yml
52
- [repo]: https://github.com/marciopaiva/insights4you-jekyll-theme
53
- [issues]: https://github.com/marciopaiva/insights4you-jekyll-theme/issues
@@ -0,0 +1,218 @@
1
+ {
2
+ "base": [
3
+ {
4
+ "name": "blue",
5
+ "variable": "var(--tblr-blue)",
6
+ "value": "#066fd1"
7
+ },
8
+ {
9
+ "name": "azure",
10
+ "variable": "var(--tblr-azure)",
11
+ "value": "#4299e1"
12
+ },
13
+ {
14
+ "name": "indigo",
15
+ "variable": "var(--tblr-indigo)",
16
+ "value": "#4263eb"
17
+ },
18
+ {
19
+ "name": "purple",
20
+ "variable": "var(--tblr-purple)",
21
+ "value": "#ae3ec9"
22
+ },
23
+ {
24
+ "name": "pink",
25
+ "variable": "var(--tblr-pink)",
26
+ "value": "#d6336c"
27
+ },
28
+ {
29
+ "name": "red",
30
+ "variable": "var(--tblr-red)",
31
+ "value": "#d63939"
32
+ },
33
+ {
34
+ "name": "orange",
35
+ "variable": "var(--tblr-orange)",
36
+ "value": "#f76707"
37
+ },
38
+ {
39
+ "name": "yellow",
40
+ "variable": "var(--tblr-yellow)",
41
+ "value": "#f59f00"
42
+ },
43
+ {
44
+ "name": "lime",
45
+ "variable": "var(--tblr-lime)",
46
+ "value": "#74b816"
47
+ },
48
+ {
49
+ "name": "green",
50
+ "variable": "var(--tblr-green)",
51
+ "value": "#2fb344"
52
+ },
53
+ {
54
+ "name": "teal",
55
+ "variable": "var(--tblr-teal)",
56
+ "value": "#0ca678"
57
+ },
58
+ {
59
+ "name": "cyan",
60
+ "variable": "var(--tblr-cyan)",
61
+ "value": "#17a2b8"
62
+ }
63
+ ],
64
+ "grays": [
65
+ {
66
+ "name": "gray-50",
67
+ "value": "#f8fafc"
68
+ },
69
+ {
70
+ "name": "gray-100",
71
+ "value": "#f1f5f9"
72
+ },
73
+ {
74
+ "name": "gray-200",
75
+ "value": "#e2e8f0"
76
+ },
77
+ {
78
+ "name": "gray-300",
79
+ "value": "#c8d3e1"
80
+ },
81
+ {
82
+ "name": "gray-400",
83
+ "value": "#9ba9be"
84
+ },
85
+ {
86
+ "name": "gray-500",
87
+ "value": "#6c7a91"
88
+ },
89
+ {
90
+ "name": "gray-600",
91
+ "value": "#49566c"
92
+ },
93
+ {
94
+ "name": "gray-700",
95
+ "value": "#313c52"
96
+ },
97
+ {
98
+ "name": "gray-800",
99
+ "value": "#1d273b"
100
+ },
101
+ {
102
+ "name": "gray-900",
103
+ "value": "#0f172a"
104
+ }
105
+ ],
106
+ "light": [
107
+ {
108
+ "name": "blue-lt",
109
+ "value": "#e9f0f9"
110
+ },
111
+ {
112
+ "name": "azure-lt",
113
+ "value": "#ecf5fc"
114
+ },
115
+ {
116
+ "name": "indigo-lt",
117
+ "value": "#eceffd"
118
+ },
119
+ {
120
+ "name": "purple-lt",
121
+ "value": "#f7ecfa"
122
+ },
123
+ {
124
+ "name": "pink-lt",
125
+ "value": "#fbebf0"
126
+ },
127
+ {
128
+ "name": "red-lt",
129
+ "value": "#fbebeb"
130
+ },
131
+ {
132
+ "name": "orange-lt",
133
+ "value": "#fef0e6"
134
+ },
135
+ {
136
+ "name": "yellow-lt",
137
+ "value": "#fef5e6"
138
+ },
139
+ {
140
+ "name": "lime-lt",
141
+ "value": "#f1f8e8"
142
+ },
143
+ {
144
+ "name": "green-lt",
145
+ "value": "#eaf7ec"
146
+ },
147
+ {
148
+ "name": "teal-lt",
149
+ "value": "#e7f6f2"
150
+ },
151
+ {
152
+ "name": "cyan-lt",
153
+ "value": "#e8f6f8"
154
+ }
155
+ ],
156
+ "social": [
157
+ {
158
+ "name": "facebook",
159
+ "value": "#1877F2"
160
+ },
161
+ {
162
+ "name": "twitter",
163
+ "value": "#1da1f2"
164
+ },
165
+ {
166
+ "name": "linkedin",
167
+ "value": "#0a66c2"
168
+ },
169
+ {
170
+ "name": "google",
171
+ "value": "#dc4e41"
172
+ },
173
+ {
174
+ "name": "youtube",
175
+ "value": "#ff0000"
176
+ },
177
+ {
178
+ "name": "vimeo",
179
+ "value": "#1ab7ea"
180
+ },
181
+ {
182
+ "name": "dribbble",
183
+ "value": "#ea4c89"
184
+ },
185
+ {
186
+ "name": "github",
187
+ "value": "#181717"
188
+ },
189
+ {
190
+ "name": "instagram",
191
+ "value": "#e4405f"
192
+ },
193
+ {
194
+ "name": "pinterest",
195
+ "value": "#bd081c"
196
+ },
197
+ {
198
+ "name": "vk",
199
+ "value": "#6383a8"
200
+ },
201
+ {
202
+ "name": "rss",
203
+ "value": "#ffa500"
204
+ },
205
+ {
206
+ "name": "flickr",
207
+ "value": "#0063dc"
208
+ },
209
+ {
210
+ "name": "bitbucket",
211
+ "value": "#0052cc"
212
+ },
213
+ {
214
+ "name": "tabler",
215
+ "value": "#066fd1"
216
+ }
217
+ ]
218
+ }
@@ -1,6 +1,4 @@
1
1
  # Get Icons from : https://tabler.io/icons
2
- # Get Colors from : https://brandcolors.net/
3
-
4
2
  behance:
5
3
  url : https://www.behance.net/
6
4
  icon : brand-behance
@@ -0,0 +1,32 @@
1
+ # UI strings used by theme includes/layouts. Override this whole file in
2
+ # your own site's _data/i4y-strings.yml to translate the theme (Jekyll site
3
+ # data takes precedence over the theme's bundled data file of the same name).
4
+
5
+ projects:
6
+ title: "Projects"
7
+ description: "Here you'll find a collection of my projects, experiments, and learning."
8
+ unable_to_load_title: "Unable to load repositories"
9
+ unable_to_load_description: "There was a problem fetching the repository data. Please try again later."
10
+ no_starred_title: "No starred repositories found"
11
+ no_starred_description: "Repositories with at least one star will appear here."
12
+ uncategorized: "Uncategorized"
13
+ stars: "Stars"
14
+ watchers: "Watchers"
15
+ forks: "Forks"
16
+ issues: "Issues"
17
+ no_description: "No description available"
18
+ view_repository: "View Repository"
19
+ local_projects: "Local Projects"
20
+ view_project: "View Project"
21
+
22
+ empty:
23
+ title: "No results found"
24
+ subtitle: "Try adjusting your search or filter to find what you're looking for."
25
+ button_text: "Search again"
26
+
27
+ error:
28
+ default_header: "Oops… You just found an error page"
29
+ home_button: "Take me home"
30
+
31
+ search:
32
+ placeholder: "Search..."