diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 2026610..beced92 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -29,12 +29,11 @@ jobs: secret: ${{ secrets.PLASMO_PUBLIC_KEYS }} target: .env - - name: Create and zip production build - run: npm run build-zip + - name: Create production builds + run: npm run build - - name: Upload build artifact + - name: Upload build artifacts uses: actions/upload-artifact@master with: name: fonts-jar - path: ./build/chrome-mv3-prod.zip - retention-days: 1 + path: ./build/*-prod.zip diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 862f91e..c764af6 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -34,8 +34,8 @@ jobs: secret: ${{ secrets.PLASMO_PUBLIC_KEYS }} target: .env - - name: Create and zip production build - run: npm run build-zip + - name: Create production builds + run: npm run build - name: Extract release notes id: extract-release-notes @@ -46,18 +46,21 @@ jobs: uses: martinbeentjes/npm-get-version-action@master - name: Create new release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: softprops/action-gh-release@v1 with: + token: ${{ secrets.GITHUB_TOKEN }} + body: ${{ steps.extract-release-notes.outputs.release_notes }} + name: ${{ steps.get-version.outputs.current-version }} tag_name: ${{ steps.get-version.outputs.current-version }} - release_name: ${{ steps.get-version.outputs.current-version }} draft: false prerelease: false - body: ${{ steps.extract-release-notes.outputs.release_notes }} + files: | + ./build/chrome-mv3-prod.zip + ./build/edge-mv3-prod.zip + ./build/firefox-mv2-prod.zip # - name: Browser Platform Publish # uses: PlasmoHQ/bpp@v3 # with: - # keys: ${{ secrets.SUBMIT_KEYS }} - # artifact: build/chrome-mv3-prod.zip + # keys: ${{ secrets.PLASMO_BPP_KEYS }} + # chrome-file: ./build/chrome-mv3-prod.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 99f6fa4..64aba05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,36 +5,64 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Changed + +- CI workflow now uploads production builds for Chrome, Edge and Firefox to artifacts +- Publish workflow now uploads production builds for Chrome, Edge and Firefox to new release +- `host_permissions` now only target the supported websites +- Improved README +- Homepage in package.json now points to raw repository url + ## [0.4.0] - 2023-02-03 + ### Added + - Support for filtering fonts based on the origin websites - Tooltips for toolbar buttons - Support for Adobe Fonts - Completely overhauled and made a lot easier the process of adding new supported websites + ### Changed + - Manifest key is now overridden to have a consistent extension ID - Publish workflow now automates releases - Updated dependencies - Put back caret down icon in sort method and sort direction buttons in toolbar - Content scripts now use Plasmo CSUI to inject React components within the supported websites + ### Removed + - No longer using background service worker - No longer internally storing font variants and variable axis count + ### Fixed + - Collection input field in collections manager modal is now set to `width: 100%` to prevent horizontal overflow ## [0.3.0] - 2023-01-15 + ### Added + - Support for collections + ### Changed + - Rewrote extension with [Plasmo](https://github.com/PlasmoHQ/plasmo) + ### Fixed + - Typeface family name is now trimmed before being added to the favorites list ## [0.2.0] - 2023-01-04 + ### Added + - Created utility function `isUrlLegal` and refactored parts of the codebase to use it + ### Changed + - Website ignore regex is now optional - Improved website types - Fixed typos @@ -44,12 +72,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated github workflow ## [0.1.1] - 2022-05-31 + ### Changed + - Added links to release number + ### Fixed + - Previewing a typeface does not trigger new buttons to be added on screen anymore ## [0.1.0] - 2022-04-03 + - Initial beta release [0.1.0]: https://github.com/DaveKeehl/fonts-jar/releases/tag/0.1.0 diff --git a/LICENSE b/LICENSE index 810b468..2cc4730 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Davide Ciulla +Copyright (c) 2022-present Davide Ciulla Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 529bff7..b4c126e 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,60 @@ -![](./assets/banner.png) +![](./assets/banner_rounded.png) # Fonts Jar -> ⚠ī¸ This extension is currently not available in the Chrome Web Store. +> 💡 Save your favorite fonts so you never forget they exist. -Fonts Jar is a useful Chrome extension to save your favorite fonts when websites do not have an "add to favorites" feature by default. The goal is to support an always increasing number of websites, in order to be able to use this extension as a cross-website utility and typography management tool. +Fonts Jar is a Chrome extension that allows you to save your favorite fonts from an always growing list of supported websites. The fonts you add to your favorites list will always be at your fingertips in the extension popup, where you can remove them, search them, filter them and group them in collections. + +The goal is to support an always increasing number of websites, in order to be able to use this extension as a cross-website fonts management tool. + +## ❇ī¸ Features + +- Save your favorite fonts from an always growing list of supported websites +- Search your favorites fonts +- Filter fonts by website +- Group fonts in collections + +## ℹī¸ How it works + +Using Fonts Jar is simple! When you navigate on a supported website and you are in a font listing page, you'll see a new button that says "Add to favorites". By clicking on it, the font will be added to the list of favorites and you'll find it in the extension popup. + +Once a font has been marked as favorite, you can remove it from the list by either clicking again on the button in the page (which now says "Remove from favorites"), or from the delete action in the extension. + +Within the extension popup you can also search fonts by typing in the searchbar, filter them by website and group them in collections. Collections are great when you want to bind some fonts together in a logical way (e.g. variable fonts, handwritten fonts, monospaced fonts), and you can also toggle their visibility. ## âŦ‡ī¸ How to install -Fonts Jar is currently not available for download from the Chrome Web Store, because it is still in beta. If you want to install it, you need to follow these steps: +You can install Fonts Jar in two ways: + +1. From the [Chrome Web Store](https://chrome.google.com/webstore/detail/fonts-jar/hkkhacceelmpcaiegjpijfpgaefokagj) +2. From a locally downloaded build + +### Chrome Web Store install + +Just go to the [store listing](https://chrome.google.com/webstore/detail/fonts-jar/hkkhacceelmpcaiegjpijfpgaefokagj), and add the extension to Chrome. + +### Local install + +If you want to load a locally downloaded Fonts Jar build, you need to follow these steps: -1. Download the latest [release](https://github.com/DaveKeehl/fonts-jar/releases) -2. Go to your Chrome extensions (type "chrome://extensions/" in Chrome) +1. Grab the build you want to load (e.g. download the latest [release](https://github.com/DaveKeehl/fonts-jar/releases)) +2. Go to your Chrome extensions (type `chrome://extensions/` in Chrome) 3. Enable developer mode by clicking on the toggle in the top right corner -4. Unzip the latest release you have downloaded in step 1 -5. Click on "Load unpacked" and select the unzipped release you have obtained in step 4 +4. Unzip the build (or make sure it's not zipped) you have downloaded in step 1 +5. Click on "Load unpacked" and select the unzipped build from step 4 ## 🔄 How to update > ⚠ī¸ Do NOT update the extension by removing it and re-loading it from scratch every time. You will lose your data! -Until this extension is not available for download from the Chrome Web Store, you need to follow these steps in order to update the extension: +If you have downloaded the extension from the [Chrome Web Store](https://chrome.google.com/webstore/detail/fonts-jar/hkkhacceelmpcaiegjpijfpgaefokagj), updates are seamless and you don't need to worry. However, if you have installed Fonts Jar from a local build, make sure you follow these steps: -1. Download the latest [release](https://github.com/DaveKeehl/fonts-jar/releases) -2. Go to your Chrome extensions (type "chrome://extensions/" in Chrome) +1. Grab the updated build you want to load (e.g. download the latest [release](https://github.com/DaveKeehl/fonts-jar/releases)) +2. Go to your Chrome extensions (type `chrome://extensions/` in Chrome) 3. Enable developer mode by clicking on the toggle in the top right corner -4. Unzip the latest release you have downloaded in step 1 -5. Place the unzipped release in the same place where you had placed the previous version. If you are unsure where to place it, you can click on "Details" on the extension card and scroll down to "Source". There you will find the path to use +4. Unzip the build (or make sure it's not zipped) you have downloaded in step 1 +5. Place the unzipped build in the same place where you had placed the previous version. **If you are unsure where to place it, you can click on "Details" on the extension card and scroll down to "Source". There you will find the path to use** 6. Click on "Update" ## ✨ Supported websites diff --git a/assets/banner_rounded.png b/assets/banner_rounded.png new file mode 100644 index 0000000..f40b5d1 Binary files /dev/null and b/assets/banner_rounded.png differ diff --git a/assets/icon_128.png b/assets/icon_128.png new file mode 100644 index 0000000..90f3f5e Binary files /dev/null and b/assets/icon_128.png differ diff --git a/assets/marquee_promo_tile.png b/assets/marquee_promo_tile.png new file mode 100644 index 0000000..590fc0e Binary files /dev/null and b/assets/marquee_promo_tile.png differ diff --git a/assets/small_promo_tile.png b/assets/small_promo_tile.png new file mode 100644 index 0000000..a850f4f Binary files /dev/null and b/assets/small_promo_tile.png differ diff --git a/package.json b/package.json index a775ded..3461504 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/DaveKeehl/fonts-jar/issues" }, - "homepage": "https://github.com/DaveKeehl/fonts-jar#readme", + "homepage": "https://github.com/DaveKeehl/fonts-jar", "license": "ISC", "scripts": { "dev": "plasmo dev", @@ -53,7 +53,8 @@ }, "manifest": { "host_permissions": [ - "https://*/*" + "https://fonts.google.com/*", + "https://fonts.adobe.com/*" ], "key": "$CRX_PUBLIC_KEY" },