app/
- Updated on
The app/ directory is where most of your pages and api routes will live.
In Next.js, this is referred to as "App Router".
What's inside?
Depending on the configuration you chose in the Shipixen app, the resulting codebase/boilerplate may contain a number of different files inside this directory.
Here's an overview:
app/[...slug]this is a catch-all route that will match any path that isn't matched by another route. This is where dynamic pages live, such as blog posts, tag pages etc. If no page is found for the given path, thenot-found.tsxpage will be rendered.app/aboutthis is a static page that will be rendered at/aboutapp/all-articlesthis will render the 'homepage' of your blog; a list of all articles and tags that were automatically generated from your markdown files.app/apithis is where your api routes live. You can read more about this in the API Routes section. Shipixen comes with an API route to dynamically render your OpenGraph image.app/pricingthis is a static page that will be rendered at/pricingapp/privacythis is a static page that will be rendered at/privacyapp/tagsthis contains the dynamic tag pages that will be rendered at/tags/[tag]etc.app/termsthis is a static page that will be rendered at/termsapp/layout.tsxthis is the layout component that wraps all pages. You can add global styles and components here.app/not-found.tsxthis is the page that will be rendered if no page is found for a given path.app/page.tsxthis is the page that will be rendered for the root path/. You can use this to render a custom homepage.app/robots.tsthis is the robots.txt file that will be served at/robots.txtapp/seo.tsxthis is the component that will be used to render the SEO tags for each page. You can add custom SEO tags here.app/sitemap.tsthis is the sitemap.xml file that will be served at/sitemap.xmlapp/theme-providers.tsxthis component usednext-themesto wrap the entire app in a theme provider. You can add custom theme providers here. Read more on next-themes
You can modify the default og:image by changing the jsx in `app/api/og/route.tsx`
