danielmaques / epub_reader_highlight

ePub reader
MIT License
18 stars 5 forks source link
android dart epub flutter highlight ios

logo banner

EPub Reader Highlight

GitHub stars

Table of Contents

Description

EPub Reader Highlight is a Flutter application that offers a complete solution for reading books in the Epub format. With an intuitive interface and advanced features, this tool allows developers to create personalized and efficient reading experiences for their users.

Features

Screenshots

Here are some screenshots of EPub Reader Highlight in action:

Text Highlight

image highlight

Chapter List

image chapter

Highlight Management

Highlight Management

Usage

Installation

  1. Clone the repository:
    git clone https://github.com/danielmaques/epub_reader_highlight.git
  2. Navigate to the project directory:
    cd epub_reader_highlight
  3. Install the dependencies:
    flutter pub get
  4. Run the application:
    flutter run

Usage Examples

class _MainAppState extends State<MainApp> {
  late EpubController _epubReaderController;

  @override
  void initState() {
    super.initState();

    /// Assets
    /// EpubDocument.openAsset('assets/gentle-green-obooko.epub')
    /// EpubDocument.openFile(path)

    _epubReaderController = EpubController(
      document: EpubDocument.openAsset('assets/gentle-green-obooko.epub'),
    );

    _epubReaderController = EpubController(
      document: EpubDocument.,
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Container(
        color: Colors.white,
        child: SafeArea(
          bottom: false,
          child: Scaffold(
            backgroundColor: Colors.white,
            appBar: AppBar(
              title: EpubViewActualChapter(
                controller: _epubReaderController,
                builder: (chapterValue) => Text(
                  'Chapter: ${chapterValue?.chapter?.Title?.replaceAll('\n', '').trim() ?? ''}',
                  textAlign: TextAlign.start,
                ),
              ),
            ),
            drawer: Drawer(
              child: EpubViewTableOfContents(
                controller: _epubReaderController,
              ),
            ),
            body: EpubView(
              builders: EpubViewBuilders<DefaultBuilderOptions>(
                options: const DefaultBuilderOptions(
                  textStyle: TextStyle(),
                ),
                chapterDividerBuilder: (_) => Container(),
              ),
              controller: _epubReaderController,
            ),
          ),
        ),
      ),
    );
  }
}
    EpubViewTableOfContents(
        controller: _epubReaderController,
    ),

Contributing

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

If you have a suggestion to improve this project, please fork the repository and create a pull request. You can also simply open an issue with the appropriate tag. Don't forget to give the project a star! Thank you very much!

  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

Be sure to include a tag and follow Conventional Commits and Semantic Versioning when submitting your commit and/or creating the issue.

Acknowledgements

Thanks to all the people who have contributed to this project. Without you, this project would not be possible.


Daniel Marques

Gabriel Barreto Matos Maia

License

This project is licensed under the MIT License.