• This repository has been archived on 14/Nov/2020
  • Stars
    star
    953
  • Rank 47,957 (Top 1.0 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔎 All-in-one Quick Look plugin

Glance

All-in-one Quick Look plugin

Glance provides Quick Look previews for files that macOS doesn't support out of the box.

Download on the Mac App Store

Supported file types

  • Source code (with Chroma syntax highlighting): .cpp, .js, .json, .py, .swift, .yml and many more

  • Markdown (rendered using goldmark): .md, .markdown, .mdown, .mkdn, .mkd, .Rmd

  • Archive: .tar, .tar.gz, .zip

  • Jupyter Notebook (rendered using nbtohtml): .ipynb

  • Tab-separated values (parsed using SwiftCSV): .tab, .tsv

FAQ

There are existing Quick Look apps for some of the supported file types. Why create another one?

  • Glance combines the features of many plugins into one and provides consistent and beautiful previews.
  • Glance is fully compatible with Dark Mode.
  • Some plugins still use the deprecated Quick Look Generator API and might stop working in the future.
  • Glance can easily be extended to support other file types.

Why does Glance require network permissions?

Glance 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.

Why isn't the app available on macOS 10.14 or older?

The app uses the new Quick Look API that was introduced in 10.15, so it unfortunately won't work with older versions of macOS.

Why are images in my Markdown files not loading?

Glance 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.

Why isn't [file type] supported?

Feel free to open an issue or contribute! When opening an issue, please describe what kind of preview you'd expect for your file.

Please note that macOS doesn't allow the handling of some file types (e.g. .plist, .ts and .xml).

You claim to support [file type], but previews aren't showing up.

Please note that Glance skips previews for large files to avoid slowing down your Mac.

It's possible that your file's extension or UTI isn't associated with Glance. You can easily verify this:

  1. Check whether the file extension is matched to the correct class in PreviewVCFactory.swift.
  2. 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.
  3. If an association is missing, please feel free to add it and submit a PR.

Contributing

Suggestions 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.

Xcode, Swift and Go need to be installed to build the app locally.

To add previews for a new file extension, please follow these steps:

  1. Create a new class for your file type in this directory. It should implement the Preview protocol. See the other files in the directory for examples.
  2. Match the file extension to your class in PreviewVCFactory.swift.
  3. Find your file's UTI by running mdls -name kMDItemContentType /path/to/your/file. Add it to QLSupportedContentTypes in Info.plist.
  4. Update README.md, SupportedFilesWC.xib, the App Store description and Credits.rtf (if you introduced a new library).

More Repositories

1

mini-diary

📘 Simple and secure journal app
TypeScript
1,031
star
2

action-electron-builder

:electron: GitHub Action for building and releasing Electron apps
JavaScript
651
star
3

tmignore

🕔 Exclude development files from Time Machine backups
Swift
322
star
4

font-picker

✏️ Font selector component for Google Fonts
TypeScript
171
star
5

font-picker-react

✏️ Font selector component for Google Fonts
TypeScript
152
star
6

react-magnifier

🔍 React image zoom component
TypeScript
151
star
7

action-maven-publish

📦 GitHub Action for automatically publishing Maven packages
JavaScript
101
star
8

lyrics-poster

🎤 Create posters of your favorite artists, written in their lyrics
JavaScript
63
star
9

refind-theme-dark

🎨 A simple, dark theme for rEFInd
54
star
10

action-snapcraft

🐦 GitHub Action for setting up Snapcraft
JavaScript
49
star
11

font-manager

🗂 Manages, downloads and applies Google Fonts for picker components
TypeScript
27
star
12

swift-exec

🚀 Simple process execution with Swift
Swift
16
star
13

draft-js-list-plugin

📝 Better lists for Draft.js
TypeScript
14
star
14

python-wikibase

🤖 Wikibase queries and edits made easy
Python
11
star
15

nbtohtml

📈 Convert Jupyter Notebook files to HTML
Go
9
star
16

github-downloads

⬇️ See the number of downloads next to releases on GitHub
JavaScript
8
star
17

alfred-system-theme

🎨 Alfred themes in style of Apple's macOS apps
7
star
18

react-library-boilerplate

🔨 Create a React component library with no configuration
JavaScript
6
star
19

iconsets.org

🌟 Icon set discovery website for designers
JavaScript
5
star
20

wikibase-api

📦 Wrapper library for the Wikibase API
Python
4
star
21

anonymize-ip

👤 Python library for anonymizing IP addresses
Python
4
star
22

strava-bulk-edit

🏃 Edit multiple Strava activities at once
Go
2
star
23

electron-md-to-pdf

:electron: Convert Markdown to PDF in Electron apps
CSS
2
star
24

hugo-starter-theme

🔨 Boilerplate for building a custom Hugo theme
HTML
2
star
25

samuelmeuli.com

👨‍💻 My personal website
CSS
1
star
26

music-notifications

🎵 Notification service for new releases on iTunes
JavaScript
1
star
27

prettier-config

☑️ My Prettier configuration
JavaScript
1
star
28

react-app-boilerplate

🔨 Create a React application with no configuration
JavaScript
1
star