All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
7.1.0 (2023-08-27)
- New option
linking.sortAlternatives
for sorting and linking the most likely appropriate definition, first, when there are multiple definitions for a term. More see Multiple Glossaries and Ambiguities (#269) (74744a3)
- Minor changes to story and examples. (d3fe139)
- Incorporate changes to the vuepress2 config api in beta 47. (6a57fff)
7.0.0 (2023-03-26)
-
End of support for NodeJS 14.x.
-
No longer supporting CommonJS module system, see using with vuepress 1.x
-
Bumped
glob
dependency fromv7
tov9
. This might affect you when using glob patterns in a glossarify-md config, e.g.:glossaries
with[{ "file": "./some/**/glob/**/pattern*.md" }]
includeFiles
excludeFiles
keepRawFiles
Notable changes:
\
is now only used as an escape character, and never as a path separator in glob patterns, so that Windows users have a way to match against filenames containing literal glob pattern characters.- Glob pattern paths must use forward-slashes as path separators, since
\
is an escape character to match literal glob pattern characters. - further changes see glob/changelog.md
-
bumped
fs-extra
fromv10
tov11
- CSV Import (#255) (410c7f0)
- Tree-scoped Linking (https://github.com/about-code/glossarify-md/blob/master/doc/cross-linking.md#tree-scoped-linking)
- Updating node support matrix. (a805581)
6.3.3 (2023-01-27)
6.3.2 (2022-11-05)
- Empty headings causing glossarify to exit with error (#257) (670cdcf)
- New config refers to outdated config release version (#254) (4f2c377)
6.3.1 (2022-09-12)
- README.md (5bceaa5)
6.3.0 (2022-09-12)
- Fix manual references (3d3c826)
- Use character included in new GitHub font (f509714)
- Use with Hugo (#247) (796fa81)
6.2.1 (2022-07-12)
- Identifier-based cross-linking doesn't provide glossary term preview for bottom page links (#242) (ff28d49)
- Fix TOC. (888d01c)
- Improve plug-ins doc. (2e9b5ca)
- Separate Installing and Writing of Plug-ins (83c6889)
6.2.0 (2022-04-10)
6.1.0 (2022-04-03)
- New option
linking.limitByTermOrigin
(#235) (fcc02ac) - indexFiles: New option
generateFiles.indexFile(s).hideDeepLinks
. (#233) (db58b9f)
- Improve explanations of SKOS interoperability. (1456456)
6.0.1 (2021-11-26)
- Headings of imported glossaries not linked (#228) (677915e)
- Only first alias from a list of aliases imported (#229) (cc59f3e)
6.0.0 (2021-11-20)
This is a summary of notable changes between v5.2.0 and v6.0.0. As a user of prerelease versions (alpha, beta, rc
) or glossarify-md@next
have a look at changes between pre-releases.
-
Option
linking.baseUrl
now requires values to have a trailing slash. -
[email protected] ends support for Node 12.x.
-
Dropping use of deprecated
url.parse()
NodeJS-API.Unfortunately, there is no replacement for the old API that is fully compatible. As a consequence you may observe that path encoding has changed. Previously all paths (relative or absolute) have been passed through
url.parse(path).format()
and thereby got URL-encoded. With this change (differently) encoded URLs are only created for optionpaths: "absolute"
in combination with abaseUrl
other than"/"
. Values forbaseUrl
(if present) now must be"/"
or must be a URL which conforms to WHATWG URL specification and which can be passed as a base parameter to Node's URL implementation (see also https://docs.nodejs.org/api/url.html). -
Making
outDir
current working directory (CWD):This might only affect you if you have used glossarify-md with third-party remark plug-ins which require file path configurations and assume paths relative to
process.cwd()
. -
chore(deps): Migrating to remark v14 and unified v10.
- Apply options like
termHint
andsort
on glossaries selected withglob
pattern. (1030b78)
Exporting & Importing
- New config option
glossaries[].export
: Structured interoperable export. (6d68976) - Export and import RDF N-Quads (#209) (d5057c4)
- Support multiple exports with different JSON-LD context mappings. (4cfcdc3)
- Structured imports. (4447f72)
- Import from remote (#205) (ebadc59)
Linking
- New option
linking.pathComponents
(#173) (1a2fdd6) - New option value
"none"
for optionlinking.paths
. (a0fc951) - New options
linking.headingIdPandoc
,,linking.byReference
linking.headingAsLink
. (447fc17) - New option
linking.headingIdAlgorithm
for unique heading identifiers based on MD5 or SHA256. (ab61b6c) - New config option
glossaries[].uri
(699f01e) - New option
glossaries[].showUris
(48b5585) - New option
glossaries.linkUris
. (8d8f78b)
Others
- New JSONish term attributes syntax (Aliases, etc.) (e6e9f45)
- Install less dependencies by default (inquirer as a peer-dependency). (986bdec)
- Make outdir current working dir (#196) (241d59d)
- Migrate to ECMAScript Modules (ESM) (#164) (36e6289)
- CommonJS interop. Package entry module with npm package archives for vuepress v1.x compatibility. (5898b5c)
- Provide CommonJS export of getSlugger() for vuepress v1 compatibility (#189) (101b768)
- Drop use of deprecated
url.parse()
NodeJS-API. (#178) (ed8ffc8) - New node support matrix (#210) (b83f73f)
- --init --new wrongly assumes ./docs/glossary.md exists (#224) (d6bc34d)
- Wrong linking of heading depths when term exists twice at different depths (#217) (3df4fe5)
- perf: Unnecessary "unwrap" iterations. (2b0aa2f)
- perf: Unnecessary duplicate writes. (f92db19)
- Access error when processing all-empty files (aeaaf1d)
- Not importing localized data correctly. (#220) (0327d87)
- Add missing dependency vfile. (df8afc2)
- Spaces causing many
 
being rendered in index files and lists (#195) (65d5290), closes #x20
- Added Using with pandoc (#221) (f24eff5)
- Clarify pattern anchorization (bf7f98f)
5.2.0 (2021-06-04)
- Fix vuepress plugin requirements. (4cfef24)
5.1.3 (2021-05-27)
- This is minor release which updates the list of dependencies to include new minor versions with security fixes. If you've installed glossarify-md for the first time, then you should already have got newer versions of dependencies due to version range specifiers used within glossarify's
package.json
. Otherwise you should have been able to install fixed dependencies yourself usingnpm audit fix
.
5.1.2 (2021-04-17)
5.1.1 (2021-04-17)
- Option
indexFiles
: Empty files generated on windows (#154) (0353f0e)
5.1.0 (2021-04-11)
- New option
indexFiles
. Generate an index document for terms of a particular glossary (#152) (62448e8)
5.0.1 (2021-02-20)
- Clarify semantics of option 'linking.limitByAlternatives'. (6a1842e)
- Escaping of link labels (particularly if link label is an URL). (e5074a8)
- Linker sometimes adds '...' when there are no alternative definitions (Closes #148) (24f26c0)
- New config docs in conf/v5/doc directly generated from JSON Schema. (06a629b)
- fix schema opts (3d1d6fd)
- Rename unified addendum into Conceptual Layers (444af60)
5.0.0 (2020-12-31)
- NodeJS 10.x will no longer be supported for glossarify-md versions
>= 5.0.0
. Whilev5.0.0-alpha.*
andv5.0.0-beta.0
have been continuously tested on NodeJS 10.x beginning with the release of gossarify-md v5 tests will target NodeJS 12.x (LTS), 14.x (LTS) and 15.x (Current), only. Updates toglossarify-md >= 5.0.0
may break on NodeJS 10 without explictly notifying about a breaking change. - File extension "mkdown" no longer supported. Aligning with GitHub-supported file extensions.
- New node support matrix (#145) (07b95b0)
- cli: New options
--new
and--more
usable with--init
. See README.md for details. (02240d3) - docs: Demonstrate glossarify-md in the docs by generating ./doc/ from ./demo (#143) (88a8b96)
- Default Config Values: 'outDir' being in default 'baseDir' (ea0a144)
- Wrong link to glossary definition in generated index file when
glossaries[i].file
config is a glob. (4ada56f), closes #133 - Use GitHub set of supported Markdown file extensions. (745fd82)
5.0.0-beta.0 (2020-12-26)
-
For unordered lists glossarify-md now writes the star marker "*". Previously it wrote dashes "-". For emphasis it now uses the star marker as well. Previously it used underscores.
Since both is equally Markdown this is only a breaking change in terms of output similarity not in terms of Markdown rendering. We therefore do not provide any upgrade assistance to keep results the same. If you still care you can restore previous results by adding below snippet to your glossary-md.conf.json. However, we do not give any guarantees about identical outputs in the next major release, anyway.
"unified": { "settings": { "bullet": "-", "emphasis": "_" } }
-
Renamed option
linking.terms
intolinking.mentions
. Affects users ofv5.0.0-alpha.1
andv5.0.0-alpha.2
. Please rename the option in your config file.- Due to a mistake we published
v5.0.0-alpha-*
releases too soon with the npm dist taglatest
when we actually wanted to keep v4.0.1 taggedlatest
until 5.0 release. This should mostly have affected users who installed glossarify-md for the first time and got an alpha release. If you are affected by this breaking change we like to apologize. In case you are still on v4.0.1 we recommend to stay there and use the upgrade assistant once v5.0 is out. Beginning with thisv5.0.0-beta.0
we do not have plans to add more breaking changes anymore.
- Due to a mistake we published
- Markdown syntax extensions via plug-ins.
- Cross linking
- glossary file globs (#133) (705f9a0)
- identifier-based cross-linking with pandoc-style custom-heading-ids (#122) (949c815)
- New option
linking.headingDepths
. Select heading depths to generate term-based links for. (#136) (d4c8646) - New option
linking.limitByAlternatives
(#137) (98cb9d0) - New option
indexing.headingDepths
(#139) (37c7b1e), closes #136 - New README.md section on Cross Linking
- fix(upgrade): Fix race condition which causes upgrade assistant to write new config to backup file. (f419aa7)
- fix(upgrade): Make sure to only upgrade to versions compatible with default schema
- Being more robust if no glossary file is available.
5.0.0-alpha.2 (2020-12-19)
- Include 'conf' directory in npm package (280efef)
5.0.0-alpha.1 (2020-12-19)
-
Option
linking
has becomelinking.paths
. OptionbaseUrl
has becomelinking.baseUrl
.An upgrade assistant will help with the migration. From this version on configuration files must refer to a schema by means of a versioned path. This helps the upgrade assistant in future releases to find out what changes need to be applied to upgrade from an old schema.
-
Migrating to [email protected] with [email protected] and new micromark parser (#132)
With remark-parse having switched to a completely new yet CommonMark compatible markdown parser there's a (minor) risk that output produced by glossarify-md changed. Based on what we observed by comparing outputs with our previous baseline there were only marginal changes which make output even more compliant with CommonMark. These are the changes we accepted as part of our new test baseline:
Indentation: Remark strips leading spaces on new lines either because there is no syntax construct which requires them or to correct indentation, e.g. of list items.
Headings: Remark lifts headings at a depth > 6 into the valid range of 1-6 according to CommonMark Spec v0.29.
Escapes: There may be a few changes to what is being escaped by a leading backslash. See remark for details.
The remark changelog can be found here: https://github.com/remarkjs/remark/releases/tag/13.0.0
-
test: Upgrade test configurations to v5 schema.
-
test: New baseline.
-
Terms found in HTML markup won't be linkified any longer.
- New option
linking.terms
. Limiting the number of glossary links to once per paragraph (#118) (0310e93), closes #117 #127 - cli: New parameter --init to generate a config file with all options and defaults (#126) (04894ce)
- Allow lists from arbitrary identifiable HTML nodes (1342a69)
- Anchors for direct navigation to images and tables and unified lists (2175d8b)
- Improved performance (2e9f9dc)
- Support pandoc-style custom heading ids (#112) (4ef0fe7)
5.0.0-alpha.0 (2020-11-11)
- Terms found in HTML markup won't be linkified any longer.
- Allow lists from arbitrary identifiable HTML nodes (1342a69)
- Anchors for direct navigation to images and tables and unified lists.. See also README Section Lists (2175d8b)
- Improved performance (2e9f9dc)
4.0.1 (2020-10-18)
4.0.0 (2020-09-26)
outDirDropOld
is nowtrue
by default. Previouslyfalse
.experimentalFootnotes
is no longer required and no longer a valid configuration option. Please remove it.
Footnotes are still not official CommonMark. However they are also not really a feature of glossarify-md, thus the option doesn't provide any value and was removed.
-
indexFile
option no longer supports a string value. Instead of"generateFiles": { "indexFile": "./book-index.md" }
write:
"generateFiles": { "indexFile": { "file": "./book-index.md", "title": "Book Index" } }
-
Command Line Interface (CLI) changed (#94).
From the old set of arguments only --config
and --help
remain supported.
Any other configuration options are being replaced by two new options
--shallow
and --deep
which take a JSON string that is expected to match
the configuration schema. As you may recognise from their names you can use
them to merge a command-line provided configuration with the configuration
provided in the configuration file.
Use those two options if you need to override particular configuration keys in a configuration file on a particular program execution.
For example if you previously wrote
glossarify-md --config ./glossarify-md.conf.json --baseUrl "http://example.org"
you now write
glossarify-md --config ./glossarify-md.conf.json --shallow '{ "baseUrl": "http://example.org" }'
If you need to add another glossarify file write
glossarify-md --config ./glossarify-md.conf.json --deep '{ "glossaries": [{ "file": "./glossary2.md" }] }'
- bump lodash from 4.17.15 to 4.17.19 (#102) (788379d)
- Drop option 'experimentalFootnotes' (5785aba), closes #x3 #90
- minimist-options 4.1.0 breaks glossarify-md (#93). (0c1d2dd), closes #94
- Drop output directory by default. (0b9c2dc)
- 59 config option generate files indexfile drop support for value range string (#95) (8449eda), closes #95 #59
3.6.5 (2020-05-23)
Same as 3.6.4 but replaces 2.1.2 hotfix release for v2 release branch on npm with another v3 release.
3.6.4 (2020-05-23)
3.6.3 (2020-05-01)
3.6.2 (2020-04-29)
3.6.1 (2020-04-29)
- Don't cut a term's short description on markdown formatting (#81) and Correctly link to formatted term headings (#82) (c0066f2)
- Extract anchor labels with markdown formatting (#84) (3c85a96)
- Headings with codespans cause error output (#75) (dfa42d4)
3.6.0 (2020-04-10)
- Minor performance improvements. Write outputs in parallel. (f7720e8)
- Sort terms in a glossary (#66) (1846929)
3.5.0 (2020-03-01)
- Arbitrary Lists with HTML anchor tags (
<a>
), e.g. List of Listings, List of Formulas, ... . See also README.md. (#73) (4cee0ec) - New option
outDirDropOld
to remove prior outputs rather than overwrite/merge with new ones. Default:false
(5c518b0)
3.4.1 (2020-02-15)
- Fix opts for listOfTables (203c4f7)
3.4.0 (2020-02-15)
-
Generate a list of tables. New option
generateFiles.listOfTables
. See also README.md. (#67) (ef91d9d) -
Allow to configure heading depth for less cluttered index file (#71) (04ed7f8)
3.3.0 (2020-01-19)
-
Option
--reportNotMentioned
is ignored. With this fix please pass--reportNotMentioned
explicitely via command line or config file to keep on being informed about unused terms. (#67) (dbbf4a4)
- Generate a List of Figures with option
generateFiles.listOfFigures
. More see README.md. (#61) (2c57ace)
3.2.0 (2019-12-29)
-
Errorneous file links with config option
linking: "absolute"
andgenerateFiles.indexFile
. (293c7eb) -
Only last occurrence of a shared term gets linked with all its definitions. (#55) (c891c87)
3.1.0 (2019-12-24)
- escape terms containing characters with special meaning in regExp (1815304)
- v3.0.0 linkified headings don't play well with vuepress. Closes #48. (e9485f2)
- Value range 'string' of config option 'generateFiles.indexFile'. Use object instead (see README.md). (ceb7e0c)
- Custom page title for generated index file can now be set. (0b98e43)
- link usage of (other) terms in a term's glossary definition. (671d1ee)
3.0.0 (2019-12-14)
- v3.0.0: End of support for nodejs 8.x (LTS). Versions of glossarify-md >= 3.0.0 may continue to work with nodejs 8.x but may also begin to use JS language features and APIs earliest available with nodejs 10.x LTS. Such changes may be introduced with any new version including bugfix versions and without notice or classification of being breaking changes to nodejs 8.x users.
- With this change section headings will be automatically linkified. URL fragments of section headings may change thus affecting inter-document cross-links or bookmarks of already published documentation. Note: links and bookmarks will continue to point the same page yet not the correct section on that page. Prior section headings which have manually been wrapped into markdown link brackets may get wrapped twice. Review any output prior to publishing it.
- CONTRIBUTING.md: Rework debug section (25a1288)
-
Report on glossary terms never mentioned in text (#43) (96a7415)
-
3 support backlinks from definition to usage (#46) (9d06dd6), closes #46 #3
2.1.1 (2019-12-04)
- In cases where the alias began with the term as a substring, then ocurrences of the alias were no longer linked. For example if the term is Cat and the alias is Cats, then occurrences of Cats were no longer linked to the glossary term Cat. (#41) (4ace562)
2.1.0 (2019-10-04)
- New option
--experimentalFootnotes
for Markdown footnotes (#38). Support for Pandoc footnote syntax will be considered experimental until it becomes part of the official CommonMark Specification at https://spec.commonmark.org. See also https://pandoc.org/MANUAL.html#footnotes. (f75a21c)
2.0.1 (2019-10-04)
- Glossary-terms flanked by
(
or)
wouldn't get linked (#37) (ee998e7) - remove Firefox remote debugging. Not for nodejs. (8d77ce2)
- README.md: Fix document output example (replace inline link with reference) (d3d147e)
- vuepress: Include a link to vuepress issue 1815. (62f19e7)
2.0.0 (2019-10-01)
- cli: No
--baseDir
and--outDir
default values anymore. You will be asked for explicit values if none provided. - cli: Now stops if
--baseDir
and--outDir
resolve to the same directory to prevent accidental overwriting of source files. Can be ignored with--force
flag. - cli: CLI options now take precedence over config file options, if the same option exists in the config file loaded via
--config
and as a command line argument.
- Short description not correctly extracted (#30) (eff54b4)
- Runtime error
path.absolute is not a function
for configurationlinking: absolute
andbaseUrl: ""
(538c65d) - cli: CLI argument handling and defaults (c55cee0)
- test: Make
npm run commit-baseline
run tests first. Reset git index before commit and include new test artifacts on commit. (19fd039)
1.1.3 (2019-09-26)
- CONTRIBUTING.md: Using glossarify-md debug config and experimental debugging (7c47169)
- README.md: Update sample. Fix wrong default value for 'baseDir'. (7959d80)
1.1.2 (2019-09-25)
- dangling anchor links with german umlauts (#27). See updates to doc/use-with-vuepress.md and slugify option. (475d692)
- package.json declares wrong 'main' (0dc107d)
- Security. Update package-lock.json for use of handlebars@^4.3.1 (f464ceb)
- Terms with leading or trailing Umlauts/Non-ASCII chars not linked (#28). (0c7f1da)
- vuepress: Add more info on implications of changing vuepress slugifier (065914b)
- vuepress: npm start should serve from src for live-reloading (8930098)
- vuepress: Use glossarify-md slugger with vuepress (c707566)
1.1.1 (2019-09-16)
1.1.0 (2019-09-15)
- glossarify-md --help (0084878)
- Glossary Linking
- Multiple Glossaries
- Aliases
- Case-insensitive linking (via option)
- Term Hints
- Ignored Files
- Excluded Files
- Supported Platforms: Linux, Windows, macOS