Git Product home page Git Product logo

ollm / opencomic Goto Github PK

View Code? Open in Web Editor NEW
746.0 22.0 72.0 83.03 MB

Comic and Manga reader, written with Node.js and using Electron

License: GNU General Public License v3.0

CSS 18.69% HTML 15.47% JavaScript 65.62% Python 0.22%
comics-reader comic manga-reader manga electron nodejs javascript linux macos windows epub-reader manga-viewer comic-viewer image-viewer manwha novel-reader webtoon webtoon-reader pdf pdf-viewer

opencomic's Introduction

OpenComic

Comic and Manga reader

Screenshot

Screenshot

More Screenshots 📸

Features

  • 🖼 Support this image formats: JPG, PNG, APNG, AVIF, WEBP, GIF, SVG, BMP, ICO
  • 🗄 Support this compressed formats: RAR, ZIP, 7Z, TAR, CBR, CBZ, CB7, CBT
  • 📄 Support this documents/ebook formats: PDF, EPUB (Alpha)
  • 🎵 Support background music from folder: MP3, M4A, WEBM, WEBA, OGG, OPUS, WAV, FLAC
  • 📁 Master folders support
  • ☁️ Server connection support: smb://, ftp://, ftps://, scp://, sftp://, ssh://, s3://
  • 🇯🇵 Manga read mode
  • 🇰🇷 Webtoon read mode
  • 📖 Double page view
  • 🔖 Bookmarks and continue reading
  • 🔍 Floating magnifying glass
  • 🖱 Reading in scroll or slide
  • ⚪ Adjust the brightness, saturation, contrast, sepia, negative and invert colors
  • 🎨 Colorize black and white images
  • 🔄 Tracking with sites (AniList)
  • 🎮 Gamepad navigation
  • 🔢 Multiple interpolation methods: lanczos3, lanczos2, mitchell, cubic, nearest and others

You can see the changes between versions in the Changelog 📝

Download v1.2.0

Stores

Get it from Microsoft    Download on the Mac App Store    Get it from the Snap Store

Windows
macOS
macOS Arm64
Linux
Linux Arm64

Installation and Starting for development

Requirements: Git, Node and NPM

git clone https://github.com/ollm/OpenComic.git
cd OpenComic
npm install
npm run rebuild
npm start

Build from source

npm pull origin master
npm install
npm run build-<buildType>

Available builds types:

  • Windows: nsis , portable
  • macOS: mac-dmg, mac-pkg (Both include arm)
  • Linux deb, rpm, snap, flatpak, appimage, 7z
  • Linux Arm: deb-arm, rpm-arm, snap-arm, flatpak-arm, appimage-arm, 7z-arm

Now the build files are located in dist folder.

Pepper & Carrot

This application contains as example the webcomic Pepper&Carrot by David Revoy licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0).

Based on the universe of Hereva created by David Revoy with contributions by Craig Maloney. Corrections by Willem Sonke, Moini, Hali, CGand and Alex Gryson. Translated into Spanish by TheFaico

GitHub Sponsors

opencomic's People

Contributors

albanobattistella avatar catouberos avatar dependabot[bot] avatar entsalze avatar guaseon avatar henrik9999 avatar herrsunchess avatar kofzhanganguo avatar nekomajin42 avatar ollm avatar pineapplesnackz avatar topotech avatar vanja-san avatar yutthaphon avatar z00rat 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opencomic's Issues

Single pages and double pages have different variable zoom.

I really like the fact that this has a horizontal margin.

My question is it possible for Horizontal margin to be different for double pages.

Like i want the single pages to have 200px horizontal margin but double pages should fit to width

Quick tutorial as packed comics?

I have had some trouble finding out how to turn pages with mouse click. (Good idea, though.) So I thought it would be a smart extra to create a few pages long tutorial explaining the available functions, and ship it like Pepper & Carrot. Either taking screenshots and adding the explanation in speech bubbles, or drawing a real comics with illustrative frames.

What do you think?

Next volume link auto detection for Comic view

The next volume link at, or after the end of the page as a hover, is convenient when you read series of comics (Say volume1, volume2 ...)

The series of comics usually have the same prefix, say "Comic. Foobar vol1", "Comic Foobar vol2". So if the same comic name prefix is detected in registered folders or files in OpenComic, a link to the next volume is displayed, maybe hover the link on the last page or a blank page after the last page with the link.

Thank you so much for making this reader! Also: bookmark error in inverted reading mode

Hi! First of all, I'd like to thank the creator of this reader; I've used practicly all the comic readers that are out there and the only one that worked for me prevously was CDisplay. The problem? Their interface sucks. So by mere coincidance I found OpenComic and I've got to say it has absolutly everything I've been looking for in a manga reader for ages. So thank you very much for your work!

