如何制作聚光灯索引降价文件?

mlo*_*ran 20 macos markdown spotlight

我通常使用.markdown或.md扩展名来降价文档.不幸的是,聚光灯拒绝索引它们,除非它们具有.txt文件扩展名.

我已经看到了一个可能的解决方案,涉及在textmate博客上编辑Info.plist文件.有没有更好的办法?

更新:我刚刚发现了用于Markdown文件的QuickLook生成器,它增加了聚光灯支持和漂亮的HTML quicklook预览.这是一种享受!

Bri*_*ter 5

通过创建系统RichText.mdimporter的副本,修改其Info.plist并将其保存在/ Library / Spotlight中,可以在不禁用SIP的情况下执行此操作。

cp -r /System/Library/Spotlight/RichText.mdimporter .
patch -p2 RichText.mdimporter/Contents/Info.plist < Markdown.patch
mv RichText.mdimporter Markdown.mdimporter
sudo cp -R Markdown.mdimporter /Library/Spotlight
mdimport -r /Library/Spotlight/Markdown.mdimporter
Run Code Online (Sandbox Code Playgroud)

Markdown.patch

diff -ru RichText.mdimporter/Contents/Info.plist Markdown.mdimporter/Contents/Info.plist
--- RichText.mdimporter/Contents/Info.plist 2015-11-23 16:14:12.000000000 +0200
+++ Markdown.mdimporter/Contents/Info.plist 2015-11-23 16:10:03.000000000 +0200
@@ -13,15 +13,7 @@
            <string>MDImporter</string>
            <key>LSItemContentTypes</key>
            <array>
-               <string>public.rtf</string>
-               <string>public.html</string>
-               <string>public.xml</string>
-               <string>public.plain-text</string>
-               <string>com.apple.traditional-mac-plain-text</string>
-               <string>com.apple.rtfd</string>
-               <string>com.apple.webarchive</string>
-               <string>org.oasis-open.opendocument.text</string>
-               <string>org.openxmlformats.wordprocessingml.document</string>
+               <string>net.daringfireball.markdown</string>
            </array>
        </dict>
    </array>
@@ -30,11 +22,11 @@
    <key>CFBundleGetInfoString</key>
    <string>1.0, Copyright (c) 2004-2010 Apple Inc.</string>
    <key>CFBundleIdentifier</key>
-   <string>com.apple.MDImporter.RichText</string>
+   <string>com.apple.MDImporter.Markdown</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
-   <string>Rich Text Sniffer</string>
+   <string>Markdown Sniffer</string>
    <key>CFBundleShortVersionString</key>
    <string>6.9</string>
    <key>CFBundleSupportedPlatforms</key>
Run Code Online (Sandbox Code Playgroud)


Chr*_*son 4

您必须编写一个 Spotlight 导入程序。有一个 Xcode 项目模板,可以为您设置基本内容并帮助您入门;我认为还有一个开发人员的例子。

您的导入器将需要UTExportedTypeDeclarations在其 Info.plist 中包含一个部分,用于描述带有路径扩展名的 markdown 文件的统一类型标识符。然后,只需让您的导入程序向 Spotlight 传递 Markdown 文件的适当数据即可。