Commands
Skribi command IDs are prefixed by obsidian-skribi
.
View Indices
- View Templates (
view-templates
): Opens the Template Index Modal, which displays a list of loaded templates and stylesheets. - View Scripts (
view-scripts
): Opens the Script Index Modal, which displays a list of loaded script files.
Insert Skribi
Opens a prompt to insert a template. Will prompt you for variables, as defined in the Template Metadata.
Render Template / Render Preset
Opens a modal and renders a template within. See Render Modal for details.
Reload Skribis
Causes all extant skribis to rerender themselves. Though skribis will automatically rerender themselves if any of their source assets (template, script, stylesheet) are updated, this command is provided just in case.
Reload Scripts
Reloads scripts from the script directory. Scripts should automatically reload, but this command is provided just in case.
Performance Test
This command opens a modal that can perform bulk renders and report the results. This is intended as a utility for those who are making complex skribis and want an indication of execution times.
The Text To Evaluate field is autofilled from highlighted text, or the clipboard contents, if any is found. The text in this field is treated as the text of the virtual skribi that will be evaluated.
Evaluation Iterations is the number of times to render the skribi. The result will be an averaged value of the processing times. I recommend using 10, but I've only tested on my machine. Using very high values will overload the system, causing each render to be slower, and returning values not representative of the expected processing time during normal use.
Eval As Individual Blocks toggles between placing all the skribis into one block, as would be the case with multiple inline skribis, or as individual blocks.
Notes about results
Because of how async code works in javascript, using promises introduces some time-bloat that isn't really indicative of the actual execution times. You can see that even evaluating empty text takes time (on my machine, about 2.6ms) where in reality it's nearly instant. This extra time is generated by the nature of promises. I'll look into adding a synchronous evaluation method in the future.
Generally, you don't really need to worry about the performance unless you're doing heavy operations.