{"id":1546,"url":"https://github.com/FolioReader/FolioReaderKit","last_synced_at":"2025-08-02T04:32:09.411Z","repository":{"id":30068477,"uuid":"33617947","full_name":"FolioReader/FolioReaderKit","owner":"FolioReader","description":"📚 A Swift ePub reader and parser framework for iOS.","archived":true,"fork":false,"pushed_at":"2020-09-22T23:49:02.000Z","size":88511,"stargazers_count":2670,"open_issues_count":10,"forks_count":789,"subscribers_count":117,"default_branch":"master","last_synced_at":"2025-07-09T16:50:07.727Z","etag":null,"topics":["custom-fonts","epub","epub-reader","highlight","ios","night-mode","swift"],"latest_commit_sha":null,"homepage":"https://folioreader.github.io/FolioReaderKit/","language":"Swift","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FolioReader.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-08T16:16:09.000Z","updated_at":"2025-07-09T01:37:22.000Z","dependencies_parsed_at":"2022-11-29T13:19:50.226Z","dependency_job_id":null,"html_url":"https://github.com/FolioReader/FolioReaderKit","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/FolioReader/FolioReaderKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FolioReader%2FFolioReaderKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FolioReader%2FFolioReaderKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FolioReader%2FFolioReaderKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FolioReader%2FFolioReaderKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FolioReader","download_url":"https://codeload.github.com/FolioReader/FolioReaderKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FolioReader%2FFolioReaderKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334615,"owners_count":24233793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-fonts","epub","epub-reader","highlight","ios","night-mode","swift"],"created_at":"2024-01-05T20:15:49.495Z","updated_at":"2025-08-02T04:32:07.725Z","avatar_url":"https://github.com/FolioReader.png","language":"Swift","funding_links":[],"categories":["Media","Swift"],"sub_categories":["PDF","Other free courses"],"readme":"\n![FolioReader logo](https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/folioreader.png)\nFolioReaderKit is an ePub reader and parser framework for iOS written in Swift.\n\n![Version](https://img.shields.io/cocoapods/v/FolioReaderKit.svg)\n![License](https://img.shields.io/cocoapods/l/FolioReaderKit.svg)\n\n## Features\n\n- [x] ePub 2 and ePub 3 support\n- [x] Custom Fonts\n- [x] Custom Text Size\n- [x] Text Highlighting\n- [x] List / Edit / Delete Highlights\n- [x] Themes / Day mode / Night mode\n- [x] Handle Internal and External Links\n- [x] Portrait / Landscape\n- [x] Reading Time Left / Pages left\n- [x] In-App Dictionary\n- [x] Media Overlays (Sync text rendering with audio playback)\n- [x] TTS - Text to Speech Support\n- [x] Parse epub cover image\n- [x] RTL Support\n- [x] Vertical or/and Horizontal scrolling\n- [x] Share Custom Image Quotes **\u003csup\u003eNEW\u003c/sup\u003e**\n- [x] Support multiple instances at same time, like parallel reading **\u003csup\u003eNEW\u003c/sup\u003e**\n- [ ] Book Search\n- [ ] Add Notes to a Highlight\n\n## Who is using it?\n\nOn [AppSight](https://www.appsight.io/sdk/folio-reader-kit) you can see apps that are using it in production.\n\n## Demo\n\n**Custom Fonts :smirk:**   |  **Text Highlighting :heart_eyes:**\n:-------------------------:|:-------------------------:\n![Custom fonts](https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/custom-fonts.gif)  |  ![Highlight](https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/highlight.gif)\n\n**Reading Time Left :open_mouth:**   |  **Media Overlays 😭**\n:-------------------------:|:-------------------------:\n![Time left](https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/time-left.mov.gif)  |  ![Media Overlays](https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/media-overlays.gif)\n\n## Installation\n\n**FolioReaderKit** is available through [CocoaPods](http://cocoapods.org) and [Carthage](https://github.com/Carthage/Carthage). \n\n### Cocoapods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:\n\n```bash\n$ gem install cocoapods\n```\n\nTo integrate FolioReaderKit into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '9.0'\nuse_frameworks!\n\ntarget '\u003cYour Target Name\u003e' do\n    pod 'FolioReaderKit'\nend\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\nAlternatively to give it a test run, run the command:\n\n```bash\n$ pod try FolioReaderKit\n```\n\n### Carthage\n\nAdd the following to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile)\n\n```ruby\ngithub \"FolioReader/FolioReaderKit\"\n```\n\nRun the following command:\n\n```bash\n$ carthage update --platform iOS --no-use-binaries\n```\n\nThen, follow the steps as described in Carthage's [README](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application).\n\n## Requirements\n\n- iOS 9.0+\n- Xcode 10.1+\n\n## Basic Usage\n\nTo get started, this is a simple usage sample of using the integrated view controller.\n\n```swift\nimport FolioReaderKit\n\nfunc open(sender: AnyObject) {\n    let config = FolioReaderConfig()\n    let bookPath = Bundle.main.path(forResource: \"book\", ofType: \"epub\")\n    let folioReader = FolioReader()\n    folioReader.presentReader(parentViewController: self, withEpubPath: bookPath!, andConfig: config)\n}\n```\n\nFor more usage examples check the [Example](/Example) folder.\n\n## Storyboard\n\nTo get started, here is a simple example how to use the integrated view controller with storyboards.\n\n```swift\nimport FolioReaderKit\n\nclass StoryboardFolioReaderContrainer: FolioReaderContainer {\n    required init?(coder aDecoder: NSCoder) {\n        super.init(coder: aDecoder)\n        \n        let config = FolioReaderConfig()\n        config.scrollDirection = .horizontalWithVerticalContent\n        \n        guard let bookPath = Bundle.main.path(forResource: \"The Silver Chair\", ofType: \"epub\") else { return }\n        setupConfig(config, epubPath: bookPath)\n    }\n}\n```\n\nGo to your storyboard file, choose or create the view controller that should present the epub reader. In the identity inspector set StoryboardFolioReaderContrainer as class.\n\n## Documentation\nCheckout [Example](/Example) and [API Documentation](https://folioReader.github.io/FolioReaderKit/)\n\nYou can always use the header-doc. (use **alt+click** in Xcode)\n\n\u003cimg src=\"https://raw.githubusercontent.com/FolioReader/FolioReaderKit/assets/header-doc.png\" width=\"521px\"/\u003e\n\n### Migration\nIf you are migrating to a newer version check out [MIGRATION](/MIGRATION.md) and [CHANGELOG](/CHANGELOG.md).\n\n## Author\n[**Heberti Almeida**](https://github.com/hebertialmeida)\n\n- Follow me on **Twitter**: [**@hebertialmeida**](https://twitter.com/hebertialmeida)\n- Contact me on **LinkedIn**: [**hebertialmeida**](http://linkedin.com/in/hebertialmeida)\n\n## License\nFolioReaderKit is available under the BSD license. See the [LICENSE](/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFolioReader%2FFolioReaderKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFolioReader%2FFolioReaderKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFolioReader%2FFolioReaderKit/lists"}