toland / qlmarkdown

QuickLook generator for Markdown files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QL only works for *.markdown

tweh opened this issue · comments

I’m not sure whether this is a bug or if I did something wrong but the QL works only for files ending with .markdown. I took a look at the Info.plist and fount several other suffixes that should work, but they don’t:

file             QL result    program
–––––––––––––––––––––––––––––––––––––––––––
test.markdown    works        TextWrangler
test.md          plain        TextEdit
test.mdml        nothing      none
test.mdown       nothing      TextWrangler
test.mdwn        nothing      none
test.mkd         nothing      Brackets
test.mmd         nothing      none
test.text        plain        TextEdit

This is how it looks, when it …
… works
works
… is plain text
plain
… doesn’t work
doesn’t work

I have no plugins installed in ~/Library/QuickLook and in /Library/QuickLook I have iBooksAuthor.qlgenerator, iWork.qlgenerator and QuickLookEyeTV.qlgenerator. I restarted my mac, the Finder and tried qlmanage -r without success.

If it is a bug I hope you can fix it if not you might can help anyways ;-)

Awesome bug report. I'm not sure I can help, but I want to try... If anyone knows what's going on, jump in.

What version of qlmarkdown and OSX are you using? You can get the OS info from sw_vers on the command line, or from About This Mac.

Damn … I forgot the most important thing :-/ Thanks anyways :-)

I’m using OS X 10.9.3 and an older version of qlmarkdown. For testing now I made a clean install, i.e. deleting all qlmarkdown files, reinstalled the latest release (v1.3.2), run qlmanage -r and restored the Finder. The plist looks different than before (cause I had an older version obviously) but strangely it says Bundle version = 1.3.1 which is an error an must be 1.3.2 – I guess. But even this clean install reproduces the above described problem only the .markdown files a parsed correctly. I guess you can’t reproduce this, can you?

Is it possible that some other apps interfere? Are there other places where QL plug ins can be stored? (I checked ~/Library/QuickLook and /Library/QuickLook as said above) …

While trying to find a solution (without really knowing what to search for or what I’m doing) I found QLStephen and now all the above mentioned file types are shown als plain text except .markdown which is still pares correctly as Markdown.

Awesome! I'm glad you resolved your problem, but we have been fighting these types of issues for a while and I think we need to come up with a good answer. Can I use you for reference if I work on this issue in the near future?

Sorry for being unclear but unfortunately the problem ist not solved yet … only files ending with .markdown are shown as I expect. All the others only show plain text which is not what I wanted (and which is not the intended behavior I guess) …

Can I use you for reference if I work on this issue in the near future?

Sure …

Wow... I completely missed that. Sorry this is such a nuisance, but I think we can get it. I did test it and can't reproduce, but I have to wonder if we're having a UTI issue.

  • I uninstalled qlmarkdown
  • Ran qlmanage -r
  • Verified that no markdown files render at all

Note: I do have Mou installed, so they show up with a Mou icon, but no markdown preview.

  • I downloaded Version 1.3.2
  • Installed into ~/Library/QuickLook, then ran qlmanage -r
  • Observed that my test.markdown and test.md files were not re-rendered
  • Highlighted the file and pressed space
  • Everything works

I'm pretty sure that there is nothing wrong with the way you installed it. The error seems to be in our software. I'm going to have to look deeper into this as I know we have some closed issues that might help.

💡 Could you run mdls against your two files?

Test.markdown Test.md
kMDItemContentType "dyn.ah62d4rv4ge8042pwrrwg875s" "dyn.ah62d4rv4ge8043a"
kMDItemContentTypeTree ( (
"dyn.ah62d4rv4ge8042pwrrwg875s", "dyn.ah62d4rv4ge8043a"
"public.data", "public.data"
"public.item" "public.item"
) )
kMDItemDisplayName "Test.markdown" "Test.md"
kMDItemKind "Markdown" "Markdown"

Could you run mdls against your two files?

Sure :-) Hope it helps.

