Running the project
- In one terminal window
$ python app.py dev
- In a second (if you are working on sass styles)
$ compass watch -c config.rb
Test Author Login
- email: [email protected]
- pass: Jake1234
Unittest
- Run
$ python run_tests.py
EpubJS React Native Example
License: Other
Running the project
$ python app.py dev
$ compass watch -c config.rb
Test Author Login
Unittest
$ python run_tests.py
Hi, is it possible to get total pages count?
On this new release I consistently get EPUB.js is not loaded
on any version of Android, old or new.
I tested with 4.3, 5.0, 6.0.
The output in chrome debug until the error was raised:
inital orientation PORTRAIT 360 640
http://localhost:43753/moby-dick/
loading book: http://localhost:43753/moby-dick/
book opened 303
displaying 1
visibility 1 true
EPUB.js is not loaded
The book was downloaded correctly and was streamed ready.
The issue appears in the INJECTED_SCRIPT
in EpubView.js
around line 23 on condition:
typeof EPUBJSContents === "undefined"
.
@fchasen, is there a way I can help? any suggestion on where to look for this EPUBJSContents
?
Thanks.
Is it possible to select range of text programmatically?
Hey guys,
I almost nailed down the component installation. Here's what I did:
dependencies:
{ "epubjs-rn": "0.0.41", "react-native-fetch-blob": "0.10.2", "react-native-fs": "^2.1.0-rc.1", "react-native-orientation": "8fit/react-native-orientation", "react-native-http-server": "^0.1.2", "react-native-visible-scrollview": "0.0.2", "react-native-zip-archive": "0.1.0", "react-native-vector-icons": "^4.0.0", "react-native-static-server": "0.1.3" }
devDependencies
{ "babel-plugin-module-resolver": "^2.5.0", "babel-plugin-static-fs": "^1.1.0", }
npm install && react-native link
RNFB_ANDROID_PERMISSIONS=true react-native link
If you follow all the above, the iOS app is working with no problem, assuming you use the code from EpubReader example.
However, same code on android is throwing an error console.error EPUB.js is not loaded
.
This apparently come from EpubView.js
from INJECTED_SCRIPT because EPUBJSContents == undefined
.
Any thoughts on how to solve this issue with Android?
Thanks.
Hi
It seems that between 0.0.79 and 0.0.93 setting the font size does not work anymore.
Initial setting is taken but subsequent renderings with different fontSize are not being processed.
Any idea on where to fix this?
EDIT: I looked into the code in Rendition.js and the method this.sendToBridge("font", [f]); is always called then the font changes. So it looks like the issue is in the native part.
I also checked and the rendition is also re-rendered each time the font is set.
Thanks.
I wish there was just a forum or something to chat about issues since this is probably a one off thing with config of my server but I don't know. I'm having a strange issue when I try to get Epub files from my heroku app. I've tried two .epub's so far. The first says Error: Message length must be 8
and the second is as in the title here `undefined is not an object (evaluating 'this.createBlob'). If anyone has run into this and could shed some light that would be great.
When in landscape mode on Samsung A5, the layout has 2 columns instead of 1 and it looks bad.
On IOS on iPhone 6, in landscape mode there's only one column, which is ok.
Please help.
When i tried
<Epub src={"https://s3.amazonaws.com/epubjs/books/moby-dick.epub"}
flow={"paginated"} />
I don't understand.
Anyone able to install the android_pagination
branch?
I was not able to do this, even after cloning the repo on my side and installed from the master branch.
It keeps saying that epubjs-rn
was not found in the modules map.
Any suggestion?
Thanks.
My app is running fine on android but books dont load on ios , instead it just shows a blank white screen.
Hello,
In the documentation of the plugin I have seen that there is the possibility to change the font-family
"font: CSS override for font family"
I have tried with several fonts type Verdana, Arial, etc but the style does not apply.
Is this functionality currently implemented? Could you give an example of how to use font, please?
Thank you
Hello,
I am trying to redirect to the beginning of a chapter, through changing the location of the state.
I have created a Modal with a chapters lists via book.toc array, and then in onPress I set the new value.
this.setState({location:item.href});
The first time I press the button, I redirect well to the beginning of the chapter, but when I try to redirect another, it does not show me the correct page or just doesn't load it.
Is this the correct way to redirect? or Is there another way to do these redirects?
This functionality is present in the plgin? Could you add an example to redirect to the chapters, please?
Thanks!!!
OS: KitKat (Android 4.4) - API 19. Android Studio Emulator.
Test Book: https://s3.amazonaws.com/epubjs/books/moby-dick.epub
Symptom: The book is loaded successfully and onLocationsReady
is triggered ok.
However after loading the cover (first page), you can only swipe one page (second).
It freeze on third page and it stop responding for onPress events.
Swiping back, however, works and you get back the second page.
Manually setting the location is working and then the subsequent swipes works as well beyond 3rd page.
This happens the same with other books as well.
I noticed for some time that the inner TOC links are not working in the epub.
After the book loads ok and display ok, any attempt to follow an inner TOC link in the book is not working.
An example of such link is:
http://127.0.0.1:57842/Alexandra-Stoddard-Ghid_de_intelepciune/OEBPS/Text/Alexandra_Stoddard-Ghid_de_intelepciune-14.html#toc_marker-10
It looks like it's well formed and points to a toc_marker correctly, but it still does not jump to the right location.
Any ideas?
Thanks.
how to solve it
Hello,
I am trying to open an epub with the plugin gives me the following error: Error: No Section Found.
Epub works perfectly on ibooks
With the plugin example epub (moby dick) works correctly
Can you help me?
thank you very much
Hi!
I just experienced an issue while upgrading from 0.0.80
to 0.0.99
. After the update, onLocationChange
handler isn't getting called when I change the page and as such I'm not able to save progress inside the reader. I dug a little deeper and found out that the correct event (relocated)
isn't getting dispatched to the _onBridgeMessage
function inside components/Rendition.js
from the WebView. To verify it I put alerts in the following code just like this:
case"relocated":{
alert('relocated'); // Here. This isn't dispatched.
var _decoded=
decoded,location=_decoded.location;
this._relocated(location);
break;
}
case"press":{
this.props.onPress&&this.props.onPress(decoded.cfi,this);
break;
}
case"longpress":{
alert('longpress'); // And here. This is dispatched.
this.props.onLongPress&&this.props.onLongPress(decoded.cfi,this);
break;
}
The longpress
alert is occuring but the relocated
alert isn't getting called. Thus the onLocationChange
handler in the higher API isn't getting called as a result.
I've updated my deps to the latest ones and copied them from the example app.
My package.json
looks like this.
"dependencies": {
"axios": "^0.16.2",
"babel-polyfill": "^6.23.0",
"epubjs-rn": "^0.0.99",
"expo": "17.0.0",
"pouchdb-adapter-asyncstorage": "^6.2.6",
"react": "16.0.0-alpha.6",
"react-native": "https://github.com/expo/react-native/archive/sdk-17.0.0.tar.gz",
"react-native-fetch-blob": "^0.10.8",
"react-native-fs": "^2.5.1",
"react-native-localization": "^0.1.31",
"react-native-orientation": "^3.0.0",
"react-native-popup-menu": "^0.8.0",
"react-native-root-toast": "https://github.com/mranile/react-native-root-toast",
"react-native-static-server": "^0.1.8",
"react-native-tab-view": "0.0.66",
"react-native-zip-archive": "http://github.com/mockingbot/react-native-zip-archive",
"react-navigation": "^1.0.0-beta.11",
"react-redux": "^5.0.5",
"redux": "^3.7.2",
"redux-persist": "^4.8.2",
"redux-thunk": "^2.2.0",
"rxdb": "^5.2.1",
"rxjs": "^5.4.2"
},
Occurs for both Android as well as iOS. I'm using a detached expo app which uses ExpoKit 17.0.0.
Hi, is it possible to navigate to next page and previous page?
Hello,
Is there any way I can read the epub offline / or from a local path?
I've been looking at the Stream component, thinking it could be done from this, but the "check" method always returns exists=false.
P.D. I'm running on Android device
Thanks in advance.
Hi I have ran the epubreader folder but i still only get a blank screen -- why?
Hello,
In the documentation of the plugin I have seen that there is the possibility to generate a themes, and change it.
Could you give an example of how to use the themes, please? I want to change the font color via theme.
Thank you
Hi,
I suddently started to see this error when i start the app. Don't know what exactly happened but i can make it work anymore. Here is the error and the package json. Can someone help me? Thanks
Error:
Loading dependency graph, done.
error: bundling: UnableToResolveError: Unable to resolve module `fs` from `/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/epubjs-rn/src/Epub.js`: Module does not exist in the module map or in these directories:
/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/epubjs-rn/node_modules
, /Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset packager cache: `rm -fr $TMPDIR/react-*` or `npm start -- --reset-cache`.
at UnableToResolveError (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:525:5)
at ResolutionRequest._resolveNodeDependency (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:394:11)
at ResolutionRequest.resolveDependency (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:141:29)
at dependencyNames.map.name (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:145:59)
at Array.map (native)
at ResolutionRequest.resolveModuleDependencies (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:145:42)
at module.read.then (/Volumes/DATOS/Proyectos/black-noir/client/BlackNoir/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:172:40)
at process._tickCallback (internal/process/next_tick.js:103:7)
Bundling `index.ios.js` 99.7% (1299/1301), failed.
package.json
{
"name": "BlackNoir",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"lint": "standard --verbose | snazzy",
"lintdiff": "git diff --name-only --cached --relative | grep '\\.js$' | xargs standard | snazzy",
"fixcode": "standard --fix",
"clean": "rm -rf $TMPDIR/react-* && watchman watch-del-all && npm cache clean",
"clean:android": "cd android/ && ./gradlew clean && cd .. && react-native run-android",
"newclear": "rm -rf $TMPDIR/react-* && watchman watch-del-all && rm -rf ios/build && rm -rf node_modules/ && npm cache clean && npm i",
"test": "ava",
"test:watch": "ava --watch",
"coverage": "nyc ava && nyc report --reporter=html && open coverage/index.html || xdg-open coverage/index.html",
"android:build": "cd android && ./gradlew assembleRelease",
"android:install": "cd android && ./gradlew assembleRelease && ./gradlew installRelease",
"android:hockeyapp": "cd android && ./gradlew assembleRelease && puck -submit=auto app/build/outputs/apk/app-release.apk",
"android:devices": "$ANDROID_HOME/platform-tools/adb devices",
"android:logcat": "$ANDROID_HOME/platform-tools/adb logcat *:S ReactNative:V ReactNativeJS:V",
"android:shake": "$ANDROID_HOME/platform-tools/adb devices | grep '\\t' | awk '{print $1}' | sed 's/\\s//g' | xargs -I {} $ANDROID_HOME/platform-tools/adb -s {} shell input keyevent 82",
"precommit": "npm run git-hook",
"prepush": "npm run git-hook",
"git-hook": "npm run lint -s && npm test -s"
},
"dependencies": {
"apisauce": "^0.10.0",
"epubjs": "^0.3.37",
"epubjs-rn": "0.0.75",
"format-json": "^1.0.3",
"lodash": "^4.17.2",
"querystringify": "0.0.4",
"ramda": "^0.23.0",
"react": "16.0.0-alpha.6",
"react-native": "^0.44.3",
"react-native-animatable": "^1.1.1",
"react-native-check-box": "^1.0.4",
"react-native-config": "^0.2.1",
"react-native-device-info": "^0.10.0",
"react-native-drawer": "^2.3.0",
"react-native-fetch-blob": "0.10.5",
"react-native-fs": "^2.3.2",
"react-native-hyperlink": "0.0.9",
"react-native-in-app-utils": "^5.2.3",
"react-native-modal": "^2.4.0",
"react-native-orientation": "git+https://github.com/yamill/react-native-orientation.git",
"react-native-router-flux": "^3.37.0",
"react-native-splash-screen": "^2.0.0",
"react-native-static-server": "0.1.7",
"react-native-visible-scrollview": "0.0.6",
"react-native-zip-archive": "1.1.1",
"react-navigation": "^1.0.0-beta.7",
"react-redux": "^5.0.2",
"redux": "^3.6.0",
"redux-persist": "^4.1.0",
"redux-saga": "^0.14.3",
"redux-thunk": "^2.2.0",
"reduxsauce": "0.4.1",
"seamless-immutable": "^7.0.1"
},
"devDependencies": {
"ava": "^0.18.2",
"babel-eslint": "^7.1.1",
"babel-plugin-module-resolver": "^2.5.0",
"babel-plugin-static-fs": "^1.1.0",
"babel-preset-es2015": "^6.18.0",
"enzyme": "^2.6.0",
"husky": "^0.13.1",
"ignite-animatable": "^0.3.1",
"ignite-dev-screens": "^2.0.0-beta.8",
"ignite-ir-boilerplate-2016": "^0.2.1",
"mockery": "^2.0.0",
"nyc": "^10.1.2",
"path": "^0.12.7",
"react-addons-test-utils": "^15.3.1",
"react-dom": "^15.4.0",
"react-native-mock": "^0.3.1",
"reactotron-apisauce": "^1.7.0",
"reactotron-react-native": "^1.7.0",
"reactotron-redux": "^1.7.0",
"reactotron-redux-saga": "^1.7.0",
"snazzy": "^6.0.0",
"standard": "8.6.0"
},
"ava": {
"files": [
"Tests/**/*.js",
"!Tests/Setup.js"
],
"require": [
"babel-register",
"babel-polyfill",
"react-native-mock/mock",
"./Tests/Setup"
],
"babel": "inherit"
},
"standard": {
"parser": "babel-eslint",
"globals": [
"describe",
"it",
"fetch",
"navigator",
"__DEV__",
"XMLHttpRequest",
"FormData",
"React$Element"
]
},
"config": {
"ghooks": {
"pre-commit": "if [ -d 'ignite-base' ]; then cd ignite-base; fi; npm run lint"
}
},
"rnpm": {
"assets": [
"./App/Themes/Fonts"
]
}
}
Hello, I am trying to install the components to use them in my project, but when ever I install it it generates error 500 "Unable to resolve module epubjs-rn"
It only works for me if I download the complete project, and install it from there, but I need to use it in my own project
Anyone having the same problem?
Hi,
For the latest version, 0.0.103 it seems that updating location with cfi does not work anymore.
A location: start.cfi
does not trigger a onLocationChange
and does not render the page correctly.
The location
and href
from start
seems to trigger the onLocationChange
but only href
works correctly.
Most of the times location
keeps the spinning on and doesn't render the page.
Since href
is too broad, it is not a working alternative.
Any idea on how to fix these back?
It is not trigger for highlighted words at the beginning of a new line( start to trigger from ~10-15 symbols of a new line, depends on device). Also markClicked event have different behaviour on tablets and phones.
If there is TouchableWithoutFeedback in the top of reader view, MarkClicked event works well on some phones, but not trigger on tablets( need to click very long on the same place to it is triggered)
Only on acutal device. Does not happens in emulator.
When I want to change the font size in Epub the app crash with this error:
Message from debugger: Terminated due to memory issue
The code to crash is simple: this.setState({ fontSize: 18 })
for any value of fontSize.
Can we prevent the opening on new page in ebup? Is there any action handler or method to do this?
Is there any action to call a event before the new page is opened in Epub?
I've tried a lot, but I can't figure out how to get current page. Can anyone help me?
test book: https://m.cevadesign.ro/humanitas/Selma_Lagerlof_Imparatul_Portugaliei.epub
Swiping for second page will raise an exception from the dom.parser.js
with error entity not found:—
.
Apparenly the — (—
) is not defined in the entityMap
list of DOMParser.prototype.parseFromString
.
Is there a way to add more entities like this one?
Thanks.
If i remove onPress and onLongPress props from Epub component or will bind functions for them in constructor and call them like onPress={this.onPressed}, epub stops updating locations(
Hello @fchasen ,
I'm using las versión of epubj-rn (0.0.82), my initial location in state is 0 (the beginning of epub), and i using moby-dick epub.
I'm trying to redirect to the beginning of a chapter, through changing the location of the state.
I've created a Modal with a chapters lists via book.toc array, and then in onPress I set the new value.
this.setState({location:item.href});
I found some problems, for example:
1.- When I redirect to "CHAPTER 1. LOOMINGS", via "href:chapter_001.xhtml", Chapter 1 is loads for a moment and then changes to 2, this happens with most redirects.
2.- When I redirected to a previous chapter, or loaded at the end of the chapter selected or doesn't load this and this warning appears, and the eReader don't load anything else
...\node_modules\react-native\Libraries\ReactNative\YellowBox.js:71
Possible Unhandled Promise Rejection (id: 2):
Object {
"message": "",
"stack": "Error
at XMLHttpRequest.handler (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:126282:13)
at XMLHttpRequest.dispatchEvent (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:18623:35)
at XMLHttpRequest.setReadyState (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:20757:12)
at XMLHttpRequest.__didCompleteResponse (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:20621:14)
at http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:20716:45
at RCTDeviceEventEmitter.emit (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:3881:35)
at MessageQueue.__callFunction (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:2104:42)
at http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:1962:15
at MessageQueue.__guard (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:2076:9)
at MessageQueue.callFunctionReturnFlushedQueue (http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=true&minify=false:1961:12)",
"status": 0,
}
Is this the correct way to redirect? or Is there another way to do these redirects?
P.D. I'm running on Android.
Thanks!!!
Hi,
When static server goes from background to active, the epub doesn't expand any more. Only load the pages for which it has expanded before.
I think the problem is in react-native-static-server, and the eventListners for AppState. Why you should the server stop when it goes in the background? Is it due to problems in terms of memory?
Thanks in advance.
Hi, I have a problem, I want to load book and get all pages with their cfi. I need to have start pages for chapters. It will be good to have object, where book will be splitted on pages for my current device.
Epub.js
and EpubViewManager.js
try to import strange modules that don't appear to exist. For example import Dimensions from "Dimensions"
(should be react-native
?), and import ReactNative from "ReactNative"
, also NativeModules
. My guess is this has to do with the version of react-native?
Hi @fchasen
The pagination on Android does not work properly. Don't stop at each page.
In iOS it works perfectly, I think it's for using WKWebView with the pagingEnabled=true property.
Do you think it's possible to adapt the latest version to work with a single webview for both platforms?
Thanks in advance.
I follow the instructions for instalation but I got this error when running the ios.
UnableToResolveError: Unable to resolve module epubjs-rn
from /Users/vali/MyWorks/react/humanitas/App/Containers/PresentationScreen.js
: Module does not exist in the module map or in these directories:
/Users/vali/MyWorks/react/humanitas/node_modules
, /Users/vali/node_modules
Any help appreciated!
Thanks
After upgrade to latest versión 0.0.103, sometimes when loading the epub, at a specific location, the following error occurs:
Uncaught TypeError: Cannot read property 'locations' of undefined
I noticed that while futurepress/epub.js is licensed under a 2-clause BSD license, there isn't a license file the epubjs-rn repository. Is this an oversight? I'm happy to prepare a PR to add the same license as epub.js, but didn't want to be presumptuous.
Thanks for the great project.
Hi,
In previous versions I had some themes defined like that:
themes={{
"white": { "body": { "background-color": "white !important", "line-height":"1.7!important"},
"p": { "background-color": "white !important","color": 'black !important',},
"h1": { "background-color": "white !important","color": 'black !important' },
"h2": { "background-color": "white !important","color": 'black !important' },
"h3": { "background-color": "white !important","color": 'black !important' },
"h4": { "background-color": "white !important","color": 'black !important' },
"div": { "background-color": "white !important","color": 'black !important' },
"span": { "background-color": "white !important","color": 'black !important'}},
"beige": { "body": { "background-color": "#dcc7a1 !important", "line-height":"1.7"},
"p": { "background-color": "#dcc7a1 !important","color": '#595959 !important'},
"h1": { "background-color": "#dcc7a1 !important","color": '#595959 !important' },
"h2": { "background-color": "#dcc7a1 !important","color": '#595959 !important' },
"h3": { "background-color": "#dcc7a1 !important","color": '#595959 !important' },
"h4": { "background-color": "#dcc7a1 !important","color": '#595959 !important' },
"div": { "background-color": "#dcc7a1 !important","color": '#595959 !important' },
"span": { "background-color": "#dcc7a1 !important","color": '#595959 !important' }},
"grey": { "body": { "background-color": "#595959 !important", "line-height":"1.7"},
"p": { "background-color": "#595959 !important","color": '#dcc7a1 !important'},
"h1": { "background-color": "#595959 !important","color": '#dcc7a1 !important' },
"h2": { "background-color": "#595959 !important","color": '#dcc7a1 !important' },
"h3": { "background-color": "#595959 !important","color": '#dcc7a1 !important' },
"h4": { "background-color": "#595959 !important","color": '#dcc7a1 !important' },
"div": { "background-color": "#595959 !important","color": '#dcc7a1 !important' },
"span": { "background-color": "#595959 !important","color": '#dcc7a1 !important' } },
"black": { "body": { "background-color": "#191919 !important", "line-height":"1.7"},
"p": { "background-color": "#191919 !important","color": 'white !important'},
"h1": { "background-color": "#191919 !important","color": 'white !important' },
"h2": { "background-color": "#191919 !important","color": 'white !important' },
"h3": { "background-color": "#191919 !important","color": 'white !important' },
"h4": { "background-color": "#191919 !important","color": 'white !important' },
"div": { "background-color": "#191919 !important","color": 'white !important' },
"span": { "background-color": "#191919 !important","color": 'white !important' } }
}}
theme={this.state.theme}
And changing through the theme property with state like this.setState({theme:'black'), and works fine.
Now when I open the epub, I get this error.
Any ideas for how to fix this bug?
Thanks.
How should I write <Epub />
"src" parameter to open local epub file on IOS device?
For example, I have path:
/Users/admin/Library/Developer/CoreSimulator/Devices/06984DB8-F123-4B6B-9EC1-328CD86A4FDA/data/Containers/Data/Application/148A7607-DEC7-4705-A24B-027BF3985EF6/Documents/1.epub
but file hasn't being opened.
The path starting with "file://" also doesn't work.
Hi, I have a sidebar which can be opened or closed.
When I open and close sidebar book goes to the previous page(sidebar toggling cause changing width property for Epub component). And after opening and closing sidebar book goes to the previous page.
It doesn't happens when book is open on start chapter page.
I get the error described here: futurepress/react-native-visible-scrollview#1
If I manually go into the epubjs-rn module and remove the stickHeaderIndices prop, the app starts up no problem. It might be an issue because it's just passing an empty array?
Is there functionality to add page status bar?
Hi @fchasen
I'm currently working on a project and I'm trying my best to integrate offline reading. I use react-native-fetch-blob to download an epub file to my phone. Now once I give a local path to the Streamer with or without the file://
it shows this error
Error: RNFetchBlob request error: unexpected url: file:///data/data/com.app.reader/files/sample.epub
I believe this issue was brought up here #12 .
The solution mentioned there doesn't work sadly.
It was also brought up here #21
Hoping you'd take a look. Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.