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

Wandering

Mangoes

Winds

May

How can you make money online in Trinidad and Tobago?