MarkdownファイルをSpotlight検索の対象に含める方法を書いたのは五年前。
tsurunaga.hateblo.jp
その後、macOSのバージョンを繰り返し、気がづけば検索対象に入らなくなっていました。あらためて、macOS 10.15(Catalina)で、MarkdownファイルをSpotlight検索の対象に含める方法をしたためておきます。
前回は、RichText.mdimporterを改変しましたが、今回はRichText.mdimporterをMarkdown.mdimporterとしてコピーし、さらに改造してインストールします。mdimporterとはSpotlight 検索するためのインポーター(プラグイン)です。適当な作業フォルダーに移動してください。RichText.mdimporterをMarkdown.mdimporterとしてコピーします。
$ cp -r /System/Library/Spotlight/RichText.mdimporter Markdown.mdimporter
次に、Markdown.mdimporter/Contents/Info.plistファイルをエディターで開いて次のような内容にします。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BuildMachineOSBuild</key> <string>18A391024</string> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <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>net.daringfireball.markdown</string> #追加(<array>〜</array>ではこの一行だけに) </array> </dict> </array> ...省略... <key>CFBundleIdentifier</key> <string>com.apple.MDImporter.Markdown</string> #RichText-->Markdownに修正 <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>Markdown Sniffer</string> #RichText-->Markdownに修正 ...省略... </dict> </plist>
Markdown.mdimporterを作成できたたら、 /Library/Spotlight/にインストールして、Spotloghtの検索対象に加えます。
$ sudo cp -R Markdown.mdimporter /Library/Spotlight $ mdimport -r /Library/Spotlight/Markdown.mdimporter
すぐにインデックスは作成されません。強制的に作成するには、こちらの方法をご参考くだささい。