Skip to content

Refactorings

One of the recurring problems in technical writing is to keep links aligned with changing content. Edits to headings, for example, lead to changes in the slugs that are computed for them, thus breaking any existing links. Zensical Studio offers a range of functions to prevent broken links instead of merely reporting them.

In some cases you can simply focus on editing your content and Zensical Studio will automatically adapt links, warning you only when changes may lead to ambiguities. On other cases, you may need to use explicit refactorings. These are actions you can take to make a change in your project while letting Zensical Studio help you ensure that links and other references remain intact.

Edit headings

Zensical Studio will update links to headings when you edit them. This way, you never create broken links. This works within the current file being edited and in all other files in your project. Note how the link changes in both open files:

edit a heading changes links

Rename headings

You can also rename a heading with Rename SymbolRename SymbolRenameRenameF2. Right-click on a heading and select from the context menu or use the keyboard shortcut.

renaming a header changes links

Headings with IDs

Note that if you assign a manual ID to a heading, you can no longer rename it with F2. See below.

Renaming reference labels

Place your cursor on either the definition ([ref]: ...) or any use ([text][ref]), trigger rename, and every occurrence of that label throughout the file is updated together.

renaming a reference label makes changes to all links using it

Rename or move files

If you need to rename or move a file in the ExplorerExplorerProject panelProject tool window, Zensical Studio will also update all links to this file, ensuring that they remain intact.

when you move a file, Zensical Studio updates links to it

Rename footnotes

You can also rename footnotes. This affects the label, which is also the anchor for the footnote. In the example below, #fn:1 becomes #fn:explain.

renaming a footnote

Rename abbreviations

When you rename an abbreviation, you change not just a label but instead change all occurrences of the abbreviation in your project. The example below shows an example where SSL is replaced with TLS, its modern successor standard.

replacing SSL with TLS across your entire documentation