diff --git a/.github/release_description_template.md b/.github/release_description_template.md new file mode 100644 index 0000000..cadcc3e --- /dev/null +++ b/.github/release_description_template.md @@ -0,0 +1,13 @@ +## What's new + +## How to install +1. Download attached archive and unpack it +2. Enable Developers mode on your browser extensions page +3. Click "Load unpacked" button and navigate to the extension root folder (contains `manifest.json`) +4. Done! + +*On Firefox you should open manifest file instead of extension's folder + +**Note:** If you delete extension folder it will disappear from your browser + +_Sideloaded extensions don't replace officially installed ones_ \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 249d9d2..e17498a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,12 +1,8 @@ name: CI on: - workflow_dispatch: - push: - branches: [ master ] - paths: - # Trigger deploy on manifest change - - 'manifest.json' + release: + types: [published] jobs: Firefox: @@ -21,7 +17,7 @@ jobs: with: cmd: build - - name: Sign build + - name: 'Sign & publish' id: web-ext-sign uses: kewisch/action-web-ext@v1 with: @@ -31,20 +27,11 @@ jobs: apiKey: ${{ secrets.FIREFOX_API_KEY }} apiSecret: ${{ secrets.FIREFOX_CLIENT_SECRET }} - - name: Publish to Firefox Webstore - uses: trmcnvn/firefox-addon@v1 - with: - uuid: tabsaside@xfox111.net - xpi: ${{ steps.web-ext-sign.outputs.target }} - manifest: ./manifest.json - api-key: ${{ secrets.FIREFOX_API_KEY }} - api-secret: ${{ secrets.FIREFOX_CLIENT_SECRET }} - - name: Drop artifacts uses: actions/upload-artifact@v2 with: name: 'Firefox Artefacts' - path: ${{ steps.web-ext-sign.outputs.target }} + path: ${{ steps.web-ext-build.outputs.target }} Chrome: runs-on: ubuntu-latest @@ -67,8 +54,17 @@ jobs: client-secret: ${{ secrets.CHROME_CLIENT_SECRET }} refresh-token: ${{ secrets.CHROME_REFRESH_TOKEN }} + - name: Upload artifact + uses: xresloader/upload-to-github-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + file: ./TabsAside.zip + tags: true + draft: false + - name: Drop artifacts uses: actions/upload-artifact@v2 with: name: 'Chrome Artifacts' - path: ./TabsAside.zip + path: ./TabsAside.zip \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 1369b35..62ba1d4 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation. Examples of behavior that contributes to creating a positive environment include: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Our Responsibilities @@ -68,9 +68,9 @@ members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +available at [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq \ No newline at end of file + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99b2c44..5684bc5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,7 +13,7 @@ There are many ways in which you can contribute, beyond writing code. The goal o - [Writing Good Bug Reports and Feature Requests](#writing-good-bug-reports-and-feature-requests) - [Final Checklist](#final-checklist) - [Follow Your Issue](#follow-your-issue) - - [Contributing to codebase](#contributing-to-codebase) + - [Contributing to the codebase](#contributing-to-the-codebase) - [Deploy test version on your browser](#deploy-test-version-on-your-browser) - [Development workflow](#development-workflow) - [Release](#release) @@ -47,8 +47,8 @@ Be sure to scan through the [feature requests](https://github.com/XFox111/TabsAs If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment: -* 👍 - upvote -* 👎 - downvote +- 👍 - upvote +- 👎 - downvote If you cannot find an existing issue that describes your bug or feature, create a new issue using the guidelines below. @@ -68,6 +68,7 @@ Please include the following with each issue: ### Final Checklist Please remember to do the following: + - [ ] Search the issue repository to ensure your report is a new issue - [ ] Separate issues reports - [ ] Include as much information as you can to your report @@ -77,31 +78,35 @@ Don't feel bad if the developers can't reproduce the issue right away. They will ### Follow Your Issue Once your report is submitted, be sure to stay in touch with the devs in case they need more help from you. -## Contributing to codebase -If you are interested in writing code to fix issues or implement new awesome features you can follow this guidelines to get a better result +## Contributing to the codebase +If you are interested in writing code to fix issues or implement new awesome features you can follow these guidelines to get a better result ### Deploy test version on your browser 1. Clone repository to local storage using [Git](https://guides.github.com/introduction/git-handbook/) - ``` - git clone https://github.com/xfox111/TabsAsideExtension.git - ``` + + ```bash + git clone https://github.com/xfox111/TabsAsideExtension.git + ``` 2. Enable Developers mode on your browser extensions page 3. Click "Load unpacked" button and navigate to the extension root folder (contains `manifest.json`) 4. Done! -Next time you make any changes to the codebase, reload extension by toggling it off and on or by pressing "Reload" button on extensions list page +Next time you make any changes to the codebase, reload the extension by toggling it off and on or by pressing "Reload" button on the extensions list page + +> **Note:** You can also check [this article](https://xfox111.net/46hsgv) to get more information about debugging web extensions ### Development workflow This section represents how contributors should interact with codebase implementing features and fixing bugs + 1. Getting assigned to the issue 2. Creating a repository fork -3. Making changes to codebase -5. Creating a pull request to `master` -6. Reviewing & completing PR -7. Done +3. Making changes to the codebase +4. Creating a pull request to `master` +5. Reviewing & completing PR +6. Done #### Release -Next stage is release. Release performs on every push to master (which makes functional changes to the source code). Release performs manually by @XFox111 into: Chrome webstore, Edge webstore and GitHub releases +The next stage is the release. Release performs on every push to master (which makes functional changes to the source code). Release performs manually by @XFox111 into: Chrome webstore, Edge webstore and GitHub releases ### Coding guidelines #### Indentation @@ -109,6 +114,7 @@ We use tabs, not spaces. #### Names The project naming rules inherit [.NET Naming Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-guidelines). Nevertheless there'is some distinction with the guidelines as well as additions to the one: + - Use `camelCase` for variables instead of `CamelCase` stated in [Capitalization Conventions](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions#capitalization-rules-for-identifiers) - Use `snake_case` for file names @@ -122,18 +128,21 @@ Use "double quotes" wherever it's possible - Prefer to use lambda functions - Put curly braces on new lines - Wrong: - ``` - if (condition) { - ... - } - ``` + + ```javascript + if (condition) { + ... + } + ``` + - Correct: - ``` - if (condition) - { - ... - } - ``` + + ```javascript + if (condition) + { + ... + } + ``` - Put spaces between operators and before braces in methods declarations, conditionals and loops - Wrong: - `y=k*x+b` @@ -143,20 +152,21 @@ Use "double quotes" wherever it's possible - `function FunctionName ()` - Use ternary conditionals wherever it's possible - Wrong: - ``` + ```javascript var s; if (condition) - s = "Life"; + s = "Life"; else - s = "Death" + s = "Death"; ``` - Correct: - ``` - var s = condition ? "Life" : "Death"; - ``` + + ```javascript + var s = condition ? "Life" : "Death"; + ``` - Do not surround loop and conditional bodies with curly braces if they can be avoided - Wrong: - ``` + ```javascript if (condition) { console.log("Hello, World!"); @@ -167,7 +177,8 @@ Use "double quotes" wherever it's possible } ``` - Correct - ``` + + ```javascript if (condition) console.log("Hello, World!"); else @@ -197,8 +208,7 @@ To enable us to quickly review and accept your pull requests, always create one Pull requests that fix typos are welcomed but please make sure it doesn't touch multiple feature areas, otherwise it will be difficult to review. Pull requests only fixing spell check errors in source code are not recommended. ## Thank You! - Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute. ## Attribution -This Contribution Guidelines are adapted from the [Contributing to VS Code](https://github.com/microsoft/vscode/blob/master/CONTRIBUTING.md) \ No newline at end of file +These Contribution Guidelines are adapted from the [Contributing to VS Code](https://github.com/microsoft/vscode/blob/master/CONTRIBUTING.md) diff --git a/README.md b/README.md index ae14775..e615bab 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,10 @@ # Tabs aside [![GitHub release (latest by date)](https://img.shields.io/github/v/release/xfox111/TabsAsideExtension)](https://github.com/xfox111/TabsAsideExtension/releases/latest) ![CI](https://github.com/XFox111/TabsAsideExtension/workflows/CI/badge.svg) +[![Mozilla Add-on](https://img.shields.io/amo/rating/ms-edge-tabs-aside?label=Firefox%20rating)](https://addons.mozilla.org/firefox/addon/ms-edge-tabs-aside/) [![Chrome Web Store](https://img.shields.io/chrome-web-store/users/mgmjbodjgijnebfgohlnjkegdpbdjgin?label=Chrome%20Webstore%20downloads)](https://chrome.google.com/webstore/detail/tabs-aside/mgmjbodjgijnebfgohlnjkegdpbdjgin) -[![Chrome Web Store](https://img.shields.io/chrome-web-store/rating/mgmjbodjgijnebfgohlnjkegdpbdjgin)](https://chrome.google.com/webstore/detail/tabs-aside/mgmjbodjgijnebfgohlnjkegdpbdjgin) - [![Mozilla Add-on](https://img.shields.io/amo/users/ms-edge-tabs-aside?label=Firefox%20Webstore%20downloads)](https://addons.mozilla.org/firefox/addon/ms-edge-tabs-aside/) -[![Mozilla Add-on](https://img.shields.io/amo/rating/ms-edge-tabs-aside)](https://addons.mozilla.org/firefox/addon/ms-edge-tabs-aside/) -[![Mozilla Add-on](https://img.shields.io/amo/dw/ms-edge-tabs-aside)](https://addons.mozilla.org/firefox/addon/ms-edge-tabs-aside/) [![GitHub issues](https://img.shields.io/github/issues/xfox111/TabsAsideExtension)](https://github.com/xfox111/TabsAsideExtension/issues) [![GitHub last commit](https://img.shields.io/github/last-commit/xfox111/TabsAsideExtension)](https://github.com/xfox111/TabsAsideExtension/commits/master) @@ -24,6 +21,8 @@ If you’re like me, you often find yourself with a bunch of open tabs. You’d In the Edge browser, Microsoft has introduced a new feature called "Tabs aside" (or Tab groups) which lets you set tabs aside in a sort of temporary workspace so that you can call them back up later. +![Tabs aside demo](https://xfox111.net/knrp7b) + Unfortunately, in new Chromium-based Microsoft Edge, the devs decided not to implement this must-have-feature. So I've decided to create a browser extension which replicates this awesome feature ## Features @@ -32,6 +31,7 @@ Unfortunately, in new Chromium-based Microsoft Edge, the devs decided not to imp - Now you can restore one tab from collection without removing - Now you can choose if you want to load restored tabs only when you're navigating onto them - Set tabs you've selected aside +- Sync your saved tabs between different PCs - **Now available for Firefox!** ## Download @@ -61,6 +61,8 @@ If you are interested in fixing issues and contributing directly to the code bas This project has adopted the Contributor Covenant. For more information see the [Code of Conduct](https://github.com/XFox111/TabsAsideExtension/blob/master/CODE_OF_CONDUCT.md) ## Copyrights -> ©2020 Michael "XFox" Gordeev +> ©2021 Michael "XFox" Gordeev + +Font copyrights: Microsoft Corportation ©2021 (Additional ELUA applied) Licensed under [MIT License](https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/TabsAside.html b/TabsAside.html index 248dde5..464c28f 100644 --- a/TabsAside.html +++ b/TabsAside.html @@ -19,27 +19,43 @@