{"id":13441337,"url":"https://github.com/ahrm/sioyek","last_synced_at":"2025-05-12T15:33:01.353Z","repository":{"id":37014804,"uuid":"385037052","full_name":"ahrm/sioyek","owner":"ahrm","description":"Sioyek is a PDF viewer with a focus on textbooks and research papers","archived":false,"fork":false,"pushed_at":"2025-05-02T08:54:46.000Z","size":25015,"stargazers_count":7819,"open_issues_count":210,"forks_count":257,"subscribers_count":43,"default_branch":"main","last_synced_at":"2025-05-02T09:49:32.361Z","etag":null,"topics":["pdf","pdf-viewer","research-paper"],"latest_commit_sha":null,"homepage":"https://sioyek.info/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahrm.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,"zenodo":null}},"created_at":"2021-07-11T19:35:19.000Z","updated_at":"2025-05-02T01:35:42.000Z","dependencies_parsed_at":"2023-10-14T15:24:09.440Z","dependency_job_id":"1472f52e-53dc-4d27-b4bb-139127627e39","html_url":"https://github.com/ahrm/sioyek","commit_stats":{"total_commits":933,"total_committers":41,"mean_commits":22.75609756097561,"dds":"0.11468381564844587","last_synced_commit":"7181c5a463ed4cbeda7ab4937511bdfc836d6c94"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrm%2Fsioyek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrm%2Fsioyek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrm%2Fsioyek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrm%2Fsioyek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahrm","download_url":"https://codeload.github.com/ahrm/sioyek/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253765945,"owners_count":21960821,"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":["pdf","pdf-viewer","research-paper"],"created_at":"2024-07-31T03:01:32.764Z","updated_at":"2025-05-12T15:33:01.300Z","avatar_url":"https://github.com/ahrm.png","language":"C","funding_links":["https://www.buymeacoffee.com/ahrm"],"categories":["HarmonyOS","C","GUI","PDF Viewers","others","Other useful tools"],"sub_categories":["Windows Manager","Videos"],"readme":"# Sioyek\n\nSioyek is a PDF viewer with a focus on textbooks and research papers.\n\n## Contents\n* [Installation](#install)\n* [Documentation](#documentation)\n* [Video Demo](#feature-video-overview)\n* [Features](#features)\n* [Build Instructions](#build-instructions)\n* [Buy Me a Coffee (or a Book!)](#donation)\n\n## Install\n### Official packages\nThere are installers for Windows, macOS and Linux. See [Releases page](https://github.com/ahrm/sioyek/releases).\n\n### Homebew Cask\nThere is a homebrew cask available here: https://formulae.brew.sh/cask/sioyek. Install by running:\n```\nbrew install --cask sioyek\n```\n### Third-party packages for Linux\nIf you prefer to install sioyek with a package manager, you can look at this list. Please note that they are provided by third party packagers. USE AT YOUR OWN RISK! If you're reporting a bug for a third-party package, please mention which package you're using.\n\nDistro | Link | Maintainer\n------- | ----- | -------------\nFlathub | [sioyek](https://flathub.org/apps/details/com.github.ahrm.sioyek) | [@nbenitez](https://flathub.org/apps/details/com.github.ahrm.sioyek)\nAlpine | [sioyek](https://pkgs.alpinelinux.org/packages?name=sioyek) | [@jirutka](https://github.com/jirutka)\nArch | [AUR sioyek](https://aur.archlinux.org/packages/sioyek) | [@goggle](https://github.com/goggle)\nArch | [AUR sioyek-git](https://aur.archlinux.org/packages/sioyek-git/) | [@hrdl-github](https://github.com/hrdl-github)\nArch | [AUR sioyek-appimage](https://aur.archlinux.org/packages/sioyek-appimage/) | [@DhruvaSambrani](https://github.com/DhruvaSambrani)\nDebian | [sioyek](https://packages.debian.org/sioyek) | [@viccie30](https://github.com/viccie30)\nNixOS | [sioyek](https://search.nixos.org/packages?channel=unstable\u0026show=sioyek\u0026from=0\u0026size=50\u0026sort=relevance\u0026type=packages\u0026query=sioyek) | [@podocarp](https://github.com/podocarp)\nopenSUSE | [Publishing](https://build.opensuse.org/package/show/Publishing/sioyek) | [@uncomfyhalomacro](https://github.com/uncomfyhalomacro)\nopenSUSE | [Factory](https://build.opensuse.org/package/show/openSUSE:Factory/sioyek) | [@uncomfyhalomacro](https://github.com/uncomfyhalomacro)\nUbuntu | [sioyek](https://packages.ubuntu.com/sioyek) | [@viccie30](https://github.com/viccie30)\n\n\n## Documentation\nYou can view the official documentation [here](https://sioyek-documentation.readthedocs.io/en/latest/).\n## Feature Video Overview\n\n[![Sioyek feature overview](https://img.youtube.com/vi/yTmCI0Xp5vI/0.jpg)](https://www.youtube.com/watch?v=yTmCI0Xp5vI)\n\nFor a more in-depth tutorial, see this video:\n\n[![Sioyek Tutorial](https://img.youtube.com/vi/RaHRvnb0dY8/0.jpg)](https://www.youtube.com/watch?v=RaHRvnb0dY8)\n\n## Features\n\n### Quick Open\n\nhttps://user-images.githubusercontent.com/6392321/125321111-9b29dc00-e351-11eb-873e-94ea30016a05.mp4\n\nYou can quickly search and open any file you have previously interacted with using sioyek.\n\n### Table of Contents\n\nhttps://user-images.githubusercontent.com/6392321/125321313-cf050180-e351-11eb-9275-c2759c684af5.mp4\n\nYou can search and jump to table of contents entries.\n\n### Smart Jump\n\nhttps://user-images.githubusercontent.com/6392321/125321419-e5ab5880-e351-11eb-9688-95374a22774f.mp4\n\nYou can jump to any referenced figure or bibliography item *even if the PDF file doesn't provide links*. You can also search the names of bibliography items in google scholar/libgen by middle clicking/shift+middle clicking on their name.\n\n### Overview\n\nhttps://user-images.githubusercontent.com/6392321/154683015-0bae4f92-78e2-4141-8446-49dd7c2bd7c9.mp4\n\nYou can open a quick overview of figures/references/tables/etc. by right clicking on them (Like Smart Jump, this feature works even if the document doesn't provide links).\n\n### Mark\n\nhttps://user-images.githubusercontent.com/6392321/125321811-505c9400-e352-11eb-85e0-ffc3ae5f8cb8.mp4\n\nSometimes when reading a document you need to go back a few pages (perhaps to view a definition or something) and quickly jump back to where you were. You can achieve this by using marks. Marks are named locations within a PDF file (each mark has a single character name for example 'a' or 'm') which you can quickly jump to using their name. In the aforementioned example, before going back to the definition you mark your location and later jump back to the mark by invoking its name. Lower case marks are local to the document and upper case marks are global (this should be very familiar to you if you have used vim).\n\n### Bookmarks\n\nhttps://user-images.githubusercontent.com/6392321/125322503-1a6bdf80-e353-11eb-8018-5e8fc43b8d05.mp4\n\nBookmarks are similar to marks except they are named by a text string and they are all global.\n\n### Highlights\n\n\nhttps://user-images.githubusercontent.com/6392321/130956728-7e0a87fa-4ada-4108-a8fc-9d9d04180f56.mp4\n\n\nHighlight text using different kinds of highlights. You can search among all the highlights.\n\n### Portals (this feature is most useful for users with multiple monitors)\n\n\n\nhttps://user-images.githubusercontent.com/6392321/125322657-41c2ac80-e353-11eb-985e-8f3ce9808f67.mp4\n\nSuppose you are reading a paragraph which references a figure which is not very close to the current location. Jumping back and forth between the current paragraph and the figure can be very annoying. Using portals, you can link the paragraph's location to the figure's location. Sioyek shows the closest portal destination in a separate window (which is usually placed on a second monitor). This window is automatically updated to show the closest portal destination as the user navigates the document.\n\n\n### Configuration\n\n\nhttps://user-images.githubusercontent.com/6392321/125337160-e4832700-e363-11eb-8801-0bee58121c2d.mp4\n\nYou can customize all key bindings and some UI elements by editing `keys_user.config` and `prefs_user.config`. The default configurations are in `keys.config` and `prefs.config`.\n\n\n\n## Build Instructions\n\n### Linux\n\n#### Fedora\n\nRun the following commands to install dependencies, clone the repository and compile sioyek on Fedora (tested on Fedora Workstation 36).\n\n```\nsudo dnf install qt5-qtbase-devel qt5-qtbase-static qt5-qt3d-devel harfbuzz-devel mesa-libGL-devel glfw-devel\ngit clone --recursive https://github.com/ahrm/sioyek\ncd sioyek\n./build_linux.sh\n``` \n\n#### Generic distribution\n1. Install Qt 5 and make sure `qmake` is in `PATH`.\n\n    Run `qmake --version` to make sure the `qmake` in path is using Qt 5.x.\n2. Install `libharfbuzz`:\n```\nsudo apt install libharfbuzz-dev\n```\n3. Clone the repository and build:\n```\ngit clone --recursive https://github.com/ahrm/sioyek\ncd sioyek\n./build_linux.sh\n```\n\n### Windows\n1. Install Visual Studio (tested on 2019, other relatively recent versions should work too)\n2. Install Qt 5 and make sure qmake is in `PATH`.\n3. Clone the repository and build using 64 bit Visual Studio Developer Command Prompt:\n```\ngit clone --recursive https://github.com/ahrm/sioyek\ncd sioyek\nbuild_windows.bat\n```\n\n### Mac\n1. Install Xcode.\n2. Clone the repository and build: (The code below is in Zsh, which is the default shell on macOS.)\n```zsh\n(\nsetopt PIPE_FAIL PRINT_EXIT_VALUE ERR_RETURN SOURCE_TRACE XTRACE\n\ngit clone --recursive https://github.com/ahrm/sioyek\ncd sioyek\nchmod +x build_mac.sh\n\nbrew install 'qt@5' freeglut mesa harfbuzz\n\nexport PATH=\"/opt/homebrew/opt/qt@5/bin:$PATH\"\n#: The above is needed to make =qmake= from =qt= be found.\n#: Find the path using =brew info 'qt@5'=.\n\nMAKE_PARALLEL=8 ./build_mac.sh\n\nmv build/sioyek.app /Applications/\nsudo codesign --force --sign - --deep /Applications/sioyek.app\n)\n```\n\n## Donation\nIf you enjoy sioyek, please consider donating to support its development.\n\n\u003ca href=\"https://www.buymeacoffee.com/ahrm\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrm%2Fsioyek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahrm%2Fsioyek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrm%2Fsioyek/lists"}