datalog-theme 0.6.1 → 0.7.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/CITATION.cff +2 -2
  4. data/README.md +3 -2
  5. data/_data/js_meta.json +29 -29
  6. data/_includes/components/author-bio.html +2 -2
  7. data/_includes/components/hero.html +19 -1
  8. data/_includes/head.html +5 -10
  9. data/_includes/header.html +1 -1
  10. data/_includes/meta/math-config.html +23 -1
  11. data/_includes/meta/scripts-loader.html +2 -1
  12. data/_includes/meta/syntax-config.html +19 -0
  13. data/_includes/scripts.html +1 -9
  14. data/_includes/search/index-data.json +156 -0
  15. data/_includes/search/page.html +136 -0
  16. data/_layouts/home.html +6 -0
  17. data/_plugins/math_preprocessor.rb +3 -0
  18. data/_plugins/notebook_converter.rb +0 -39
  19. data/_plugins/search_pages.rb +73 -0
  20. data/_sass/_base.scss +7 -1
  21. data/_sass/_components.scss +25 -3
  22. data/_sass/_font-fallbacks.scss +43 -0
  23. data/_sass/_header.scss +10 -0
  24. data/_sass/_layout.scss +17 -11
  25. data/_sass/_mathematical.scss +1 -1
  26. data/_sass/_phase1-enhancements.scss +45 -0
  27. data/_sass/_search.scss +1 -1
  28. data/_sass/_syntax-highlighting.scss +2 -2
  29. data/_sass/_theme.scss +14 -0
  30. data/_sass/_variables.scss +7 -4
  31. data/assets/img/hero-detail-640.webp +0 -0
  32. data/assets/img/hero-detail.webp +0 -0
  33. data/assets/img/social-card.png +0 -0
  34. data/assets/js/dist/academic.js +1 -0
  35. data/assets/js/dist/analytics-dashboard.js +1 -0
  36. data/assets/js/dist/core.js +1 -0
  37. data/assets/js/dist/loader.js +1 -0
  38. data/assets/js/dist/manifest.json +22 -0
  39. data/assets/js/dist/math.js +1 -0
  40. data/assets/js/dist/meta.json +371 -0
  41. data/assets/js/dist/notebook.js +1 -0
  42. data/assets/js/dist/search.js +1 -0
  43. data/assets/js/dist/visualizations.js +2 -0
  44. data/assets/js/search/filters.js +9 -2
  45. data/datalog-theme.gemspec +10 -2
  46. data/lib/datalog/cli.rb +19 -1
  47. data/lib/datalog/theme/version.rb +1 -1
  48. data/lib/datalog-theme.rb +16 -0
  49. metadata +34 -20
  50. data/_data/config/features.yml +0 -262
  51. data/_data/config/site.yml +0 -42
  52. data/_data/config/theme.yml +0 -181
  53. data/assets/img/20220607123041_detail.001.png +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datalog-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Diogo Ribeiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-11 00:00:00.000000000 Z
11
+ date: 2026-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -122,20 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.2'
125
- - !ruby/object:Gem::Dependency
126
- name: jekyll-jupyter-notebook
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 0.0.6
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 0.0.6
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: jekyll-archives
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +206,20 @@ dependencies:
220
206
  - - ">="
221
207
  - !ruby/object:Gem::Version
222
208
  version: '2.2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: loofah
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '2.19'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '2.19'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: nokogiri
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -349,9 +349,6 @@ files:
349
349
  - _data/academic.yml
350
350
  - _data/cdn-integrity.yml
351
351
  - _data/config/author.yml
352
- - _data/config/features.yml
353
- - _data/config/site.yml
354
- - _data/config/theme.yml
355
352
  - _data/datasets.yml
356
353
  - _data/i18n/en.yml
357
354
  - _data/i18n/es.yml
@@ -417,8 +414,11 @@ files:
417
414
  - _includes/meta/math-config.html
418
415
  - _includes/meta/schema.html
419
416
  - _includes/meta/scripts-loader.html
417
+ - _includes/meta/syntax-config.html
420
418
  - _includes/post/related-posts.html
421
419
  - _includes/scripts.html
420
+ - _includes/search/index-data.json
421
+ - _includes/search/page.html
422
422
  - _includes/skip-link.html
423
423
  - _includes/toc.html
