Coder Social home page Coder Social logo

050644zf / arknightsstorytextreader Goto Github PK

View Code? Open in Web Editor NEW
290.0 6.0 17.0 22.47 MB

A website that help you read Arknights Stories

Home Page: https://astr.pages.dev

License: MIT License

HTML 1.77% JavaScript 4.45% CSS 3.46% Vue 90.32%
xlsx arknights vue

arknightsstorytextreader's Introduction

Arknights Story Text Reader

The python scripts for this repository have been move to ASTR-Script

 

CN | JP | KR | EN | TW

     

Arknights Story Text Reader is a website that help you view stories text in mobile game Arknights with following features:

  • Browsing Stories in all Arknights Servers (CN/JP/KR/EN/TW), and easily switch to different server in events, stories or anywhere else at upper right corner(if corresponding event exist).
  • Providing settings for configuring interface language and doctor's name in story
  • Pretty formatted story text, selecting option will navigate to corresponding line (in most stories)
  • More interesting features in misc

Thanks to the Generous Support from Sponsors!

Thymewarp, Bo Yi-bo, wangxu, Syegen, Hikari Leafs, Elaine Haser

Development Info

File Structure

/.github: Github Action Related Script

/ASTR: Assets like Icons and fonts.

/reader: Main Code Folder

/reader/src/ASTR: Legacy Version of ASTR (Deprecated)

/reader/src/ASTRv2: Current Version of ASTR (In active development)

Related Repositories

ASTR-Script : Python script to generate data, including convert raw txt into json, counting words/characters, summarize story introdution and so on.

Kengxxiao/ArknightsGameData : Providing raw data, trigger of the Github Actions.

ArknightsStoryJson : Storing the result generated from ASTR-Script.

Aceship/Arknight-Images : Providing images.

Building ASTR

cd reader
npm install
npm run build

Hosting ASTR Locally for Development

cd reader
npm install
npm run dev

ASTRv2 Explained

  1. Entrance Script: reader\src\main2.js
  2. Load server data in reader\src\ASTRv2\server.vue into session storage, including story_review_table.json (events and stories index), chardict.json (character id -> character name), storyinfo.json (story path -> story info), chapter_table.json (maintheme index) and wordcount.json (words/chars countings of stories).
  3. Render corresponding components base on route. Fetch more data (like story json) if necessary.

arknightsstorytextreader's People

Contributors

050644zf avatar 178619 avatar c-stella avatar dependabot[bot] avatar hanss314 avatar jaywyeee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

arknightsstorytextreader's Issues

图片缺失

