hugo-toha/content/posts/search.hi.md
Aaron Qian 02db3d3044
Bundling JS with ESBuild (#702)
* add npm dependencies used in this theme

* implement helper to configure JS and ESBuild

* migrate jquery popper.js bootstrap fontawesome to js bundle

* refactor main.js into smaller pieces, and moved navbar.js to assets

* remove list.js. It adjusts post card height to be the same, but is actually not needed.

* refactored notes.js, search.js, single.js into application.js

* move ityped to js asset, implement experiences horizontal vertical line in css

* align recent post height via css

* migrated home.js and refactored into various sections

* migrated darkMode feature to js bundle

* moved mermaid feature to js bundle

* migrate syntax highlight to js bundle

* migrate katex ( js portion ) to js bundle

* migrate pdf-js to js bundle by delegating to cdn

* set explicit comparisions for feature envvars so js can properly optimize

* removed goat-counter

* more fixes for broken achievements and small bugs

* more bug fixes

* allow configuration of hightlight.js, fix video-player shortcode

* remove jquery all together

* add null handling and fix merge conflicts

Co-authored-by: Aaron Qian <aaron@yeet.io>
2023-01-06 00:42:54 +06:00

1.1 KiB

title date weight sitemap layout url
Search Results 2010-06-08T08:06:25+06:00 999999
priority
0.1
search search

This file exists solely to respond to /search URL with the related search layout template.

No content shown here is rendered, all content is based in the template layouts/page/search.html

Setting a very low sitemap priority will tell search engines this is not important content.

This implementation uses Fusejs and mark.js

Initial setup

Search depends on additional output content type of JSON in config.toml ``` [outputs] home = ["HTML", "JSON"] ```

Searching additional fileds

To search additional fields defined in front matter, you must add it in 2 places.

Edit layouts/_default/index.JSON

This exposes the values in /index.json i.e. add category ``` ... "contents":{{ .Content | plainify | jsonify }} {{ if .Params.tags }}, "tags":{{ .Params.tags | jsonify }}{{end}}, "categories" : {{ .Params.categories | jsonify }}, ... ```

assets/scripts/pages/search.js ``` keys: [ "title", "contents", "tags", "categories" ] ```