https://github.com/gromnitsky/forvo-light
A lightweight interface to Forvo
https://github.com/gromnitsky/forvo-light
forvo
Last synced: 2 months ago
JSON representation
A lightweight interface to Forvo
- Host: GitHub
- URL: https://github.com/gromnitsky/forvo-light
- Owner: gromnitsky
- Created: 2017-04-17T17:26:41.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-13T04:56:29.000Z (about 8 years ago)
- Last Synced: 2025-03-13T10:23:52.457Z (7 months ago)
- Topics: forvo
- Language: CSS
- Size: 242 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# forvo-light
A lightweight web/android client to forvo.com.
A precompiled apk: http://gromnitsky.users.sourceforge.net/android/apk/
A live example (see *Usage* section below): http://gromnitsky.users.sourceforge.net/js/forvo-light/
## Requirements
* Node 6.x
* `npm i -g browserify babel babel-preset-es2015`
* GNU Make## Compilation
An out of tree build:
~~~
$ git clone ...
$ mkdir _out && cd _out
$ make -f ../forvo-light/main.mk
~~~Then copy `src/` dir where your webserver expects static files.
## Android
Because I have a silly requirement of using the app on ancient devices
w/ Android 2.3, you can build the app only if you* point `ANDROID_HOME` env var to the Android SDK Tools not newer than
25.2.5; using that version of SDK Tools, install SDK Platform 21.
* `npm i -g cordova@4.3.0`
* use a Node version manager,
like [nodever](https://github.com/gromnitsky/nodever), for old
versions of Cordova don't work w/ modern versions of Node;
* edit `../forvo-light/main.mk` to make sure that Cordova is being run
under Node 4.8.After this preliminaries, type:
make -f ../forvo-light/main.mk cordova
It'll take a while, for Cordova will download a bunch of staff in
`~/.cordova` at its 1st run. The resulting apks should be in
`cordova/platforms/android/ant-build/`.## Usage
You'll need to obtain an API key from Forvo. After the 1st run of the
app, click on the 'gear' icon & enter the api key. The app will
remember it in the `localStorage`.## Implementation notes
No web frameworks were used in the making of this app. You won't
believe this, but it's still possible in 2017 to write simple programs
w/o React or Angular.## Android 2.3.4 bugs
(Not that anybody cares)
* no HTTPS support for `Audio()`
* `history.replaceState()` doesn't modify `location.hash`
* `error` event in `Audio()` doesn't get fired in cases of 404,
invalid format, etc.## License
MIT.
The icon: https://openclipart.org/detail/227474/pirate-parrot