macos sierra安装时间 我如何制作聚光灯索引降价文件?




macos升级备份 (4)

以下适用于Mac OS X 10.11 El Capitan:

由于我们无法在El Capitan中编辑系统文件,因此我们必须暂时禁用SIP(系统完整性保护)(有关详细信息,请参阅此Lifehacker文章 )。

  • 通过重新启动计算机并按住command + R直到Apple徽标出现在屏幕上,重新启动Mac进入恢复模式
  • 点击Utilities > Terminal
  • 在终端窗口中,输入csrutil disable并按Enter键
  • 重新启动您的Mac

现在我们可以编辑位于/System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist的文件:

  • sudo open -a TextEdit /System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist
  • LSItemContentTypes下添加<string>net.daringfireball.markdown</string> (更多信息请参见原文

完成后,您可能需要对包含Markdown文件的文件夹进行重新索引,请参阅以下文章: Spotlight:如何重新索引文件夹或卷 。 并且不要忘记通过重复第一部分并运行csrutil enable

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

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

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


Answer #1

你必须写一个Spotlight导入器。 有一个Xcode项目模板,将为您设置基本的东西,让你开始; 我认为还有一个开发者的例子。

您的导入程序需要Info.plist中的UTExportedTypeDeclarations部分,该部分描述了带有路径扩展的降价文件的统一类型标识符。 然后,只需要让导入器通过Spotlight为降价文件输入适当的数据即可。


Answer #2

您可以通过创建系统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

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>

Answer #3

这个要点解释了如何修改RichText.mdimporter来导入源文件和降价文件。





spotlight