test.markdown test.md
kMDItemContentType "net.daringfireball.markdown" "net.daringfireball.markdown"
kMDItemContentTypeTree ( (
"net.daringfireball.markdown", "net.daringfireball.markdown",
"public.plain-text", "public.plain-text",
"public.text", "public.text",
"public.data", "public.data",
"public.item", "public.item",
"public.content" "public.content"
) )
kMDItemDisplayName "test.markdown" "test.md"
kMDItemKind "TextWrangler text document" "MARKDOWN Source File"

btw. thanks for the tip with Mou 👍


This is what I get for all my test files (as in the list above):

--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:24:35 +0000
kMDItemContentModificationDate = 2014-06-17 15:24:35 +0000
kMDItemContentType             = "net.daringfireball.markdown"
kMDItemContentTypeTree         = (
    "net.daringfireball.markdown",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2014-06-17 15:24:55 +0000
kMDItemDisplayName             = "test.markdown"
kMDItemFSContentChangeDate     = 2014-06-17 15:24:35 +0000
kMDItemFSCreationDate          = 2014-06-17 15:24:35 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.markdown"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TextWrangler text document"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:24:35 +0000
kMDItemContentModificationDate = 2014-06-17 15:24:35 +0000
kMDItemContentType             = "net.daringfireball.markdown"
kMDItemContentTypeTree         = (
    "net.daringfireball.markdown",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2014-06-17 15:32:41 +0000
kMDItemDisplayName             = "test.md"
kMDItemFSContentChangeDate     = 2014-06-17 15:24:35 +0000
kMDItemFSCreationDate          = 2014-06-17 15:24:35 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.md"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "MARKDOWN Source File"
kMDItemLastUsedDate            = 2014-06-17 15:32:41 +0000
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
kMDItemUseCount                = 1
kMDItemUsedDates               = (
    "2014-06-16 22:00:00 +0000"
)
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:19 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:19 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge8043drru"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge8043drru",
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2014-06-17 15:25:19 +0000
kMDItemDisplayName             = "test.mdml"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:19 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:19 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.mdml"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Dokument"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:12 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:12 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge8043dts71a"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge8043dts71a",
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2014-06-17 15:25:12 +0000
kMDItemDisplayName             = "test.mdown"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:12 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:12 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.mdown"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Dokument"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:40 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:40 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge8043d1r2"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge8043d1r2",
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2014-06-17 15:25:40 +0000
kMDItemDisplayName             = "test.mdwn"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:40 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:40 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.mdwn"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Dokument"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:45 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:45 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge80445e"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge80445e",
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2014-06-17 15:25:45 +0000
kMDItemDisplayName             = "test.mkd"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:45 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:45 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.mkd"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Markdown"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:52 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:52 +0000
kMDItemContentType             = "dyn.ah62d4rv4ge8045pe"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge8045pe",
    "public.data",
    "public.item"
)
kMDItemDateAdded               = 2014-06-17 15:25:52 +0000
kMDItemDisplayName             = "test.mmd"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:52 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:52 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.mmd"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Dokument"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096
--------------------------------------------------------------------------
_kTimeMachineIsCreationMarker  = 1
_kTimeMachineNewestSnapshot    = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot    = 2014-06-17 14:34:31 +0000
kMDItemContentCreationDate     = 2014-06-17 15:25:28 +0000
kMDItemContentModificationDate = 2014-06-17 15:25:28 +0000
kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2014-06-17 15:25:28 +0000
kMDItemDisplayName             = "test.text"
kMDItemFSContentChangeDate     = 2014-06-17 15:25:28 +0000
kMDItemFSCreationDate          = 2014-06-17 15:25:28 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "test.text"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 73
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Reines Textdokument"
kMDItemLogicalSize             = 73
kMDItemPhysicalSize            = 4096

That's super helpful. Your UTI information is all over the place. I looked into some of the issues you're having and while doing so I noticed I completely botched the last release, so could you try the v1.3.3 release and see if it fixes your problems along with cancer 💀 and world hunger 🍖?

If that doesn't help, could you tell Spotlight to re-index your folder containing the markdown files in question?

Woohoo! Progress...
I think what made the difference are the dyn items, so I'll try to get more of those.

Sounds good … whatever you mean with that ;-) Let me know if I can help in any way …

