También responderé a esta pregunta con un método alternativo que he elaborado:
set exportedNote to "Example note exported from Apple.
<ul>
<li>Indent</li>
<ul>
<li>*Further* indent</li>
<ul>
<li>Even **further **indent. With a [link](https://duck.com).</li>
</ul>
</ul>
</ul>
End note."
set deleteHTMLline to {"<ul>"}
set exportedNote to deleteLinesFromText(exportedNote, deleteHTMLline) of me as text
set deleteHTMLline to {"</ul>"}
set exportedNote to deleteLinesFromText(exportedNote, deleteHTMLline) of me as text
set exportedNote to replace_chars(exportedNote, " <li>", tab & tab & "- ") of me as text
set exportedNote to replace_chars(exportedNote, " <li>", tab & "- ") of me as text
set exportedNote to replace_chars(exportedNote, " <li>", "- ") of me as text
set exportedNote to replace_chars(exportedNote, "</li>", "") of me as text
return exportedNote
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to {""}
return this_text
end replace_chars
on deleteLinesFromText(theText, deletePhrase)
set newText to ""
try
set textList to paragraphs of theText
repeat with i from 1 to count of textList
set thisLine to item i of textList
if thisLine does not contain deletePhrase then
set newText to newText & thisLine & return
end if
end repeat
if newText is not "" then set newText to text 1 thru -2 of newText
on error
set newText to theText
end try
return newText
end deleteLinesFromText
Resultado:
Example note exported from Apple.
- Indent
- *Further* indent
- Even **further **indent. With a [link](https://duck.com).
End note.
Notas:
Al igual que en la respuesta principal, si quieres convertir más niveles de sangría tendrás que añadir líneas adicionales para ello.
Este código de ejemplo sólo convierte tres niveles. Para añadir un cuarto, puede añadir en la parte superior del código set exportedNote to replace_chars
sección:
set exportedNote to replace_chars(exportedNote, " <li>", tab & tab & tab & "- ") of me as text
Añadir niveles más profundos en la parte superior bajando en orden cronológico con dos espacios más antes de cada uno <li>
y uno más tab &
.
Si alguien tiene código para poder convertir cualquier n
número de niveles de sangría, por favor, intervengan o envíen ediciones.