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

Popular posts from this blog

Recovery

My notes from the book "Lessons from my life"

My notes from the book "Micro Habits"

Mask

My Takeaways from TTIGF 2021