mirror of
https://github.com/Brandon-Rozek/website-theme.git
synced 2024-11-21 07:46:30 -05:00
Cleaning up output format types for JSON
This commit is contained in:
parent
fc0e72ba14
commit
1c8179bae3
7 changed files with 35 additions and 38 deletions
|
@ -55,14 +55,14 @@ const queryNgramSeparator = (query) => {
|
|||
*/
|
||||
const initLunr = () => {
|
||||
$.getJSON('index.json').done((index) => {
|
||||
pagesIndex = index
|
||||
pagesIndex = index['items']
|
||||
lunrIndex = lunr(builder => {
|
||||
builder.tokenizer = bigramTokeniser
|
||||
builder.pipeline.reset()
|
||||
builder.ref('ref')
|
||||
builder.ref('url')
|
||||
builder.field('title', { boost: 10 })
|
||||
builder.field('tags', { boost: 10 })
|
||||
builder.field('body')
|
||||
builder.field('content_html')
|
||||
builder.metadataWhitelist = ['position']
|
||||
for (let page of pagesIndex) {
|
||||
builder.add(page)
|
||||
|
@ -83,7 +83,7 @@ const search = (query) => {
|
|||
lunrResult = lunrIndex.search(queryNgramSeparator(query))
|
||||
return lunrResult.map((result) => {
|
||||
return pagesIndex.filter((page) => {
|
||||
return page.ref === result.ref
|
||||
return page.url === result.ref
|
||||
})[0]
|
||||
})
|
||||
}
|
||||
|
@ -158,9 +158,9 @@ const renderResults = (results) => {
|
|||
const matchPosition = metadata[Object.keys(metadata)[0]].body ? metadata[Object.keys(metadata)[0]].body.position[0][0] : 0
|
||||
const bodyStartPosition = (matchPosition - (BODY_LENGTH / 2) > 0) ? matchPosition - (BODY_LENGTH / 2) : 0
|
||||
|
||||
$searchResultPage.append('<a class="searchResultTitle" href="' + result.ref + '">' + result.title + '</a>')
|
||||
$searchResultPage.append('<a class="searchResultTitle" href="' + result.url + '">' + result.title + '</a>')
|
||||
|
||||
$searchResultPage.append('<div class="searchResultBody">' + result.body.substr(bodyStartPosition, BODY_LENGTH) + '</div>')
|
||||
$searchResultPage.append('<div class="searchResultBody">' + result.content_html.substr(bodyStartPosition, BODY_LENGTH) + '</div>')
|
||||
$searchResults.append($searchResultPage)
|
||||
|
||||
// Highlight keyword
|
||||
|
|
8
layouts/_default/item.json.json
Normal file
8
layouts/_default/item.json.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"id": "{{ .Permalink }}",
|
||||
"url": "{{ .Permalink }}",
|
||||
"title": {{ .Title | jsonify }},
|
||||
"content_html": {{ .Content | jsonify }},
|
||||
"date_published": "{{ .Date.Format "2006.01.02" }}",
|
||||
"tags": {{ .Params.tags | jsonify }}
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"version": "https://jsonfeed.org/version/1.1",
|
||||
"title": "{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} | {{ end }}{{ .Site.Title }}{{ end }}",
|
||||
"home_page_url": "{{ .Site.BaseURL }}",
|
||||
"feed_url": "{{ .Permalink }}",
|
||||
"description": "{{ .Description }}",
|
||||
"items": [{{ range $index, $page := .Pages }}{{ if ne $index 0 }},{{ end }}
|
||||
{
|
||||
"author": {
|
||||
{{with $.Site.Author.name }}"name": "{{ . }}",{{ end }}
|
||||
"url": "{{ .Site.BaseURL }}"
|
||||
},
|
||||
"id": "{{ $page.Permalink }}",
|
||||
"content_html": {{ $page.Content | jsonify }},
|
||||
"date_published": {{ $page.Date.Format "2006.01.02" | jsonify }},
|
||||
"url": "{{ $page.Permalink }}",
|
||||
"title": {{ $page.Title | jsonify }},
|
||||
"tags": {{ $page.Params.tags | jsonify }}
|
||||
}
|
||||
{{ end }}]
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
[{{ range $index, $page := .Pages }}{{ if ne $index 0 }},{{ end }}
|
||||
{
|
||||
"ref": "{{ $page.Permalink }}",
|
||||
"title": {{ $page.Title | jsonify }},
|
||||
"section": "{{ $page.Section }}",
|
||||
"tags": {{ $page.Params.tags | jsonify }},
|
||||
"date" : {{ $page.Date.Format "2006.01.02" | jsonify }},
|
||||
"body": {{ $page.Plain | jsonify }}
|
||||
}
|
||||
{{ end }}]
|
20
layouts/_default/list.json.json
Normal file
20
layouts/_default/list.json.json
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"version": "https://jsonfeed.org/version/1.1",
|
||||
"title": "{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} | {{ end }}{{ .Site.Title }}{{ end }}",
|
||||
"home_page_url": "{{ .Site.BaseURL }}",
|
||||
"feed_url": "{{ .Permalink }}",
|
||||
"description": "{{ .Description }}",
|
||||
"icon": "{{ .Site.BaseURL }}img/{{ .Site.Params.avatar }}",
|
||||
"language": "en-US",
|
||||
"authors": [
|
||||
{{with $.Site.Author.name }}
|
||||
{ "name": "{{ . }}" }
|
||||
{{ end }}
|
||||
],
|
||||
"items": [
|
||||
{{ range $index, $page := .Pages }}{{ if ne $index 0 }},{{ end }}
|
||||
{{ .Render "item" }}
|
||||
{{ end }}
|
||||
]
|
||||
}
|
||||
|
1
layouts/_default/single.json.json
Normal file
1
layouts/_default/single.json.json
Normal file
|
@ -0,0 +1 @@
|
|||
{{ .Render "item" }}
|
Loading…
Reference in a new issue