424
424
  - _layouts/archive.html
@@ -448,11 +448,13 @@ files:
448
448
  - _plugins/publications_generator.rb
449
449
  - _plugins/reading_time.rb
450
450
  - _plugins/search_normalizer.rb
451
+ - _plugins/search_pages.rb
451
452
  - _plugins/sri_filter.rb
452
453
  - _plugins/toc_filter.rb
453
454
  - _plugins/warning_filter.rb
454
455
  - _sass/_base.scss
455
456
  - _sass/_components.scss
457
+ - _sass/_font-fallbacks.scss
456
458
  - _sass/_header.scss
457
459
  - _sass/_interactive.scss
458
460
  - _sass/_layout.scss
@@ -471,7 +473,6 @@ files:
471
473
  - _sass/_variables.scss
472
474
  - _sass/_visualizations.scss
473
475
  - assets/css/main.scss
474
- - assets/img/20220607123041_detail.001.png
475
476
  - assets/img/favicons/android-chrome-192x192.png
476
477
  - assets/img/favicons/android-chrome-512x512.png
477
478
  - assets/img/favicons/apple-touch-icon.png
@@ -479,7 +480,10 @@ files:
479
480
  - assets/img/favicons/favicon-32x32.png
480
481
  - assets/img/favicons/favicon.ico
481
482
  - assets/img/favicons/site.webmanifest
483
+ - assets/img/hero-detail-640.webp
484
+ - assets/img/hero-detail.webp
482
485
  - assets/img/portfolio-placeholder.svg
486
+ - assets/img/social-card.png
483
487
  - assets/js/academic.js
484
488
  - assets/js/analytics-dashboard.js
485
489
  - assets/js/core/dark-mode.js
@@ -489,6 +493,16 @@ files:
489
493
  - assets/js/core/scroll-progress.js
490
494
  - assets/js/core/search-hotkeys.js
491
495
  - assets/js/core/skip-links.js
496
+ - assets/js/dist/academic.js
497
+ - assets/js/dist/analytics-dashboard.js
498
+ - assets/js/dist/core.js
499
+ - assets/js/dist/loader.js
500
+ - assets/js/dist/manifest.json
501
+ - assets/js/dist/math.js
502
+ - assets/js/dist/meta.json
503
+ - assets/js/dist/notebook.js
504
+ - assets/js/dist/search.js
505
+ - assets/js/dist/visualizations.js
492
506
  - assets/js/loader.js
493
507
  - assets/js/main.js
494
508
  - assets/js/math.js
