kamwithk / exstatic Goto Github PK
View Code? Open in Web Editor NEWZero effort language learning reading tracker with graphs and stats
License: GNU General Public License v3.0
Zero effort language learning reading tracker with graphs and stats
License: GNU General Public License v3.0
After I've erroneously activated skip mode and gotten a bazillion characters thrown into exstatic at once, when I delete said lines I end up with way lower character count than I actually started with, ruining my stats for the day.
For today, I accidentally added around 11k characters in three lines, and then deleted them. And through my texthooker log I can see that I had read roughly 14k characters read today, yet I am left with exstatic claiming I have read only 900 after deleting those three lines.
So far this program covers Visual Novels, Manga, and Light Novels/books. Games aren't really able to be covered given how they work. So that just leaves covering anime as a learning source. I personally use this to watch anime, I don't know the technical details but I wonder if at some point it might be possible to scrape data from it aswell? : https://github.com/animebook/animebook.github.io As an alternative there's also this: https://github.com/ripose-jp/Memento but I don't have any personal experience. So overall just a question/suggestion for a feature to maybe add one day
Just installed the extension and tried it out. While the tracking seems to work the icons aren't showing up, just descriptions of what they should be
for example https://i.imgur.com/3sDgTGI.png
I recently finished mokuroing all my manga, like hundreds, but it's all in .pdf since I read on mobile as well.
I use Kavita (https://github.com/Kareadita/Kavita) to read on the browser.
Is there anything I can do?
I decided to open this to share the issue, and I will update it when I have time to test why this is happening. After rebooting the PC, I open the browser, VN, and Textractor. It hooks properly. The tracker page doesn't update at all when I start reading.
It's the same VN. I didn't change the path. The first time I deleted everything and got it to work, I decided to setup things locally. It worked well. Now I rebooted my PC again, and got the same problem.
I managed to get it to work but I have no idea what did it. I deleted textractor and added it again, did the same with the exSTATic plugin. It somehow started working again. This problem persists across browsers.
I will try troubleshooting this when I need to reboot again or when I get some free time, but maybe the developer can point me in the right direction?
This entire project is amazing, thanks for creating it.
I was counting the amount of hours I had read a visual novel and realized that the count was off.
I then did some digging and found a odd behavior.
I had moved the directory in which I had a game installed and exStatic failed to add the hours spent on the game before the game was moved.
ae8a2bbe-4c41-4298-8336-d272d2fa060c,Monkeys!!,Games/Monkeys!!/Monkeys!!.exe,vn,2023-01-05,37156,3443,10870.281999111176,3.4181265953393036
15ef8184-c2e3-423d-a595-085494d9d37e,Monkeys!!,Games/Monkeys/Monkeys!!.exe,vn,2023-01-06,31550,2895,7333.98899936676,4.301888099740009
Changing it to the follow in the exported csv and importing it fixed it.
ae8a2bbe-4c41-4298-8336-d272d2fa060c,Monkeys!!,Games/Monkeys/Monkeys!!.exe,vn,2023-01-05,37156,3443,10870.281999111176,3.4181265953393036
15ef8184-c2e3-423d-a595-085494d9d37e,Monkeys!!,Games/Monkeys/Monkeys!!.exe,vn,2023-01-06,31550,2895,7333.98899936676,4.301888099740009
This miscount was fixed by changed the first line's given identifer to match the given identifer of the second.
If this is expected behavior, the stats window should show Two different Monkeys!! . Currently it combines them visual but the actual data is not combined.
If this is not expected behavior, then the stats should be merged or directory names should not be used for the given identifier
Currently exSTATic seems to accept lines in a specific json format. Sending regular text lines, for example lines captured from OCR programs such as mangaOCR, does not work.
Adding support for this would enable exSTATic to be used by a wide variety of apps other than just Textractor and in my opinion future proof it in case Textractor stops working or becomes obsolete for whatever reason.
When I try to export the statistics I get this error message on the console (and nothing happens):
Error: Type error for parameter options (Error processing url: Error: Access denied for URL blob:https://kamwithk.github.io/f45f2507-56ef-468e-a29c-f77499c92cd4) for downloads.download.
I am using Firefox 110.0 (64bit) on windows 11 home.
like yomichan which has a local page you can use when searching something instead of having to search for a place to type it, including tracker and stats pages in the extension would be better.
I messed up a hook that fed a bunch of junk text into exstatic, deleting it 1 by 1 would take too long so I was wondering if I could just scrap the whole entry or if there was a more efficient way to delete the junk lines
I think it would be useful to have a way to pause the timer like in https://anacreondjt.gitlab.io/texthooker.html
I for one would benefit by it by pausing it to do lookups or when stopping playing.
My current workaround is by shortening the max AFK secs but its annoying. There is no optimal time that I can set that will alleviate this pain
In calculations.js the ignore variable contains a list of typographic symbols to ignore for character counting purposes. I've found two relatively common characters, the fullwidth full stop . and the katakana middle dot ・ that are not in this list. The middle dot is also in the Wikipedia page that the code refers (https://en.wikipedia.org/wiki/List_of_Japanese_typographic_symbols).
I'm sure there are many other characters that can show up that this list does not cover, and adding them all one by one is not very feasible. In that case I think going the other way and having a regex allow list is a better idea.
I went through unicode blocks of Japanese and Roman unicode blocks and came up with a set of ranges. The blocks contain special marks as well as characters that should be counted, so instead of using the entire block I took only the parts that should count as characters.
Hiragana U+3041 to U+3096
Katakana U+30A1 to U+30FA
Numbers U+FF10 to U+FF19
Roman Uppercase Letters U+FF21 to U+FF3A
Roman Lowercase Letters U+FF41 to U+FF5A
Half-width Katakana (not sure if should be included) U+FF66 to U+FF9D
CJK unifed ideographs - Common and uncommon kanji: U+4E00 - U+9FAF
CJK unified ideographs Extension A - Rare kanji: U+3400 to U+4DBF
Or, another idea might be to make it so the user can provide their own characters or regex to match in the settings page?
there's not much to say here...
Just wanted to say, briefly, that the extension is awesome, really enjoying it so far! I think this is more in line with a feature request rather than a bug but I find that when using the extension here: https://kamwithk.github.io/exSTATic/tracker.html you can adjust the "max AFK time" as well as the "inactivity blur" whereas when reading a Mokuro generated .html there doesn't seem to be any way to do that. Due to me not being a great reader I find that the page enters "idle" which blurs the whole page until I double click again to clear the idle status pretty often.
Edit: I'm using the latest "firefox" build from the extensions section if that matters.
I don't know exactly what is wrong with version 0.0.9, but unfortunately it can't receive information from the textractor. Until yesterday everything was normal, but after this update this failure appeared. I have now gone back to version 0.0.8, and it is still working without any problems. Please do know that I love your project. It's very simple, but the thought of coding something like this makes me nauseous. That being said, for heaven's sake, please test the versions properly before updating them
I almost suffered a heart attack when it didn't work here
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.