Tinderbox Forum

Check spelling of the note title ($Name)

Am I missing something? It does not seem like the spelling detection is working on the title of a note (aka $Name).

Note names are not spell checked by design.

Lots of note names contain abbreviations (b478), proper names, and other perfectly sensible things that trigger spellcheck errors.

Gotcha. Thanks.

If you really want to do a spellcheck review of note titles, I have a form of doing so. As it generates a big note holding all the note titlesI don’t suggest you keep the process running but do the exercise occasionally and then delete the note after you’ve checked/corrected titles. Thus, you could make a note and use code in a stamp or edict:

$Text = values("Name").isort.format("\n")

Note: you can scope values() if you don’t want all the notes in the doc to be listed.

The result of the above is the note on which that code is run now has a list, one per line (paragraph) in $Text. The $text is spellchecked. Find an indicated typo? Find that note and correct it. Work down the list. when done, re-apply the stamp or re-run the edict and you should see all ‘bad’ titles are now corrected.

Now delete the note–you can easily re-make it again when you feel like repeating the check.

I believe you want values("Name") in the above?

Gah! Absolutely, now fixed.

Apologies to all.

Thanks! That worked, sort of. When I did it all the notes came through and were separated by a “;”. Is there a way for them to come back in different rows?

UPDATE: Never mind, this did work on a smaller file. I need to take a better look at my bigger file. Thanks! Super helpful.

A semi-colon is how Tinderbox delimits individual values in lists (i.e. Set and List types attributes). values() without further attention returns a set. It sounds like you were seeing the whole list. Possibly this is due to problematic characters in titles causing the process to fail. See Problematic Characters for Action code in $Name and $Path for more on that.

Doing a test with a small file and less data, is exactly the right way to go about investigating this type of issue. If you know the basic method works, you can start looking for other causes of error.