sbarex/QLMarkdown

App not registered in ql & so not working

Closed this issue · 12 comments

qlmanage -m shows nothing for markdown files. If I ql them, they just appear as plain text.

MacOS 10.15.7
qlMarkdown 1 b22

Try to move the app to the trash and then back to the application folder. Then run the app. Then on system preferences, extension, quicklool check if the app is recognized and checked.

I think that qlmanage only handle old quicklook generators.

On the Terminal you can use the command pluginkit -mvv -p com.apple.quicklook.preview to se all the quicklook extensions registered.

To check the QLMarkdown you can use this command:

pluginkit -mvv -i org.sbarex.QLMarkdown.QLExtension

The output must be like this:

     org.sbarex.QLMarkdown.QLExtension(1.0)
	            Path = /Applications/QLMarkdown.app/Contents/PlugIns/Markdown QL Extension.appex
	            UUID = 240F237C-659C-4961-BE23-05118DC7F20E
	       Timestamp = 2021-02-09 19:20:31 +0000
	             SDK = com.apple.quicklook.preview
	   Parent Bundle = /Applications/QLMarkdown.app
	    Display Name = QLMarkdown Preview Extension
	      Short Name = Markdown QL Extension
	     Parent Name = QLMarkdown

 (1 plug-in)

OK, thanks for that. I did the Trash and put back with the app. It shows in Extensions (with a blue dot next to it on the left) and the command response looks right:

> pluginkit -mvv -i org.sbarex.QLMarkdown.QLExtension
     org.sbarex.QLMarkdown.QLExtension(1.0)
	            Path = /Applications/QLMarkdown.app/Contents/PlugIns/Markdown QL Extension.appex
	            UUID = E2E4E431-86C4-4CE2-A07D-D65A90F4D766
	       Timestamp = 2021-02-18 15:48:57 +0000
	             SDK = com.apple.quicklook.preview
	   Parent Bundle = /Applications/QLMarkdown.app
	    Display Name = QLMarkdown Preview Extension
	      Short Name = Markdown QL Extension
	     Parent Name = QLMarkdown

 (1 plug-in)

Nevertheless my .md files show up as text in ql.

Oh, wait, if I change the extension to "markdown" it works. I also notice that my file type for .md files is "md 文件", so I wonder if that's screwing it up. (I use MacDown as the default app and I assume it's somehow got this string registered for .md files. Checking over there as well.)

It is possible that other apps or qlgenerators are used to handle .md files.

On the system preferences / extensions / quicklook you can drag the extensions in order of priority.
The old qlgenerator cannot be handled in this way.

PS: The blue dot is used only to highlight a new discovered extension.

I don't see any other relevant apps in Extensions or using the qlmanage or pluginkit commands. Here's part of the output of the latter:

	   Parent Bundle = /System/Applications/Notes.app
	     Parent Name = Notes
	   Parent Bundle = /System/Applications/Podcasts.app
	     Parent Name = Podcasts
	   Parent Bundle = /System/Applications/Reminders.app
	     Parent Name = Reminders
	   Parent Bundle = /System/Applications/Mail.app
	     Parent Name = Mail
	   Parent Bundle = /Applications/Safari.app
	     Parent Name = Safari
	   Parent Bundle = /Applications/QLMarkdown.app
	     Parent Name = QLMarkdown

Does the system use the extension to decide?

I don't know what that output is.
You could try to disable all extensions in preferences and see if it works and then re-enable them one at a time until you find the one that interferes.

If with all other extensions disabled it still doesn't work it will probably be down to some qlgenerator.

Also try a restart.

A restart didn't do it, not the other suggestions. I'm following up on the odd file type the Finder shows.

@Jmuccigr Could you share the output of these (.md and .markdown extension) I think there is a UTI conflict because of the Macdown app.

mdls test.md
mdls test.markdown

Macdown info.plist -> https://github.com/MacDownApp/macdown/blob/master/MacDown/MacDown-Info.plist
QLMarkdown info.plist -> https://github.com/sbarex/QLMarkdown/blob/main/QLMarkdown/Info.plist

My outputs

.markdown extension doesn't work for me

➜  mdls -name kMDItemContentTypeTree test.md 
kMDItemContentTypeTree = (
    "net.daringfireball.markdown",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
➜  mdls -name kMDItemContentTypeTree test.markdown
kMDItemContentTypeTree = (
    "public.item",
    "dyn.ah62d4rv4ge8042pwrrwg875s",
    "public.data"
)

Note that to use the mdls command the file test.md / test.markdown must exist (but can be empty). You can create an empty one with touch test.md...

I get the opposite. For .markdown my output looks just almost identical to your .md (no plaintext):

kMDItemContentTypeTree = (
    "net.daringfireball.markdown",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)

whereas my .md looks like this:

kMDItemContentType                     = "com.unknown.md"
kMDItemContentTypeTree                 = (
    "com.unknown.md",
    "public.text",
    "public.data",
    "public.item",
    "public.content",
    "public.plain-text"
)

And still quicklook handles the .markdown, but not the .md, which just shows up as text.

some application has defined the .md extension with the uti com.unknown.md which is not recognized by my extension. Unfortunately, there is no public UTI for the markdown format.

I made a new release (b23) that support this UTI.

.markdown extension works with b23 for me.

Again, .markdown has been working for me. .md now works with b23. Thanks for the help.