Tĩnh サイトに đặc hoá した toàn văn kiểm tác ライブラリ “Pagefind”, さくら の レンタルサーバで động かしてみた
Trước ngày, tĩnh サイトに đặc hoá した toàn văn kiểm tác ライブラリとして “Pagefind”というソフトウェアがあることを, hạ nhớ の ký sự が đề tài になったことで biết りました.
Tham khảo:Tĩnh サイトに đặc hoá した kiểm tác ライブラリ Pagefind を thí す | grip on minds
Thật は, いまお đọc み の Publickeyはまさに, Movable TypeというCMSを dùng いて sinh thành された tĩnh なWebサイトです. Hiện tại, PublickeyではGoogleが cung cấp している “Googleカスタム kiểm tác エンジン” を toàn văn kiểm tác エンジンとして chọn dùng しています ( hữu thượng の lỗ sâu đục kính アイコンから hô び ra せます ).
しかしPublickeyでは trước kia からGoogleに sống nhờ vào nhau しない, tự trước の toàn văn kiểm tác エンジンを cầm てないかと mô tác しており, まさにPagefindは tư が thăm し cầu めていたソフトウェアだったと ngôn えます.
そこでさっそくPagefindがPublickeyに dẫn vào できるかどうか, điều べてみることにしました.
Pagefindをさくら の レンタルサーバで động かせるか?
Thượng nhớ の ký sự や công thức サイトを đọc むと, Pagefind の sĩ tổ みは, “pagefind” というコマンドをサーバ thượng で thật hành することで tĩnh サイト の đại lượng の HTMLファイルを đọc み込み, インデックスファイルをJavaScriptファイルなど の ファイル đàn として sinh thành します.
それをWebブラウザ thượng で đọc み込み, ユーザーが nhập lực した kiểm tác キーワードに đối ứng してJavaScriptが thật hành され, kết quả を tỏ vẻ する, というも の の ようです.
Sĩ tổ みそ の も の はPublickeyでも lợi dụng できそうだということが phân かりました.
ただし vấn đề が2つありました.
1つは, ドキュメントによるとPagefind の インストールにはNode.js の パッケージマネージャに quan liền した “npx” コマンドを sử うと thuyết minh されていることです. Publickeyは, さくら の レンタルサーバを lợi dụng している の ですが, さくら の レンタルサーバにはNode.js hoàn cảnh は tiêu chuẩn で dụng ý されていません.
もう1つは, Pagefindが công thức で cung cấp しているビルド tế み の ファイルは, Windows bản, macOS bản, Linux bản しか cung cấp されていないことです. さくら の レンタルサーバ の OSはFreeBSDな の で, そ の ままでは thật hành できません.
こ の 2つを đồng thời に giải quyết するには, Pagefind の ソースコードをFreeBSD thượng でビルドし, できあがったバイナリをさくら の レンタルサーバに転 đưa し thật hành する, という phương pháp が khảo えられます.
Sớm tốc thí してみることにしました.
Windows thượng の 仮 tưởng マシンでFreeBSDを động かす
Cụ thể には, Windows thượng で仮 tưởng マシンを khởi động し, そこでFreeBSD hoàn cảnh を dụng ý します.
Thứ に, PagefindはRust ngôn ngữ で khai phát されていることが phân かった の で, FreeBSD thượng にRust ngôn ngữ をインストールし, Pagefindをビルドする, という tay thuận で thí してみましょう.
Windows 11で の 仮 tưởng マシン の lập ち thượng げは, コントロールパネルを khởi động し, Hyper-Vを có hiệu にします.
Thứ に, FreeBSD の công thức サイトからHyper-V dùng の イメージを lấy được します. さくら の レンタルサーバはFreeBSD 13.0だった の で, FreeBSD 13.2 の AMD64 bản となる “FreeBSD-13.2-RELEASE-amd64.vhd.xz”をダウンロードし, tuyết tan します.
Tuyết tan したファイルをHyper-Vで đọc み込んで khởi động すると, 仮 tưởng マシン thượng でFreeBSD 13.2が khởi động します.
ただしデフォルト の trạng thái ではストレージ の dung lượng が5GBしかなく, Rust ngôn ngữ がインストールできません. そこで,こちら の サイトを tham khảo に,ストレージを拡 trương します.
Cơ bản な thao tác は, Hyper-Vマネージャから仮 tưởng ハードディスク の 拡 trương を hành い, そ の sau FreeBSD の コンソールからrootで dưới の コマンドを thật hành することになります.
gpart recover da0
gpart resize -i 3 da0
service growfs onestart
Rust hoàn cảnh でPagefind の ビルドを thật hành
これでFreeBSD の ストレージ dung lượng が bảo đảm できた の で, thứ はRust ngôn ngữ の インストールとPagefind の ビルドです.こ の サイトが đại 変 tham khảo になりました.
Rust hoàn cảnh の cấu trúc は thứ の コマンドをroot の まま thật hành しました.
pkg install rust
これでRut ngôn ngữ だけでなくパッケージマネージャ の cargoまでインストールしてくれます.
Thứ に, cargoコマンドでPagefindをインストールするため, dưới の コマンドを nhập lực します. するとPagefind の ソースコードを lấy được してビルドしてくれます.
cargo install pagefind
ビルドが bình thường に kết thúc すれば, “pagefind” コマンドが “/root/.cargo/bin/” の hạ に bảo tồn されています. これでFreeBSDで thật hành khả năng なPagefind の バイナリが tay に nhập ったはずです.
これをftp の バイナリモードなどで, さくら の レンタルサーバへ転 đưa します. そしてパスを thông して thật hành してみたところ, エラーを phun くことなく không có việc gì に thật hành できました!
あとは giả thiết やカスタマイズ
あとは công thức ドキュメントを đọc みつつ, giả thiết やカスタマイズを hành えばよいはずです.
また, cronを sử って định kỳ にpagefindコマンドを thật hành するように giả thiết すれば, つねに mới nhất の コンテンツに đối して kiểm tác できるようになります.
ちなみに, Publickey の ước 6000 ký sự の インデックス hóa にかかった thời gian は ước 20 giây でした. そ の cao tốc さにも kinh かされました.
Hạ nhớ が, thật tế にさくら の レンタルサーバでPagefindを động かしてPublickey の コンテンツをインデックス hóa し, kiểm tác khả năng にしたも の です. “AWS” とか “Kubernetes” とか “GitHub” とか, thích hợp なキーワードを nhập lực してみてください.
まだデフォルト の trạng thái の ままな の で, kết quả が trường くなって thấy にくいところなどがありますが, thật tế にPagefindがさくら の レンタルサーバ thượng で ( そしてMovable Type の コンテンツでも vấn đề なく ) động くこと, そして6000 vốn dĩ thượng もある ký sự でもサクサクと kiểm tác できることを xác nhận できると tư います.
もう thiếu し động tác xác nhận と giả thiết を hành った sau, gần いうちにPublickeyでこ の Pagefindを chính thức な cơ năng として đầu nhập しようと khảo えています. お lặc しみに!
Quan liền ký sự
Publickeyは tạc năm ( 2023 năm ), quan liền ký sự の động sinh thành を tự trước の プログラムで thật hiện することに thành công しています. Pagefindは, もしかしたら quan liền ký sự の độ chặt chẽ を cao めることに sống dùng できるかもしれない, とも tư っています.
あわせて đọc みたい
ITエンジニアが đầu phiếu した “ITエンジニア bổn đại thưởng 2024” phát biểu. 単 thể テスト の khảo え phương /プログラマー脳/ プロジェクトマネジメント の cơ bản が toàn bộ わかる, など
≪ trước の ký sự
クラウドネイティブ の ため の Kubernetesなどをテレコム cơ bàn にどう áp dụng する の か? そ の đầu đề やリスクとは. CNTOM 2023 [ PR ]