@@ -1,262 +0,0 @@
1
- # =============================================================================
2
- # Feature Configuration
3
- # =============================================================================
4
- # Enable/disable features and customize their behavior.
5
- # Features are organized by release phase for easy understanding.
6
- #
7
- # Documentation: https://github.com/DiogoRibeiro7/analytics-blog-jekyll/docs/configuration.md
8
- # =============================================================================
9
-
10
- # -----------------------------------------------------------------------------
11
- # Core Feature Flags
12
- # -----------------------------------------------------------------------------
13
- core:
14
- mathjax: true
15
- math_toolkit: true
16
- math_search: true
17
- search: true
18
- accessibility_skip_link: true
19
- dark_mode_toggle: true
20
- notebook_support: true
21
- portfolio: true
22
- datasets: true
23
- visualizations: true
24
- academic_dashboard: true
25
- citation_tracking: true
26
- academic_calendar: true
27
-
28
- # -----------------------------------------------------------------------------
29
- # Critical CSS
30
- # -----------------------------------------------------------------------------
31
- critical_css:
32
- enabled: true
33
- dimensions:
34
- - width: 1920
35
- height: 1080
36
- - width: 375
37
- height: 667
38
- penthouse_options:
39
- timeout: 30000
40
-
41
- # -----------------------------------------------------------------------------
42
- # Phase 1: Social & Navigation
43
- # -----------------------------------------------------------------------------
44
- social_sharing:
45
- enabled: true
46
- platforms:
47
- - twitter
48
- - linkedin
49
- - facebook
50
- - reddit
51
- - email
52
- - copy
53
- show_count: false
54
-
55
- breadcrumbs:
56
- enabled: true
57
- separator: " / "
58
- show_home: true
59
- show_current: true
60
-
61
- author_bio:
62
- enabled: true
63
- position: after_content # before_content, after_content
64
- show_avatar: true
65
- show_social: true
66
- show_research_areas: true
67
- compact: false
68
-
69
- enhanced_toc:
70
- enabled: true
71
- sticky: true
72
- show_progress: true
73
- collapsible: true
74
- h_min: 2
75
- h_max: 4
76
- default_heading: "Table of Contents"
77
-
78
- difficulty_badges:
79
- enabled: true
80
- default_level: beginner
81
- show_icon: true
82
- show_description: false
83
-
84
- # -----------------------------------------------------------------------------
85
- # Phase 2: Layout & Search
86
- # -----------------------------------------------------------------------------
87
- sidebar_layout:
88
- enabled: true
89
- show_toc: true
90
- show_info_card: true
91
- show_newsletter: true
92
- show_related: true
93
-
94
- series:
95
- enabled: true
96
- show_progress: true
97
- show_list: true
98
-
99
- search_facets:
100
- enabled: true
101
- show_tags: true
102
- show_categories: true
103
- show_difficulty: true
104
- show_dates: true
105
- show_authors: true
106
-
107
- code_sharing:
108
- enabled: true
109
- show_copy: true
110
- show_download: true
111
- show_playground: true
112
- show_share: true
113
-
114
- newsletter:
115
- enabled: false # Enable when newsletter service is configured
116
- provider: "custom" # mailchimp, convertkit, buttondown, custom
117
- action_url: ""
118
- success_message: "Thanks for subscribing!"
119
- privacy_url: "/privacy"
120
-
121
- # -----------------------------------------------------------------------------
122
- # Phase 3: Reading Experience
123
- # -----------------------------------------------------------------------------
124
- archive:
125
- enabled: true
126
- group_by: year # year, month, category, tag
127
- show_statistics: true
128
- show_filters: true
129
- show_excerpts: true
130
- posts_per_month: true
131
-
132
- reading_progress:
133
- enabled: true
134
- position: top # top, bottom, sticky
135
- show_time: true
136
- show_percentage: true
137
- words_per_minute: 200
138
-
139
- reading_time:
140
- enabled: true
141
- words_per_minute: 200
142
- show_word_count: false
143
- default_variant: inline # inline, badge, detailed
144
-
145
- recommendations:
146
- enabled: true
147
- max_recommendations: 3
148
- algorithm: hybrid # tag-based, category-based, hybrid
149
- layout: grid # grid, list, compact
150
- show_view_all: true
151
- show_score: false
152
-
153
- comments:
154
- enabled: true
155
- provider: giscus # giscus, utterances, disqus, commento, custom, none
156
- lazy_load: true
157
- show_count: true
158
- show_privacy_notice: true
159
- privacy_url: "/privacy"
160
- giscus:
161
- repo: "DiogoRibeiro7/analytics-blog-jekyll"
162
- repo_id: "" # Get from https://giscus.app
163
- category: "General"
164
- category_id: "" # Get from https://giscus.app
165
- mapping: pathname
166
- strict: 0
167
- reactions_enabled: 1
168
- emit_metadata: 0
169
- input_position: bottom
170
- theme: preferred_color_scheme
171
- lang: en
172
- loading: lazy
173
- utterances:
174
- repo: "DiogoRibeiro7/analytics-blog-jekyll"
175
- issue_term: pathname
176
- label: comment
177
- theme: github-light
178
- disqus:
179
- shortname: ""
180
- commento:
181
- url: "https://cdn.commento.io"
182
- no_fonts: false
183
- hide_deleted: false
184
- auto_init: true
185
- custom_html: ""
186
-
187
- # -----------------------------------------------------------------------------
188
- # Phase 4: User Experience
189
- # -----------------------------------------------------------------------------
190
- user_preferences:
191
- enabled: true
192
- show_theme_toggle: true
193
- show_font_size: true
194
- show_reading_mode: true
195
- show_layout: true
196
- position: floating # floating, sidebar
197
-
198
- popular_posts:
199
- enabled: true
200
- max_posts: 5
201
- sort_by: recent # recent, comments, trending
202
- show_stats: true
203
- show_thumbnail: true
204
- layout: list # list, grid, compact
205
- show_view_all: true
206
-
207
- navigation:
208
- back_to_top:
209
- enabled: true
210
- threshold: 300 # pixels scrolled before showing
211
- keyboard_shortcuts:
212
- enabled: true
213
-
214
- social_proof:
215
- enabled: true
216
- show_views: true
217
- show_trending: true
218
- show_readers: true
219
- show_completion: true
220
- compact: false
221
-
222
- enhanced_metadata:
223
- enabled: true
224
- show_updated_date: true
225
- show_tags_cloud: true
226
- show_category_path: true
227
- show_reading_level: true
228
- show_word_count: true
229
- layout: inline # inline, stacked, card
230
-
231
- # -----------------------------------------------------------------------------
232
- # Phase 5: Advanced Features
233
- # -----------------------------------------------------------------------------
234
- i18n:
235
- enabled: true
236
- default_language: en
237
- languages: [en, es, fr, de, pt]
238
- show_flags: true
239
- position: header
240
-
241
- advanced_search:
242
- enabled: true
243
- show_filters: true
244
- show_sort: true
245
- highlight_matches: true
246
- results_per_page: 10
247
-
248
- bookmarks:
249
- enabled: true
250
- storage: localStorage
251
- max_bookmarks: 100
252
-
253
- performance:
254
- enabled: true
255
- track_core_web_vitals: true
256
- track_resource_timing: true
257
- report_to_analytics: false
258
-
259
- email_preferences:
260
- enabled: true
261
- topics: [ml, statistics, visualization, python]
262
- subscription_types: [weekly_digest, new_posts, comments, newsletter]
@@ -1,42 +0,0 @@
1
- # =============================================================================
2
- # Site Configuration
3
- # =============================================================================
4
- # Basic site settings and branding. Edit these values to customize your site.
5
- #
6
- # Documentation: https://github.com/DiogoRibeiro7/analytics-blog-jekyll/blob/develop/docs/configuration-reference.md
7
- # =============================================================================
8
-
9
- # Brand identity
10
- brand:
11
- tagline: "Transform data into impactful stories and reproducible research."
12
- accent_symbol: "∀ data · Σ insights"
13
-
14
- # Contact information
15
- contact:
16
- collaboration: diogo.debastos.ribeiro@gmail.com
17
- media: dfr@esmad.ipp.pt
18
-
19
- # SEO metadata
20
- seo:
21
- type: "ResearchProject"
22
- name: "DataLog"
23
- description: "Jekyll theme for data science and research communication"
24
-
25
- # Social media links (for site-wide social sharing)
26
- social:
27
- twitter: datalog_theme
28
- github: DiogoRibeiro7
29
- linkedin: diogoribeiro
30
- default_image: /assets/img/social-card.png
31
-
32
- # Analytics configuration
33
- analytics:
34
- # Google Analytics 4
35
- ga4_property_id: "" # Set to your GA4 property ID to enable the analytics dashboard
36
- ga4_credentials_path: "" # Path to Google service account credentials JSON
37
- # Leave both empty to disable analytics
38
-
39
- # Repository information
40
- repository:
41
- url: https://github.com/DiogoRibeiro7/analytics-blog-jekyll
42
- branch: develop
@@ -1,181 +0,0 @@
1
- # =============================================================================
2
- # Theme Configuration
3
- # =============================================================================
4
- # Visual and behavioral settings for the DataLog theme.
5
- # Customize colors, typography, math rendering, and syntax highlighting.
6
- #
7
- # Documentation: https://github.com/DiogoRibeiro7/analytics-blog-jekyll/docs/configuration.md
8
- # =============================================================================
9
-
10
- # -----------------------------------------------------------------------------
11
- # Academic styling
12
- # -----------------------------------------------------------------------------
13
- academic:
14
- color_schemes:
15
- light: "#0b1d3d"
16
- dark: "#f5f7ff"
17
- accent: "#3277f6"
18
- typography:
19
- body: "Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
20
- headings: "Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
21
- code: "'Fira Code', 'Source Code Pro', monospace"
22
- layout:
23
- max_width: 80rem
24
- column_gap: 2.5rem
25
-
26
- # -----------------------------------------------------------------------------
27
- # Math rendering (MathJax/KaTeX)
28
- # -----------------------------------------------------------------------------
29
- math:
30
- engine: mathjax # Options: mathjax, katex
31
- output: chtml
32
- equation_numbering: true
33
- accessibility: true
34
- render_on_load: true
35
- katex_cdn: https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/
36
- mathjax_cdn: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js
37
-
38
- # -----------------------------------------------------------------------------
39
- # Syntax highlighting (Prism)
40
- # -----------------------------------------------------------------------------
41
- syntax_highlighting:
42
- engine: prism
43
- cdn: https://cdn.jsdelivr.net/npm/prismjs@1.29.0
44
- themes:
45
- light: prism-coy
46
- dark: prism-tomorrow
47
- components:
48
- - core
49
- - python
50
- - r
51
- - sql
52
- - julia
53
- - javascript
54
- # Per-language theme overrides (optional)
55
- language_overrides:
56
- python: prism-coy
57
- r: prism-okaidia
58
- sql: prism-twilight
59
- julia: prism-atom-dark
60
- javascript: prism-material-oceanic
61
-
62
- # -----------------------------------------------------------------------------
63
- # Data visualizations
64
- # -----------------------------------------------------------------------------
65
- visualizations:
66
- responsive: true
67
- lazy_load: true
68
- plotly:
69
- version: 2.27.0
70
- mode_bar: true
71
- d3:
72
- version: 7
73
- csp_compliant: true
74
- observable:
75
- trusted_domains:
76
- - https://observablehq.com
77
- bokeh:
78
- resources: cdn
79
- shiny:
80
- iframe_title: "Embedded R Shiny application"
81
-
82
- # -----------------------------------------------------------------------------
83
- # Typography settings
84
- # -----------------------------------------------------------------------------
85
- typography:
86
- scale: modular
87
- base_font_size: 18px
88
-
89
- # -----------------------------------------------------------------------------
90
- # Image optimization
91
- # -----------------------------------------------------------------------------
92
- images:
93
- sizes:
94
- - 320
95
- - 640
96
- - 960
97
- - 1280
98
- - 1920
99
- quality:
100
- avif: 50
101
- webp: 75
102
- jpeg: 85
103
- png: 90
104
- lazy_loading: lazy
105
-
106
- # -----------------------------------------------------------------------------
107
- # Localization
108
- # -----------------------------------------------------------------------------
109
- localization:
110
- default_locale: en
111
- locales:
112
- - code: en
113
- label: English
114
- url: /
115
- rtl_locales:
116
- - ar
117
- - he
118
-
119
- # -----------------------------------------------------------------------------
120
- # Programming language filters (for content filtering)
121
- # -----------------------------------------------------------------------------
122
- filters:
123
- languages:
124
- - label: Python
125
- url: /tags/python/
126
- - label: R
127
- url: /tags/r/
128
- - label: SQL
129
- url: /tags/sql/
130
- - label: Julia
131
- url: /tags/julia/
132
- - label: JavaScript
133
- url: /tags/javascript/
134
- - label: Scala
135
- url: /tags/scala/
136
-
137
- # -----------------------------------------------------------------------------
138
- # Dataset defaults
139
- # -----------------------------------------------------------------------------
140
- datasets:
141
- default_license: CC-BY-4.0
142
- availability_statement: "Datasets include licensing, provenance, and methodological notes."
143
-
144
- # -----------------------------------------------------------------------------
145
- # Project showcase settings
146
- # -----------------------------------------------------------------------------
147
- projects:
148
- default_repository: DiogoRibeiro7/analytics-blog-jekyll
149
- showcase_tags:
150
- - predictive-modeling
151
- - experimental-design
152
- - visualization
153
-
154
- # -----------------------------------------------------------------------------
155
- # Publications/Bibliography
156
- # -----------------------------------------------------------------------------
157
- publications:
158
- bibtex_source: assets/publications/publications.bib
159
- sort_order: descending
160
- group_by: year
161
- include_bibliography: true
162
- export_formats:
163
- - bibtex
164
- - ris
165
- - endnote
166
- sync_citations_from_academic_data: true
167
-
168
- # -----------------------------------------------------------------------------
169
- # Search behavior
170
- # -----------------------------------------------------------------------------
171
- search:
172
- include_code_blocks: true
173
- include_math: true
174
- enable_keyboard_shortcuts: true
175
-
176
- # -----------------------------------------------------------------------------
177
- # Accessibility
178
- # -----------------------------------------------------------------------------
179
- accessibility:
180
- math_alt_text: true
181
- code_contrast: AAA