Using Pagefind with 11ty in Termux
Also see previous blog post on how I got started with eleventy on Termux
The Pagefind npm package is just a wrapper for their binary. It does not work on Termux. What I had to do was build from source using
cargo install pagefind
The documentation for Pagefind is pretty useful and I started here
I got the following error when building with cargo
error occurred: Failed to find tool. Is 'aarch64-linux-android-ar' installed?
I found out that I had to install binutils
pkg install binutils
As it instructs you, make sure and add the bin folder to path so that you can run the pagefind command
export PATH=/data/data/com.termux/files/home/.cargo/bin:$PATH
The two things I needed was data-pagefind-body and data-pagefind-ignore because I only wanted the poem content to be indexed and because I deploy to github pages I had to specify baseUrl
The pagefind command that I used was as follows
pagefind --source "../docs/poems" --glob "**/*.*"
And because I am using pagefind to insert its javascript and css and other files after the 11ty build, I needed to ignore the build when launching in browser.
npx @11ty/eleventy --serve --ignore-initial
This is the result on github pages.
Initially github pages was not serving the css and js for pagefind. I figured out what was causing the problem. The pagefind folder begins with an underscore which is treated special by Jekyll. Jekyll is on by default on github pages. I had to turn this off by deploying a .nojekyll file to the root of my website.
Comments