Here are somethins that need a little fixing though:

  • When bookmarking in inverted reading mode, it saves the mirrored page in the list instead. Bookmarking the page 3/100 gets the bookmark in page 97/100 instead. The bookmark symbol keeps working in the original page, but opening the bookmarks lists shows the wrong page in the chapter.

  • Also, when bookmarking a page in a comic and the moving (or deleting) the original source, the bookmark stays even though it does nothing, and I can't manually delete that bookmark either. The same happens with the "continue reading" link when opening the main folder and the chapter is not there. I'd say it's better for it to not show at all in those cases.

  • Just as an improvement: I'd like to set permanently the interface zoom, it resets everytime that I open the app and it's somewhat annoying.

  • Having access to a reading history would help a lot as well, I usually jump a lot between comics when reading. It's the only feature that I miss from CDisplay.

Really great job with the program and have a nice christmas holidays!

Double page option for title page

It would be nice to have an option for leaving the first page blank when using double pages. This way the title (or cover page) would be a single page, and the following double page spreads would be correctly sorted like in the real book (left and right page order).
Great software with potential by the way, thanks!

Portuguese Brazilian Language and New Project in ElectronJS

pt-br.json

{
	"appName": "OpenComic",
	"global": {
		"and": "e",
		"comics": "Quadrinhos",
		"collection": "Coleção",
		"sort": {
			"main": "Classificar",
			"name": "Nome",
			"number": "Número",
			"nameNumber": "Nome / Número",
			"lastAdd": "Último adicionado",
			"lastReading": "Última leitura",
			"foldersFirst": "Pastas primeiro",
			"invert": "Inverter"
		},
		"view": {
			"main": "Visualização",
			"module": "Grade",
			"list": "Lista"
		},
		"contextMenu": {
			"remove": "Remover"
		},
		"back": "Voltar",
		"add": "Adicionar",
		"language": "Linguagem",
		"theme": "Tema",
		"nightMode": "Modo Noturno"
	},
	"comics": {
		"continueReading": "Continue lendo",
		"emptyIndex": "Não há quadrinhos nesta coleção.",
		"emptyFolder": "Não há arquivo compatível nesta pasta."
	},
	"reading": {
		"firstPage": "Primeira página",
		"previous": "Anterior",
		"next": "Próximo",
		"lastPage": "Última página",

		"pages": {
			"main": "Páginas",
			"slide": "Deslizar",
			"scroll": "Rolar para baixo",
			"adjustToWidth": "Ajustar a largura",
			"margin": "Margem",
			"doublePage": "Página dupla",
			"doNotApplyToHorizontals": "Não aplicar a horizontais",
			"readingDelaySkip": "Atraso na mudança de histórias em quadrinhos",
			"animationSpeed": "Velocidade da animação",
			"readingManga": "Ler mangá (invertida)"
		},
		"magnifyingGlass": {
			"main": "Lupa",
			"activate": "Ativar",
			"zoom": "Zoom",
			"size": "Tamanho",
			"ratio": "Proporção",
			"radius": "Raio"
		},
		"viewBookmarks": "Visualizar favoritos",
		"addBookmark": "Adicionar a favorito",
		"removeBookmark": "Remover favorito",
		"emptyBookmarks": "Sem favoritos",
		"currentReading": "Leitura atual"
	},
	"menu": {
		"file": {
			"main": "Arquivo",
			"openFile": "Abrir arquivo",
			"openFolder": "Abrir pasta",
			"addFile": "Adicionar arquivo",
			"addFolder": "Adicionar pasta",
			"quit": "Sair"
		},
		"view": {
			"main": "Visualização",
			"resetZoom": "Redefinir zoom",
			"zoomIn": "Mais zoom",
			"zoomOut": "Reduzir zoom",
			"toggleFullScreen": "Tela cheia"
		},
		"goto": {
			"main": "Ir para"
		},
		"debug": {
			"main": "Depuração",
			"reload": "Recarregar",
			"forceReload": "Forçar recarregar",
			"toggleDevTools": "Ativar Ferramentas de Desenvolvimento"
		},
		"help": {
			"main": "Ajuda",
			"about": "Sobre o OpenComic"
		}
	},
	"error": {
		"uncompress": {
			"title": "Erro ao descompactar",
			"message": "Ocorreu um erro ao tentar descompactar o arquivo."
		}
	},
	"about": {
		"version": "Versão",
		"translatedBy": "Traduzido para o Português Brasileiro por",
		"contributedBy": "Contribuído por",
		"translators": [
			{
				"name": "LoadSec",
				"email": "[email protected]",
				"url": "https://ggames.com.br"
			}
		]
	}
}

