Changelog

Discover the latest release of nuxt Content.

v2.3.0

Description

🚀 Enhancements

  • module: Introduce api.baseURL and deprecate base (#1695)
  • Unique api calls per build (#1705)
  • shiki: Expose highlighting utils (#1727)
  • document-driven: Introduce start and finish hooks (#1744)
  • query: Fully cacheable api (#1752) (This could enable under stripQueryParameters experimental flag)

🩹 Fixes

  • markdown: Resolve custom shiki languages (#1692)
  • clientDB: Disable clientDB if token is set and has falsy value (#1700)
  • shiki: Issue with merging multiple themes (#1703)
  • query: Invalid response on missing content (#1706)
  • test: Typo (#1707)
  • markdown: Remove double and trailing dashes from heading ids (#1711)
  • ws: Prevent port conflict on running multiple instances (#1721)
  • markdown: Remove extra dash from heading id (4c376587)
  • Typo (a7912af1)
  • build: Invalid cache route handler (ae138a87)
  • ContentRendererMarkdown: Recreate vNodes in render function (#1734)
  • query: Fallback to default locale if query has no filter on _locale (#1748)
  • module: Put query parameters removal under an experimental flag (#1757)
  • Add missing imports (5285db01)

💅 Refactors

  • ContentRenderer: Simplify conditions (#1715)
  • Shiki: Prepare Shiki highlighter for external usage (#1720)

📖 Documentation

🏡 Chore

  • Upgrade deps (#1691)
  • logging: Cleanup logging (#1733)

❤️ Contributors

v2.2.2

Description

🩹 Fixes

  • ContentRenderer: Empty content detection (#1653)
  • ContentList: Handle props change and fix slots default (#1668)

💅 Refactors

  • Improve typings and simplify logic (#1669)

📖 Documentation

  • Fix error in ContentQuery where clause example (#1643)
  • Update sources (#1664)
  • a11y: Use list for nav example (#1670)

🏡 Chore

❤️ Contributors

  • Farnabaz
  • Novellac
  • Sébastien Chopin (@Atinux)
  • Brett Ormsby

v2.2.1

Description

🩹 Fixes

  • module: Do not warn when sources is empty (42fffc98)
  • module: Set default hostname for dev socket (#1624)
  • Document Driven: Layout prefetching (#1637)
  • MarkdownParser: Refine content path in anchor link (#1629)

📖 Documentation

🏡 Chore

❤️ Contributors

  • Ahad Birang
  • Nobkd
  • Selemondev
  • Sébastien Chopin

v2.2.0

Description

🚀 Enhancements

  • document-driven: Support navigation.redirect from _dir files (#1545)
  • Spa mode (#1525)
  • Config for anchor link generation of headings (#1564)
  • parser: Introduce _dir field in contents (#1613)

🔥 Performance

  • build: Build caches before pre-rendering contents (#1530)

🩹 Fixes

  • module: Make documentDriven configs optional (#1539)
  • Add missing imports (451b000e)
  • Missing imports on preview mode (f9f161b1)
  • Use relative .md link (#1556)
  • module: Multi-source array (#1578)
  • navigation: Missing composable when navigation is disabled (#1577)
  • Ignore built content in preview mode (bc01cde3)
  • ClientDB: Drop LocalStorage (7afd857b)
  • client-db: Race-condition on multiple calls (c11a4800)
  • <ContentList>: Respect query.path when path is missing (#1598)
  • <ContentDoc>: Render blink in SSG (#1600)
  • Update h3 usage with explicit defineEventHandler (#1603)
  • anchorLinks: Add useRuntimeConfig imports (#1605)
  • runtime: Detect 404 api responses in SSG (#1608)
  • queryContent: Use path argument as prefix if there is another condition (#1612)

📖 Documentation

  • Fix type client only -> client-only (#1535)
  • content-list: Updated query reference and added example (#1548)
  • Add search (#1575)
  • Update algolia key (9e91948e)
  • Cleanup deps (#1582)
  • Upgrade Content version (c76c5a75)
  • Broken link on Markdown API page (#1588)
  • composables: Fix close tag ContentRenderer (#1597)
  • Update badge style (49b1c4cc)
  • Update cover (ba2aeb45)
  • No need to register manually nitro plugin (b6bbb42c)
  • Fix nitro plugins link (0259a901)
  • Update findSurround usage (#1609)
  • Guidance on using local images (#1617)

🏡 Chore

❤️ Contributors

  • Ahad Birang
  • Jan-Henrik Damaschke
  • Michel EDIGHOFFER
  • Nobkd
  • Percy Ma
  • Pooya Parsa
  • Ramses Garate
  • Remiconnesson
  • Sai Deepesh
  • Sébastien Chopin

v2.1.1

Description

🩹 Fixes

  • document-driven: Sync page layout (#1519)
  • document-driven: Disable static payload (#1526)

📖 Documentation

  • document-driven: Remove edge channel info (#1462)
  • Update title & description (#1505)
  • document-driven: Fix typo (#1512)

❤️ Contributors

  • Ahad Birang
  • Nobkd
  • Okoro Redemption
  • Sébastien Chopin

v2.1.0

Description

✨ Highlights

  • Introducing the Document Driven mode, an easy and powerful way to create Markdown-based websites!
  • Allow using variables in Markdown contents (#1266)
  • Improve type support for WebStorm #1288
  • <Markdown> is deprecated in favor of new <ContentSlot /> component. The usage is the same as before.

🚀 Enhancements

  • types: Provide augmentations for only and without (#1200)
  • types: Expose MarkdownParsedContent for improved type generics (#1199)
  • navigation: Allow passing QueryBuilder or QueryBuilderParams in fetchNavigation or <ContentNavigation> (#1206)
  • markdown: Allow overwriting plugins (#1226)
  • config: Allow ws config (#1249)
  • markdown: Support multiple themes for code highlighter (#1251)
  • navigation: Allow _dir.yml to filter navigation (#1261)
  • source: Allow overwriting default source (#1273)
  • Variable binding (#1266)
  • document-driven: Add document-driven as a @nuxt/content feature (#1279)
  • docs: Upgrade docus (3adf4e5)
  • use-content-head: Add helper for <head> binding (#1295)
  • document-driven: Add caching layer on client-side (#1312)
  • Add web-types.json for WebStorm (#1288)
  • Support navigation field in content and _dir.yml (#1328)
  • Disable document driven with route meta (#1333)
  • tailwindcss: Support tailwindcss classes in content (with hmr) (#1351)
  • Improve where query types (#1359)
  • Export transformers (#1374)
  • DocumentDriven configuration (#1378)
  • <markdown>: Support fallback default slot (#1405)
  • Create index for path base search (#1401)
  • Pre fetch contents on build (#1411)
  • Per-page components (#1429)
  • Implement csv parser with unist/mircomark stack (#1468)
  • generate: Use nitro header instead of header link (#1502)

🩹 Fixes

  • navigation: Allow navigation opt-out with navigation: false (#1208)
  • types: More accurately represent ParsedContentMeta (#1196)
  • types: Change QueryBuilderParams keys to partial (#1203)
  • ContentQuery: Handle null data (#1230)
  • markdown: Issue with h1-6 tags (#1223)
  • markdown: Detect inline component followed non whitespace characters (#1227)
  • query: Use exact match for findOne (#1224)
  • query: Surround and only cannot be used at the same time (#1238)
  • storage: Warn & ignore files with invalid characters (#1239)
  • lint: Fix linting (ellipsis.vue) (855bb38)
  • ContentQuery: Add condition if value is undefined (6a05508)
  • mdc-parser: Minor fixes in markdown generation (caf9b83)
  • highlight: Preload common languages (#1278)
  • query: Handle array fields in $in operator (#1277)
  • document-driven: Update documentDriven feature (#1294)
  • highlight: Warn about languages dynamic loading (#1291)
  • markdown: Generate depth field in TOC for h5 & h6 (#1296)
  • Support layout from defined vue page in DDM (48fc30b)
  • ignore: Fix ignore paths injected from the module (97f1d74)
  • runtime: ContentRenderer extra props (#1300)
  • Remove _theme.yml fetch with doc driven by default (#1310)
  • ContentRendererMarkdown: Preload components used in content (#1309)
  • markdown: Attributes of span inside headings (#1307)
  • Handler files with index as substring (#1334)
  • document-driven: Rendering flash (#1336)
  • DocumentDrivenNotFound shall use the layout (d41205a)
  • highlight: Remove @nuxt/kit from runtime bundle (#1346)
  • document-driven: Add empty promise for disabled features (#1356)
  • hot: Mitigate empty code blocks (hotfix) (a13cca9)
  • lint: Fix linting (cbf08ad)
  • highlight: Respect highlight option (#1372)
  • Clone head.meta before manipulating (#1370)
  • prose-components: Use html anchor link in headings (#1381)
  • Support components/content in layers for extends (#1404)
  • document-driven: Throw 404 error when content is missing (#1394)
  • Import useRoute (#1408)
  • document-driven: Only set 404 status on SSR (#1409)
  • query: Do not create empty where (c71c79b)
  • content-index: Files in content directory has higher priority (#1414)
  • markdown: Add missing task list class (#1416)
  • Make sure components/content is on top in layers (#1418)
  • Remove (now deprecated) template utils (#1423)
  • pre-fetch: Support github driver (#1433)
  • query: Ensure where is set (10709ee)
  • json: Handle parsed content (#1437)
  • Avoid mutating _layers (#1455)
  • prerender: Add extension to pre-rendered queries (#1456)
  • <ContentRenderer>: Prioritize default slot (#1460)
  • useContentHead was not respecting og:image props (#1461)
  • document-driven: Avoid calling middleware on hash change (5a64f46)
  • runtime: Allow to give instance of the remark plugin (#1466)
  • useContentHead: Set title only if defined (9b9b648)
  • module: Do not add vue files to ignore list (#1476)
  • <MarkDown>: Prevent multiple deprecation log (#1497)

💅 Refactors

  • ⚠️ Spell extensions correctly (#1204)
  • Use remark-mdc package (#1315)
  • Extract nitro logic from transformers (#1352)

📖 Documentation

  • Fix typo (fff00b1)
  • Remove config redirect (04fe424)
  • Upgrade with latest docus (#1250)
  • Update playground (96c161d)
  • Update driverOptions (7adaed1)
  • Note about rendering content in Get Started (#1255)
  • Small typo (1b7fd92)
  • get-started: Minor fixes (#1274)
  • Add edge releases channel (58cae1d)
  • edge-channel: Update edge package name (fe1ebb5)
  • Upgrade @nuxt/content (3dc1f25)
  • Update document-driven page (90d04bb)
  • Move example of doc driven (6426160)
  • Improve examples (#1302)
  • Fix inline code block (#1303)
  • Fix missing slash (#1306)
  • Generate blog too (#1311)
  • Fix link to document-driven example (6e1ff3b)
  • Add template for doc-driven mode (a4ab944)
  • Fix the link-id for the surround EN v1 docs (#1321)
  • Missing , (#1330)
  • Specify version in v1 installation guide (85e22ac)
  • Remove doubled . from filename (docs FR v1) (#1323)
  • Add edge channel for document-driven mode (4b23370)
  • Improve catch-all section in document-driven mode (93813f9)
  • Fix typo (e82fed4)
  • sitemap: Add npm and pnpm install script (#1349)
  • Add deploy section (#1347)
  • api: QueryContent().sort() descending sorting (#1364)
  • Add article 'a' to sentence (#1395)
  • Move fetchContentNavigation into function (#1403)
  • Upgrade deps (#1424)
  • Upgrade deps " (#1424)
  • Fix typo 'Convent' -> 'Content' (#1442)
  • Describe highlight.preload (#1436)
  • Add pnpm as project start option (#1450)
  • Excerpt (#1441)
  • Document transformers (#1453)
  • Temporary use <Markdown> (ac95d13)
  • README: Fix link to MDC syntax (#1467)
  • querying: Add _params to api routes (#1463)
  • Playground content from query (#1499)
  • Upgrade docus (#1503)
  • Update home page (d7bd2b1)
  • Update social image (8cdae3e)

🏡 Chore

  • Typo (fd1c56d)
  • docs: Upgrade docs (d0ee386)
  • prepare: Prepare for 2.1.0 release (update version) (3dd85b5)
  • playground: Add example with ddm and vue page (07d7988)
  • Remove style and rename document-driven class (8bf9154)
  • Add page:content:start hook (45f696b)
  • Rename to content:middleware:start (63749d2)
  • Remove unctx from dependencies (#1413)
  • Deprecate markdown component (#1435)
  • Upgrade to nuxt rc9 (#1498)
  • Use latest docus (ef5c3ec)

⚠️ Breaking Changes

  • ⚠️ Spell extensions correctly (#1204)

❤️ Contributors

  • Ahad Birang
  • Alexey Tuzov
  • Benjamin Canac
  • Clément Ollivier
  • Daniel Roe
  • Farnabaz
  • Gregor Becker
  • Gustavo Alfredo Marín Sáez
  • Harlan Wilton
  • Itshizhan
  • Kot
  • Kotaro Yabe
  • Lukas Von Blarer
  • Maciej Błędkowski
  • Nobkd
  • Pooya Parsa
  • Rem
  • Sébastien Chopin
  • Vinayak Kulkarni
  • Vinccool96
  • Yaël Guilloux

v2.0.1

Description

Important notes

Since #1176, we've modified the descending sorting behavior to be -1 instead of 0 to stick with Mongo sort syntax.

- queryContent('/my-directory').sort({ createdAt: 0 })+ queryContent('/my-directory').sort({ createdAt: -1 }) 

Features

We added content:file:beforeParse and content:file:afterParse hooks to manipulate the data before and after its transformation, you can read more in the advanced section of the documentation. PR #1160 by @farnabaz

Fixes

Docs

Misc

  • chore(deps): update devdependency lint-staged to ^12.4.3 by @renovate in #1173
  • chore(deps): update all non-major dependencies by @renovate in #1134
  • chore(deps): lock file maintenance by @renovate in #1172
  • chore(deps): update devdependency lint-staged to ^12.5.0 by @renovate in #1186

New Contributors

Full Changelog: https://github.com/nuxt/content/compare/2.0.0...2.0.1

v2.0

Description

@nuxt/content v2

After months of work we are finally officially releasing @nuxt/content v2.

This update main objective was to be fully compatible with Nuxt 3.

It also comes with new features and possibilities to discover:

  • <ContentDoc>, <ContentList>, and other powerful new components
  • A Markdown syntax made for Vue components (MDC)
  • Navigation generation
  • Code highlighting with Shiki

In addition to all the current features from @nuxt/content v1:

  • Powerful query builder (MongoDB like)
  • Blazing fast hot module replacement in development
  • Table of contents generation
  • Queries into CSV, YAML and JSON(5) content
  • Extend with hooks and content plugins
  • ...and more

❤️ Thanks

This could not have been possible without the hard work from the @nuxt community!

A special thanks to @farnabaz, @Atinux, @pi0, @danielroe, @clemcode who all closely contributed to this release.

v1.14.0

Description

🚀 Features

🐛 Bug Fixes

v1.13.1

Description

🐛 Bug Fixes

v1.5.0

Description

🚀 Features

  • #243 Add content:ready hook
  • #258 Add classes for live editing
  • #254 Allow override of createdAt and updatedAt properties
  • #256 Add custom parsers
  • #284 Ignore content/ folder on generate for NuxtJS v2.14
  • #285 Add option to disable live edit
  • #289 Handle textarea tab + shift tab events

🐛 Bug Fixes

  • #230 Properly handle anchor tags without href fields
  • #238 Use compound sort + apply skip and limit at the very end
  • #248 Join array props in nuxt-content component
  • #249 Replace fs with graceful-fs
  • #251 Pass globalName to client plugin
  • #280 Ensure path and extension on dev mode
  • #279 Improve toc heading parsing
  • #223 Improve nuxt-content attributes handling
  • #287 Improve options merging when no default value

💖 Thanks to

v1.4.1

Description

🐛 Bug Fixes

  • #208 Add without method to types

📖 Documentation

The documentation has been improved with design and content updates, a new "Examples" section has been added, ...

v1.4.0

Description

🚀 Features

  • #182 Support .xml file format
  • #190 Support where query params in API middleware
  • #164 Global components import using @nuxt/components
  • #179 Add .without() method to exclude fields
  • #167 Parse .yml file format
  • #125 Live editing markdown content
  • #126 Option to return unparsed markdown in text
  • #121 Slots in rendering Vue.js components
  • #65 / #183 Customization of rehype plugins

🐛 Bug Fixes

  • #165 Handle classes on nuxt-content component
  • #180 SPA mode
  • #149 Promise type on fetch
  • #143 Attributes case in html rendering

💖 Thanks to

v1.3.2

Description

Bug Fixes

  • avoid date mismatch with API #119
  • use router basepath in client plugin #53
  • handle router base #78

Documentation

v1.3.1

Description

Bug Fixes

  • types: args can be an array of strings / objects (b2c2c13)

v1.3.0

Description

Features

  • support custom return types by the fetch method (#42)
  • support nested properties query using dot-notation (#60)
  • support fetching files from subdirectories (#63)

Bug Fixes

  • decodeURI before searching query (#55)

v1.2.0

Description

Features

v1.1.0

Description

Add support for Markdown footnotes

v1.0.2

Description

Added TypeScript support.

Read more on https://content.nuxtjs.org/installation/#typescript

v1.0.0

Description

The official version is out ✨

Read more on https://content.nuxtjs.org

v1.15.1

Description

Bug Fixes

v1.15.0

Description

Bug Fixes

  • content: add missing :is="tag" to nuxt-content-container (ef7b18d)
  • content: merge class and style attribute (#905) (d905ffe)
  • content: prevent editor extending on typing (#933) (d4dce1e)
  • content: update type definition for QueryBuilder.fetch() (#825) (4cc224e)
  • terminal time log information display error (#891) (1f12dd5)

Features

v1.13.0

Description

🚀 Features

  • Support PrismJS diff-highlight plugin (#755) · 3c2186a

🐛 Bug Fixes

  • Use top 2 level of nodes to generate table of contents (#757) · fe4de6b

💖 Thanks to

v1.12.0

Description

🚀 Features

🐛 Bug Fixes

  • Failed ci on windows and enhance file name detection regex (#680) · f445444
  • Properly treat falsy values in context (#685) · 228f7e0
  • Codeblock parse lang should support other meta (#691) · 881f6d4
  • Change types (#732) · a6274e4

💖 Thanks to

v1.11.1

Description

v1.11.0

Description

🚀 Features

  • #600 Support dynamic table of contents
  • #607 Support markdown excerpt
  • #618 Add content:options hook

🐛 Bug Fixes

  • #620 Fix websockets with alternative server
  • #621 Support space after codeblock for filename
  • #625 Add missing types
  • #636 Fix named slots rendering

💖 Thanks to

v1.10.0

Description

🚀 Features

  • #486 Handle json array parsing

🐛 Bug Fixes

  • #509 Fix tab key handling of editor component with IME
  • #518 Fix incorrect typings for fetch method
  • #525 Includes types folder in package files
  • #548 Register components/global/ folder only if exists

💖 Thanks to

v1.9.0

Description

🚀 Features

  • #467 Add custom highlighter
  • #462 #444 Improve types
  • #453 Add content:file:beforeParse hook

💖 Thanks to

v1.8.1

Description

🐛 Bug Fixes

  • 39fd508 Add other missing dependencies

v1.8.0

Description

🚀 Features

  • #442 Add database as second argument to beforeInsert hook

🐛 Bug Fixes

  • #449 Add missing package detab

💖 Thanks to

v1.7.1

Description

🐛 Bug Fixes

  • #429 Offline mode with pwa module
  • #438 Write db.json with hash in name

💖 Thanks to

v1.7.0

Description

🚀 Features

  • #312 Add custom editor API

🐛 Bug Fixes

  • #404 Fix v-bind inside nuxt-content component
  • #408 Use defu.arrayFn instead of custom merger
  • #409 Improve typings

💖 Thanks to

v1.6.0

Description

🚀 Features

  • #327 Better typescript typings

🐛 Bug Fixes

  • #350 Options (text) were not forwarded on client-side when using nuxt generate
  • #359 Use property-information to convert hast attributes

💖 Thanks to

v1.5.3

Description

🐛 Bug Fixes

  • 7700762 Remove @nuxt/content cycle dependency

v1.5.2

Description

📖 Documentation

  • 699fdf3 Publish README.md to npm following refactor to lerna

v1.5.1

Description

🐛 Bug Fixes

  • #231 Comply with possible custom dir
  • 4b3417e Improve update of document in database when dev mode watch