{"id":18681233,"url":"https://github.com/mrseanryan/chocolate-bars","last_synced_at":"2025-04-12T04:09:23.308Z","repository":{"id":38362060,"uuid":"162985509","full_name":"mrseanryan/chocolate-bars","owner":"mrseanryan","description":":chocolate_bar: Present histograms (bars!) of images in a directory, including extras such as exif data from the camera. Star and move favorite images.","archived":false,"fork":false,"pushed_at":"2023-01-04T21:52:40.000Z","size":41124,"stargazers_count":3,"open_issues_count":25,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T04:09:11.770Z","etag":null,"topics":["electron","exif","exif-data","histogram","image","image-viewer","photo","photo-viewer"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mrseanryan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"ko_fi":"sryan"}},"created_at":"2018-12-24T11:50:11.000Z","updated_at":"2021-02-24T20:40:38.000Z","dependencies_parsed_at":"2023-02-02T21:16:11.252Z","dependency_job_id":null,"html_url":"https://github.com/mrseanryan/chocolate-bars","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrseanryan%2Fchocolate-bars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrseanryan%2Fchocolate-bars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrseanryan%2Fchocolate-bars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrseanryan%2Fchocolate-bars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrseanryan","download_url":"https://codeload.github.com/mrseanryan/chocolate-bars/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514223,"owners_count":21116903,"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":["electron","exif","exif-data","histogram","image","image-viewer","photo","photo-viewer"],"created_at":"2024-11-07T10:06:35.224Z","updated_at":"2025-04-12T04:09:23.283Z","avatar_url":"https://github.com/mrseanryan.png","language":"TypeScript","funding_links":["https://ko-fi.com/sryan","https://ko-fi.com/K3K73ALBJ"],"categories":[],"sub_categories":[],"readme":"# :chocolate_bar: chocolate-bars readme\n\nPresent histograms (bars!) of images in a directory, including extras such as exif data from the camera. Star and move favorite images.\n\nElectron based app - so, it runs on node.js.\n\n## status - stable\n\nchocolate-bars is stable on Windows, Linux Ubuntu (Mac is possible but not tested). Releases follow semantic versioning.\n\n\u003c!-- disabled as uses too many travis credits! [![Build Status](https://travis-ci.com/mrseanryan/chocolate-bars.svg?branch=master)](https://travis-ci.com/mrseanryan/chocolate-bars) --\u003e\n\n[![node](https://img.shields.io/node/v/chocolate-bars.svg)](https://nodejs.org)\n\n[![Dependencies](https://david-dm.org/mrseanryan/chocolate-bars.svg)](https://david-dm.org/mrseanryan/chocolate-bars)\n\n[![npm Package](https://img.shields.io/npm/v/chocolate-bars.svg?style=flat-square)](https://www.npmjs.org/package/chocolate-bars)\n[![NPM Downloads](https://img.shields.io/npm/dm/chocolate-bars.svg)](https://npmjs.org/package/chocolate-bars)\n\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K73ALBJ)\n\n## why?\n\nHistograms are useful for finding image defects such as:\n\n-   over-exposure\n-   under-exposure\n-   low contrast\n\nAlso was curious how to implement this in node.js.\nAnd - I really miss the 'moved starred images' feature of [good ole' Picasa](http://googlephotos.blogspot.com/2016/02/moving-on-from-picasa.html)\n\n## dependencies\n\n-   Node 10.18.0 or higher\n\n### dependencies for Windows\n\nWe use `sharp` to resize images during processing. `sharp` requires\n**[node-gyp](https://github.com/nodejs/node-gyp)** to build, so you will need to\ninstall\n[Microsoft's windows-build-tools](https://github.com/felixrieseberg/windows-build-tools)\nusing this command:\n\n```bash\nnpm install --global --production windows-build-tools\n```\n\n## features\n\n-   scan a folder of images and present a browsable summary\n-   show image thumbnails and histogram\n-   show additional image properties such as file size, image size\n-   show exif tags where available (JPEG files)\n-   'star' images in a folder like in Picasa\n-   move previously 'starred' images to a new folder\n-   delete the selected image\n-   handles large number of images (2000+) and sub-directories, via paging\n-   supports JPEG, PNG file formats\n-   correctly handles JPEG image orientation (from EXIF)\n\n## usage - as cli (command line tool)\n\n### View Images and Get chocolate bars (histograms)\n\n![Screenshot](./static/site/screenshot-6.png)\n\n#### ways to run\n\nYou can run `chocolate-bars` in one of two ways:\n\n-   a) as a globally installed command line tool\n-   OR b) from the source code\n\n##### a) install globally as a command line tool\n\n`npm i -g electron@4`\n\n`npm i -g chocolate-bars@latest --production`\n\nnote: on Ubuntu you may need to prefix the above commands with `sudo`:\n\n`sudo npm i -g electron@4`\n\n`sudo npm i -g chocolate-bars@latest --production`\n\nTo use:\n\n`chocolate-bars [--imageDir=\u003cpath to image directory\u003e] [--subDirs]`\n\nwhere `--subDirs` means also view images in sub directories.\n\nThis can be abbreviated to:\n\n`chocolate-bars [--i=\u003cpath to image directory\u003e] [--s]`\n\nnote: If `--imageDir` (or `--i`) is not given, then `chocolate-bars` will try to open the default photos folder, depending on the OS.\n\nFor a full list of options, see the built-in help:\n\n`chocolate-bars --help`\n\n##### b) from the source code\n\n```\nyarn\n```\n\n_On Windows: use a bash shell like `git bash`._\n\nTo test your installation:\n\n```\n./test.sh\n```\n\nTo check your images:\n\n```\n./go.sh --imageDir=\u003cpath to image direcory\u003e\n```\n\nexample:\n\n```\n./go.sh --imageDir=../myPhotos --subDirs\n```\n\nwhere `--subDirs` means also view images in sub directories.\n\nFor a full list of options, see the built-in help:\n\n`./go.sh --help`\n\n### keyboard shortcuts\n\nA number of keyboard shortcuts are available:\n\n| Area                             | Key                  | Action                                 |\n| -------------------------------- | -------------------- | -------------------------------------- |\n| Images panel                     | Up Arrow, Down Arrow | Scroll up or down the set of images.   |\n| Images panel                     | Space                | Scroll down the set of images.         |\n| Selected image, Expanded image\\* | +                    | Toggle the expanded view of the image. |\n| Selected image, Expanded image\\* | \\* or Enter          | Toggle the star for that image.        |\n| Expanded image\\*                 | Left Arrow           | Show the previous image.               |\n| Expanded image\\*                 | Right Arrow          | Show the next image.                   |\n| Expanded image\\*                 | Delete               | Prompt to delete the expanded image.   |\n| Expanded image\\*                 | Escape               | Close the expanded image.              |\n\n\\* _An image is expanded by clicking on the small orange box in the top-right of the image._\n\n## references\n\n### image data\n\n#### color spaces in image files\n\nhttp://regex.info/blog/photo-tech/color-spaces-page2\n\n#### online exif viewer\n\nhttp://exif.regex.info/exif.cgi\n\n### electron starter\n\nhttps://github.com/electron/electron-quick-start\n\n### electron and react boilerplate\n\nhttps://github.com/iRath96/electron-react-typescript-boilerplate\n\nhttps://github.com/electron-react-boilerplate/electron-react-boilerplate\n\n## sites\n\n| site                 | URL                                          |\n| -------------------- | -------------------------------------------- |\n| source code (github) | https://github.com/mrseanryan/chocolate-bars |\n| github page          | https://mrseanryan.github.io/chocolate-bars/ |\n| npm                  | https://www.npmjs.com/package/chocolate-bars |\n\n## developing code in _this_ repository\n\nsee the [contributing readme](CONTRIBUTING.md).\n\n## origin\n\nThis project is based on the excellent seeder project [typescript-library-starter](https://github.com/alexjoverm/typescript-library-starter).\n\n### libaries\n\n**chocolate-bars** uses the [ExifReader library](https://github.com/mattiasw/ExifReader).\n\n### ORIGINAL readme (from the seeder project)\n\n[see here](README.original.md)\n\n## authors\n\nOriginal work by Sean Ryan - mr.sean.ryan(at gmail.com)\n\n## licence = MIT\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrseanryan%2Fchocolate-bars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrseanryan%2Fchocolate-bars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrseanryan%2Fchocolate-bars/lists"}