# hexo v7.0.0 - Product: hexo (https://whatsnew.fyi/product/hexo) - Vendor: hexojs - Date: 2023-10-31 - Version: v7.0.0 - Original notes: https://github.com/hexojs/hexo/releases/tag/v7.0.0 - Permalink: https://whatsnew.fyi/product/hexo/releases/v7.0.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **removed** — Drop gist tag - **removed** — Drop youtube tag - **removed** — Drop jsfiddle tag - **removed** — Drop vimeo tag - **removed** — Drop external_link boolean type - **removed** — Drop use_date_for_updated option for updated_option - **removed** — Remove front-matter property link - **changed** — Require Node 14 or higher - **changed** — Refactor syntax highlighting with new configuration option syntax_highlighter - **changed** — Migrate codebase to TypeScript - **changed** — Use WHATWG URL API instead of url.resolve - **added** — Add extend API for highlight - **added** — Search for both slug and title in post_link tag - **added** — Support quotes in img tag title and alt - **added** — Support default title from path in console-new command - **added** — Add option to disable titlecase in post - **added** — Add exclude_languages feature to prismjs - **added** — Use slug when title is empty in post_link tag - **added** — Add url_for and full_url_for tag plugins - **added** — Allow top-level await in plugins or scripts - **added** — Define global variable hexo ##### Migration Guide ###### built-in tags > **WARNING** > Some of the built-in tags have been dropped (`gist`, `youtube`, `jsfiddle`, and `vimeo`). If you use those tags in your existing blog posts, you can install [hexo-tag-embed](https://github.com/hexojs/hexo-tag-embed) to continue using them with Hexo `v7.0.0`. > **Note** > No need to install it if you are not using (or will not use) `gist`, `youtube`, `jsfiddle`, `vimeo` tags in your post or page. ```sh $ npm i hexo-tag-embed ``` ###### Syntax highlighting > **WARNING** > Syntax highlighting is refactored and controlled by the following settings. See [Syntax Highlighting](https://hexo.io/docs/syntax-highlight#Configuration) for more details. ```yaml syntax_highlighter: highlight.js # highlight.js | prismjs | ``` ##### Breaking Changes * chore: require node14+ by @yoshinorin in https://github.com/hexojs/hexo/pull/5061 * Dropped tag features. Please see `Migration Guid` section. * refactor: drop `gist` tag by @yoshinorin in https://github.com/hexojs/hexo/pull/5067 * refactor: drop `youtube` tag by @yoshinorin in https://github.com/hexojs/hexo/pull/5064 * refactor: drop `jsfiddle` tag by @yoshinorin in https://github.com/hexojs/hexo/pull/5066 * refactor: drop `vimeo` tag by @yoshinorin in https://github.com/hexojs/hexo/pull/5065 * Dropped features * refactor: drop `external_link` boolean type by @yoshinorin in https://github.com/hexojs/hexo/pull/5063 * refactor: drop `use_date_for_updated` option for `updated_option` by @yoshinorin in https://github.com/hexojs/hexo/pull/5062 * feat(post): remove front-matter property `link` (#5253) by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5253 * revert: Access data files from source folder (#1969) (#5325) by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5325 * refactor highlight: add extend api for highlight by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5095 ##### Notable Changes * Migrate TypeSctipt * refactor: prepare for migration to typescript by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5094 * refactor: migrate typescript by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5092 * Refactor types by @Pcrab in https://github.com/hexojs/hexo/pull/5178 ##### New Features * feat(tags/post_link): search for both slug and title by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5114 * feat(open_graph): drop google_plus by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5115 * feat(tags/img): support quotes in img title and alt by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5112 * feat(console-new): support default title from path by @xu-song in https://github.com/hexojs/hexo/pull/4714 * feat: add an option to disable titlecase in post by @renbaoshuo in https://github.com/hexojs/hexo/pull/5156 * feat: add exclude_languages feature to prismjs by @D-Sketon in https://github.com/hexojs/hexo/pull/5182 * feat(tags/post_link): use slug when title is empty by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5220 * feat: add url_for and full_url_for tag plugins by @D-Sketon in https://github.com/hexojs/hexo/pull/5198 * feat: allow top-level await in plugins or scripts by @Pcrab in https://github.com/hexojs/hexo/pull/5228 * feat: define global variable hexo (#5242) by @dimaslanjaka in https://github.com/hexojs/hexo/pull/5242 ##### Fixes * fix(#1099): hexo server error when changing the config by @D-Sketon in https://github.com/hexojs/hexo/pull/5055 * fix: exclude_languages does not work in code blocks by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5088 * When promisifying, store does not preserve disableNunjucks property by @tcr in https://github.com/hexojs/hexo/pull/2670 * fix(post): skip before_post_render and after_post_render on non-posts by @stevenjoezhang in https://github.com/hexojs/hexo/pull/5118 * fix: Failed to create p _[Truncated at 4000 characters — full notes: https://github.com/hexojs/hexo/releases/tag/v7.0.0]_