dictation-toolbox / Caster

Dragonfly-Based Voice Programming and Accessibility Toolkit
https://dictation-toolbox.github.io/Caster/
Other
340 stars 121 forks source link

Documentation improvements #831

Closed ileben closed 3 years ago

ileben commented 4 years ago

Here are some suggestions to improve the documentation based on my recent experience of upgrading to 1.0 and trying to integrate my custom rules into user directory:

https://caster.readthedocs.io/en/latest/readthedocs/User_Dir/Caster_User_Dir/

https://caster.readthedocs.io/en/latest/readthedocs/Caster_Settings/rules/

https://caster.readthedocs.io/en/latest/readthedocs/Rule_Construction/Rule_Construction/

LexiconCode commented 4 years ago

Thank you for this feedback It's invaluable. I'm a bit busy over the next few days but after that I will see if I can get those points clarified.

LexiconCode commented 4 years ago

Just to let you know I am working on this. Expect a PR soon you to review.

LexiconCode commented 4 years ago

progress on https://caster-lexiconcode.readthedocs.io/en/docs/

* he Whitelist section states that the newly encountered rules are added to the whitelist, but it does not explicitly state whether they get enabled or disabled, so it leaves that undefined. However, I reckon most users would interpret that to mean they get enabled as well, which is not what currently happens. Personally I also think they should get enabled automatically (provided that they load without errors). It means there is less friction to start usage, because the user doesn't need to figure out how to enable it (in contrast everyone intuitively knows how to disable it - at the very least by just deleting the get rule function).

https://caster-lexiconcode.readthedocs.io/en/docs/readthedocs/Caster_Settings/rules/

Enabling all grammars by default would not be helpful just possibly application grammars. (many people describe it as a verbal minefield in the past), However I'm not sure how to do this for newly added rules and differentiating when when Castor starts up for the 1st time loading its rules.

Honestly though I think the appropriate solution is to have a GUI show that grammars available and what to say to activate it.

caster.readthedocs.io/en/latest/readthedocs/User_Dir/Caster_User_Dir

* add link from items in the layout description section to [caster.readthedocs.io/en/latest/readthedocs/Caster_Settings/rules](https://caster.readthedocs.io/en/latest/readthedocs/Caster_Settings/rules/), [caster.readthedocs.io/en/latest/readthedocs/Caster_Settings/settings](https://caster.readthedocs.io/en/latest/readthedocs/Caster_Settings/settings/) etc

Done https://caster-lexiconcode.readthedocs.io/en/docs/readthedocs/User_Dir/Caster_User_Dir/

  • should explicitly mention that it refers to loading the rules from the rules/ subfolder of the user directory

  • the introduction of the get_rule function makes it sound like this is an existing function provided by caster: "The get_rule() function returns RuleDetails parameters and the rule class." Instead should explicitly state that the user needs to implement this function in the global scope of every file in the rules folder and clarify that all other files will be ignored.

  • add an example of a Non-CCR Non-App rule to make it clear that it is valid to construct RuleDetail without executable and without ccrtype arguments

https://caster-lexiconcode.readthedocs.io/en/docs/readthedocs/Rule_Construction/Loading_Rules/

Instead of including a link directly I've asked the user to create that file within their user directory. It's covered under Your_First_Rule in the documentation. I've structured the examples within the basic examples (possibly the Advanced soon) to work using the same grammar an in Your_First_Rule. All the user has to do is copy and paste then save. That way they can work with the rules without having to worry about enablement.

https://caster-lexiconcode.readthedocs.io/en/docs/readthedocs/Rule_Construction/Basic_Caster_Rules/Your_First_Rule/

Timoses commented 4 years ago