Wie kann ich einem Jekyll-Blog eine Website-Suchfunktion hinzufügen?

Lesezeit: 4 Minuten

Ich möchte meine Website von WordPress zu Jekyll migrieren und möchte die Volltextsuche für die Website beibehalten. Die WordPress-Suche war schnell, zuverlässig und schön formatiert, um dem Thema zu entsprechen, und ich habe keinen anständigen Ersatz gefunden.

Da ist ein Plugin-Lösung, die indextank verwendetaber ich bin nicht daran interessiert, meine Suche über eine kommerzielle API mit Benutzern zu verknüpfen, die die Suchbegriffe bewerten, ich möchte nur etwas, das mit der WordPress-Suche vergleichbar ist.

Ich habe auch in die geschaut Google Ajax-APIaber ich möchte kein schwebendes Ajax-Suchfeld auf der Website.

Es gibt immer die Google-Suche nach der Website, aber ich habe festgestellt, dass dies nicht so zuverlässig ist. (Ich habe das nicht mehr versucht, seit ich vor ein paar Jahren zu WordPress gewechselt bin, also irre ich mich vielleicht).

Da alle Beiträge im Klartext verfügbar sind, scheint es nicht allzu schwierig zu sein, einen Index für die Suche nach ihnen zu erstellen, wenn die Site erstellt wird, aber ich habe keine gute Lösung gefunden. Irgendwelche Vorschläge oder Beispiele?

  • Betreibst du das auf deinem eigenen Webserver? (dh können Sie serverseitige Skripte ausführen?)

    – huon

    13. April 2012 um 13:58 Uhr

  • Das bin ich, obwohl es mich interessieren würde, ob es Lösungen gibt, die auch für von Github gehostete Websites funktionieren.

    – cboettig

    13. April 2012 um 18:53 Uhr

  • Ich fürchte, auf GitHub ist Ihre beste Option eine JavaScript-Suche, wie z Tipue-Suche.

    – Mann bei der Arbeit

    14. April 2012 um 13:43 Uhr

  • @mantawork — Netter Vorschlag. Mir ist nicht klar, wie Tipue Search die Daten in tipuesearch_data.js generiert – muss dies manuell eingegeben werden?

    – cboettig

    17. April 2012 um 1:57 Uhr

  • Antwort @manatwork: nein, die Daten müssen nicht manuell eingegeben werden. Alex Pearce hat eine toller Blogbeitrag hier das enthält ein Beispiel dafür, wie Ihre Site-Daten dynamisch erstellt werden können (ich schlage vor, „null“ durch „false“ zu ersetzen). Das Beispiel erstellt eine .json-Datei, die zum Erstellen einer Tag-Seite verwendet wird, aber der Code kann auch eine .js-Datei erstellen, die hilft, vom Benutzer eingegebene Suchergebnisse auf Tipue zurückzugeben.

    – kaidez

    23. Mai 2013 um 12:50 Uhr


Jekyll + lunr.js = leistungsstarke Volltextsuche mit JavaScript in Ihrem Browser für Ihre statische Jekyll-Website

  • Vielen Dank! Lädt dies dann den gesamten Site-Text in den Browserspeicher? Scheint, als ob diese Lösung nicht gut skalieren könnte, obwohl es offensichtlich viel Text braucht, um viel Platz zu beanspruchen. Ich verwende derzeit eine optimierte Version von Marrans Stemming-Suche: marran.com/tech/jquery-full-text-indexing-on-jekyll

    – cboettig

    6. März 2013 um 15:54 Uhr

  • @cboettig ja, es wird der gesamte Index zum Suchen in den Speicher geladen. Hängt von der Größe Ihrer Jekyll-Site ab, was bei großen Sites zu berücksichtigen ist. Ich bin mir nicht sicher, wie “groß” es sein müsste, um ein Problem zu verursachen.

    – Ben Smith

    7. März 2013 um 9:35 Uhr

  • Iron.io wechselt zu Lunr.js. Gibt es gute Beispiele für Websites, die die Benutzererfahrung gut umsetzen?

    – Stephen Nguyen

    29. September 2014 um 18:22 Uhr


  • @BenSmith Kann es auf dem Server funktionieren? Ich folge dir Schritt. Es funktioniert, wenn ich den Jekyll-Server verwende. Aber ich lade das auf den Server hoch. Es funktioniert nicht

    – Samuel

    15. Februar 2015 um 5:08 Uhr


  • Lunr.js ist ein statischer Volltext-Suchmaschinenschreiber in Javascript, der kein Backend oder Server benötigt.

    – Miloš Miljković

    9. Oktober 2016 um 21:01 Uhr

Eine Option zur Untersuchung Benutzerdefinierte Google-Suche.

Sie erwähnen den Versuch, Google in der Vergangenheit zu verwenden, aber ich bin mir nicht sicher, ob Sie das benutzerdefinierte Suchfeld als meinen hier beschrieben. Poste dies, falls es hilft.

  • Soweit ich weiß, ist die benutzerdefinierte Suche von Google nur ein Wrapper für die Website-Suche, mit dem Sie die Ergebnisse (mit Anzeigen in der kostenlosen Version) in den Hauptteil Ihrer Website einbetten können? Es sieht so aus, als könnten Sie das CSS ein wenig anpassen. Das ist hilfreich, aber nicht ganz das, was ich suche.

    – cboettig

    18. April 2012 um 17:26 Uhr

  • Ich arbeite daran, auch meine Jekyll-Site zum Laufen zu bringen. Wenn mir noch was einfällt, melde ich mich hier wieder.

    – Alan W. Smith

    18. April 2012 um 22:09 Uhr

  • Nachdem Sie sowohl Bens lunr.js-Lösung (oben) als auch Marrans weniger speicherintensive Lösung ausprobiert hatten schnelle Stammsuche Ich habe mich entschieden, zu dieser einfachen Google-Suche zurückzukehren. Wenn ich etwas anderes brauche, greife ich einfach gegen meine Repo-Kopie 😉

    – cboettig

    3. Januar 2014 um 6:44 Uhr

https://github.com/flaptor/indextank-jquery

  • Außerdem benötigen Sie ein Konto in Search SaaS. Bei indexden.com Sie können es kostenlos bekommen.

    – Iaroslav Worozhko

    16. Juni 2012 um 9:52 Uhr

https://github.com/chinchang/super-search/

Dies erfordert keine zusätzliche Konfiguration. Plug-and-Play-Bibliothek, die mit den RSS-Feeds Ihres Jekyll-Blogs funktioniert, mit einer übersichtlichen Benutzeroberfläche für die Suche auf der Seite.

1404200cookie-checkWie kann ich einem Jekyll-Blog eine Website-Suchfunktion hinzufügen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy