To run the MarkEdit example scripts, move or copy this file (Example.md) to your Downloads directory.
The quick brown fox jumps over the lazy dog.
| tell application "MarkEdit" | |
| -- There are several ways to get the raw text of currently open documents. | |
| -- The result is the same, so you can use whichever approach works best in your script. | |
| set firstSource to source of document 1 -- By index | |
| set secondSource to source of document "Example.md" -- By name | |
| set thirdSource to source of first document where its file is (POSIX file "/Users/steven/Downloads/Example.md") -- By file | |
| log firstSource -- # MarkEdit Scripting Example Document... The **quick** brown fox *jumps* over the *lazy* dog. | |
| log (firstSource is secondSource) and (secondSource is thirdSource) -- true | |
| -- You can also access the formatted text of the document. | |
| -- This is the text after processing the source and removing Markdown syntax characters. | |
| log formatted text of document 1 -- MarkEdit Scripting Example Document... The quick brown fox jumps over the lazy dog. | |
| -- With formatted text, you can access the paragraphs, words, and characters. | |
| set theParagraphs to paragraphs of formatted text of document 1 | |
| set theParagraphs to paragraphs of document 1 -- Specifying the 'formatted text' property is optional here (same result either way) | |
| set theWords to words 2 thru 4 of item 7 of theParagraphs | |
| set theCharacters to characters of item 3 of theWords | |
| log theCharacters -- {"f", "o", "x"} | |
| -- Formatted text also allows you to identify text by its style when rendered. | |
| log (get words of document 1 whose font contains "Bold") -- quick | |
| log (get words of document 1 whose font contains "Oblique") -- Downloads, jumps, lazy | |
| end tell |
| tell application "MarkEdit" | |
| -- Get the current selected text using the 'selection' property of any document. | |
| -- This uses the raw source, so Markdown syntax is included in the returned text. | |
| set mySelection to selection of document 1 | |
| -- Replace the selected text using 'set'. | |
| set selection of document 1 to "Testing!" | |
| -- Note that text gets replaced without re-selecting the area, so 'selection' is now an empty string. | |
| set newSelection to selection of document 1 | |
| log newSelection is "" -- true | |
| end tell |