2 more search options: searchContent, searchDistance
This commit is contained in:
		
							parent
							
								
									438cc9561c
								
							
						
					
					
						commit
						272be8ac88
					
				|  | @ -268,10 +268,14 @@ showMobileMenuTerms = ["tags", "categories", "series"] | |||
| # navbar | ||||
| enableThemeChange = true # site color theme | ||||
| 
 | ||||
| # body | ||||
| enableBreadcrumb = true # breadcrumb for list, single page | ||||
| # search | ||||
| enableSearch = true # site search with fuse | ||||
| enableSearchHighlight = true # when true, search keyword will be highlighted | ||||
| searchContent = true # include content to search index | ||||
| searchDistance = 100 # fuse option: distance | ||||
| 
 | ||||
| # body | ||||
| enableBreadcrumb = true # breadcrumb for list, single page | ||||
| enableGoToTop = true # scroll to top | ||||
| enableWhoami = true # at the end of single page | ||||
| summaryShape = "classic" # card, classic, compact | ||||
|  |  | |||
|  | @ -30,15 +30,18 @@ hideHomeHeaderWhenMobile = false | |||
| # menu | ||||
| showMobileMenuTerms = ["tags", "categories", "series"] | ||||
| 
 | ||||
| # body | ||||
| enableBreadcrumb = true | ||||
| enablePhotoSwipe = true | ||||
| # search | ||||
| enableSearch = true | ||||
| enableSearchHighlight = true | ||||
| searchResultPosition = "main" # side, main | ||||
| searchContent = true # include content to search index | ||||
| searchDistance = 100 # fuse option | ||||
| 
 | ||||
| # body | ||||
| enableBreadcrumb = true | ||||
| enableGoToTop = true | ||||
| enableWhoami = true | ||||
| summaryShape = "classic" # card, classic, compact | ||||
| searchResultPosition = "main" # side, main | ||||
| archiveGroupByDate = "2006" # "2006-01": group by month, "2006": group by year | ||||
| archivePaginate = 13 | ||||
| paginateWindow = 1 | ||||
|  |  | |||
|  | @ -2,7 +2,11 @@ | |||
| {{- $.Scratch.Add "searchindex" slice -}} | ||||
| {{- range $index, $element := (where .Site.RegularPages "Kind" "page") -}} | ||||
|   {{ with $element.Plain }} | ||||
|     {{- $.Scratch.Add "searchindex" (dict "id" $index "title" $element.Title "uri" $element.Permalink "tags" $element.Params.tags "section" $element.Section "content" $element.Plain "description" $element.Description) -}} | ||||
|     {{- if $.Param "searchContent" -}} | ||||
|       {{- $.Scratch.Add "searchindex" (dict "id" $index "title" $element.Title "uri" $element.Permalink "tags" $element.Params.tags "section" $element.Section "content" $element.Plain "description" $element.Description) -}} | ||||
|     {{ else }} | ||||
|       {{- $.Scratch.Add "searchindex" (dict "id" $index "title" $element.Title "uri" $element.Permalink "tags" $element.Params.tags "section" $element.Section "description" $element.Description) -}} | ||||
|     {{- end -}} | ||||
|   {{ end }} | ||||
| {{- end -}} | ||||
| {{- $.Scratch.Get "searchindex" | jsonify -}} | ||||
|  | @ -662,6 +662,10 @@ | |||
|      | ||||
|     {{ $enableSearch := ($.Param "enableSearch") }} | ||||
|     var enableSearch = JSON.parse({{ $enableSearch | jsonify }}); | ||||
|     {{ $searchDistance := ($.Param "searchDistance") }} | ||||
|     var searchDistance = JSON.parse({{ $searchDistance | jsonify }}); | ||||
|     {{ $searchContent := ($.Param "searchContent") }} | ||||
|     var searchContent = JSON.parse({{ $searchContent | jsonify }}); | ||||
|     {{ $enableSearchHighlight := ($.Param "enableSearchHighlight") }} | ||||
|     var enableSearchHighlight = JSON.parse({{ $enableSearchHighlight | jsonify }}); | ||||
|     {{ $searchResultPosition := ($.Param "searchResultPosition") }} | ||||
|  | @ -686,12 +690,13 @@ | |||
|         xhr.onload = function () { | ||||
|           if (xhr.status === 200) { | ||||
|             fuse = new Fuse(JSON.parse(xhr.response.toString('utf-8')), { | ||||
|               keys: sectionType.includes('publication') ? ['title', 'abstract'] : ['title', 'description', 'content'], | ||||
|               keys: sectionType.includes('publication') ? ['title', 'abstract'] :  | ||||
|                 searchContent ? ['title', 'description', 'content'] : ['title', 'description'], | ||||
|               includeMatches: enableSearchHighlight, | ||||
|               shouldSort: true, // default: true | ||||
|               threshold: 0.4, // default: 0.6 (0.0 requires a perfect match) | ||||
|               location: 0, // default: 0 | ||||
|               distance: 100, // default: 100 | ||||
|               distance: searchDistance ? searchDistance : 100, // default: 100 | ||||
|               maxPatternLength: 32, | ||||
|               minMatchCharLength: 1, | ||||
|               isCaseSensitive: false, // defualt: false | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 zzossig
						zzossig