I have a ideia to create a program in electronjs, but i need your help, i don't know how to use javascript but a i have a good ideia, if you want to know more, please contact me here or on my email

[email protected]

Armf/arm64 support

Hello,

I liked your work, but after trying to install your project on a arm64 virtual instance, I realized it doesn't seems to support armf or arm64 architectures.

It could be great tho, this kind of project could fit perfectly on a mini-machine, a raspberrypi or a arm64 virtual instance.

Do you have any plans supporting theses plateforms ?

Is it possible for a webtoon reader to be implemented here?

Honestly title says it all, can a vertical reader (so pages with small gaps in between in the reader, and you can scroll through the entire chapter/volume at a go if not through consecutive chapters) and/or webtoon (so no gap between the images and it's one big blob) be implemented for this reader?

Configuring startup behavior

The current behavior when opening a file is showing a thumbnails of the file in a normal window, I'd like to be able to configure this behavior
#When opening a file start in
1- Thumbnails \ The first page(reading)
2- Fullscreen mode [On\Off]

Remove the menu bar in fullscreen view

You can use this code:

{
  label: "Fullscreen",
  accelerator: "F11",
  click: function() {
    win.setMenuBarVisibility(win.isFullScreen());
    win.setFullScreen(!win.isFullScreen());
  }
}

Image fails to load in reader when path has a ? in it

I noticed while reading a manga that some chapters would not show anything in the reader area while the preview on the left would.

After a few of them I realized that the chapters that wouldn't show all had question mark in the name and that renaming them would fix the issue

Enable continuous scrolling when holding up/down button.

Right now you have to repeatedly hit up/down button. Holding them does nothing.
Plus when you open a chapter you have to click on the image to even enable any scrolling with keyboard at all (you have to focus into the window).

Also if possible not only adding a continuous scroll on holding keys bot also smooth scrolling with large jumps, like on windows in chrome (when you enable smooth scrolling in chrome).

This is all on 2.0.0 on macOS.

Not generating preview pictures consistently.

OpenComic_B80AmTVnud

The images are contained within a subfolder within the zip, if this helps diagnose. This is very common for comics. Pics attached.
WinRAR_ubYYR9skoR
WinRAR_f4SyFAK8Ro

Almost all my zipped comics are like this, but the behavior in the app is inconsistent. After I open the zip, I do get the preview image, but it's very small as you can see.

I think the issue might have to do with the size of the first .jpg or .png in the folder, or its total size. It seems to be that any zip file over 50MB won't preview.

Double pages placeholder is too intrusive

When using the double page view with odd number pages, the placeholder at the end should be transparent, or at least opaque. It's especially disturbing, when the dark theme is enabled.

Snap package error: error while loading shared libraries: libgdk_pixbuf-2.0.so.0

Hi, just want to report bug with snap version of opencomic on ubuntu 20.04 64-bit

$ snap install opencomic
$ opencomic
/snap/opencomic/5/app/opencomic: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot open shared object file: No such file or directory
# searched the libgdk on https://packages.ubuntu.com/search?searchon=contents&keywords=libgdk_pixbuf-2.0.so.0&mode=exactfilename&suite=eoan&arch=any
$ sudo apt install libgdk-pixbuf2.0-0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgdk-pixbuf2.0-0 is already the newest version (2.40.0+dfsg-3).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.

Manga cannot be opened after a specific time period

  1. Add a manga folder in the Library
  2. The manga opens easily in the reader
  3. Leave the manga there for a month or two
  4. Open Comic starts showing a message that the file is no longer compatible even though it worked previously
    image

Solution?
Could be a cache problem or there is some sort of timer that automatically disables accessing the manga after a month or more period.

Can't open cbr file in mac

Hello, i try to open a cbr file on mac and i have an error with de unrar command in the /bin/sh folder.

Command failed: unrar vt -v "/Users/*/*.cbr"
/bin/sh: unrar: command not found

So the first time i install unrar with brew, and continu to not work. I try the command in terminal and it work.

Windows Version automaticially takes over file associations

This isn't a huge issue, but the way that Opencomic tries to associate itself with every file it can open is a bit inconvenient. Most of my .zip files aren't comic related and having to reset that across multiple formats seems like an unnecessary step.

Turning pages with mouse click

As an optional and IMHO more comfortable way to turn pages could be to click on the left and right side of the reading area to jump to the previous and next pages. Optionally, you can create floating buttons.

Frameless window

Using Electron Frameless Windows you could hide the unnecessary title bar on Windows and other OSes that clashes with app's style and takes up space on screen.

falha no npm star

Olá,

eu estava tentando rodar o Open Comic a partir do repositório do git, realizei os seguintes passos:

  • git clone https://github.com/ollm/OpenComic.git
  • npm install --only = dev
  • npm start
    Na parte do npm start deram alguns erros de módulos que estavam faltando e eu os instalei manualmente. tentei dar um npm start novamente, mas ocorreu o seguinte erro que não consigo resolver:

A JavaScript error occurred in the main process
Uncaught Exception:
TypeError: win.removeMenu is not a function
at createWindow (/home/leirton/OpenComic/scripts/main.js:49:6)
at App.app.on (/home/leirton/OpenComic/scripts/main.js:104:2)
at emitTwo (events.js:111:20)
at App.emit (events.js:191:7)
Como faço para solucionar esse erro?

Zoom pages

Can you implement a tool to zoom in/out individual pages? The magnifier is a nice feature to tinker with as a coder, but it's quite troublesome for the users.

The RMB + wheel combination could be used to zoom in/out, or you could create a slider.

Can't seem to open .cbr files on Linux

Hi. I'm using OpenComic v0.1.1 on Ubuntu 19.04 and the application can't seem to be able to open .cbr files. I tried it with two .cbr files and it failed to open both of them, with one being added but unable to open (and it has no preview), and the other not even showing up in OpenComic.

I got this error in DevTools:

fs.js:121 Uncaught Error: ENOENT: no such file or directory, scandir '/tmp/opencomic/4b0c0da6043684fbd9025dc6cc7772e43742fd5d'
    at Object.readdirSync (fs.js:811)
    at Object.fs.readdirSync (electron/js2c/asar.js:660)
    at loadFilesIndexPage (/opt/OpenComic/resources/app.asar/scripts/dom.js:213)
    at /opt/OpenComic/resources/app.asar/scripts/dom.js:465
    at /opt/OpenComic/resources/app.asar/scripts/file-compressed.js:181
    at /opt/OpenComic/resources/app.asar/node_modules/node-unrar/lib/index.js:15
    at /opt/OpenComic/resources/app.asar/node_modules/node-unrar/lib/index.js:27
    at ChildProcess.exithandler (child_process.js:319)
    at ChildProcess.emit (events.js:194)
    at maybeClose (internal/child_process.js:998)
handleErrorFromBinding @ fs.js:121
readdirSync @ fs.js:811
fs.readdirSync @ electron/js2c/asar.js:660
loadFilesIndexPage @ /opt/OpenComic/resources/app.asar/scripts/dom.js:213
(anonymous) @ /opt/OpenComic/resources/app.asar/scripts/dom.js:465
(anonymous) @ /opt/OpenComic/resources/app.asar/scripts/file-compressed.js:181
(anonymous) @ /opt/OpenComic/resources/app.asar/node_modules/node-unrar/lib/index.js:15
(anonymous) @ /opt/OpenComic/resources/app.asar/node_modules/node-unrar/lib/index.js:27
exithandler @ child_process.js:319
emit @ events.js:194
maybeClose @ internal/child_process.js:998
(anonymous) @ internal/child_process.js:403
emit @ events.js:194
(anonymous) @ net.js:593

Webtoon mode: drag to scroll

Rather than using the scrollbar drag to scroll feature would be much more comfortable, once you get used to it u can't imagine looking back.

Attempting to call a function in a renderer window that has been closed or released. Function provided here: undefined

Hi thanks for this good project

i try to integrate it as a qpkg for Qnap NAS HDStation
which is an ubuntu1804 LXC container

on first try.. opencomic binary refuse to start
i had to force it with the flag --no-sandbox all run as root, no others user possible

./opencomic --no-sandbox

in this mode it start and opens, but what ever i do in menu... stdout showup this error, and nothin happen

Attempting to call a function in a renderer window that has been closed or released.
Function provided here: undefined

any idea ?

Archlinux package

Using debtap I generated (without extra input) the archlinux package and installed and tested it:

debtap -Q opencomic_0.1.5_amd64.deb 
pacman -U opencomic-0.1.5-1-x86_64.pkg.tar.xz

Could you add this info to the install list? Or even better, could you add an Archlinux package ( to the AUR)?

Cover page omit mode for Comic view

The page combination for a spread page is off by one page due to the cover page is included. It'd be cool if a reader can omit the cover page so that a reader can read with proper spread page combination.

A couple of feature requests

Allow putting next notes on the page

I'm a language learning and this would extremely helpful, this is the best comic reader I've ever tried and this would make the program insanely good. I understand this idea will be rejected, it is a comic reader after all

Allow picking your own thumbnail for a folder

This would make sure most of the folders I have aren't blank.

This is a brilliant program, keep it up 👍!

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.