ss不义之财与主线恶兆湍流的头图缺失
(话说好像每次都是我提issue,这个没办法自动化吗

Option to hide the links for lines to allow easier copy and pasting.

When you try to highlight more than one line on ASTR the links for the lines will also be highlighted. If you copy this and paste it, it'll have the word "link" between the sentences. This makes it a bit more tedious if I'm trying to plug in a load of text into a translator, because I'll have to go in and delete all the words "link". Just a small suggestion to be able to hide the line links.

feat: Music Support

剧情中有非常多契合的音乐,但是在使用ASTR阅读纯文字的时候没有办法听到这些音乐属实有些遗憾。
能否在页面中加入嵌入式音频播放器,以用于播放OST甚至是音效呢?可以手动或者自动触发。

Fix the image source

Wonderful work! This kind of tool is something I've wished the game had for a long time.

One complaint is that it seems images are broken at the moment, so it isn't a proper experience, but I'm sure this is being worked on. Attached are supporting images and the Console output:
image
image
image

Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/bg_black.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/images/26_i01.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g7_laterano_ward.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/images/26_i15.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g3_laterano_cathedralballroom.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/images/26_i07.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g8_laterano_dwelling.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g9_laterano_street.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g10_laterano_roof.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g11_laterano_alley.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/images/26_i02.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/bg_black.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g2_laterano_cathedralhall.png:1
Failed to load resource: the server responded with a status of 404 ()
aceship.github.io/AN-EN-Tags/img/avg/backgrounds/26_g1_laterano_cathedralfront.png:1
Failed to load resource: the server responded with a status of 404 ()
DevTools failed to load source map: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/browser-polyfill.js.map: System error: net::ERR_FILE_NOT_FOUND

Thank you for making this website!

Ancient Forge Character intro images

I noticed that where the event introduces a certain character, it shows a large image of the character instead. In the actual event though, it shows the character with a background and text like this:
Chen intro
Now this is just a screenshot I took on my phone for the transcripts I made but I was wondering if you were going to put together this style of image from the source images to stay true to the actual image found in the event. Or if you want me to, I can send you the 5 intro images I screenshotted in the discord so that you can use them. Or maybe even ignore this entirely because it's kind of trivial, lol

Forcing correct fonts for Japanese

In Chromium based browsers, if Japanese fonts are not configured in the browser settings, then the website's Japanese text will be shown in Chinese font.

I personally like to switch back and forth between reading the story in Chinese and Japanese, so it would be best if your website forces the correct font for each language.

Some Japanese fonts include:

  1. IPAexGothic
  2. Meiryo
  3. MS Gothic
  4. Yu Gothic
  5. Hiragino Kaku Gothic Pro
  6. Noto Sans CJK JP Regular

Mobile responsiveness

I just realized that the website isn't mobile responsive. That's a bit too bad since I like to read on my phone.

I know this isn't very important, can be hard, and thus will take some time, but I thought I'd say it nonetheless. I've been thinking of trying it out myself, but I'm not experienced in Vue at all, so god knows. I can always learn and try, though.

Menupage Implementation

Now the menu in sidebar is not a perfect solution for navigating. Instead i think the sidebar should only display the menu of current event. And using a menupage as a default page showing all event where can be more flexible and showing more visual element.

The current project includes:

  • A vertical bar spiliting Maintheme/Interude/Sidestory/Storyset/Operators' Records
  • Showing more visual element in event
  • Showing Operators' figure in Operators' Records

filter for stories by character?

Would it be possible to add the option to filter for stories that feature a specific character? For example, if I search for Folinic I get a list of all stories that feature dialogue from Folinic. I think this will be helpful in particular with finding operator records or module stories that a character appears in, since those are hardest to access from inside the game and sometimes the most random people appear in operator records.
Characters often appear under different names so this might be hard to automate. Maybe it's possible to use the character images as well as dialogue labels to find them? There are some appearances that will slip through the gaps even if both name and sprite are searched for (like Shalem in Rewinding Breeze) but it should still make for a very useful overview.

[0.99] List style fixes

Current list style forced a 20% margin on the left which is a bad idea on non-PC browsers. New list style will adjust its width to fit the window.

Suggestion

Hello! Thank you very much for making this resource, i find it very useful!
I think the reading experience would be largely improved if when a character appears in the dialogues, his/her sprite is shown to the side or linked (or shown at the beginning of the text, like a map's legend); this is mainly because many times recurring characters or operators use aliases or uncommon/generic names for themselves (eg, "passerby" or "aged man", etc)
This often can lead to overshadowing most of the scene' s context, and i really think it' s a pity
Another possible improvement, albeit much less impactful, is the absence of sfx. While i understand that adding the sound files themself would probably be too much work for its worth, adding a generic sfx signal could help understand the scenes better.

feat: Bright Mode

可以在设置里调整“黑底白字”和“白底黑字”两种阅读模式吗?

ASTR has stopped updating

由于数据资源 Kengxxiao/ArknightsGameData 已经停止更新,ASTR数据将不再更新直到找到新可用数据源。
如果有新可用数据源欢迎在此反馈!感谢大家的支持!

Due to the archiving of game datasource Kengxxiao/ArknightsGameData, ASTR will not be updated until a new datasource is found.
If you find a new datasource, please reply here. Thank you for your support!

火山旅梦的图炸了

rt
话说,自动化脚本是不是出了啥问题,几次的图都有问题
btw您有没有考虑过整个域名

Suggestion: unofficial spanish translate

I was thinking if there is any chance I can help you to translate all the story and text there is in the page to spanish so spanish speaker people who cant speak english can read the Arknights story and events.

Blocker Color support

After the implementation of #4 . Some text like this line which originally shows in white background lose contrast in default color. Thus i think it maybe necessary to change the background color of a line base on the last Blocker property line.
Example:
image
where shoule be
image

Migrate to new framework and UI

Naive UI is great. However, during the implementation, minor problems like #28 annoyed me for long time. Tho my poor coding resulted in some of these issues, it's not a popular framework which is hard to find solution, I think I should find a better solution on UI.

The reason why i chose naive ui before just because popular framework like nuxt, and UI like vuetify did not release vue 3 version. Now they're about to release vue 3 version (maybe need to take months), so it's time to consider migrate to a new framework.

With the help of new framework, features like responsive style ( #29 ) will be ez to solve.

Text Reader Improvement suggestion

Hi, I really appreciate the job you've done, but I have a suggestion for the UI side of things for the text reading.
I find it quite troublesome that often enough i have to click and open the image of the background, I'd prefer a much clearer preview. Also, I'd like, instead of having only their name displayed, also an image of the character that's talking. An example of what I'm talking about can be found in the game farthest (game no saihate in japanese) text reader. I honestly would like to have a similar view when reading, so it would be awesome if you provided such a UI. For everything else, i think the text reader is almost perfect as it is right now.
Imma provide pictures to show what i meant:
image
image
Of course, I prefer the background images as you uploaded them, instead of having literally a screenshot; i'm only talking about taking inspiration from that UI to improve it on your reader.
Have a nice day

Lore Features planned for ASTR

Discussed in #60

Originally posted by 050644zf June 10, 2024
hi, nightsky here, the dev of the Arknights Story Text Reader

recently i'm considering the next stage features of astr reader. for me the reading feature of astr are developed as much as i can. tho there are some long requested feature like character figures, etc, these could be ezily implemented once the data is ready and there are not only one site that provided such features like arkcc or prts.

recently i read graph of how ak story connected graph and it inspired me a lot. ak stories are complicated and each story may have many prerequisites and refer by many stories. so i wonder if we can build such a database that can draw connection of stories, list a timeline and presented them in interactive way.

hence i'm seeking ppl who can help me thinking what features should be implemented, what kind of the data structure should be and how the data be presented.

Stories Connection

inspired by https://www.reddit.com/r/arknights/comments/189rsu3/my_take_on_a_reading_guide_to_arknights/, we can make a database that storing connections of stories. this feature require:

Timeline

like the one in world setting book. this feature require:

  • data that records any timestamp appeared in stories, tracked in the specific line
  • a data visualization method to present data

Characters Tracking

Tracking the appearance of any character in stories. this feature require

  • a reliable method to track characters. possibly figure art id
  • a repository holding such data
  • series of modification on astr to present data

Suggestion on Transitions

Hi, Nightsky! Was just reading through the OD story and wanna commend you and the team for the amazing work done though my suggestion would be maybe add an empty bar when swapping through scenes for easier reading.

Thanks for your hardowork, Nightsky!

在文本里怎么看到缺字的情况?

水月密录里 这里记录的是
凯尔希 方将上说,他已经被转化为另一种生命形式,一种会探寻道路并改变和成就自我的生物。

而PRTS记录的是
凯尔希 正如方才会上所述,他已经被转化为了另一种生命形式,一种会为了探寻道路而改变和重塑自我的生物。
很显然是后者 句子通顺一点

Automatic language change to CN

Hello, I'm not sure if it's my devices' issue but whenever I would open a story for Global (EN) server, the main language would go to Simplified Chinese. I think this issue also persists with JP, KR, & TW.

An example would be opening the first Grani event story: https://050644zf.github.io/ArknightsStoryTextReader/?l=en_US&f=activities/a001/level_a001_01_beg

"en_US" indicates Global (EN) server but when I opened the link it jumped to Simplified Chinese. I'm not too familiar with coding but I think it automatically went to Simplified Chinese because it's the first language given.

I'm not sure if it's an issue on my end, but, if it is, you can ignore it.

Many thanks to you, Nightsky, for helping and making this reader!

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.