Metadata-Version: 2.1
Name: pelican-algolia
Version: 2.2.0
Summary: Plugin to integrate Algolia Search with Pelican SSG
Home-page: https://github.com/rehanhaider/pelican-algolia
License: AGPL-3.0
Keywords: pelican,plugin,algolia,search,tipue
Author: Rehan Haider
Author-email: email@rehanhaider.com
Requires-Python: >=3.6.2,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Framework :: Pelican
Classifier: Framework :: Pelican :: Plugins
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: markdown
Requires-Dist: algoliasearch (>=2.6.0)
Requires-Dist: markdown (>=3.2); extra == "markdown"
Requires-Dist: pelican (>=4.5)
Project-URL: Documentation, https://docs.getpelican.com
Project-URL: Issue Tracker, https://github.com/rehanhaider/pelican-algolia/issues
Project-URL: Repository, https://github.com/rehanhaider/pelican-algolia
Description-Content-Type: text/markdown

Algolia Search: A Plugin for Pelican
====================================================

[![Build Status](https://img.shields.io/github/workflow/status/rehanhaider/pelican-algolia/build)](https://github.com/rehanhaider/pelican-algolia/actions)
[![PyPI Version](https://img.shields.io/pypi/v/pelican-algolia)](https://pypi.org/project/pelican-algolia/)
![License](https://img.shields.io/pypi/l/pelican-algolia?color=blue)


Installation
------------

This plugin can be installed via:

    python -m pip install pelican-algolia

Prerequisites
-------------
1. Create an [Algolia](https://www.algolia.com/) account
2. On Algolia website, create a new application
3. Create a new Index (or Indices) in you Algolia app. This will be `ALGOLIA_INDEX_NAME`
4. Import you records, if asked select **Use the API** option
5. Go to Settings -> API Keys -> Your API Keys and copy your 
    * Application ID, this will be `ALGOLIA_APP_ID`
    * Admin API Key (**DO NOT HARD CODE THIS IN YOUR PROGRAM**). This will be `ALGOLIA_ADMIN_API_KEY`
    * Algolia Search-Only API Key. This will be `ALGOLIA_SEARCH_API_KEY`

Usage
-----
**Step 1**: Set the following configuration in `pelicanconf.py`
```python
# Algolia Publish Data
ALGOLIA_APP_ID = "<Your Algolia App ID>"
ALGOLIA_SEARCH_API_KEY = "<Your Search-only Api Key>"
ALGOLIA_INDEX_NAME = "<You Algolia App Index name>"
```
**Step 2**: Set the `ALGOLIA_ADMIN_API_KEY` as an environmatal variable on path

**Step 3**: Import `ALGOLIA_ADMIN_API_KEY` in your `publishconf.py` (or `pelicanconf.py` if you're not using `publishconf.py` for publish settings)
```python
import os
ALGOLIA_ADMIN_API_KEY = os.environ.get("ALGOLIA_ADMIN_API_KEY")
```

Building Search bars
---------------------
You can read through [Algolia] documentation on how to build InstaSearch experience, or use a legacy version of search bar (example below) described in detail [here].

[Algolia]: https://www.algolia.com/doc/guides/building-search-ui/getting-started/js/
[here]: https://cloudbytes.dev/snippets/launching-pelican-algolia-plugin-for-pelican

Contributing
------------

Contributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting on [existing issues][].

To start contributing to this plugin, review the [Contributing to Pelican][] documentation, beginning with the **Contributing Code** section.

[existing issues]: https://github.com/rehanhaider/pelican-algolia/issues
[Contributing to Pelican]: https://docs.getpelican.com/en/latest/contribute.html

License
-------

This project is licensed under the AGPL-3.0 license.

