Add the ability to create mail merge fields inside Caracal documents #120
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Was recently in need of adding a mail merge field in document generated by Caracal. For those not familiar, mail merge fields are treated as a simple or complex field in OOXML. Even though mail merge fields (e.g.
«=replace_me»
) are relatively straightforward in appearance, Word and libraries like Sablon do not recognize mail merge fields unless they are denoted as a field and treated in a special way.This pull request adds the ability to create mail merge fields as simple fields and also auto-detects mail merge fields inside paragraph text, meaning you can use them in places like Caracal's tables without having to make any other changes.
Some examples:
Also included some tests.
Things not done: did not implement more complex mail merge types, or nested types (i.e. a nested run). However, this could easily be done.
Looking for some feedback on how this was implemented and what it would take to have this merged in.