gaganyadav80 / quotable-flutter

This package (unofficial) uses a free and opensource quotation API called Quotable.

Home Page:https://pub.dev/packages/quotable_flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This package (unofficial) uses a free and opensource quotation API called Quotable.

Features

Get a random quote, list of quotes or search them as query by quotes and authors. You can also use tags to filter quotes and sort or order them as per the parameters.

Screenshot 2022-06-27 at 19 20 52

Getting started

  • Quote Model
Quote({
    String id,
    String content,
    String author,
    int length,
    List<String> tags,
});
  • Author Model
Author({
    String id,
    String bio,
    String description,
    String link,
    String name,
    String slug,
    int quoteCount,
});
  • Get Quotes from Quotable Repository
Future<Quote> Quotable.getRandom({
    List<String>? tags, 
    int? maxLength, 
    int? minLength,
});

Future<List<Quote>> Quotable.getListQuotes({
    List<String>? tags,
    List<String>? authors,
    SortBy sortBy = SortBy.dateAdded,
    Order order = Order.desc,
    int page = 1,
    int limit = 20,
})

Future<List<Quote>> Quotable.searchQuotes({
    required String query,
    int page = 1,
    int limit = 20,
})

Future<List<Author>> Quotable.searchAuthor({
    required String query,
    int page = 1,
    int limit = 20,
})

If you are confused about page and limit or how they work together then read this table.

Usage

// get random - Quote()
void main() async {
    Quote quoteRamdon = await Quotable.getRandom();
    List<Quote> listQuotes = await Quotable.getListQuotes(limit: 5);
    List<Quote> queryQuote = await Quotable.searchQuotes(query: 'wisdom', limit: 5);
    List<Author> queryAuthor = await Quotable.searchAuthor(query: 'einstein');
}

Additional information

If you find any issues or want to contribute then please feel free to open an issues or a discussion here

About

This package (unofficial) uses a free and opensource quotation API called Quotable.

https://pub.dev/packages/quotable_flutter

License:Apache License 2.0


Languages

Language:Dart 100.0%