Как я могу сделать файлы индекса уценки центра внимания? - PullRequest
20 голосов
/ 13 декабря 2008

Я обычно использую расширение .markdown или .md для документов уценки. К сожалению, прожектор отказывается индексировать их, если они не имеют расширения .txt.

Я видел возможное решение, включающее редактирование файлов Info.plist в блоге textmate. Есть ли лучший способ?

Обновление: я только что обнаружил Генератор QuickLook для файлов Markdown , который добавляет поддержку центра внимания и приятные предварительные просмотры HTML быстрого просмотра. Это работает удовольствие!

Ответы [ 5 ]

5 голосов
/ 23 ноября 2015

Вы можете сделать это без отключения SIP, создав копию системы RichText.mdimporter, изменив ее Info.plist и сохранив его в /Library/Spotlight.

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>
4 голосов
/ 13 декабря 2008

Вам придется написать импортер Spotlight. Есть шаблон проекта Xcode, который установит основные вещи для вас и поможет вам начать; Я думаю, что есть также пример разработчика.

Вашему импортеру понадобится раздел UTExportedTypeDeclarations в его Info.plist, в котором описан унифицированный идентификатор типа для файлов уценки с вашим расширением пути. Тогда вам просто нужно, чтобы ваш импортер передал Spotlight соответствующие данные для файла уценки.

2 голосов
/ 29 октября 2015

Для Mac OS X 10.11 El Capitan работает следующее:

Поскольку мы не можем редактировать системные файлы в El Capitan, нам необходимо временно отключить SIP (защита целостности системы) (подробности см. В этой статье Lifehacker ).

  • Перезагрузите Mac в режиме восстановления, перезагрузив компьютер и удерживая нажатой command + R, пока на экране не появится логотип Apple
  • Нажмите 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
  • Добавить <string>net.daringfireball.markdown</string> в LSItemContentTypes (подробнее см. оригинальное сообщение )

Когда вы закончите, вы можете захотеть переиндексировать папки, содержащие файлы Markdown, посмотрите на эту статью: Spotlight: Как переиндексировать папки или тома . И не забудьте снова включить SIP, повторив первую часть и выполнив csrutil enable.

0 голосов
/ 11 апреля 2014

В этом gist объясняется, как изменить RichText.mdimporter для импорта исходных файлов и файлов разметки.

0 голосов
/ 14 декабря 2008

Вы могли бы написать Importer, но есть более простой способ. Markdown - это просто текст, который обрабатывает Spotlight. Если вы дадите своим файлам уценки расширение «.txt», Spotlight подберет их.

В моем случае я просто назвал свои все, чтобы закончить ".mdwn.txt" и научил emacs 'markdown-mode активировать для файлов, соответствующих этому расширению.

...