I cannot force .md files to be rendered with QLMarkdown, instead it always gets rendered with TextMate built-in generator. .markdown files have no problems though. I have both extensions associated with Byword.

README.md:

kMDItemContentCreationDate     = 2013-07-30 10:45:38 +0000
kMDItemContentModificationDate = 2013-07-30 10:45:38 +0000
kMDItemContentType             = "net.daringfireball.markdown"
kMDItemContentTypeTree         = (
    "net.daringfireball.markdown",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2013-07-30 10:45:38 +0000
kMDItemDisplayName             = "README.md"
kMDItemFSContentChangeDate     = 2013-07-30 10:45:38 +0000
kMDItemFSCreationDate          = 2013-07-30 10:45:38 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "README.md"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 126
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Markdown document"
kMDItemLogicalSize             = 126
kMDItemPhysicalSize            = 4096

README.markdown:

kMDItemContentCreationDate     = 2013-07-30 10:45:38 +0000
kMDItemContentModificationDate = 2014-06-26 13:30:35 +0000
kMDItemContentType             = "net.daringfireball.markdown"
kMDItemContentTypeTree         = (
    "net.daringfireball.markdown",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2014-06-26 13:30:25 +0000
kMDItemDisplayName             = "README.markdown"
kMDItemFSContentChangeDate     = 2014-06-26 13:30:35 +0000
kMDItemFSCreationDate          = 2013-07-30 10:45:38 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "README.markdown"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 412
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Markdown document"
kMDItemLogicalSize             = 412
kMDItemPhysicalSize            = 8192

Hi :-) are there any news on this issue?

Sorry, I haven't been on my Mac in a while, so I don't have the ability to
touch the project. Soon, though. So sorry to leave you hanging like this.

Did you try to rebuild the launch services? That seemed to work for me. Here's the command I used (source)

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user ; killall Dock

Worked great for me! By the way, there's a space in ".framework" in your command

thanks, fixed it above.

@a6073758: Thanks but it help only a little. This is my status now:

file QL result program
test.markdown works TextWrangler
test.md works TextEdit
test.mdml plain none
test.mdown plain TextWrangler
test.mdwn plain none
test.mkd works Brackets
test.mmd works none
test.text plain TextEdit

PS: I deleted an older comment of mine accidentally. The previous table had test.md with “plain” entry …

commented

Any word on this? I've tried all the troubleshooting steps above (remove/reinstall/rebuild launch services) with no luck.

mdls reports the UTI for .md files as net.daringfireball
mdls reports the UTI for .mdown files as net.daringfireball.markdown

This seems to be slightly different than what others are reporting as my UTI's are actually different for the two file extensions. Looking at the trees the .md files have one more step, inserting "public.source-code" between "public.plain-txt" and "net.daringfireball"

Here is the tree for the .mdown files

"net.daringfireball.markdown",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"

Here is the tree for .md files.

"net.daringfireball",
"public.source-code",
"public.plain-text",
"public.text",
"public.data",
"public.item",
"public.content"

Checking which programs can open each file type, CodeKit is the only difference between the two lists. Which makes sense if the UTI identifies .md as source-code. Before jumping on CodeKit though, I should note that I have CodeKit on my MacBook as well and both .md and .mdown are rendered properly in quicklook (v1.3.3).

$ ./AllApplications -path ./file.md
/Applications/Microsoft Office 2011/Microsoft Word.app
/Applications/CodeKit.app
/Applications/Xcode.app
/Applications/Canopy.app
/Applications/nvALT.app
/Applications/Microsoft Office 2011/Microsoft Excel.app
/Applications/TextEdit.app
/Applications/Numbers.app
/Applications/Adobe Edge Code CC.app
/Applications/Dropshelf.app
/Applications/iBooks Author.app
/Applications/Marked 2.app
/Applications/Pages.app
/Applications/Sublime Text.app
/Applications/Power JSON Editor.app

$ ./AllApplications -path ./file.mdown
/Applications/Microsoft Office 2011/Microsoft Word.app
/Applications/Xcode.app
/Applications/Adobe Edge Code CC.app
/Applications/nvALT.app
/Applications/Canopy.app
/Applications/TextEdit.app
/Applications/Numbers.app
/Applications/Microsoft Office 2011/Microsoft Excel.app
/Applications/Dropshelf.app
/Applications/iBooks Author.app
/Applications/Marked 2.app
/Applications/Pages.app
/Applications/Sublime Text.app
/Applications/Power JSON Editor.app

Platform Info:

ProductName: Mac OS X
ProductVersion: 10.9.4
BuildVersion: 13E28

Just in case you want it, the AllApplications command I used to get a list of all applications capable of opening the files from Launch Services can be found at http://hbll.link/XXOBUP

Superb information, @aviris. I'm really sorry that this is so painful for you.

I'll see what I can do to update the QuickLook integration to be more modern. It was written before quite a few recent changes to the QL system.

Also, if someone is using another system that works well, I don't think it should be considered taboo to mention it here.

commented

Generally I don't mind this type of issue because it helps me learn something new, but in this case I can't seem to grasp how UTI's are created and used. Something changed my .md files so I thought it wouldn't be hard to change them back. I was wrong (or I'm missing something). I'm just glad for your quicklook generator for Markdown files at all.

Anyway, I've got it all working fine for me again. Putting things together from various sources, I decided if I couldn't change the UTI back, I could associate the .md file extension with the net.daringfireball.markdown UTI. I opened Automator and created a new Application & saved it. Then I edited its Info.plist and associated the .md file extension with the UTI that my .md files have.

screenshot 08-11-2014 at 4 02 38 p

I've just installed release v1.3.3 on Mac OS X 10.9.4 and can confirm that it doesn't work with .md extensions out of the box. However, by adding <string>net.daringfireball</string> to the LSItemContentTypes in the Info.plist file, it does now properly recognise .md files. Can anyone confirm?

@VividVisions It works, after i added that entry. I am on OS X 10.9.4 and I like to edit markdown with *.md extension using sublime text 3 as default.

screen shot 2014-08-20 at 3 25 01 am

@tarwich @tweh

@VividVisions That works for me, 10.9.5 here. I had the problem just start a few days ago (it may have been after the 10.9.5 upgrade). Previously everything was working fine. Thank you!

@tillerlabs Great! BTW: It also works on 10.10.

With 10.9.5 without any changes in the QL extension (v1.3.3) it works for me for most important file types (changes to previous status in bold face):

file QL result
test.markdown works
test.md works
test.mdml plain
test.mdown works
test.mdwn plain
test.mkd works
test.mmd works
test.text plain

Looks like this never got sorted out? Just downloaded the latest release and no joy for .md files.

It's the same for me. I'm on OS X 10.11.1, and QLMarkdown doesn't work for me for .md files, although works for .markdown, .mdown, etc.

I really need to get back on this project. Sorry guys. It's been super busy. I think about you all the time -- especially since I edit markdown on my computer and this plugin isn't working for me.

Since I have iA Writer installed on my system, I had to add <string>net.ia.markdown</string> to the LSItemContentTypes of the Info.plist...

Did you try to rebuild the launch services? That seemed to work for me. Here's the command I used (source)

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user ; killall Dock

@a6073758 Thanks, it works.

update... the command didn't work for me. After I ran the command, the lsd process continuing occupied CPU all the time, then I restarted my Mac, the preview for .md files does not work.

Solved. I find that it is conflict with a software named "Nutstore.app". After I uninstall Nutstore, everything works fine. Sorry for interrupt.(Stupid Nutstore,,,)

Solved. I find that it is conflict with a software named "Nutstore.app". After I uninstall Nutstore, everything works fine. Sorry for interrupt.(Stupid Nutstore,,,)

the same thing here