diff options
author | Pablo Marcos <48572431+MarionMoseby@users.noreply.github.com> | 2021-05-17 21:32:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-17 21:32:39 +0300 |
commit | ac28e9824eb5babd4ebcd4e1ee23f5c1b5ce45a1 (patch) | |
tree | b79ad12ce861e62698ee37b37424546d3b26bb25 | |
parent | 16f64aa4c27d865b42aa2e8a5206274b734d2dac (diff) |
Make search multilingual (#305)
* Make search multilingual
* Added Support for custom country flags
* Add search.md for more language + fix search behavior
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
34 files changed, 1315 insertions, 17 deletions
diff --git a/content/notes/search.bn.md b/content/notes/search.bn.md new file mode 100644 index 0000000..2f67d73 --- /dev/null +++ b/content/notes/search.bn.md @@ -0,0 +1,54 @@ +--- +title: "অনুসন্ধানের ফলাফল" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.cn.md b/content/notes/search.cn.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.cn.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.de.md b/content/notes/search.de.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.de.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.es.md b/content/notes/search.es.md new file mode 100644 index 0000000..77889e8 --- /dev/null +++ b/content/notes/search.es.md @@ -0,0 +1,54 @@ +--- +title: "Resultados de Búsqueda" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: search +--- + + +Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada. + +No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html + +Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante. + +Esta implementación utiliza Fusejs, jquery y mark.js + + +## Configuración inicial + +La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml + +\``` +[outputs] + home = ["HTML", "JSON"] +\``` + +## Búsqueda de archivos adicionales + +Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares. + +### Editar layouts/_default/index.JSON +Esto expone los valores en /index.json: por ejemplo, para agregar `categories` +\``` +... + "contents":{{ .Content | plainify | jsonify }} + {{ if .Params.tags }}, + "tags":{{ .Params.tags | jsonify }}{{end}}, + "categories" : {{ .Params.categories | jsonify }}, +... +\``` + +### Editar las opciones de fuse.js para buscar +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.fr.md b/content/notes/search.fr.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.fr.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.hi.md b/content/notes/search.hi.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.hi.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.id.md b/content/notes/search.id.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.id.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.it.md b/content/notes/search.it.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.it.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.jp.md b/content/notes/search.jp.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.jp.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.ko.md b/content/notes/search.ko.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.ko.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.ru.md b/content/notes/search.ru.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.ru.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/notes/search.vn.md b/content/notes/search.vn.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/notes/search.vn.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.bn.md b/content/posts/search.bn.md new file mode 100644 index 0000000..2f67d73 --- /dev/null +++ b/content/posts/search.bn.md @@ -0,0 +1,54 @@ +--- +title: "অনুসন্ধানের ফলাফল" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.cn.md b/content/posts/search.cn.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.cn.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.de.md b/content/posts/search.de.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.de.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.es.md b/content/posts/search.es.md new file mode 100644 index 0000000..77889e8 --- /dev/null +++ b/content/posts/search.es.md @@ -0,0 +1,54 @@ +--- +title: "Resultados de Búsqueda" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: search +--- + + +Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada. + +No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html + +Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante. + +Esta implementación utiliza Fusejs, jquery y mark.js + + +## Configuración inicial + +La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml + +\``` +[outputs] + home = ["HTML", "JSON"] +\``` + +## Búsqueda de archivos adicionales + +Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares. + +### Editar layouts/_default/index.JSON +Esto expone los valores en /index.json: por ejemplo, para agregar `categories` +\``` +... + "contents":{{ .Content | plainify | jsonify }} + {{ if .Params.tags }}, + "tags":{{ .Params.tags | jsonify }}{{end}}, + "categories" : {{ .Params.categories | jsonify }}, +... +\``` + +### Editar las opciones de fuse.js para buscar +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.fr.md b/content/posts/search.fr.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.fr.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.hi.md b/content/posts/search.hi.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.hi.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.id.md b/content/posts/search.id.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.id.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.it.md b/content/posts/search.it.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.it.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.jp.md b/content/posts/search.jp.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.jp.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.ko.md b/content/posts/search.ko.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.ko.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.ru.md b/content/posts/search.ru.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.ru.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/content/posts/search.vn.md b/content/posts/search.vn.md new file mode 100644 index 0000000..4586d1f --- /dev/null +++ b/content/posts/search.vn.md @@ -0,0 +1,54 @@ +--- +title: "Search Results" +date: 2010-06-08T08:06:25+06:00 +weight: 999999 +sitemap: + priority : 0.1 +layout: "search" +url: 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, jquery 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 }}, +... +\``` + +### Edit fuse.js options to Search +`static/js/search.js` +\``` +keys: [ + "title", + "contents", + "tags", + "categories" +] +\``` diff --git a/layouts/_default/list.html b/layouts/_default/list.html index dd0f21b..1e8ac50 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -16,7 +16,7 @@ <section class="sidebar-section" id="sidebar-section"> <div class="sidebar-holder"> <div class="sidebar" id="sidebar"> - <form class="mx-auto" method="get" action="{{ "search" | absURL }}"> + <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> </form> <div class="sidebar-tree"> @@ -36,7 +36,8 @@ <section class="content-section" id="content-section"> <div class="content container-fluid" id="content"> <div class="container-fluid post-card-holder" id="post-card-holder"> - {{ $paginator := .Paginate .RegularPagesRecursive 12 }} + {{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }} + {{ $paginator := .Paginate $posts 12 }} {{ range $paginator.Pages }} {{ if .Layout }} {{/* ignore the search.md file*/}} diff --git a/layouts/_default/search.html b/layouts/_default/search.html index 41c04d0..e4f7414 100644 --- a/layouts/_default/search.html +++ b/layouts/_default/search.html @@ -16,7 +16,7 @@ <section class="sidebar-section" id="sidebar-section"> <div class="sidebar-holder"> <div class="sidebar" id="sidebar"> - <form class="mx-auto" method="get" action="{{ "search" | absURL }}"> + <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> </form> <div class="sidebar-tree"> diff --git a/layouts/_default/single.html b/layouts/_default/single.html index abafcca..907818d 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -16,7 +16,7 @@ <section class="sidebar-section" id="sidebar-section"> <div class="sidebar-holder"> <div class="sidebar" id="sidebar"> - <form class="mx-auto" method="get" action="{{ "search" | absURL }}"> + <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> </form> <div class="sidebar-tree"> diff --git a/layouts/notes/list.html b/layouts/notes/list.html index f8181c7..15c1925 100644 --- a/layouts/notes/list.html +++ b/layouts/notes/list.html @@ -20,7 +20,7 @@ <section class="sidebar-section" id="sidebar-section"> <div class="sidebar-holder"> <div class="sidebar" id="sidebar"> - <form class="mx-auto" method="get" action="{{ "search" | absURL }}"> + <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> </form> <div class="sidebar-tree"> diff --git a/layouts/notes/single.html b/layouts/notes/single.html index 152cb52..f59434f 100644 --- a/layouts/notes/single.html +++ b/layouts/notes/single.html @@ -20,7 +20,7 @@ <section class="sidebar-section" id="sidebar-section"> <div class="sidebar-holder"> <div class="sidebar" id="sidebar"> - <form class="mx-auto" method="get" action="{{ "search" | absURL }}"> + <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> </form> <div class="sidebar-tree"> diff --git a/layouts/partials/helpers/country-code.html b/layouts/partials/helpers/country-code.html index cce5704..925d70e 100644 --- a/layouts/partials/helpers/country-code.html +++ b/layouts/partials/helpers/country-code.html @@ -1,5 +1,6 @@ +{{/* if there is no custom flag provided, we define the flag with the country code */}} {{ $languageCode:= .Lang }} -{{/* by default the language code and the country code are same */}} +{{/* by default the language code and the country code are same */}} {{ $countryCode:= $languageCode }} {{/* language code and country code are not same for some countries. we need to fix them. */}} diff --git a/layouts/partials/navigators/floating-lang-selector.html b/layouts/partials/navigators/floating-lang-selector.html index b76dfec..4ac752d 100644 --- a/layouts/partials/navigators/floating-lang-selector.html +++ b/layouts/partials/navigators/floating-lang-selector.html @@ -5,17 +5,17 @@ <div class="dropdown languageSelector"> <a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}"> {{ site.Language.LanguageName }} </a> <div class="dropdown-menu" aria-labelledby="languageSelector"> {{ range .Translations }} <a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}"> {{ .Language.LanguageName }} </a> {{ end }} </div> -</div>
\ No newline at end of file +</div> diff --git a/layouts/partials/navigators/lang-selector-2.html b/layouts/partials/navigators/lang-selector-2.html index 9c4e240..4fffc32 100644 --- a/layouts/partials/navigators/lang-selector-2.html +++ b/layouts/partials/navigators/lang-selector-2.html @@ -5,17 +5,17 @@ <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ site.Language.LanguageName }} </a> <div class="dropdown-menu" aria-labelledby="languageSelector"> {{ range .Translations }} <a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ .Language.LanguageName }} </a> {{ end }} </div> -</li>
\ No newline at end of file +</li> diff --git a/layouts/partials/navigators/lang-selector.html b/layouts/partials/navigators/lang-selector.html index 4948370..4221a71 100644 --- a/layouts/partials/navigators/lang-selector.html +++ b/layouts/partials/navigators/lang-selector.html @@ -1,16 +1,16 @@ <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ site.Language.LanguageName }} </a> <div class="dropdown-menu" aria-labelledby="languageSelector"> {{ range site.Home.AllTranslations }} <a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}"> - {{ $countryCode := partial "helpers/country-code.html" .Language }} + {{ $countryCode := partial "helpers/country-code.html" . }} <span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ .Language.LanguageName }} </a> {{ end }} </div> -</li>
\ No newline at end of file +</li> diff --git a/static/js/search.js b/static/js/search.js index 197ddba..1a6ceab 100644 --- a/static/js/search.js +++ b/static/js/search.js @@ -31,7 +31,7 @@ if(searchQuery){ function executeSearch(searchQuery){ - $.getJSON( "/index.json", function( data ) { + $.getJSON( window.location.href.split("/search/")[0] + "/index.json", function( data ) { var pages = data; var fuse = new Fuse(pages, fuseOptions); var result = fuse.search(searchQuery); |