如何在 Ghost 網站上添加搜索功能

我想在自己使用 Ghost 架設的網站上添加搜索功能。 你可以在這個頁面上看到這個教程的最終效果:https://ritywool.it/ricerca/。 當你第一次開始處理這個任務時,你會覺得 “這一定很簡單”。 但不知何故 Ghost 軟件並沒有提供一個簡單的解決方案,你需要使用第三方插件並修改模板。這確實需要一位懂得處理這些的開發者。 不知道為什麼他們沒有提供一個內建的簡單解決方案,而不是需要像我這樣的開發者花時間來調整主題。 這真是奇怪,因為他們在管理面板中有搜索功能,但卻沒有解決辦法來面對公共頁面。他們官方建議使用 Google 自定義搜索,但這實際上並不是一個解決方案。 如果是一個靜態網站生成器,這也還可以理解,因為它沒有運行搜索的引擎,但 Ghost 不是一個靜態網站生成器。 我探索了一段時間的可能選項。他們文檔中建議的一個選項是 GhostHunter,但這對我來說沒有起作用。我嘗試了一下,但在控制台中出現了各種 JavaScript 錯誤,而且我沒有耐心去看問題出在哪裡。這個項目似乎也已經被停止開發了,最後一次提交是 2 年前。 然後我找到了 Ghost Finder,這個插件完美地解決了問題,所以我在這裡解釋一下如何使用。 它是一個使用 Ghost API 來搜索文章的 JavaScript 庫。 首先,我在本地創建了網站的副本(使用 npm install ghost-cli -g 和 ghost install local),並使用了在生產環境上使用的主題。我從 /ghost/#/settings/design 下載了這個主題。 接著,我下載了 Ghost Finder 庫並將其放在 assets 目錄下。 然後,我在 Ghost 管理面板中創建了一個具有 “/search” URL 別名的 search 頁面。 然後我進入了編輯器,創建了一個 page-search.hbs 文件(後面的 - 之後的文件名必須與頁面別名匹配)。 我在命令行中使用 ghost restart 重新啟動 Ghost,以使其識別到這個頁面(這只在本地需要,生產環境上不需要)。 我使用了 Casper 默認主題,這部分可能因為你使用的主題不同而有所不同,不過我在 default.hbs 文件中加入了 Ghost Finder 的 JavaScript 文件(這會載入到所有頁面,不幸的是):...