FLUTTER ECOSYSTEM

joshpetit/bible

Dart バイブル API パッケージ。単一のインターフェースから複数の聖書APIを使用します。

聖書 のプロジェクト画像
Stars
19
Forks
4
最終プッシュ(UTC)
2021/08/17
プロジェクト状態
公開中
Joshua Petitma GitHub avatar
GITHUB User

Joshua Petitma ↗

World's gladdest coder studying at Duke

DukeDurham, North Carolina公式サイト ↗
言語Dart

技術トピック

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 4 件
  • http^0.13.3
  • reference_parser^3.0.0
  • pedantic開発用^1.9.0
  • test開発用^1.14.4

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

bible

This package provides a simple interface for interacting with different bible APIs.

Usage

This package currently only supports querying these APIs:

Name Requires API key notes
esvapi yes
getbible no Does not support verse references that cross chapters. Genesis 2-3 ✅ Gensis 2:1 - 3:5 ❌
bibleorg no
bibleapi no

Simple example:

import 'package:bible/bible.dart' as Bible;
...
var passage = await Bible.queryPassage('John 3:16'); // Will default to the GetBible API
print(passage.passage) // The text from the query

An example requiring an API key:

Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', providerName:'esvapi');

You can also pass the API key as an optional parameter:

Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', key: 'APITOKEN');

You can also pass query parameters through a map. See specific API documentation for those parameters.

Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', key: 'APITOKEN', parameters: {'Map': 'of params'});

You can specify the version or provider with optional parameters.

var passage = await Bible.queryPassage('John 3:16', providerName: 'getbible', version: 'asv');

**Note:**The providerName coresponds to that in the table at the beginning of this documentation.

Every time a passage is queried, the reference_parser library tries to parse the query (i.e mispelling will automatically be corrected, shortened verse forms will be allowed). To prevent this just pass false to the useParser parameter.

var passage = await Bible.queryPassage('John 3:16', useParser: false);

If you import the providers library you can use can directly query every the providers or pass them to the queryPassage function as an optional parameter

import 'package:bible/bible.dart' as Bible;
import 'package:bible/providers.dart';
//...
var prov = GetBible();
var passage = await Bible.queryPassage('John 3:16', provider: prov);

This is the same as using the providerName parameter but if you were to create your own provider you could pass it to the function.

Note: If you create your own provider please consider contributing it back to the repository :).

Contributing

Implementing an API isn't hard, so I'm open to having people implementing and sending pull requests for different bible APIs. This is a great first issue and doesn't require extensive dart knowledge, just copy a provider already created and go from there!

APIs that need implementing:

Name Difficulty
nltapi easy
bibliaapi moderate
scriptureapi hard

For more specific information look at the contributing guidlines.