Skip to content

Finish, install and update

Each icon in the collection opens a dictionary product.

Each icon in the collection opens a dictionary product.

Finish the product, then install its folder in Dictionaries on macOS.

Publish the files

dictionary.finish()
product.finish()
dictionary.finish().value();
product.finish().value();

Finish each dictionary before finishing the product. Dictionary completion checks required content and references. Product completion publishes the staged files at destination. The generated product can then be opened with DictionaryProduct::openAtPath(destination).

Destruction does not publish. Abandoning a build removes its staging files. After a mutating operation or completion fails, start a fresh build. Writers are used serially, and input strings and byte spans are borrowed only for the call.

Encryption and validation

To encrypt article contents, pass {.encryptContents = true} as the second argument to product.addDictionary(content, options) in C++, or encrypt_contents=True to product.add_dictionary(content, ...) in Python.

The default creation profile is general search. See profiles for kanwa authoring. Full-text keys must also be supplied explicitly.

Completion checks that:

  • Every page has a primary headline and the dictionary has headword search keys.
  • Search, headline, link and appendix targets resolve to existing pages or anchors.
  • Referenced local assets and configured presentation stylesheets exist.
  • Any explicit browsing order contains every page exactly once.

Validation covers supported references and resources, rather than every native presentation feature. Product-specific delegates and headline-key identifier authoring are not supported.

Install and replace

Quit Dictionaries before installation. Run the CLI against the finished product:

mkd-tools install build/Birds

Build a replacement in another directory with the same final folder name, then:

mkd-tools install build/next/Birds --replace

Installation copies the package and adds local activation for that custom product. An existing activation is preserved. It accepts packages created by mkd and is intended for custom dictionaries you are allowed to use.

Keep product and content identifiers stable across updates. If you need links or bookmarks to survive changed article order, preserve the affected IDs when importing content.

Verify search, links, navigation, media and both article presentations in the actual app. The writer checks references, but it does not reproduce native layout.