Proposed improvement
I use the built-in Prism every day in my DEVONthink markdown
documents to improve their appearance. I would like to customize the implementation for my needs, such as expanding the syntax highlighting. It would be possible today for me to manually link all my markdown
document to my own Prism implementation. I have tried this. It works but has challenges.
Challenges without the proposed solution
- It requires a special location for my Prism implementation.
-
In a database This is would work and work across upgrades but only for the database where the implementation is stored. This requires that I link out from each
markdown
document. -
In a neutral location on my local filesystem This would work across upgrades and would be consistent for all databases. This requires that I link out from each
markdown
document.
-
In a database This is would work and work across upgrades but only for the database where the implementation is stored. This requires that I link out from each
Better location
-The Application Support
folder This is a better location but DEVONthink would need to be modified to implement this. It would work across upgrades. It would work for all databases. It would not require that I alter any existing or future markdown
documents. It would permit near complete flexibility.
The proposed solution addresses these key challenges because
- It would permit greater flexibility for
markdown
rendering customization because changes would be made in one place and existing document would not be modified. - It would permit a location that is both resistant to upgrades and accessible from any database.
- It would permit a consistent user experience for those that wish to customize their
markdown
rendering. This means it could be described in the DEVONthink manual. - It would permit users to include their own JavaScript, CSS, or other content in addition to or in place of Prism. Who knows what people may come up with? It separates the semantic markup from the presentation experience.
- It would prevent the need for users to alter their existing and future
markdown
documents. (This is a big deal for me because I have many markdown documents and plan to have many more.) - It would permit users who do not wish to alter the
markdown
rendering, to continue to use DEVONthink exactly as they do today without noticing any changes.
Proposed solution
Have a file in the Application Support
folder that is always included when a markdown file is rendered by DEVONthink.
The file would be empty by default. This would ensure it would not alter the behavior of the markdown
rendering unless action was taken by the user.
A user who wished to customize the rendering of their markdown
documents could include links or other content in that file to their own prism.js
and prism.css
. Those custom Prism files could reside in this same location in Application Support
as the include file. This would permit the customizations to persist over upgrades, much like they would if they were stored in a DEVONthink database.
It would also permit users to share the markdown rendering experience across many DEVONthink databases since the files are equally available to all the open DEVONthink databases.
I am a software developer and I am happy to do (some) of the work, but would obviously need permission and direction from DEVONtechnologies. I do not know how this is handled with DEVONthink.
Please consider this proposal.