From 1b761460861e39a12eb07d3c24dadc7fdbdf2d9d Mon Sep 17 00:00:00 2001 From: Ivo Dolenc Date: Sun, 27 Nov 2022 21:28:46 +0100 Subject: [PATCH] break: update to `nuxt-3` stable --- .config/eslint.config.cjs | 30 + .prettierrc.js => .config/prettier.config.cjs | 0 .editorconfig | 15 +- .eslintignore | 10 - .eslintrc.js | 30 - .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/assets/cover22.svg | 1 - .github/release.yml | 21 + .gitignore | 10 +- .husky/.gitignore | 1 - .husky/commit-msg | 4 - .husky/pre-commit | 4 - .prettierignore | 9 +- CHANGELOG.md | 35 +- LICENSE | 4 +- README.md | 384 +- commitlint.config.js | 3 - examples/README.md | 1 - examples/advanced/assets/css/main.css | 3 - examples/advanced/nuxt.config.js | 27 - examples/custom/assets/css/main.css | 3 - examples/custom/nuxt.config.js | 14 - examples/google/assets/css/main.css | 3 - examples/google/nuxt.config.js | 15 - examples/local/assets/css/main.css | 3 - examples/local/nuxt.config.js | 9 - examples/local/static/fonts/I-300.woff2 | Bin 103944 -> 0 bytes examples/local/static/fonts/I-400.woff2 | Bin 98804 -> 0 bytes examples/local/static/fonts/I-500.woff2 | Bin 105500 -> 0 bytes examples/local/static/fonts/I-600.woff2 | Bin 105992 -> 0 bytes examples/local/static/fonts/font-face.css | 40 - examples/multiple-sources/assets/css/main.css | 11 - examples/multiple-sources/nuxt.config.js | 51 - .../multiple-sources/static/fonts/I-300.woff2 | Bin 103944 -> 0 bytes .../multiple-sources/static/fonts/I-400.woff2 | Bin 98804 -> 0 bytes .../multiple-sources/static/fonts/I-500.woff2 | Bin 105500 -> 0 bytes .../multiple-sources/static/fonts/I-600.woff2 | Bin 105992 -> 0 bytes .../static/fonts/font-face.css | 40 - package-lock.json | 8932 +++++++++++++++++ package.json | 71 +- playground/app.vue | 14 + playground/nuxt.config.ts | 22 + playground/package.json | 4 + playground/public/fonts/AspektaVF.woff2 | Bin 0 -> 28516 bytes scripts/release.ts | 67 + src/index.js | 255 - src/module.ts | 35 + src/types.ts | 136 + src/utils/generateHead.ts | 58 + src/utils/index.ts | 1 + templates/plugin.js | 31 - tsconfig.json | 3 + yarn.lock | 2811 ------ 53 files changed, 9571 insertions(+), 3652 deletions(-) create mode 100644 .config/eslint.config.cjs rename .prettierrc.js => .config/prettier.config.cjs (100%) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js delete mode 100644 .github/assets/cover22.svg create mode 100644 .github/release.yml delete mode 100644 .husky/.gitignore delete mode 100755 .husky/commit-msg delete mode 100755 .husky/pre-commit delete mode 100644 commitlint.config.js delete mode 100644 examples/README.md delete mode 100644 examples/advanced/assets/css/main.css delete mode 100644 examples/advanced/nuxt.config.js delete mode 100644 examples/custom/assets/css/main.css delete mode 100644 examples/custom/nuxt.config.js delete mode 100644 examples/google/assets/css/main.css delete mode 100644 examples/google/nuxt.config.js delete mode 100644 examples/local/assets/css/main.css delete mode 100644 examples/local/nuxt.config.js delete mode 100644 examples/local/static/fonts/I-300.woff2 delete mode 100644 examples/local/static/fonts/I-400.woff2 delete mode 100644 examples/local/static/fonts/I-500.woff2 delete mode 100644 examples/local/static/fonts/I-600.woff2 delete mode 100644 examples/local/static/fonts/font-face.css delete mode 100644 examples/multiple-sources/assets/css/main.css delete mode 100644 examples/multiple-sources/nuxt.config.js delete mode 100644 examples/multiple-sources/static/fonts/I-300.woff2 delete mode 100644 examples/multiple-sources/static/fonts/I-400.woff2 delete mode 100644 examples/multiple-sources/static/fonts/I-500.woff2 delete mode 100644 examples/multiple-sources/static/fonts/I-600.woff2 delete mode 100644 examples/multiple-sources/static/fonts/font-face.css create mode 100644 package-lock.json create mode 100644 playground/app.vue create mode 100644 playground/nuxt.config.ts create mode 100644 playground/package.json create mode 100644 playground/public/fonts/AspektaVF.woff2 create mode 100644 scripts/release.ts delete mode 100644 src/index.js create mode 100644 src/module.ts create mode 100644 src/types.ts create mode 100644 src/utils/generateHead.ts create mode 100644 src/utils/index.ts delete mode 100644 templates/plugin.js create mode 100644 tsconfig.json delete mode 100644 yarn.lock diff --git a/.config/eslint.config.cjs b/.config/eslint.config.cjs new file mode 100644 index 0000000..1da99ef --- /dev/null +++ b/.config/eslint.config.cjs @@ -0,0 +1,30 @@ +module.exports = { + root: true, + + env: { + browser: true, + node: true, + es2022: true + }, + + parserOptions: { + sourceType: 'module', + ecmaVersion: 2022 + }, + + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + + ignorePatterns: [ + '.DS_Store', + 'node_modules', + 'package*', + '*.log*', + '.nuxt', + '.output', + '.cache', + '.env', + 'dist' + ] +} diff --git a/.prettierrc.js b/.config/prettier.config.cjs similarity index 100% rename from .prettierrc.js rename to .config/prettier.config.cjs diff --git a/.editorconfig b/.editorconfig index b16ca2c..07552cf 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,13 +1,18 @@ -# editorconfig.org +# https://editorconfig.org root = true [*] +charset = utf-8 +end_of_line = lf indent_size = 2 indent_style = space -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true insert_final_newline = true +max_line_length = 80 +trim_trailing_whitespace = true [*.md] -trim_trailing_whitespace = false \ No newline at end of file +max_line_length = 0 +trim_trailing_whitespace = false + +[COMMIT_EDITMSG] +max_line_length = 0 diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index b47d012..0000000 --- a/.eslintignore +++ /dev/null @@ -1,10 +0,0 @@ -node_modules -dist -.nuxt -coverage -*.log* -.DS_Store -.code -*.iml -package-lock.json -templates/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index b78c175..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - root: true, - - env: { - browser: true, - node: true - }, - - parser: '@babel/eslint-parser', - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020, - requireConfigFile: false - }, - - extends: ['eslint-config-prettier'], - - rules: { - 'no-debugger': 'warn', - 'no-console': 'warn', - - 'vue/html-self-closing': 'off', - 'vue/html-indent': 'off', - - 'vue/max-attributes-per-line': 'off', - 'vue/html-closing-bracket-newline': 'off', - 'vue/multiline-html-element-content-newline': 'off', - 'vue/singleline-html-element-content-newline': 'off' - } -} diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 6624c6c..127fbf0 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -32,7 +32,7 @@ body: attributes: label: Version description: Specify the exact version. - placeholder: '0.0.1' + placeholder: '1.0.0' - type: markdown attributes: value: | diff --git a/.github/assets/cover22.svg b/.github/assets/cover22.svg deleted file mode 100644 index 31a5b05..0000000 --- a/.github/assets/cover22.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..b752645 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,21 @@ +changelog: + categories: + - title: Breaking Changes ⚠️ + labels: + - breaking-change + - break + - title: New Features 🚀 + labels: + - feature + - enhancement + - feat + - title: Bug Fixes 🐛 + labels: + - bug + - fix + - title: Documentation 📖 + labels: + - docs + - title: Other Changes 🧑‍💻 + labels: + - '*' diff --git a/.gitignore b/.gitignore index c9eacf8..60cc260 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ +.DS_Store node_modules -*.iml -.idea +.private *.log* .nuxt -.vscode -.DS_STORE -coverage +.output +.cache +.env dist diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec..0000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index d71a03b..0000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 6483fe3..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn lint:eslint diff --git a/.prettierignore b/.prettierignore index 6284dc8..717a3ae 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,9 @@ +.DS_Store node_modules -.github +package-lock.json +*.log* .nuxt -dist \ No newline at end of file +.output +.cache +.env +dist diff --git a/CHANGELOG.md b/CHANGELOG.md index 558de1a..aa422f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,34 +1,3 @@ -# Changelog +# Release Notes 🥳 -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [1.1.5](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.1.4...v1.1.5) (2022-06-04) - -### [1.1.4](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.1.3...v1.1.4) (2022-03-30) - -### [1.1.3](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.1.2...v1.1.3) (2021-01-09) - - -### Bug Fixes - -* replace 'onNuxtReady' with 'globals.readyCallback' ([7735fb7](https://github.com/ivodolenc/nuxt-font-loader/commit/7735fb7cb89983897f9c9ab81e54f49308c77e28)) - -### [1.1.2](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.1.1...v1.1.2) (2020-12-03) - -### [1.1.1](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.1.0...v1.1.1) (2020-11-13) - -## [1.1.0](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.0.1...v1.1.0) (2020-11-09) - - -### Features - -* add support for loading multiple font sources at the same time ([fec5b16](https://github.com/ivodolenc/nuxt-font-loader/commit/fec5b168a6e16fbcfaba2361d36076f46652c342)) - -### [1.0.1](https://github.com/ivodolenc/nuxt-font-loader/compare/v1.0.0...v1.0.1) (2020-11-01) - - -### Bug Fixes - -* update package.json and fix eslint script ([f9af30c](https://github.com/ivodolenc/nuxt-font-loader/commit/f9af30c042bcf129351048f7901e407dadc42ab4)) - -## 1.0.0 (2020-10-28) +Check out the latest features and improvements. [See Releases →](https://github.com/ivodolenc/nuxt-font-loader/releases) diff --git a/LICENSE b/LICENSE index 9303c00..cb46bd2 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) Ivo Dolenc +Copyright (c) 2022 Ivo Dolenc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/README.md b/README.md index b0b9d9d..2745b0f 100644 --- a/README.md +++ b/README.md @@ -1,333 +1,299 @@ -

- -

+

Nuxt Font Loader

-

Nuxt Font Loader

- -Simple, modern and lightweight font loader for Nuxt projects. +

Simple, modern and lightweight font loader for Nuxt projects.

## Features -- Supports `all` types of font loading 🔥 (local, Google, Typekit, custom, etc.) -- Follows the best practice for `modern`, `fast` and `efficient` font loading -- Eliminates render-blocking resources and improves site performance by loading the font css asynchronously -- Includes settings for resource hints `prefetch`, `preconnect` and `preload` -- Super-easy to use without complicated settings and additional code bloat -- Minimal working configuration with just one line of code 🤯 -- Tested in `dev` and `prod` mode (supports SPA & SSR) -- Automatically sets the best settings based on your `url` option -- Supports loading `multiple` font sources at the same time -- Fully `customizable` settings for advanced usage +- Helps you to easily load fonts on your site +- Follows modern methods and practices +- Updated to Nuxt 3 Stable +- TypeScript friendly +- Super-easy to use ## Quick Start -1. Install `nuxt-font-loader` dependency to your project +1. Install `nuxt-font-loader` to your project -```bash -$ yarn add -D nuxt-font-loader # or npm i -D nuxt-font-loader +```sh +npm i -D nuxt-font-loader ``` -2. Enable `nuxt-font-loader` in the `buildModules` section +2. Enable `nuxt-font-loader` via the `modules` option ```js -// nuxt.config.js +// nuxt.config.ts -export default { - buildModules: ['nuxt-font-loader'], +{ + modules: ['nuxt-font-loader'], fontLoader: { - /* module options */ + local: [ + { + src: '/new-font.woff2', + family: 'Family Name' + } + ] } } ``` That's it! Start developing your app! -## Examples +## Font Loading + +The new `nuxt-font-loader` module brings an updated font loading system to your project. All customizations are now defined in the main `nuxt.config.ts` file so it's easier to use. + +At the moment, the `self-host` method is most recommended for handling fonts. In other words, it means that you can optimally load web fonts with performance, flexibility and privacy in mind. + +Download all fonts and serve them from the same _domain_ as your deployment to avoid _third-party_ server requests and potential _privacy_ issues. + +## Usage -Here are some code examples +Place the previously downloaded fonts in the `public/fonts/` directory. -- [Local](https://codesandbox.io/s/example-nuxt-font-loader-local-drpnf) -- [Google](https://codesandbox.io/s/example-nuxt-font-loader-google-btkvl) -- [Multiple sources](https://codesandbox.io/s/example-nuxt-font-loader-multiple-ho9ty) +The `local` option accepts an array of objects so you can specify as many fonts as you like. -### Local font loading +Here are simple example: ```js -// nuxt.config.js +// nuxt.config.ts -export default { +{ fontLoader: { - url: '/fonts/font-face.css' + local: [ + { + src: '/fonts/Aspekta.woff2', + family: 'Aspekta', + class: 'font-aspekta' // optional + } + ] } } ``` -```css -/* font-face.css */ - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('/fonts/I-300.woff2') format('woff2'); -} +That's it! You can now use it in the _templates_ like this: -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('/fonts/I-400.woff2') format('woff2'); -} -``` - -```css -/* Specify the font-family as usual */ - -html { - font-family: 'Inter', sans-serif; -} +```html + ``` -### Google font loading +### Multiple sources ```js -// nuxt.config.js +// nuxt.config.ts -export default { +{ fontLoader: { - url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap', - - prefetch: true, - preconnect: true + local: [ + { + src: '/fonts/Aspekta-300.woff2', + family: 'Aspekta', + weight: '300' + }, + { + src: '/fonts/Aspekta-400.woff2', + family: 'Aspekta', + weight: '400' + }, + { + src: '/fonts/Aspekta-500.woff2', + family: 'Aspekta', + weight: '500' + } + ] } } ``` -```css -/* Specify the font family as usual */ +## Module Options -html { - font-family: 'Inter', sans-serif; -} -``` +The module has been completely rewritten so it's _typescript_ friendly. + +It also improves the development experience with detailed descriptions, examples, and auto-hinted configuration right in the code editor. -### Custom font loading +### Defaults ```js -// nuxt.config.js +// nuxt.config.ts -export default { +{ fontLoader: { - // Paste a new custom link here (for example Typekit) - url: 'https://use.typekit.net/xxxxxxx.css', - - prefetch: true, - preconnect: true + local: [] } } ``` -```css -/* Specify the font family as usual */ - -html { - font-family: 'New Custom Family', sans-serif; -} -``` +### local -### Multiple sources usage example +- Type: `object[]` +- Default: `[]` -Automatically sets the best settings based on your `url` option +An array of objects that specifies local font sources. Each object is treated as a separate block of rules. ```js -// nuxt.config.js +// nuxt.config.ts -export default { +{ fontLoader: { - url: { - local: '/fonts/font-face.css', - google: 'https://fonts.googleapis.com/css2?family=Manrope&display=swap', - custom: 'https://use.typekit.net/xxxxxxx.css' - } + local: [ + { + src: '/fonts/AspektaVF.woff2', + family: 'Aspekta Variable', + weight: '100 900', + class: 'font-aspekta' + } + ] } } ``` -```css -/* Specify the font family as usual */ +### local.src -html { - font-family: 'Inter', sans-serif; /* Local */ -} +- Type: `string` +- Required: `true` -nav { - font-family: 'Roboto', sans-serif; /* Google */ -} +Specifies path to the font file. -h1 { - font-family: 'New Custom Family', sans-serif; /* Custom */ +```js +{ + src: '/path/to/font.woff2' } ``` -### Advanced usage example +### local.family -Use these methods only if you want to customize the `default` settings (optional) +- Type: `string` +- Required: `true` -```js -// nuxt.config.js +Defines the font family name. -export default { - fontLoader: { - url: 'https://fonts.googleapis.com/css2?family=Poppins&display=swap', +```js +{ + family: 'Family Name' +} +``` - prefetch: { - hid: 'my-font-prefetch' - }, +### local.weight - preconnect: { - hid: 'my-font-preconnect', - crossorigin: 'anonymous' - }, +- Type: `string` +- Default: `400` - preload: { - hid: 'my-font-preload' - }, +Defines the font weight. - noscript: { - hid: 'my-font-noscript' - } - } +```js +{ + // static weight + weight: '300' } ``` ```js -// nuxt.config.js - -export default { - fontLoader: { - url: { - local: '/fonts/font-face.css' - }, - - preload: { - local: { - hid: 'my-font-preload' - } - }, - - noscript: { - local: { - hid: 'my-font-noscript' - } - } - } +{ + // variable weight range + weight: '100 900' } ``` -> Following these examples, it is possible to customize all settings as needed +### local.display -## Module Options +- Type: `string` +- Default: `optional` +- Auto-hinted -Here are all the `default` options that can be used for customization: +Specifies how a font face is displayed. ```js -// nuxt.config.js - -export default { - fontLoader: { - url: { - local: undefined, - google: undefined, - custom: undefined - }, - prefetch: false, - preconnect: false, - preload: {}, - noscript: {}, - stylesheet: true - } +{ + display: 'swap' } ``` -### url +### local.style -- Default: `{}` +- Type: `string` +- Default: `normal` +- Auto-hinted -Defines the path of the css file that includes all `@font-face` rules. **This option is required.** +Defines the font style. -### prefetch +```js +{ + style: 'normal' +} +``` -- Default: `false` +### local.class -Enable this if you request fonts from a third-party server, such as Google, Typekit, etc. +- Type: `string` +- Default: `undefined` -When used with multiple sources method, this is enabled by default. +Defines the global css _class_ for the current source. -```html - +```js +{ + class: 'my-font' +} ``` -[More info](https://www.w3.org/TR/resource-hints/#dns-prefetch) - -### preconnect +Example above will generate global css class: -- Default: `false` - -Enable this if you request fonts from a third-party server, such as Google, Typekit, etc. +```css +.my-font { + font-family: 'family-name'; +} +``` -When used with multiple sources method, this is enabled by default. +So it can be used in templates: ```html - +

Font Loader

``` -[More info](https://www.w3.org/TR/resource-hints/#preconnect) - -### preload +### local.variable -- Default: `{}` +- Type: `string` +- Default: `undefined` -Preloads a css file to increase its priority. +Defines the global css _variable_ for the current source. -```html - +```js +{ + variable: 'my-font' +} ``` -[More info](https://www.w3.org/TR/preload/#introduction) - -### noscript - -- Default: `{}` +Example above will generate global css variable: -Provides a fallback option in case the user disables javascript. - -```html - +```css +:root { + --my-font: 'family-name'; +} ``` -[More info](https://www.w3schools.com/tags/tag_noscript.asp) - -### stylesheet +So it can be used in templates: -- Default: `true` +```css +h1 { + font-family: var(--my-font); +} +``` -Eliminates render-blocking effect and improves site performance by loading the font css asynchronously. +## Show Support -```html - -``` +This is a free and open source project available to everyone. If you like it, `leave a star` to show your support. -## Links +### Starring a repository -- [The Fastest Google Fonts](https://csswizardry.com/2020/05/the-fastest-google-fonts/) +Navigate to the top-right corner of the page and click the ☆ Star button. ## License -**Nuxt Font Loader** +### Nuxt Font Loader [MIT License](LICENSE) -Copyright (c) Ivo Dolenc +Copyright © Ivo Dolenc + +Developed in Croatia 🇭🇷 diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index a4f4369..0000000 --- a/commitlint.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@commitlint/config-conventional'] -} diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 8be53ba..0000000 --- a/examples/README.md +++ /dev/null @@ -1 +0,0 @@ -# 💻 Code Examples diff --git a/examples/advanced/assets/css/main.css b/examples/advanced/assets/css/main.css deleted file mode 100644 index a7664d0..0000000 --- a/examples/advanced/assets/css/main.css +++ /dev/null @@ -1,3 +0,0 @@ -html { - font-family: 'Roboto', sans-serif; -} diff --git a/examples/advanced/nuxt.config.js b/examples/advanced/nuxt.config.js deleted file mode 100644 index 8249d30..0000000 --- a/examples/advanced/nuxt.config.js +++ /dev/null @@ -1,27 +0,0 @@ -export default { - css: ['~/assets/css/main.css'], - - buildModules: ['nuxt-font-loader'], - - fontLoader: { - url: - 'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap', - - /* - ** The settings below are OPTIONAL and can be customized as needed - */ - prefetch: { - hid: 'my-font-prefetch' - }, - preconnect: { - hid: 'my-font-preconnect', - crossorigin: 'anonymous' - }, - preload: { - hid: 'my-font-preload' - }, - noscript: { - hid: 'my-font-noscript' - } - } -} diff --git a/examples/custom/assets/css/main.css b/examples/custom/assets/css/main.css deleted file mode 100644 index 764206d..0000000 --- a/examples/custom/assets/css/main.css +++ /dev/null @@ -1,3 +0,0 @@ -html { - font-family: 'New Custom Family', sans-serif; -} diff --git a/examples/custom/nuxt.config.js b/examples/custom/nuxt.config.js deleted file mode 100644 index dd7deec..0000000 --- a/examples/custom/nuxt.config.js +++ /dev/null @@ -1,14 +0,0 @@ -export default { - css: ['~/assets/css/main.css'], - - buildModules: ['nuxt-font-loader'], - - fontLoader: { - // Paste a new custom link here (for example Typekit) - url: 'https://use.typekit.net/xxxxxxx.css', - - // Enable options - prefetch: true, - preconnect: true - } -} diff --git a/examples/google/assets/css/main.css b/examples/google/assets/css/main.css deleted file mode 100644 index a7664d0..0000000 --- a/examples/google/assets/css/main.css +++ /dev/null @@ -1,3 +0,0 @@ -html { - font-family: 'Roboto', sans-serif; -} diff --git a/examples/google/nuxt.config.js b/examples/google/nuxt.config.js deleted file mode 100644 index 215067e..0000000 --- a/examples/google/nuxt.config.js +++ /dev/null @@ -1,15 +0,0 @@ -export default { - css: ['~/assets/css/main.css'], - - buildModules: ['nuxt-font-loader'], - - fontLoader: { - // Paste a google link here - url: - 'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap', - - // Enable options - prefetch: true, - preconnect: true - } -} diff --git a/examples/local/assets/css/main.css b/examples/local/assets/css/main.css deleted file mode 100644 index 2396973..0000000 --- a/examples/local/assets/css/main.css +++ /dev/null @@ -1,3 +0,0 @@ -html { - font-family: 'Inter', sans-serif; -} diff --git a/examples/local/nuxt.config.js b/examples/local/nuxt.config.js deleted file mode 100644 index 2e642a4..0000000 --- a/examples/local/nuxt.config.js +++ /dev/null @@ -1,9 +0,0 @@ -export default { - css: ['~/assets/css/main.css'], - - buildModules: ['nuxt-font-loader'], - - fontLoader: { - url: '/fonts/font-face.css' - } -} diff --git a/examples/local/static/fonts/I-300.woff2 b/examples/local/static/fonts/I-300.woff2 deleted file mode 100644 index b09ea9da2e783143df085b2f83be187288a5e2d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103944 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