nuxt / content

The file-based CMS for your Nuxt application, powered by Markdown and Vue components.
https://content.nuxt.com
MIT License
3.14k stars 628 forks source link

When running nuxt generate, if there is a dot (".") in the path of a content file, the gives 404 #2765

Closed pmcp closed 1 day ago

pmcp commented 2 months ago

Environment

Reproduction

You can find a test repo here: https://github.com/pmcp/nuxtContentPathIssue

If a page is added to the content folder that has a dot, it will not be generated when running nuxt generate.

Describe the bug

I don't know if this by design, but I couldn't find any info about this. If I overlooked, I apologise!

I came across the issue that when I generate pages, they won't generate. After some test I've found out that the reason was dots in the path of the pages.

In the test repo I have a file with and without a dot. You can see when generating that only the file without dot gets generated.

Additional context

I use DecapCMS, with content in different languages. The i18n setup of Decap uses dots in the paths of the files to distinguish between languages (https://decapcms.org/docs/i18n/).

Logs

No response

pmcp commented 2 months ago

I just found another issue mentioning the same error: https://github.com/nuxt/content/issues/2368

farnabaz commented 2 months ago

This is related to Nitro's pre-render logic which does not crawl routes with unknown extension. (Having do in file name is like having a dot in a route, and characters after dot will taken as file extension)

What you can do it to manually add those routes into routeRules in nuxt.config.ts. In your case:

export default defineNuxtConfig({
  routeRules: {
    '/about.something': { prerender: true },
  }
})
github-actions[bot] commented 1 week ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.