14 |
15 | ````
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "build": "nuxt build",
5 | "dev": "nuxt dev",
6 | "generate": "nuxt generate",
7 | "preview": "nuxt preview",
8 | "postinstall": "nuxt prepare",
9 | "test": "vitest"
10 | },
11 | "devDependencies": {
12 | "@nuxt/content": "^2.2.2",
13 | "@nuxtjs/color-mode": "^3.2.0",
14 | "@nuxtjs/i18n": "^8.0.0-beta.6",
15 | "nuxt": "3.0.0",
16 | "vitest": "^0.25.3"
17 | },
18 | "dependencies": {
19 | "@nuxtjs/tailwindcss": "^6.1.3",
20 | "nuxt-icon": "^0.1.8"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/utils/README.md:
--------------------------------------------------------------------------------
1 | # `utils/` [Directory](https://nuxt.com/docs/guide/directory-structure/utils)
2 |
3 | Nuxt 3 uses the `utils/` directory to automatically import helper functions and other utilities throughout your application using auto-imports!
4 |
5 | >> The main purpose of the `utils/` directory is to allow a semantic distinction between your Vue composables and other auto-imported utility functions.The way utils/ auto-imports work and are scanned is identical to the [composables/ directory](https://nuxt.com/docs/guide/directory-structure/composables). You can see examples and more information about how they work in that section of the docs.
--------------------------------------------------------------------------------
/components/README.md:
--------------------------------------------------------------------------------
1 | # `components/` [Directory](https://nuxt.com/docs/getting-started/views#components)
2 |
3 | Most components are reusable pieces of the user interface, like buttons and menus. In Nuxt, you can create these components in the `components/` directory, and they will be automatically available across your application without having to explicitly import them.
4 |
5 | *app.vue*
6 | ````html
7 |
8 | This page will be displayed at the /about route.
24 |
17 |
18 | ````
19 |
20 | >> Nuxt won't serve files in the `assets/` directory at a static URL like `/assets/my-file.png`. If you need a static URL, use the `public/` directory.
--------------------------------------------------------------------------------
/middleware/README.md:
--------------------------------------------------------------------------------
1 | # `middleware/` [Directory](https://nuxt.com/docs/guide/directory-structure/middleware)
2 |
3 | Nuxt provides a customizable **route middleware** framework you can use throughout your application, ideal for extracting code that you want to run before navigating to a particular route.
4 |
5 | >> Route middleware run within the Vue part of your Nuxt app. Despite the similar name, they are completely different from server middleware, which are run in the Nitro server part of your app.
6 |
7 | There are three kinds of route middleware:
8 |
9 | 1. Anonymous (or inline) route middleware, which are defined directly in the pages where they are used.
10 |
11 | 2. Named route middleware, which are placed in the `middleware/` directory and will be automatically loaded via asynchronous import when used on a page. (Note: The route middleware name is normalized to kebab-case, so `someMiddleware` becomes `some-middleware`.)
12 |
13 | 3. Global route middleware, which are placed in the `middleware/` directory (with a `.global` suffix) and will be automatically run on every route change.
14 |
15 | The first two kinds of route middleware can be defined in `definePageMeta`.
16 |
17 | [Here](https://nuxt.com/docs/guide/directory-structure/middleware) is more info about middleware.
--------------------------------------------------------------------------------
/public/pwa/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Nuxt PWA Template",
3 | "short_name": "Nuxt PWA",
4 | "description": "A awesome PWA template build with Nuxt",
5 | "start_url": "https://nuxt3-template.netlify.app/",
6 | "display": "standalone",
7 | "orientation": "portrait",
8 | "background_color": "#121212",
9 | "theme_color": "#121212",
10 | "scope": "https://nuxt3-template.netlify.app/",
11 | "icons": [{
12 | "src": "icons/icon48.png",
13 | "sizes": "48x48",
14 | "type": "image/png"
15 | }, {
16 | "src": "icons/icon72.png",
17 | "sizes": "72x72",
18 | "type": "image/png"
19 | }, {
20 | "src": "icons/icon96.png",
21 | "sizes": "96x96",
22 | "type": "image/png"
23 | }, {
24 | "src": "icons/icon144.png",
25 | "sizes": "144x144",
26 | "type": "image/png"
27 | }, {
28 | "src": "icons/icon168.png",
29 | "sizes": "168x168",
30 | "type": "image/png"
31 | }, {
32 | "src": "icons/icon192.png",
33 | "sizes": "192x192",
34 | "type": "image/png"
35 | }, {
36 | "src": "icons/icon512.png",
37 | "sizes": "512x512",
38 | "type": "image/png",
39 | "purpose": "any maskable"
40 | }]
41 | }
--------------------------------------------------------------------------------
/components/AppHeader.vue:
--------------------------------------------------------------------------------
1 |
2 | This page will be displayed at the /about route.
35 |
3 |
4 | # Nuxt PWA
5 |
6 | [![Generic badge](https://img.shields.io/badge/Nuxt-3.0.0-