A collection of React Hooks that provide a way to simplify the implementation of Proskomma into your React projects.

Usage no npm install needed!

<script type="module">
  import proskommaReactHooks from '';


Contributors Forks Stargazers Issues MIT License


Proskomma React Hooks

This project is like placing training wheels on a speed bike (Proskomma).
Explore the docs and code playground »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

Purpose: A collection of React Hooks that provide a way to simplify the implementation of Proskomma into your React projects.

Problem: Proskomma.js is a very powerful tool but has a fairly steep learning curve to setup and get running.

Scope: This project aims to simplify the implementing of Proskomma.js into our projects and especially the common use cases. It includes bootstrapping, importing and common queries/filters of Proskomma.

This project does not cover the downloading or obtaining of files to import.

Background: We implemented Proskomma.js in a few early projects but found it taking too long to setup and too much specific domain knowledge to make it useful. We kept refactoring our common use cases into this project as custom hooks and have a single place to maintain them.

Architecture and Design Principles: See for details on architecture and design principles for this project.

(back to top)

Built With

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.


Data The source of the data to import into Proskomma are scripture files such as USFM.

Testing files can be generated using Lorem Ipsum USFM.

Real USFM files can be found in multiple places such as:

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g

Installation/First Steps

  1. Setup a React app using Create React App or React Styleguidist.
npx create-react-app proskomma-react-hooks-app
  1. Add it to your React app or component library (inside your project path):
  • yarn
yarn add proskomma-react-hooks
  • npm
npm i proskomma-react-hooks
  1. Bootstrap inside App.jsx with useProskomma.
  2. Import: Create a new component for Importing data useImport.
  3. Passage: Create a new component for Passage Lookup and use custom hook inside it via usePassage.
  4. Search: Create a new component for Search and use custom hook inside it via useSearchForPassages
  5. Customize and run your own query useQuery

(back to top)


Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

For more examples, please refer to the Styleguidist.

(back to top)


See the open issues for a full list of proposed features (and known issues).

(back to top)


Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Guidelines for external contributions.

You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

If you would like to fork the repo and create a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)


Distributed under the MIT License. See LICENSE for more information.

(back to top)


Chris Klapp aka Klappy -

Project Link:

(back to top)


(back to top)