/leafview

A minimalist image viewer based on Leaflet.js and Electron.

Primary LanguageTypeScriptMIT LicenseMIT

leaves LeafView

GitHub license GitHub all releases GitHub contributors GitHub stars

A minimalist image viewer based on Leaflet.js and Electron.

Image by Frank Winkler from Pixabay

Image by Frank Winkler from Pixabay

๐Ÿ‘ Features

  • Pan & Wheel Zoom
  • Browse the images in a folder
  • Grid view mode available
  • Available in 13 languages
  • Auto update (macOS / Linux)
  • Compatible with Windows Package Manager (aka winget)

Grid View mode

๐Ÿ“ฅ Download

๐Ÿ’ป macOS 11+ & GNU/Linux

You can download the latest version of LeafView from the releases page here:
https://github.com/sprout2000/leafview/releases

๐Ÿ–ฅ๏ธ Windows 10 & 11

You can get (or upgrade to) the latest version of LeafView via winget:

winget install sprout2000.LeafView

๐Ÿ“— Usage

โŒจ๏ธ Keyboard Shortcuts

Key Function
J, Ctrl+N, CmdOrCtrl+โ†’ Next Image
K, Ctrl+P, CmdOrCtrl+โ† Previous Image
+ Zoom In
- Zoom Out
0 Reset Zoom
โ† โ†‘ โ†“ โ†’ Pan
Fn+Delete or Del Move to Trash
H, Ctrl+L Toggle Grid View
CmdOrCtrl+Shift+D Toggle Dark Mode
Ctrl+Shift+T Toggle Menubar (Windows / Linux)

๐Ÿ–ฑ๏ธ Mouse Operations

Mouse Function
Drag Pan
Wheel Zoom in/out
Double click Reset zoom
Right click Show the context menu when available

๐ŸŒ Supported Languages

Language Code Language Code Language Code
ุงู„ู„ุบุฉ ุงู„ุนุฑุจูŠุฉ ar Franรงais fr ะ ัƒััะบะธะน ru
ฤŒeลกtina cs Magyar hu ็ฎ€ไฝ“ไธญๆ–‡ zh_CN
Deutsch de ๆ—ฅๆœฌ่ชž ja ็นไฝ“ไธญๆ–‡ zh_TW
English en Polski pl Turkish tr
Espaรฑol es Portuguรชs pt

๐Ÿป Contributing

You can easily contribute to this repository by providing translation files.

  1. Create {your_LANG}.json in src/locales.
  src
  โ”œโ”€โ”€ @types
  โ”œโ”€โ”€ createMenu.ts
  โ”œโ”€โ”€ locales
+ โ”‚   โ”œโ”€โ”€ cs.json
  โ”‚   โ”œโ”€โ”€ en.json
  โ”‚   โ””โ”€โ”€ ja.json
  โ”œโ”€โ”€ main.ts
  โ”œโ”€โ”€ preload.ts
  โ”œโ”€โ”€ setLocales.ts
  โ””โ”€โ”€ web
  1. Import the locale into src/setLocales.ts as follows:
  import en from './locales/en.json';
  import ja from './locales/ja.json';
+ import cs from './locales/cs.json';

  export const setLocales = (locale: string): void => {
    i18next.init({
      lng: locale,
      fallbackLng: 'en',
      resources: {
        en: { translation: en },
        ja: { translation: ja },
+       cs: { translation: cs },
      },
    });
  };
  1. And then please send a pull request to this repository.

๐ŸŽ‰ Contributors

Thanks go to these wonderful people ๐Ÿ™‚:

ยฉ๏ธ Copyright

Copyright (c) 2023 sprout2000 and other contributors