{"id":25436673,"url":"https://github.com/hiro427/creader","last_synced_at":"2025-11-01T04:30:22.313Z","repository":{"id":276552587,"uuid":"929573021","full_name":"Hiro427/creader","owner":"Hiro427","description":"Read and Download Manga from MangaDex","archived":false,"fork":false,"pushed_at":"2025-02-16T02:50:53.000Z","size":113,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T03:23:37.582Z","etag":null,"topics":["bash","cli","gum","manga","mangadex","tui"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hiro427.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-08T21:25:05.000Z","updated_at":"2025-02-13T02:12:41.000Z","dependencies_parsed_at":"2025-02-09T01:20:21.598Z","dependency_job_id":null,"html_url":"https://github.com/Hiro427/creader","commit_stats":null,"previous_names":["hiro427/creader"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiro427%2Fcreader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiro427%2Fcreader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiro427%2Fcreader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiro427%2Fcreader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hiro427","download_url":"https://codeload.github.com/Hiro427/creader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239255551,"owners_count":19608302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cli","gum","manga","mangadex","tui"],"created_at":"2025-02-17T08:21:35.781Z","updated_at":"2025-11-01T04:30:22.026Z","avatar_url":"https://github.com/Hiro427.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### About \n\nIt allows reading and downloading manga from [MangaDex](https://mangadex.org/)  \n\nhttps://github.com/user-attachments/assets/55cc617c-1e7c-4606-a41f-0c21dc359ae2\n\n\n\n### Please Read\n\n**As of February 8th, 2025**  \n\nI wrote this project to learn Bash doing my best to not use chatgpt for anything other than general syntax questions, if you see anything I my might've missed or something to improve the script, feel free to open an issue. \n\nThe Keymaps situation is far from perfect. Sometimes depending on the current application state, Ctrl+c doesn't stop all of the processes. See Keymaps Section for more details. \n\nCurrently Manga can only be read after being downloaded.\n\nI am working on \"Live Reading\", I'm just a bit burnt out with this project at the moment. But I'll get on it as soon as possible. \n\n### Features \n- Downloading All or Selected Chapters of Manga (Note: Some popular titles like One Piece are not available on MangaDex)\n- Reading Manga\n- Chapters switch automatically, meaning once you arrive at the end of one chapter and go next, the next chapter begins and vice versa.\n- Chapters must be downloaded FIRST, before reading. Live reading not yet available\n- Save Reading Sessions\n- Read standalone .cbz files ex. `creader chapter_1.cbz`\n\n\n### Keymaps/Navigation \n\n#### Gum Keymaps\n\n*Gum is used to generate the nicer menus in the script*\n\n\n**NOTE: Gum has its own keymaps that are used, these are builtin and as far as I know they cannot be changed. They are printed below each menu** \n\n*One important keymapping in Gum* \nEscape disables the fuzzy search (Chapter Selection Menu(Reader \u0026 Download), Manga Selection Menu(Reader) ) and '/' enables it again. This is useful if you are like me and used to vim keys for navigation. Otherwise your keystrokes register in the fuzzy finder. \n\n**Example**\n\nIn the Manga Chapter selection menu when selecting what to download:\n\n```\nctrl+a - select all \ntab - select specifc entries - \n      you must first use escape to temporarily disable the fuzzy searching before using tab,\n      fuzzy search can be used again after pressing '/' \n```\nGum Bindings are already show in each menu, below you will see some of my own binding, my bindings cannot be used in conjuction with gum's bindings or vice versa. I know this maybe confusing but this is the best I could do at the moment, until my rewrite in go (TBD).\n\nOnly in some states of the app does Ctrl+C works correctl, I think it has to do with how I'm using gum, but I'm not sure. As a result I've added in options to gum menus for Exiting and Going Back. \n\n#### Keymaps (not gum)\n\u003cdetails\u003e\n\u003csummary\u003eWhile Reading Manga\u003c/summary\u003e\n\n```\nq/Ctrl+c - Quit/Exit \nj/down   - next page \nk/up     - previous page \nh/left   - previous chapter \nl/right  - next chapter\nr        - load saved sessions menu\ns        - save current reading session\nm        - go back to main menu\nb        - go back to chapter selection for current manga\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eManga Info Preview Page\u003c/summary\u003e\n\n###### **This is shown when selecting manga to download** \n\n```\nq/Ctrl+c - Quit/Exit\nb        - back to manga selection menu \nenter    - selects the manga \nany key  - returns to main menu\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWhen passing a .cbz file as an argument\u003c/summary\u003e\n\n```\nj/down   - next page \nk/up     - previous page \nq/ctrl+c - Quit/Exit\nm        - Main Menu\n```\n\u003c/details\u003e\n\n#### Session Management\n\n`creader -cs` Clears all saved sessions\n\nI haven't implemented more features for managing sessions yet, but if you want to delete a specific session, you can go to `~/.config/creader/sessions/` and delete the corresponding .txt file. \n\n### Installation \n\n#### Set Environment Variable \n\n- This is the location of where the downloaded manga will be stored and where the reader will look to read from. \n- Make sure the directory exists\n- Feel free to choose a destination that suits you, below is my personal option\n\n`export MANGA_DL_DIR=\"$HOME/Downloads/Manga/\"`\n\n#### Dependencies \nYou will need a terminal with image support. The terminal in the demo is WezTerm, I have also tried this successfully on Kitty and Ghostty\n```\nchafa gum awk cut sed file find grep tput tr jq sort\n```\n\n#### There are two ways to install, via the script and manually\n\n\u003cdetails\u003e\n\u003csummary\u003eScript\u003c/summary\u003e\n\n    Be sure to read the install script before running it!\n\n    You will be prompted for sudo access for the last command in the script, to copy the script to your PATH\n    \n    wget \"https://raw.githubusercontent.com/Hiro427/creader/refs/heads/main/install.sh\" \n    chmod +x install.sh \n    ./install.sh\n    \n    \n\n\u003c/details\u003e\n\n\u003cdetails\u003e \n\u003csummary\u003eManual\u003c/summary\u003e  \n\n    You can read through the install script yourself and copy the commands, or follow below.\n    \n    cd ~/.config \u0026\u0026 mkdir creader #make creader directory in .config directory\n\n    #make directories, be sure to check spelling, these directories are coded in the main script\n    mkdir active/\n    mkdir sessions/\n    mkdir tmp/ \n\n    #clone repo \n    cd \u0026\u0026 git clone https://github.com/Hiro427/creader.git\n    `cd creader/`\n\n\n    #Make the script an executable \n    chmod +x creader.sh\n\n    #Copy script to PATH\n    sudo cp ./creader.sh /usr/local/bin/creader\n\n    #Move the ASCII Header to the config directory \n    cp header.txt ~/.config/creader/\n\n\u003c/details\u003e\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiro427%2Fcreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiro427%2Fcreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiro427%2Fcreader/lists"}