Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hanfengsan/ehunter
For the best reading experience
https://github.com/hanfengsan/ehunter
typescript vue
Last synced: about 2 hours ago
JSON representation
For the best reading experience
- Host: GitHub
- URL: https://github.com/hanfengsan/ehunter
- Owner: hanFengSan
- License: mit
- Created: 2017-03-01T17:58:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-07T18:29:30.000Z (8 days ago)
- Last Synced: 2024-11-07T19:32:40.443Z (8 days ago)
- Topics: typescript, vue
- Language: Less
- Homepage:
- Size: 21.3 MB
- Stars: 904
- Watchers: 19
- Forks: 55
- Open Issues: 105
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[中文版](https://github.com/hanFengSan/eHunter/blob/master/README_CN.md)
# eHunter
Provide a scroll mode and book mode, for a better reading experience.# Preview
![avatar](https://github.com/hanFengSan/eHunter/blob/master/github_image/github_preview_4.png?raw=true)![avatar](https://github.com/hanFengSan/eHunter/blob/master/github_image/github_preview_5_1.png?raw=true)
![avatar](https://raw.githubusercontent.com/hanFengSan/eHunter/master/github_image/github_preview_3.jpg)
# Use in iPad
You can follow the guide to use eHunter in iPad:
CN: [Link](https://github.com/hanFengSan/eHunter/blob/master/ipad_cn.md)
EN: [Link](https://github.com/hanFengSan/eHunter/blob/master/ipad_en.md)## Implementation
It creates a new element in the Eh page, and inject Vue components to provide a scroll mode and book mode.## Install
Tampermonkey: [openuserjs](https://openuserjs.org/scripts/alexchen/eHunter)
Chrome: coming soon
Firefox: Coming soonYou also can get it from the 'release' of this project.
## Run
1. In a Node environment, run `npm install`, and `npm run dev`, then you will in dev mode.
2. In the top of `chrome://extensions`, open the develop mode, and select the `/dist`.
3. Run `npm run publish` to package a zip file in `/publish_output` for the web store of Chrome and Firefox.
4. Tampermonkey: run `npm run build`, and the `/dist/inject.js` is target, just use it.
5. Run `npm run test` to test.## Structure
```
|-eHunter
|-build
|-gulpfile.js // gulp file for packaging
|-webpack.dev.conf.js // webpack file for dev
|-webpack.prod.conf.js // webpack file for prod
|-dist // the directory of release
|-src
|-assets // resources
|-img // images
|-value
|-String.js // for i18n
|-tags.js // tags
|-version.js // the informations of update in this version
|-bean // bean classes
|-components // Vue components
|-widget // button, pagination, switch etc..
|-AlbumBookView.vue // the component of book mode
|-AlbumScrollView.vue // the component of scorll mode
|-ModalManager.vue // manage dialogs
|-PageView.vue // the component of page, loading in AlbumBookView and AlbumScrollView
|-ReaderView.vue // the component of reader,including of AlbumBookView, AlbumScrollView,ThumbScrollview and TopBar
|-ThumbScrollview.vue // the component of thumbnail column
|-TopBar.vue // top bar
|-service
|-parser // the parseres of Eh pages
|-request // the request classes.
|-storage
|-Base
|-Stroage.js // extend from react-native-storage, supporting chrome.storage.
|-AlbumCacheService.js // cache the urls of images, the size of images.
|-LocalStorage.js // wrap Storage.js,basing on the window.localStorage
|-SyncStorage.js // wrap Storage.js,basing on the chrome.storage.sync. It can sync the datas with Cloud of Google.
|-api.js // the api of Eh
|-InfoService.js // show the dialog of instructions, the dialog of update, etc..
|-SettingServie.js // save settings and get
|-PlatformService.js // some apis, for cross platfroms
|-StringService.js // provide strings of i18n
|-store // Vuex
|-style // the variables of sass, and the style of Markdown
|-utils
|-bezier-easing.js // using Cubic Bezier in the scroll of scroll mode
|-MdRenderer.js // the renderer of Markdown
|-VueUtil.js // add some frequently-used functions in Vue
|-app.inject.vue // the main components of Vue
|-app.popup.vue // the main components of Vue in popup window
|-main.inject.js // the entry of webpeck and some earlier stage processing before injecting view of Vue.
|-main.popup.js // the entry of webpeck. in popup window.
|-config.js // version and update server
|-mainifest.json // the mainifest for chrome and firefox extension
```