ﺭَﺑَّﻨَﺎ ﺗَﻘَﺒَّﻞْ ﻣِﻨَّﺎ
Quran text (Arabic), audio URLs, and details of pages, juz, surah, ayah, place of revelation etc.
To use this plugin, add quran
as a dependency in your pubspec.yaml file.
Constants:
basmala
- The constant 'بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ'sajdah
- The constant 'سَجْدَةٌ'totalJuzCount
- The constant total juz counttotalMadaniSurahs
- The constant total of madani surahstotalMakkiSurahs
- The constant total of makki surahstotalPagesCount
- The most standard and common copy of Arabic only Quran total pages counttotalSurahCount
- The constant total surah counttotalVerseCount
- The constant total verse count
Functions:
Juz:
getJuzNumber(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns Juz numbergetSurahAndVersesFromJuz(int juzNumber)
- Takes [juzNumber] and returns a map containing Surah and Verse numbers
Surah:
getSurahName(int surahNumber)
- Takes [surahNumber] and returns the Surah namegetSurahNameArabic(int surahNumber)
- Takes [surahNumber] returns the Surah name in ArabicgetSurahNameEnglish(int surahNumber)
- Takes [surahNumber] returns the Surah name in EnglishgetSurahNameTurkish(int surahNumber)
- Takes [surahNumber] returns the Surah name in TurkishgetSurahNameFrench(int surahNumber)
- Takes [surahNumber] returns the Surah name in FrenchgetPlaceOfRevelation(int surahNumber)
- Takes [surahNumber] and returns the Place of Revelation (Makkah / Madinah) of that SurahgetVerseCount(int surahNumber)
- Takes [surahNumber] and returns the count of total Verses in that Surah
Verse:
-
getVerse(int surahNumber, int verseNumber, {bool verseEndSymbol})
- Takes [surahNumber], [verseNumber] & [verseEndSymbol] (optional) and returns the Verse in Arabic -
getVerseEndSymbol(int verseNumber, {bool arabicNumeral})
- Takes [verseNumber], [arabicNumeral] (optional) and returns '' symbol with verse number -
isSajdahVerse(int surahNumber, int verseNumber)
- Takes [surahNumber], [verseNumber] and returns true if verse is sajdah verse -
getVerseTranslation(int surahNumber, int verseNumber, {bool verseEndSymbol, Translation translation})
- Takes [surahNumber], [verseNumber], [verseEndSymbol] (optional) & [translation] (optional) and returns verse translation -
Random Verse - Use
RandomVerse
class to create a random verse. Example:RandomVerse randomVerse = RandomVerse(); print(randomVerse.surahNumber); print(randomVerse.verseNumber); print(randomVerse.verse); print(randomVerse.translation);
Page:
getPageData(int pageNumber)
- Takes [pageNumber] and returns a list containing Surahs and the starting and ending Verse numbers in that pagegetPageNumber(int surahNumber, int verseNumber)
- Takes [surahNumber], [verseNumber] and returns the page number of the QurangetSurahCountByPage(int pageNumber)
- Takes [pageNumber] and returns total surahs count in that pagegetSurahPages(int surahNumber)
- Takes [surahNumber] and returns the list of page numbers of that surahgetVerseCountByPage(int pageNumber)
- Takes [pageNumber] and returns total verses count in that pagegetVersesTextByPage(int pageNumber, {bool verseEndSymbol, SurahSeperator surahSeperator, customSurahSeperator})
- Takes [pageNumber], [verseEndSymbol], [surahSeperator] & [customSurahSeperator] and returns the list of verses in that page
URLs:
getAudioURLBySurah(int surahNumber)
- Takes [surahNumber] and returns audio URL of that surahgetAudioURLByVerse(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns audio URL of that versegetAudioURLByVerseNumber(int surahNumber)
- Takes [verseNumber] and returns audio URL of that versegetJuzURL(int juzNumber)
- Takes [juzNumber] and returns Juz URL (from Quran.com)getSurahURL(int surahNumber)
- Takes [surahNumber] and returns Surah URL (from Quran.com)getVerseURL(int surahNumber, int verseNumber)
- Takes [surahNumber] & [verseNumber] and returns Verse URL (from Quran.com)
Search:
searchWords(List<String> words)
- Takes a list of words [words] and returns a map containing no. of occurences and result of the word search in the arabic quran textsearchWordsInTranslation(List<String> words, {Translation translation})
- Takes a list of words [words] and [translation] (optional) and returns a map containing no. of occurences and result of the word search in the traslation
Translations:
- English (Saheeh International) -
Translation.enSaheeh
- English (Clear Quran) -
Translation.enClearQuran
- French (Muhammad Hamidullah) -
Translation.frHamidullah
- Turkish -
Translation.trSaheeh
- Malayalam (Cheriyamundam Abdul Hameed and Kunhi Mohammed Parappoor) -
Translation.mlAbdulHameed
- Farsi -
Translation.faHusseinDari
- Portuguese -
Translation.portuguese
- Italian -
Translation.itPiccardo
- Dutch -
Translation.nlSiregar
- Russian -
Translation.ruKuliev
- Bengali -
Translation.bengali
- Chinese -
Translation.chinese
- Swedish -
Translation.swedish
- Spanish -
Translation.spanish
- Urdu -
Translation.urdu
- Indonesian -
Translation.indonesian
It is recommended to use google_fonts package and use the following fonts for better Quranic text display:
- Amiri -
GoogleFonts.amiri()
- Amiri Quran -
GoogleFonts.amiriQuran()
Add the following dependencies in your pubspec.yaml
:
dependencies:
flutter:
sdk: flutter
google_fonts: ^2.1.0
quran: ^1.2.3
Setting font globally:
MaterialApp(
theme: ThemeData(
textTheme: GoogleFonts.amiriTextTheme(),
),
);
MaterialApp(
theme: ThemeData(
textTheme: GoogleFonts.amiriQuranTextTheme(),
),
);
For specific text:
Text(
quran.basmala,
style: GoogleFonts.amiri(),
),
Text(
quran.getVerse(18, 1),
style: GoogleFonts.amiriQuran(),
),
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Quran Demo"),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Juz Number: \n" + quran.getJuzNumber(18, 1).toString()),
Text("\nJuz URL: \n" + quran.getJuzURL(15)),
Text("\nSurah and Verses in Juz 15: \n" + quran.getSurahAndVersesFromJuz(15).toString()),
Text("\nSurah Name: \n" + quran.getSurahName(18)),
Text("\nSurah Name (English): \n" + quran.getSurahNameEnglish(18)),
Text("\nSurah URL: \n" + quran.getSurahURL(18)),
Text("\nTotal Verses: \n" + quran.getVerseCount(18).toString()),
Text("\nPlace of Revelation: \n" + quran.getPlaceOfRevelation(18)),
Text(
"\nBasmala: \n${quran.basmala}",
style: GoogleFonts.amiriQuran(),
),
Text(
"\nVerse 1: \n${quran.getVerse(18, 1)}",
style: GoogleFonts.amiriQuran(),
),
],
),
),
),
),
));
}
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(quran.getSurahName(18)),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: ListView.builder(
itemCount: quran.getVerseCount(18),
itemBuilder: (context, index) {
return ListTile(
title: Text(
quran.getVerse(18, index + 1, verseEndSymbol: true),
textAlign: TextAlign.right,
style: GoogleFonts.amiri(),
),
);
},
),
),
),
),
),
);
}