Giter Site home page Giter Site logo

xy2i / exstatic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kamwithk/exstatic

0.0 1.0 0.0 55.75 MB

Zero effort language learning reading tracker with graphs and stats

License: GNU General Public License v3.0

JavaScript 17.50% TypeScript 8.05% Jupyter Notebook 50.03% Svelte 24.41%

exstatic's Introduction

exSTATic

Zero effort language learning IMMERSION statistic collection and visualisation!

exSTATic aims to make it easy for language learners to immerse in their target language without sacrificing high quality progress tracking. exSTATic is a new project currently in its early stages and so is currently focused on smoothening out the Visual Novel (VN) reading experience.

The core web extension lies in this repository, whilst additional addons allow integration with various platforms:

  • TextractorSender - hooks VN lines and send them directly to exSTATic (or potentially other applications which wish to use the WebSocket connection, this doesn't impede/use a clipboard)
  • Mokuro - included in the core extension

Going forwards in the future, to account for other immersion mediums, integrations with other platforms like TTU, YouTube and maybe even Anki will be considered

Main UI Mokuro UI

Download Links

Install Instructions

Quick Setup YouTube Video

Setup is split into two parts:

  1. Downloading & importing the browser extension - from this repository
  2. Downloading & importing the integrations - from the repositories linked above

Once you download the files simply add them to your addons. Start each one up and then navigate to the main page. Your stats should from then on be recorded!

WARNING: If the main page isn't open your stats might not be recorded correctly, this has not yet been tested

NOTE: You may be warned on Chromium browsers that this extension uses the outdated Manifest V2 format, ignore this, Manifest V2 is officially still supported on both Firefox and Brave and so for the foreseeable future there are no plans to upgrade to V3 (due to technical complications)

Usage Instructions

exSTATic works just like any other reading application for the most part, with a few features/changes to spice things up and help record high quality progress data at zero cost:

  1. Activity Timer - Whenever you read what you're taking in will be recorded in the background and as you stop the time will stop being recorded
  2. Inactivity Indicators - A slight blur over your media is added when the timer is off to ensure you always read with it on and have it off afterwards
  3. Manual Timer Toggling - Double click the screen to manually toggle the timer on/off
  4. Stats and Graphs - Data is taken for each media on a daily basis, and progress is visualised in various ways for various timeframes

Immersion Gains Immersion Quantity Chars Per Time Per Pace Per

On a side note exSTATic makes use of modern technology to additionally eliminate a few other common painpoints with reading workflows like needing to use a clipboard (exSTATic doesn't use the clipboard and instead makes use of custom integrations)!

WARNING: Textractor needs to be open with the TextractorSender extension at all times otherwise the extension will crash

Manual Data Overrides

If you'd like to bring old data into exSTATic or modify the records in any way simply use the built in import/export buttons on the VN tracker UI (this works for all media forms). Data should be formatted as csv and must look identical to the export (look at an export to see how it should look, some columns may be ignored).

Mokuro Integration Notes

Mokuro support is currently being tested. If you would like to give this a go please find your manifest.json file (within the exSTATic extension folder whereever that it) and alter the matches entries to match where you store your manga. By default it is pre-set to pick up any manga within a folder anywhere called "Manga" (or any of its subdirectories, this may be removed and need to be manually entered in in future releases).

NOTE: Only single page mode works, double page mode is currently bugged

Contributions

Feel free to fork this repository, create GitHub issues and pull requests. More than happy to take a look into anything/approve PRs ๐Ÿ˜„!

Here's my Ko-Fi if you'd like to support.

Developer Instructions

NOTE: Due to Chrome forcing Manifest V3 and Firefox still using Manifest V2, the following build instructions have become slightly less intuitive

Make sure to start by having all the correct packages installed - npm install Each time you make a change run npm run build (this will take 2x longer since a separate Firefox and Chrome build are generated)

To have live browser extension updates:

  • Firefox - npm run web-ext-v2 -- run
  • Chrome - npm run web-ext-v3 -- run --target chromium

To build the extension ready for release:

  • Firefox - npm run web-ext-v2 -- build
  • Chrome - npm run web-ext-v3 -- build

Credits

Huge shoutout to everyone who helped on this project. Thanks to Mae for helping design the UI (making sure it looks lit), helping with testing and giving lots of ideas for potentially useful features.

Cheers to Mae, Marv and Alex from The Moe Way for providing me with sample data to use for testing and showcasing stats for this project!

Credit to Tiberiu for providing some sample code for how TTU integration may work in the future. Thanks ChibiDon for making a tutorial video for exSTATic.

exstatic's People

Contributors

kamwithk avatar tiberiuiurco avatar xy2i avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.