j1-template 2021.0.3 → 2021.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +10 -10
- data/assets/data/quicklinks.html +2 -2
- data/assets/themes/j1/adapter/js/mmenu.js +18 -22
- data/assets/themes/j1/adapter/js/{lunr_search.js → quicksearch.js} +11 -11
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.eot → eot/fa-brands-400.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.eot → eot/fa-regular-400.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.eot → eot/fa-solid-900.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.svg → svg/fa-brands-400.svg} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.svg → svg/fa-regular-400.svg} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.svg → svg/fa-solid-900.svg} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.ttf → ttf/fa-brands-400.ttf} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.ttf → ttf/fa-regular-400.ttf} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.ttf → ttf/fa-solid-900.ttf} +0 -0
- data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.eot → eot/materialdesignicons-webfont.eot} +0 -0
- data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.svg → svg/materialdesignicons-webfont.svg} +0 -0
- data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.ttf → ttf/materialdesignicons-webfont.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.eot → eot/Roboto-Bold.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.eot → eot/Roboto-Light.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.eot → eot/Roboto-Medium.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.eot → eot/Roboto-Regular.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.eot → eot/Roboto-Thin.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Black.ttf → ttf/Roboto-Black.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BlackItalic.ttf → ttf/Roboto-BlackItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.ttf → ttf/Roboto-Bold.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BoldItalic.ttf → ttf/Roboto-BoldItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Italic.ttf → ttf/Roboto-Italic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.ttf → ttf/Roboto-Light.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-LightItalic.ttf → ttf/Roboto-LightItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.ttf → ttf/Roboto-Medium.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-MediumItalic.ttf → ttf/Roboto-MediumItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.ttf → ttf/Roboto-Regular.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.ttf → ttf/Roboto-Thin.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-ThinItalic.ttf → ttf/Roboto-ThinItalic.ttf} +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
- data/assets/themes/j1/modules/datatables/css/datatables.css +1113 -0
- data/assets/themes/j1/modules/datatables/css/datatables.min.css +136 -0
- data/assets/themes/j1/modules/datatables/css/theme/uno.css +473 -0
- data/assets/themes/j1/modules/datatables/js/datatables.js +95360 -0
- data/assets/themes/j1/modules/datatables/js/datatables.min.js +533 -0
- data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.css → quicksearch.css} +0 -0
- data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.min.css → quicksearch.min.css} +0 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.js +304 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.js → quicksearch.js} +22 -3
- data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.min.js → quicksearch.min.js} +0 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.js +381 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.js +284 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.js +384 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.js +450 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.js +599 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.js +541 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.js +703 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.js +565 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.js +617 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.js +188 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.js +5 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.js +79 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.js +448 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.js +258 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.js +570 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.js +558 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.js +391 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.js +256 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.th.js +97 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.js +1087 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.js +84 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.min.js +1 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -2
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1mn-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1p-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoemoji-subset +3 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoserif-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-mplus +16 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoemoji +201 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoserif +201 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-roboto +11 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Black.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BlackItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Bold.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BoldItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Italic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Light.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-LightItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Medium.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-MediumItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Regular.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Thin.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-ThinItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-italic-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-regular-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/notoemoji-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold_italic-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-italic-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-regular-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/base-theme.yml +130 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-theme.yml +36 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-with-fallback-font-theme.yml +15 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-theme.yml +298 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-with-fallback-font-theme.yml +21 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +315 -0
- data/lib/starter_web/_data/modules/defaults/quicksearch.yml +73 -0
- data/lib/starter_web/_data/modules/navigator.yml +4 -6
- data/lib/starter_web/_data/modules/{lunr_search.yml → quicksearch.yml} +3 -3
- data/lib/starter_web/_data/modules/themer.yml +1 -1
- data/lib/starter_web/_data/resources.yml +34 -37
- data/lib/starter_web/_includes/attributes.asciidoc +3 -1
- data/lib/starter_web/_plugins/lunr_index.rb +19 -8
- data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
- data/lib/starter_web/dot.gitattributes +2 -16
- data/lib/starter_web/package.json +6 -6
- data/lib/starter_web/pages/protected/site_search.adoc +2 -7
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +1 -1
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +2 -2
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +146 -47
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +127 -49
- data/assets/themes/j1/core/fonts/materialdesign_icons/license.md +0 -97
- data/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
- data/lib/starter_web/_data/modules/defaults/lunr_search.yml +0 -171
@@ -1,6 +1,6 @@
|
|
1
1
|
# ------------------------------------------------------------------------------
|
2
2
|
# ~/_data/modules/lunr_search.yml
|
3
|
-
# User configuration settings for
|
3
|
+
# User configuration settings for J1 QuickSearch module
|
4
4
|
#
|
5
5
|
# Product/Info:
|
6
6
|
# https://jekyll.one
|
@@ -16,7 +16,7 @@
|
|
16
16
|
#
|
17
17
|
about_config:
|
18
18
|
|
19
|
-
title:
|
19
|
+
title: J1 LunrSearch
|
20
20
|
scope: User settings
|
21
21
|
location: _data/modules/lunr_search.yml
|
22
22
|
|
@@ -29,7 +29,7 @@ settings:
|
|
29
29
|
placement: navbar
|
30
30
|
target: _blank
|
31
31
|
|
32
|
-
stopwords_locale:
|
32
|
+
stopwords_locale: en
|
33
33
|
min_length: 3
|
34
34
|
|
35
35
|
# ------------------------------------------------------------------------------
|
@@ -351,12 +351,11 @@ resources:
|
|
351
351
|
# 5 log4javascript log4javascript@1.4.15
|
352
352
|
# 6 Bootstrap bootstrap@4.4.1
|
353
353
|
# 6 bs_material_design bootstrap-material-design@4.0.0-beta.4
|
354
|
-
# 7 j1_template j1_template_4@2021.0.
|
354
|
+
# 7 j1_template j1_template_4@2021.0.4
|
355
355
|
# 8 tocbot tocbot@4.12.0
|
356
|
-
# 9 jekyll_search simple_jekyll_search@1.1.5
|
357
356
|
# 10 bs_theme_switcher bs_theme_switcher@1.1.5
|
358
357
|
# 11 backstretch backstretch@2.1.16
|
359
|
-
# 12 cookiebar cookiebar@2021.0.
|
358
|
+
# 12 cookiebar cookiebar@2021.0.4
|
360
359
|
#
|
361
360
|
# ----------------------------------------------------------------------------
|
362
361
|
# J1 Template Core, integrated CSS Resources
|
@@ -576,29 +575,6 @@ resources:
|
|
576
575
|
js: []
|
577
576
|
init_function: [ j1.adapter.back2top.init ]
|
578
577
|
|
579
|
-
# ----------------------------------------------------------------------------
|
580
|
-
# SimpleSearch, search engine for Jekyll sites based on Simple-Jekyll-Search
|
581
|
-
# https://github.com/christian-fei/Simple-Jekyll-Search
|
582
|
-
#
|
583
|
-
#
|
584
|
-
- name: J1 SimpleSearch
|
585
|
-
resource:
|
586
|
-
id: simple_search
|
587
|
-
enabled: false # NOT longer used (lunr search preferred)
|
588
|
-
comment: module quicksearch
|
589
|
-
region: head
|
590
|
-
layout: [ all ]
|
591
|
-
required: always
|
592
|
-
preload: false # property currently unused
|
593
|
-
script_load: sync
|
594
|
-
dependencies: false
|
595
|
-
pass_init_data: false
|
596
|
-
data:
|
597
|
-
css: [ modules/jekyllSearch/css/jekyll-search ]
|
598
|
-
files: [ adapter/js/searcher.js ]
|
599
|
-
js: [ modules/jekyllSearch/js/simple-jekyll-search ]
|
600
|
-
init_function: [ j1.adapter.searcher.init ]
|
601
|
-
|
602
578
|
# ----------------------------------------------------------------------------
|
603
579
|
# CookieBar
|
604
580
|
#
|
@@ -712,7 +688,7 @@ resources:
|
|
712
688
|
init_function: []
|
713
689
|
|
714
690
|
# ----------------------------------------------------------------------------
|
715
|
-
# Responsive HTML tables for
|
691
|
+
# Responsive HTML tables for J1 Template (rtable)
|
716
692
|
#
|
717
693
|
- name: Responsive Tables
|
718
694
|
resource:
|
@@ -1200,7 +1176,7 @@ resources:
|
|
1200
1176
|
enabled: true
|
1201
1177
|
comment: Floating Button Menu
|
1202
1178
|
region: head
|
1203
|
-
layout: [
|
1179
|
+
layout: [ page, post, collection ] # TODO: check if FAM makes sense for layout app
|
1204
1180
|
required: always
|
1205
1181
|
preload: false # property currently unused
|
1206
1182
|
script_load: sync
|
@@ -1220,14 +1196,14 @@ resources:
|
|
1220
1196
|
init_function: [ j1.adapter.fam.init ]
|
1221
1197
|
|
1222
1198
|
# ----------------------------------------------------------------------------
|
1223
|
-
# lunr
|
1199
|
+
# QuickSearch (lunr for J1 Template)
|
1224
1200
|
# NOTE: This module is in state EXPERIMENTAL
|
1225
1201
|
#
|
1226
|
-
- name:
|
1202
|
+
- name: QuickSearch
|
1227
1203
|
resource:
|
1228
|
-
id:
|
1204
|
+
id: quicksearch
|
1229
1205
|
enabled: true
|
1230
|
-
comment:
|
1206
|
+
comment: J1 QuickSearch
|
1231
1207
|
region: head
|
1232
1208
|
layout: [ all ]
|
1233
1209
|
required: always # always | ondemand
|
@@ -1236,17 +1212,38 @@ resources:
|
|
1236
1212
|
dependencies: false
|
1237
1213
|
pass_init_data: false
|
1238
1214
|
data:
|
1239
|
-
css: [ modules/lunrSearch/css/
|
1240
|
-
files: [ adapter/js/
|
1215
|
+
css: [ modules/lunrSearch/css/quicksearch ]
|
1216
|
+
files: [ adapter/js/quicksearch.js ]
|
1241
1217
|
js: [
|
1242
1218
|
modules/lunrSearch/js/lunr,
|
1243
1219
|
modules/lunrSearch/js/mustache,
|
1244
1220
|
modules/lunrSearch/js/dateformat,
|
1245
1221
|
modules/lunrSearch/js/uri,
|
1246
|
-
# modules/jquery/js/require, #
|
1247
|
-
modules/lunrSearch/js/
|
1222
|
+
# modules/jquery/js/require, # require.js currently unused, but conflicts with some modules
|
1223
|
+
modules/lunrSearch/js/quicksearch
|
1248
1224
|
]
|
1249
|
-
init_function: [ j1.adapter.
|
1225
|
+
init_function: [ j1.adapter.quicksearch.init ]
|
1226
|
+
|
1227
|
+
# ----------------------------------------------------------------------------
|
1228
|
+
# Data tables for J1 Template
|
1229
|
+
#
|
1230
|
+
- name: Data Tables
|
1231
|
+
resource:
|
1232
|
+
id: datatables
|
1233
|
+
enabled: false
|
1234
|
+
comment: module datatables
|
1235
|
+
region: head
|
1236
|
+
layout: [ all ]
|
1237
|
+
required: ondemand
|
1238
|
+
preload: false # property currently unused
|
1239
|
+
script_load: async
|
1240
|
+
dependencies: false
|
1241
|
+
pass_init_data: false
|
1242
|
+
data:
|
1243
|
+
css: [ modules/datatables/css/datatables ]
|
1244
|
+
files: [ modules/datatables/css/theme/uno.css ]
|
1245
|
+
js: [ modules/datatables/js/datatables ]
|
1246
|
+
init_function: []
|
1250
1247
|
|
1251
1248
|
# ------------------------------------------------------------------------------
|
1252
1249
|
# END config
|
@@ -136,6 +136,7 @@ tag::tags[]
|
|
136
136
|
:browser-window--new: window="_blank"
|
137
137
|
:clipboard--noclip: noclip
|
138
138
|
:level--beginner: icon:battery-quarter[role="md-blue"]
|
139
|
+
:level--intermediate: icon:battery-half[role="md-blue"]
|
139
140
|
:level--advanced: icon:battery-full[role="md-blue"]
|
140
141
|
:figure-caption--text: Figure
|
141
142
|
|
@@ -143,6 +144,7 @@ tag::tags[]
|
|
143
144
|
:icon-times: icon:times[role="red"]
|
144
145
|
:icon-file: icon:file-alt[role="blue"]
|
145
146
|
:icon-battery--quarter: icon:battery-quarter[role="md-blue"]
|
147
|
+
:icon-battery--half: icon:battery-half[role="md-blue"]
|
146
148
|
:icon-battery--full: icon:battery-full[role="md-blue"]
|
147
149
|
|
148
150
|
:char-emdash: —
|
@@ -182,7 +184,7 @@ end::tables[]
|
|
182
184
|
// -----------------------------------------------------------------------------
|
183
185
|
tag::products[]
|
184
186
|
:j1-license: MIT License
|
185
|
-
:j1-version: 2021.0.
|
187
|
+
:j1-version: 2021.0.4
|
186
188
|
end::products[]
|
187
189
|
|
188
190
|
|
@@ -31,8 +31,8 @@ module Jekyll
|
|
31
31
|
@module_path.slice! "_plugins"
|
32
32
|
@module_config_path = File.join(@module_path, config['data_dir'], 'modules')
|
33
33
|
|
34
|
-
@module_config_default = YAML::load(File.open(File.join(@module_config_path, 'defaults', '
|
35
|
-
@module_config_user = YAML::load(File.open(File.join(@module_config_path,'
|
34
|
+
@module_config_default = YAML::load(File.open(File.join(@module_config_path, 'defaults', 'quicksearch.yml')))
|
35
|
+
@module_config_user = YAML::load(File.open(File.join(@module_config_path,'quicksearch.yml')))
|
36
36
|
|
37
37
|
@module_config_default_settings = @module_config_default['defaults']
|
38
38
|
@module_config_user_settings = @module_config_user['settings']
|
@@ -83,17 +83,23 @@ module Jekyll
|
|
83
83
|
#
|
84
84
|
@strip_index_html = @lunr_config['strip_index_html']
|
85
85
|
|
86
|
+
# @strip_categories configuration
|
87
|
+
#
|
88
|
+
@strip_categories = @lunr_config['strip_categories']
|
89
|
+
@stripped_categories = @strip_categories.join(',').gsub!(',', ' ')
|
90
|
+
|
86
91
|
# stop word exclusion configuration
|
87
92
|
#
|
88
93
|
@min_length = @lunr_config['min_length']
|
89
94
|
@stopwords_file = @lunr_config['stopwords']
|
95
|
+
|
90
96
|
end
|
91
97
|
|
92
98
|
# Index all pages except pages matching any value in config['lunr_excludes']
|
93
99
|
# or with frontmatter settings (exclude_from_search: true)
|
94
100
|
#
|
95
101
|
def generate(site)
|
96
|
-
Jekyll.logger.info 'J1
|
102
|
+
Jekyll.logger.info 'J1 QuickSearch:', 'creating search index ...'
|
97
103
|
|
98
104
|
@site = site
|
99
105
|
# gather posts and pages
|
@@ -103,7 +109,7 @@ module Jekyll
|
|
103
109
|
# index = []
|
104
110
|
|
105
111
|
index_js = open(@lunr_path).read
|
106
|
-
# all settings must be added within the index function
|
112
|
+
# NOTE: all settings must be added within the index function
|
107
113
|
#
|
108
114
|
index_js << 'var idx = lunr(function() {'
|
109
115
|
|
@@ -130,7 +136,11 @@ module Jekyll
|
|
130
136
|
'body' => entry.body
|
131
137
|
}
|
132
138
|
|
139
|
+
# remove unwanted categories
|
140
|
+
doc['categories'] -= @strip_categories
|
141
|
+
|
133
142
|
index_js << 'this.add(' << ::JSON.generate(doc, quirks_mode: true) << ');'
|
143
|
+
|
134
144
|
# reduce the size of the doc array by deleting the body key
|
135
145
|
doc.delete('body')
|
136
146
|
@docs[i] = doc
|
@@ -146,12 +156,13 @@ module Jekyll
|
|
146
156
|
'docs' => @docs,
|
147
157
|
'index' => ::JSON.parse(index, {:max_nesting => false})
|
148
158
|
}
|
149
|
-
|
150
159
|
filepath = File.join(site.dest, filename)
|
160
|
+
|
151
161
|
# create data path if not already exists
|
162
|
+
#
|
152
163
|
FileUtils.mkdir_p(File.dirname(filepath))
|
153
164
|
File.open(filepath, 'w') { |f| f.write(JSON.dump(total)) }
|
154
|
-
Jekyll.logger.info 'J1
|
165
|
+
Jekyll.logger.info 'J1 QuickSearch:', "finished, index ready."
|
155
166
|
added_files = [filename]
|
156
167
|
|
157
168
|
# Keep the written files from being cleaned by Jekyll
|
@@ -250,7 +261,7 @@ module Jekyll
|
|
250
261
|
elsif defined?(site.data['date'])
|
251
262
|
date = site.data['date']
|
252
263
|
else
|
253
|
-
date = '
|
264
|
+
date = '2021-01-01 00:00:00'
|
254
265
|
end
|
255
266
|
|
256
267
|
tagline = site.data['tagline']
|
@@ -311,6 +322,6 @@ end
|
|
311
322
|
|
312
323
|
module Jekyll
|
313
324
|
module J1LunrSearch
|
314
|
-
VERSION = '
|
325
|
+
VERSION = '2021.0.4'
|
315
326
|
end
|
316
327
|
end
|
@@ -14,7 +14,7 @@
|
|
14
14
|
version="1.1"
|
15
15
|
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
|
16
16
|
sodipodi:docname="d1.svg"
|
17
|
-
inkscape:export-filename="C:\Temp\d10n-2021.0.
|
17
|
+
inkscape:export-filename="C:\Temp\d10n-2021.0.4\assets\images\modules\icons\d1\d1-256x256.png"
|
18
18
|
inkscape:export-xdpi="49.152"
|
19
19
|
inkscape:export-ydpi="49.152">
|
20
20
|
<title
|
@@ -12,20 +12,6 @@
|
|
12
12
|
#
|
13
13
|
# ------------------------------------------------------------------------------
|
14
14
|
|
15
|
-
# Enforce Unix newlines
|
15
|
+
# Enforce Unix newlines, all text files
|
16
16
|
#
|
17
|
-
|
18
|
-
*.html text eol=lf
|
19
|
-
*.js text eol=lf
|
20
|
-
*.json text eol=lf
|
21
|
-
*.md text eol=lf
|
22
|
-
*.py text eol=lf
|
23
|
-
*.rb text eol=lf
|
24
|
-
*.scss text eol=lf
|
25
|
-
*.svg text eol=lf
|
26
|
-
*.yml text eol=lf
|
27
|
-
# Don't diff or textually merge source maps
|
28
|
-
*.map binary
|
29
|
-
|
30
|
-
bootstrap.css linguist-vendored=false
|
31
|
-
bootstrap.js linguist-vendored=false
|
17
|
+
* text=auto eol=lf
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"private": true,
|
3
3
|
"name": "j1_starter",
|
4
|
-
"version": "2021.0.
|
4
|
+
"version": "2021.0.4",
|
5
5
|
"description": "J1 Template Starter Web",
|
6
6
|
"homepage": "https://your.site",
|
7
7
|
"author": {
|
@@ -41,14 +41,14 @@
|
|
41
41
|
"opt_skip_initial_build": "--skip-initial-build",
|
42
42
|
"opt_webserver": "puma",
|
43
43
|
"opt_interface": "0.0.0.0",
|
44
|
-
"opt_web_port": "
|
45
|
-
"opt_web_url": "http://localhost:
|
46
|
-
"opt_app_port": "
|
47
|
-
"opt_app_url": "http://localhost:
|
44
|
+
"opt_web_port": "40000",
|
45
|
+
"opt_web_url": "http://localhost:40000/",
|
46
|
+
"opt_app_port": "40010",
|
47
|
+
"opt_app_url": "http://localhost:40010/",
|
48
48
|
"opt_profile": "",
|
49
49
|
"opt_watch": "--watch",
|
50
50
|
"opt_livereload": "--livereload",
|
51
|
-
"opt_livereload_port": "
|
51
|
+
"opt_livereload_port": "40001"
|
52
52
|
},
|
53
53
|
"algolia": {
|
54
54
|
"admin_key": "your-algolia-admin-key"
|
@@ -3,13 +3,8 @@ title: Site Search
|
|
3
3
|
tagline: Full-text search engine
|
4
4
|
description: Algolia Index for all documents
|
5
5
|
|
6
|
-
tags: [
|
7
|
-
|
8
|
-
Site, Search, Engine, Algolia
|
9
|
-
]
|
10
|
-
index: []
|
11
|
-
categories: [ pages ]
|
12
|
-
|
6
|
+
tags: [ Algolia ]
|
7
|
+
categories: [ Search ]
|
13
8
|
toc: false
|
14
9
|
|
15
10
|
permalink: /pages/protected/site_search/
|
data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc
CHANGED
@@ -9,7 +9,7 @@ description: >
|
|
9
9
|
J1 Template which all people needs to know for a successful
|
10
10
|
way to a modern static website using Jekyll and J1 Template
|
11
11
|
|
12
|
-
tags: [
|
12
|
+
tags: [ Introduction ]
|
13
13
|
categories: [ Jekyll, Knowledge, Tutorial ]
|
14
14
|
|
15
15
|
permalink: /pages/public/learn/kickstarter/web_in_a_day/meet_and_greet/
|
@@ -5,7 +5,7 @@ date: 2018-05-01 00:00:00
|
|
5
5
|
description: >
|
6
6
|
Modern static website in a day
|
7
7
|
|
8
|
-
tags: [
|
8
|
+
tags: [ Preparations ]
|
9
9
|
categories: [ Jekyll, Knowledge, Tutorial ]
|
10
10
|
|
11
11
|
permalink: /pages/public/learn/kickstarter/web_in_a_day/preparations/
|
@@ -42,7 +42,7 @@ resource_options:
|
|
42
42
|
|
43
43
|
// Load page attributes
|
44
44
|
// -----------------------------------------------------------------------------
|
45
|
-
{% include {{load_attributes}} scope="
|
45
|
+
{% include {{load_attributes}} scope="all" %}
|
46
46
|
|
47
47
|
|
48
48
|
// Page content
|
@@ -5,7 +5,7 @@ date: 2018-05-01 00:00:00
|
|
5
5
|
description: >
|
6
6
|
Modern static website in a day
|
7
7
|
|
8
|
-
tags: [
|
8
|
+
tags: [ WebDesign ]
|
9
9
|
categories: [ Jekyll, Knowledge, Tutorial ]
|
10
10
|
|
11
11
|
permalink: /pages/public/learn/kickstarter/web_in_a_day/first_awesome_web/
|
@@ -42,7 +42,7 @@ resource_options:
|
|
42
42
|
|
43
43
|
// Load page attributes
|
44
44
|
// -----------------------------------------------------------------------------
|
45
|
-
{% include {{load_attributes}} scope="
|
45
|
+
{% include {{load_attributes}} scope="all" %}
|
46
46
|
|
47
47
|
|
48
48
|
// Page content
|
@@ -3,10 +3,10 @@ title: Lunr
|
|
3
3
|
tagline: full index search
|
4
4
|
date: 2020-11-08 12:00:00
|
5
5
|
description: >
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
The search engine Lunr is fully integrated with
|
7
|
+
J1 Template. Designed to be small, yet full featured,
|
8
|
+
to provide a great search experience without the
|
9
|
+
need for external, server-side, search services.
|
10
10
|
|
11
11
|
tags: [ Roundtrip, Introduction ]
|
12
12
|
categories: [ Search ]
|
@@ -49,74 +49,173 @@ resource_options:
|
|
49
49
|
// Page content
|
50
50
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
51
51
|
|
52
|
-
|
52
|
+
The search engine Lunr is fully integrated with J1 Template. Designed to be
|
53
|
+
small, yet full featured, to provide a great search experience without the
|
54
|
+
need for external, server-side search services.
|
53
55
|
|
54
|
-
|
55
|
-
|
56
|
+
Searching a website using Lunr a different in compare to search engines
|
57
|
+
like Google or Microsoft Bing. These search platforms using complex algorithm
|
58
|
+
to provide a simple interface to the public using a lot of artificial
|
59
|
+
intelligence (AI) methods to make senseful results out of a handfull words
|
60
|
+
given for a search.
|
56
61
|
|
57
|
-
|
58
|
-
|
62
|
+
Nevertheless, a QuickSearch, the J1 implementation of Lunr, is simple like
|
63
|
+
searching at Google, but offers additional features to do searches more
|
64
|
+
specific. QuickSearch provides a easy to use query language for better results.
|
59
65
|
|
60
|
-
|
66
|
+
== Core concepts
|
67
|
+
|
68
|
+
Understanding some of the concepts and terminology that QuickSearch (based on
|
69
|
+
Lunr) uses will allow you to provide powerful search functionality to get more
|
70
|
+
relevant search results.
|
71
|
+
|
72
|
+
=== Indexing documnents
|
73
|
+
|
74
|
+
QuickSearch, the J1 implementation of Lunr, offers searches on *all* documents
|
75
|
+
of website generated by J1, but only for this site. No internet access is done,
|
76
|
+
or needed. Searches are based on a pre-build *local index* generated by the
|
77
|
+
Jekyll plugin `lunr_index.rb` located in the `_plugins` folder.
|
78
|
+
|
79
|
+
The index is generated at build-time:
|
80
|
+
|
81
|
+
.Index creation at buildtime
|
61
82
|
----
|
62
|
-
|
83
|
+
Startup the site ..
|
84
|
+
Configuration file: ...
|
85
|
+
|
86
|
+
Incremental build: enabled
|
87
|
+
Generating...
|
88
|
+
J1 LunrSearch: creating search index ...
|
89
|
+
J1 LunrSearch: finished, index ready.
|
90
|
+
....
|
63
91
|
----
|
64
92
|
|
65
|
-
|
66
|
-
|
67
|
-
string into a search query. This supports special syntax for defining
|
68
|
-
more complex queries.
|
93
|
+
Or, if you're running a website in development mode, the index gets refreshed
|
94
|
+
for all files added or modified.
|
69
95
|
|
70
|
-
|
71
|
-
|
72
|
-
|
96
|
+
.Index creation if files added, or modified
|
97
|
+
----
|
98
|
+
site: Regenerating: n file(s) changed at ...
|
99
|
+
site: ...
|
100
|
+
site: J1 LunrSearch: creating search index ...
|
101
|
+
site: J1 LunrSearch: finished, index ready.
|
102
|
+
...
|
103
|
+
----
|
73
104
|
|
74
|
-
|
105
|
+
=== Documents
|
106
|
+
|
107
|
+
The searchable data in an index is organized as documents that contains the
|
108
|
+
text that you want to be able to search. A document is a JSON object with one
|
109
|
+
or more fields and an identifier that is returned in the results from a search.
|
110
|
+
A document representing an article might look like this:
|
111
|
+
|
112
|
+
[ source, json ]
|
75
113
|
----
|
76
|
-
|
114
|
+
{
|
115
|
+
"id": 0,
|
116
|
+
"title": "Web in a Day",
|
117
|
+
"tagline": "meet & greet jekyll",
|
118
|
+
"url": "/pages/public/learn/kickstarter/web_in_a_day/meet_and_greet/",
|
119
|
+
"date": "2018-05-01 00:00:00 +0000",
|
120
|
+
"tags": [
|
121
|
+
"Introduction"
|
122
|
+
],
|
123
|
+
"categories": [
|
124
|
+
"Jekyll",
|
125
|
+
"Knowledge",
|
126
|
+
"Tutorial"
|
127
|
+
],
|
128
|
+
"description": "Web in a Day is the first in a series of tutorials ... J1 Template\n",
|
129
|
+
"is_post": false
|
130
|
+
}
|
77
131
|
----
|
78
132
|
|
79
|
-
|
80
|
-
|
81
|
-
|
133
|
+
In this document there are several fields, like `title`, `tagline`, or
|
134
|
+
`description` that could be used for *full-text* searches. But additional
|
135
|
+
fields are available, like `tags` or `categories` that can be used for
|
136
|
+
more specific searches based on `identifiers`.
|
137
|
+
|
138
|
+
To do a simple full-text search as well as more specific searches, QuickSearch
|
139
|
+
offers a query language, a DSL (domain specific language). Find more about
|
140
|
+
*QuickSearch DSL* queries below.
|
82
141
|
|
83
142
|
=== Scoring
|
84
143
|
|
85
|
-
The
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
search term occurs in
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
144
|
+
The relevance (the `score`) of a document is calculated by an algorithm
|
145
|
+
called BM25, along with other factors. You don’t need to worry too much about
|
146
|
+
the details of how BM25 works. To summarize, the more a search term occurs in
|
147
|
+
a single document, the more that term will increase that document’s score,
|
148
|
+
but the more a search term occurs in the *overall collection* of documents,
|
149
|
+
the less that term will increase a document’s score. In other words: seldom
|
150
|
+
words count, increase the score.
|
151
|
+
|
152
|
+
Scoring information, generated by the BM25 algorithm, is added to the (local)
|
153
|
+
index. This allows a very fast calculation of the relevance of documents for
|
154
|
+
a query.
|
155
|
+
|
156
|
+
For example, imagine you’re website contains documents about Jekyll. The
|
157
|
+
term `Jekyll` may occur very frequently throughout the entire website
|
158
|
+
(used quite often for the content), so finding a document that mentions the
|
159
|
+
term Jekyll isn’t very significant.
|
160
|
+
|
161
|
+
However, if you’re searching for `Jekyll Generator`, only some documents of
|
162
|
+
the website have the term `Generator` in them, and that will bring the score
|
163
|
+
(relevance) for documents having both terms (words) in them at a higher score,
|
164
|
+
bring them higher up in your search results.
|
165
|
+
|
166
|
+
Matching and scoring is used by all search engines; the same to J1 QuickSearch.
|
167
|
+
You'll see for QuickSearch a similiar behavior in *sorting* search results as
|
168
|
+
you already know from internet search engines like Google. The top results
|
169
|
+
are the more relevant ones.
|
170
|
+
|
171
|
+
== Searching
|
172
|
+
|
173
|
+
Search queries looks like simple text. But the search `engine` Lunr under the
|
174
|
+
hood transforms the given search string (text) always into a search query.
|
175
|
+
This supports special syntax, the DSL, for defining more complex queries.
|
176
|
+
|
177
|
+
As always: start simple!
|
178
|
+
|
179
|
+
=== Simple searches
|
180
|
+
|
181
|
+
The simplest way to run a search is to pass the text (words) on which you
|
182
|
+
want to search on:
|
183
|
+
|
184
|
+
----
|
185
|
+
jekyll
|
186
|
+
----
|
187
|
+
|
188
|
+
The above will return details of all documents that match the term
|
189
|
+
`jekyll`. Searches for *multiple* terms (words) are also supported. If
|
190
|
+
a document matches *at least* one of the search terms, it will show in the
|
191
|
+
results. The search terms are combined with `OR`.
|
192
|
+
|
193
|
+
----
|
194
|
+
jekyll generator
|
195
|
+
----
|
196
|
+
|
197
|
+
The above example will match documents that contain either `jekyll` *or*
|
198
|
+
`generator`. Documents that contain _both_ will score more highly and will
|
199
|
+
be returned first.
|
200
|
+
|
201
|
+
NOTE: In difference to a Google search (terms are combined at Google by
|
202
|
+
`AND`) a Quicksearch combines the terms by `OR`.
|
102
203
|
|
103
204
|
=== Wildcards
|
104
205
|
|
105
|
-
|
206
|
+
QuickSearch supports wildcards when performing searches. A wildcard is
|
106
207
|
represented as an asterisk (`*`) and can appear anywhere in a search
|
107
208
|
term. For example, the following will match all documents with words
|
108
|
-
beginning with
|
209
|
+
beginning with `Jek`:
|
109
210
|
|
110
|
-
[source, javascript]
|
111
211
|
----
|
112
|
-
|
212
|
+
jek*
|
113
213
|
----
|
114
214
|
|
115
|
-
This will match all documents that end with
|
215
|
+
This will match all documents that end with `kyll`:
|
116
216
|
|
117
|
-
[source, javascript]
|
118
217
|
----
|
119
|
-
|
218
|
+
*kyll
|
120
219
|
----
|
121
220
|
|
122
221
|
Leading wildcards, as in the above example, should be used sparingly.
|