{"id":13395305,"url":"https://github.com/samuelmeuli/glance","last_synced_at":"2025-03-13T20:32:03.491Z","repository":{"id":48137499,"uuid":"244342277","full_name":"samuelmeuli/glance","owner":"samuelmeuli","description":"🔎 All-in-one Quick Look plugin","archived":true,"fork":false,"pushed_at":"2020-06-03T21:22:49.000Z","size":21542,"stargazers_count":959,"open_issues_count":38,"forks_count":67,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-15T19:16:28.253Z","etag":null,"topics":["file-preview","macos","macos-app","quick-look","quicklook","quicklook-plugin"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/samuelmeuli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-02T10:25:52.000Z","updated_at":"2024-10-08T17:13:01.000Z","dependencies_parsed_at":"2022-08-12T19:31:25.556Z","dependency_job_id":null,"html_url":"https://github.com/samuelmeuli/glance","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelmeuli%2Fglance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelmeuli%2Fglance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelmeuli%2Fglance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelmeuli%2Fglance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samuelmeuli","download_url":"https://codeload.github.com/samuelmeuli/glance/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243478357,"owners_count":20297239,"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":["file-preview","macos","macos-app","quick-look","quicklook","quicklook-plugin"],"created_at":"2024-07-30T17:01:50.513Z","updated_at":"2025-03-13T20:32:02.322Z","avatar_url":"https://github.com/samuelmeuli.png","language":"Swift","readme":"\u003cdiv align=\"center\"\u003e\n\t\u003cp\u003e\u003cimg src=\"./Glance/Assets.xcassets/AppIcon.appiconset/app-icon-256pt@1x.png\" alt=\"\" height=\"140\"\u003e\u003c/p\u003e\n\t\u003ch1\u003eGlance\u003c/h1\u003e\n\t\u003cp\u003e\u003cstrong\u003eAll-in-one Quick Look plugin\u003c/strong\u003e\u003c/p\u003e\n\t\u003cp\u003eGlance provides Quick Look previews for files that macOS doesn't support out of the box.\u003c/p\u003e\n\t\u003cp\u003e\u003ca href=\"https://apps.apple.com/app/id1513574319\"\u003e\u003cimg src=\"./AppStore/Assets/DownloadBadge.svg\" alt=\"Download on the Mac App Store\"\u003e\u003c/a\u003e\u003c/p\u003e\n\t\u003cp\u003e\u003cimg src=\"./AppStore/Listing/Screenshots/Screenshot1.jpg\" alt=\"\"\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## Supported file types\n\n- **Source code** (with [Chroma](https://github.com/alecthomas/chroma) syntax highlighting): `.cpp`, `.js`, `.json`, `.py`, `.swift`, `.yml` and many more\n\n  \u003cp\u003e\u003cimg src=\"./AppStore/Assets/Screenshots/ScreenshotSourceCode.png\" alt=\"\" width=\"600\"\u003e\u003c/p\u003e\n\n- **Markdown** (rendered using [goldmark](https://github.com/yuin/goldmark)): `.md`, `.markdown`, `.mdown`, `.mkdn`, `.mkd`, `.Rmd`\n\n  \u003cp\u003e\u003cimg src=\"./AppStore/Assets/Screenshots/ScreenshotMarkdown.png\" alt=\"\" width=\"600\"\u003e\u003c/p\u003e\n\n- **Archive**: `.tar`, `.tar.gz`, `.zip`\n\n  \u003cp\u003e\u003cimg src=\"./AppStore/Assets/Screenshots/ScreenshotArchive.png\" alt=\"\" width=\"600\"\u003e\u003c/p\u003e\n\n- **Jupyter Notebook** (rendered using [nbtohtml](https://github.com/samuelmeuli/nbtohtml)): `.ipynb`\n\n  \u003cp\u003e\u003cimg src=\"./AppStore/Assets/Screenshots/ScreenshotJupyterNotebook.png\" alt=\"\" width=\"600\"\u003e\u003c/p\u003e\n\n- **Tab-separated values** (parsed using [SwiftCSV](https://github.com/swiftcsv/SwiftCSV)): `.tab`, `.tsv`\n\n  \u003cp\u003e\u003cimg src=\"./AppStore/Assets/Screenshots/ScreenshotTSV.png\" alt=\"\" width=\"600\"\u003e\u003c/p\u003e\n\n## FAQ\n\n**There are existing Quick Look apps for some of the supported file types. Why create another one?**\n\n- Glance combines the features of many plugins into one and provides consistent and beautiful previews.\n- Glance is fully compatible with Dark Mode.\n- Some plugins still use the deprecated Quick Look Generator API and might stop working in the future.\n- Glance can easily be extended to support other file types.\n\n**Why does Glance require network permissions?**\n\nGlance renders some previews in a `WKWebView`. All assets are stored locally and network access is disabled, but web views unfortunately still need the `com.apple.security.network.client` entitlement to function.\n\n**Why isn't the app available on macOS 10.14 or older?**\n\nThe app uses the [new Quick Look API](https://developer.apple.com/documentation/quartz/qlpreviewingcontroller/2867936-preparepreviewoffile) that was introduced in 10.15, so it unfortunately won't work with older versions of macOS.\n\n**Why are images in my Markdown files not loading?**\n\nGlance blocks remote assets. Furthermore, the app only has access to the file that's being previewed. Local image files referenced from Markdown are therefore not loaded.\n\n**Why isn't [file type] supported?**\n\nFeel free to [open an issue](https://github.com/samuelmeuli/glance/issues/new) or [contribute](#contributing)! When opening an issue, please describe what kind of preview you'd expect for your file.\n\nPlease note that macOS doesn't allow the handling of some file types (e.g. `.plist`, `.ts` and `.xml`).\n\n**You claim to support [file type], but previews aren't showing up.**\n\nPlease note that Glance skips previews for large files to avoid slowing down your Mac.\n\nIt's possible that your file's extension or [UTI](https://en.wikipedia.org/wiki/Uniform_Type_Identifier) isn't associated with Glance. You can easily verify this:\n\n1. Check whether the file extension is matched to the correct class in [`PreviewVCFactory.swift`](./QLPlugin/Views/PreviewVCFactory.swift).\n2. Find your file's UTI by running `mdls -name kMDItemContentType /path/to/your/file`. Check whether the UTI is listed under `QLSupportedContentTypes` in [`Info.plist`](./QLPlugin/Info.plist).\n3. If an association is missing, please feel free to add it and submit a PR.\n\n## Contributing\n\nSuggestions and contributions are always welcome! Please discuss larger changes (e.g. adding support for a new file type) via issue before submitting a pull request.\n\nXcode, Swift and Go need to be installed to build the app locally.\n\nTo add previews for a new file extension, please follow these steps:\n\n1. Create a new class for your file type in [this directory](./QLPlugin/Views/Previews/). It should implement the `Preview` protocol. See the other files in the directory for examples.\n2. Match the file extension to your class in [`PreviewVCFactory.swift`](./QLPlugin/Views/PreviewVCFactory.swift).\n3. Find your file's UTI by running `mdls -name kMDItemContentType /path/to/your/file`. Add it to `QLSupportedContentTypes` in [`Info.plist`](./QLPlugin/Info.plist).\n4. Update [`README.md`](README.md), [`SupportedFilesWC.xib`](Glance/SupportedFilesWC.xib), the [App Store description](AppStore/Listing/Description.txt) and [`Credits.rtf`](Glance/Credits.rtf) (if you introduced a new library).\n","funding_links":[],"categories":["Swift","Packages","Uncategorized"],"sub_categories":["Manually","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelmeuli%2Fglance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelmeuli%2Fglance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelmeuli%2Fglance/lists"}