/ArknightsStoryTextReader

A website that help you read Arknights Stories

Primary LanguageVueMIT LicenseMIT

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.