LaTeX, Markdown, Plain Text and DEVONthink

I’ve migrated most of my writing from proprietary formats like Mellel and Word to plain text files, so I do most of my writing in emacs or TextMate depending on my mood, and use either the wonderful MultiMarkdown or the mind-blowing org-mode to help me format my work appropriately. The result is unexceptional plain-text files that are readable in everything, but, given the right tools can be transmogrified into any number of other formats: LaTeX, RTF, PDF, HTML.

I have my research in a bunch of folders on my hard drive and I’d like to index them with DEVONthink. Sounds simple enough for me: just choose File > Index… in DTP and voila! Except, no. DEVONthink sees the file extensions (either .md or .org or .muse) and tells me that the filetype was unrecognized and that no text was imported. I want to shout at my computer, “But they’re plain text! Just pretend they’re .txt files!” But I don’t know how to shout that to DEVONthink.

It works just peachy with .tex files. All I want is the same for other text-based files with non-standard file extensions. And I’ve already done some steps to that those files are visible in Quicklook. I can Quicklook them in the Finder and I can see them in DTP. But they’re not indexed in DTP, which is the real problem here. I don’t care if I can’t edit them – but I would really like my plain text files to be indexed and searchable. Editing would be icing on the cake, you know.

Can anyone tell me – or is there any hack in the filesystem – to convince DEVONthink that .md or .org files are really just plain text?

terceiro,

I can perhaps shed a bit of light on this, but I agree there is an issue here that I hope DT addresses.

What DT seems to be doing is looking at the file’s type. You can check this on the command line with /usr/bin/GetFileInfo filename

You will see that a file that got created with some editors (I use vim for example), will not set the file type to TEXT. You can set this yourself with /usr/bin/SetFile -t “TEXT” filname

A file with the file type set as TEXT seems to be recognized and indexed by DT regardless of its extension. Spotlight seems to have the same issues BTW.

What seems strange is that DT declares these problematic files as “Plain text”, but does not display them or index them — it seems that if it knows enough to call them plain text then it should display and index them. Perhaps this is a problem that the file type is not set at the OS level and DT does not want to set this — especially if you are indexing the file.

I would be great if someone from DT could let us know what is going on here, and perhaps at a minimum give an option to set such files to true TEXT in such cases. DT should clearly be able to handle simple text files created with basic editors or programs.

thanks,

–odoc

Markdown files are recognized but DEVONthink, if they are named .mdwn and not .md, but I don’t know why it is this way.

Oh, this is great news. I don’t know how I would have figured it out on my own, however. Still, this is a great work around; thanks!

I don’t know if this is a very late reply… but just want to share my solution…
I just added this code to the aquamacs info.plist file. This code made .org files readable by QuickLook and DT. The only problem i encountered is that the .org file turns into a .txt file as soon as I edit it within DT. Right now i just indexed my .org files and locked them in DT, so that it stops me from editing within DT.

/Applications/Aquamacs.app/Contents/Info.plist

<key>UTExportedTypeDeclarations</key>
	<array>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.text</string>
				<string>public.plain-text</string>
			</array>
			<key>UTTypeDescription</key>
			<string>Org-mode Document</string>
			<key>UTTypeIdentifier</key>
			<string>org.gnu.Aquamacs</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>com.apple.ostype</key>
				<string>TEXT</string>
				<key>public.filename-extension</key>
				<array>
					<string>org</string>
				</array>
			</dict>
		</dict>
	</array>