Make search multilingual
This commit is contained in:
parent
67c49c7432
commit
2fd1896327
3 changed files with 56 additions and 2 deletions
54
content/posts/search.es.md
Normal file
54
content/posts/search.es.md
Normal file
|
@ -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"
|
||||||
|
]
|
||||||
|
\```
|
|
@ -16,7 +16,7 @@
|
||||||
<section class="sidebar-section" id="sidebar-section">
|
<section class="sidebar-section" id="sidebar-section">
|
||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<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" />
|
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
|
|
|
@ -31,7 +31,7 @@ if(searchQuery){
|
||||||
|
|
||||||
|
|
||||||
function executeSearch(searchQuery){
|
function executeSearch(searchQuery){
|
||||||
$.getJSON( "/index.json", function( data ) {
|
$.getJSON( window.location.href.split("/search/")[0] + "/index.json", function( data ) {
|
||||||
var pages = data;
|
var pages = data;
|
||||||
var fuse = new Fuse(pages, fuseOptions);
|
var fuse = new Fuse(pages, fuseOptions);
|
||||||
var result = fuse.search(searchQuery);
|
var result = fuse.search(searchQuery);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue