diff --git a/.babelrc.json b/.babelrc.json deleted file mode 100644 index 7895cad..0000000 --- a/.babelrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"] -} diff --git a/.nowignore b/.vercelignore similarity index 55% rename from .nowignore rename to .vercelignore index 34b9277..1f0f1ea 100644 --- a/.nowignore +++ b/.vercelignore @@ -1,6 +1,6 @@ # -# .nowignore +# .vercelignore # /docs/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..676025a --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# CONTRIBUTING.md + +Thank you for contributing to Fretboarder! PRs are welcomed, but please consider +**opening an issue before submitting any sizable PR**. + +### Code style + * use [smart tabs](https://www.emacswiki.org/emacs/SmartTabs) (tablatures for + indentation, spaces for presentation) + * place block-opening curly quotes on their own lines (expect for objects and + CSS blocks) + * write comments and commit messages in the imperative style, with an + uppercase letter at the beginning and no full stop at the end diff --git a/README.md b/README.md index 8225b73..205e28c 100644 --- a/README.md +++ b/README.md @@ -9,30 +9,55 @@ A screenshot of the app in usage. A screenshot of the app in usage, with dark mode enabled. + ## Highlights -**🎸 Customize the instrument** +#### 🎸 Customize the instrument + Choose between a variety of instruments (from ukulele to 11-string guitar) and tunings, set the length of the fretboard, and switch between left- and right-handed fretting. -**🎨 Overlay scales and arpeggios** +#### 🎨 Overlay scales and arpeggios + The main feature that distinguishes Fretboarder from other similar apps is the ability to display several sequences of notes on the same fretboard. You can -overlap scales and arpeggios, display their intersections and select specific +overlap scales and arpeggios, display their intersections and select specific positions on the neck. -**💻 Use on any device** +#### 💻 Use on any device + The UI has been designed to be simple and intuitive, and to work on both desktop and mobile devices. Dark mode included! + +## Contributing + +Contributions are welcomed! See [CONTRIBUTING.md](CONTRIBUTING.md). + + +## Supporting the app + +You can support my work on Fretboarder by donating on my [Patreon](https://www.patreon.com/cheap_glitch) +or my [PayPal](https://paypal.me/CheapGlitch) page. Plenty of cool features are coming, such as: + * an audio player to listen to the scales + * a tool to help learn & practice positions + * a chord chart builder to follow along with backtracks + * and more! + + ## Credits & acknowledgements + The dark mode colorscheme is heavily borrowed from the [Vue Dark Mode](https://www.growthbunker.dev/vuedarkmode) project. + ## License + This software is distributed under the [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0). + ## Other related tools & resources + * [All Guitar Chords](http://www.all-guitar-chords.com): a compilation of scales, chords, arpeggios, licks, and more * [ChordMaster 2000](http://chordmaster.tardate.com): a tool to practice and memorize chords * [ChordPic](https://chordpic.com): a chord diagram generator, with lots of options to fine-tune the looks diff --git a/package-lock.json b/package-lock.json index 6125d76..e0e2e77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1285,9 +1285,9 @@ } }, "@popperjs/core": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.4.0.tgz", - "integrity": "sha512-NMrDy6EWh9TPdSRiHmHH2ye1v5U0gBD7pRYwSwJvomx7Bm4GG04vu63dYiVzebLOx2obPpJugew06xVP0Nk7hA==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.4.2.tgz", + "integrity": "sha512-JlGTGRYHC2QK+DDbePyXdBdooxFq2+noLfWpRqJtkxcb/oYWzOF0kcbfvvbWrwevCC1l6hLUg1wHYT+ona5BWQ==" }, "@sindresorhus/is": { "version": "0.14.0", @@ -13903,14 +13903,67 @@ "integrity": "sha512-oEqYpXKaFN+TaXU+mRLEx8dX0ah85aAJEe61mpdoUrq0Bhe/6sWhyZX1JjMQLhVsHAkncyhedhmCdDVSasUtDw==" }, "vue-cli-plugin-sitemap": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/vue-cli-plugin-sitemap/-/vue-cli-plugin-sitemap-2.1.1.tgz", - "integrity": "sha512-Gk5juyRy9gqH17jlqpR04pxMv5xe2UPcJqWMJ8KeNF1Y8s2/pfW3fehEaQM6DLJZy6aLStqnv05nY1U7t0wwlw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-sitemap/-/vue-cli-plugin-sitemap-2.1.2.tgz", + "integrity": "sha512-so/RxKrOeMGGyZ9vvpFC73v1UCKxTTH4Z/3rUpq8CoVQABPvvSPgvPiGNUeZtbYkjyMhAZQhux8qVkW/VuAn3Q==", "dev": true, "requires": { - "ajv": "^6.12.0", + "ajv": "^6.12.2", "ajv-keywords": "^3.4.1", - "better-ajv-errors": "^0.6.7" + "better-ajv-errors": "^0.6.7", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "vue-css-modifiers": { diff --git a/package.json b/package.json index e0ce102..4323a1b 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@fortawesome/fontawesome-svg-core": "^1.2.28", "@fortawesome/free-brands-svg-icons": "^5.13.0", "@fortawesome/vue-fontawesome": "^0.1.9", - "@popperjs/core": "^2.4.0", + "@popperjs/core": "^2.4.2", "core-js": "^3.6.5", "file-saver": "^2.0.2", "register-service-worker": "^1.7.1", @@ -73,7 +73,7 @@ "sass": "^1.26.8", "sass-loader": "^8.0.2", "sass-mq": "^5.0.1", - "vue-cli-plugin-sitemap": "^2.1.1", + "vue-cli-plugin-sitemap": "^2.1.2", "vue-template-compiler": "^2.6.11", "webpack-bundle-analyzer": "^3.8.0" } diff --git a/src/components/FretboardTools.vue b/src/components/FretboardTools.vue index b6649b0..75c30c0 100644 --- a/src/components/FretboardTools.vue +++ b/src/components/FretboardTools.vue @@ -70,7 +70,7 @@ div.FretboardTools //- Toggle fret numbers VButton( - :icon="['fal', 'list-ol']" + icon="list-ol" title="Show numbers" :is-active="isShowingFretNbs" diff --git a/vercel.json b/vercel.json index ec3ee14..e50e722 100644 --- a/vercel.json +++ b/vercel.json @@ -1,6 +1,8 @@ { "build": { - "env": { "NPM_RC": "@npmrc" } + "env": { + "NPM_RC": "@npmrc" + } }, "github": { diff --git a/vue.config.js b/vue.config.js index ebf16b7..e384fa0 100644 --- a/vue.config.js +++ b/vue.config.js @@ -68,13 +68,8 @@ module.exports = { 'mandolin': 'pro-regular', // Header - 'twitter': 'free-brands', - 'github': 'free-brands', - 'paper-plane': 'pro-regular', - 'heart': 'pro-regular', - 'external-link-square-alt': 'pro-regular', 'sun': 'pro-solid', - 'moon': ['pro-regular', 'pro-solid'], + 'moon': ['pro-solid', 'pro-regular'], // Tools & settings 'cog': 'pro-regular', @@ -95,6 +90,13 @@ module.exports = { 'intersection': 'pro-solid', 'copy': 'pro-regular', 'times-circle': 'pro-regular', + + // Footer + 'twitter': 'free-brands', + 'github': 'free-brands', + 'paper-plane': 'pro-regular', + 'heart': 'pro-regular', + 'external-link-square-alt': 'pro-regular', } },