Skip to content

Commit

Permalink
Here be lions
Browse files Browse the repository at this point in the history
  • Loading branch information
wokalek committed Aug 16, 2023
0 parents commit 9df4d81
Show file tree
Hide file tree
Showing 64 changed files with 5,200 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
module.exports = {
env: {
browser: true,
es2021: true,
},
plugins: [
'vue',
'@typescript-eslint',
],
extends: [
'standard',
'plugin:vue/vue3-recommended',
'plugin:@typescript-eslint/recommended',
],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 'latest',
sourceType: 'module',
},
overrides: [
{
env: {
node: true,
},
files: [
'.eslintrc.{js,cjs}',
],
parserOptions: {
sourceType: 'script',
},
},
],
ignorePatterns: [
'dist',
],
rules: {
'func-call-spacing': 0,
'vue/multi-word-component-names': 'off',
'vue/no-multiple-template-root': 0,
'vue/singleline-html-element-content-newline': 0,
'quotes': ['error', 'single', { allowTemplateLiterals: true }],
'no-unused-vars': 'off',
'no-undef': 'off',
'quote-props': ['error', 'consistent'],
'vue/max-attributes-per-line': ['error', {
singleline: 6,
}],
'semi': ['error', 'never'],
'comma-dangle': ['error', 'always-multiline'],
'vue/comma-dangle': ['error', 'always-multiline'],
},
}
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ['https://boosty.to/wokalek/donate']
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Dev and build
node_modules
dist

# Auto importing components for Vue
components.d.ts
19 changes: 19 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Contributing Guide

Hello! I'm really glad you want to help my little extension get better!

Please see the list below to better understand the structure of this repository:

-[Vite](https://vitejs.dev) is used for assembly
- 🖖 [Vue](https://vuejs.org) and [Tailwind](https://tailwindcss.com) for the frontend
- 💪 [CRXJS](https://github.com/crxjs/chrome-extension-tools) for easier assembly of chrome extensions
- 🛍️ [pnpm](https://pnpm.io) as a package manager
- ✏️ [ESLint](https://typescript-eslint.io) for linting

## Localization

If you want to add localizations to the extension, they are located in the [`_locales`](_locales) folder. Just create a folder with your locale and translate language phrases.

## Build

To build the extension, run the `pnpm build` command and wait for the build to complete. After that, go to the Google Chrome extensions page, enable developer mode (if it is not already enabled) and load the unpacked extension, which is located in the `dist` folder.
159 changes: 159 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<p align="center">
<img src="./src/public/favicons/128.png" />
</p>

# Tab Volume 🎧

A convenient and eye-pleasing extension for controlling the sound volume in a browser tab

- 🍙 Increase or decrease volume within a browser tab
- 🍥 Set any upper limit for audio volume scaling
- 🍣 List of tabs on which you have changed the volume for easy switching between them
- 🍤 Restore tab volume with one click

## Contribution

See [Contributing Guide](CONTRIBUTING.md).

## License

[Creative Commons BY-NC 4.0](LICENSE.md).
54 changes: 54 additions & 0 deletions _locales/en/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"manifest_name": {
"message": "Tab Volume",
"description": "Manifest name field [please leave as is, in English]"
},
"manifest_description": {
"message": "Volume control within a browser tab"
},
"manifest_commands_volume_up": {
"message": "Increase volume"
},
"manifest_commands_volume_down": {
"message": "Decrease volume"
},

"background_offscreen_justification": {
"message": "Running a background audio handler that records an audio stream to handle volume changes"
},

"app_title": {
"message": "Tab Volume",
"description": "please leave as is, in English"
},
"app_reset_button": {
"message": "Restore"
},
"app_settings_max_label": {
"message": "Max"
},
"app_settings_badge_toggle_label": {
"message": "Show volume on extension icon"
},
"app_settings_restore_button": {
"message": "Restore settings"
},
"app_settings_about_link": {
"message": "About extension"
},
"app_settings_about_contribute_part_1": {
"message": "This extension is completely free and open source, the code is available on"
},
"app_settings_about_contribute_part_2": {
"message": "If you'd like to contribute, feel free to do so."
},
"app_settings_about_email_to": {
"message": "You can email me at [email protected] if you have any questions."
},
"app_settings_about_support_part_1": {
"message": "If you want to thank me for this extension, you can do it through"
},
"app_settings_about_support_part_2": {
"message": "Thank you!"
}
}
54 changes: 54 additions & 0 deletions _locales/ru/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"manifest_name": {
"message": "Tab Volume",
"description": "please leave as is, in English"
},
"manifest_description": {
"message": "Регулировка громкости на вкладке браузера"
},
"manifest_commands_volume_up": {
"message": "Увеличить громкость"
},
"manifest_commands_volume_down": {
"message": "Уменьшить громкость"
},

"background_offscreen_justification": {
"message": "Запуск обработчика фонового звука, который записывает аудиопоток для обработки изменений громкости"
},

"app_title": {
"message": "Tab Volume",
"description": "please leave as is, in English"
},
"app_reset_button": {
"message": "Восстановить"
},
"app_settings_max_label": {
"message": "Максимальная"
},
"app_settings_badge_toggle_label": {
"message": "Показывать громкость на значке расширения"
},
"app_settings_restore_button": {
"message": "Восстановить настройки"
},
"app_settings_about_link": {
"message": "О расширении"
},
"app_settings_about_contribute_part_1": {
"message": "Это расширение полностью бесплатное и с открытым исходным кодом, код доступен на"
},
"app_settings_about_contribute_part_2": {
"message": "Если вы хотите внести свой вклад, не стесняйтесь сделать это."
},
"app_settings_about_email_to": {
"message": "Вы можете написать мне на [email protected], если у вас есть какие-либо вопросы."
},
"app_settings_about_support_part_1": {
"message": "Если вы хотите поблагодарить меня за это расширение, вы можете сделать это через"
},
"app_settings_about_support_part_2": {
"message": "Спасибо!"
}
}
45 changes: 45 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"name": "tab-volume",
"version": "1.0.0",
"private": true,
"homepage": "https://github.com/wokalek/tab-volume",
"repository": {
"type": "git",
"url": "https://github.com/wokalek/tab-volume.git"
},
"author": "Alexandr Wokalek <[email protected]> (https://wokalek.ru)",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"fix": "eslint . --fix",
"lint": "eslint ."
},
"dependencies": {
"lodash": "^4.17.21",
"perfect-debounce": "^1.0.0",
"vue": "^3.3.4"
},
"devDependencies": {
"@crxjs/vite-plugin": "^1.0.14",
"@types/lodash": "^4.14.197",
"@typescript-eslint/eslint-plugin": "^6.4.0",
"@typescript-eslint/parser": "^6.4.0",
"@vitejs/plugin-vue": "^4.2.3",
"autoprefixer": "^10.4.15",
"chrome-types": "^0.1.223",
"eslint": "^8.47.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-vue": "^9.17.0",
"lightningcss": "^1.21.5",
"postcss": "^8.4.28",
"postcss-load-config": "^4.0.1",
"sass": "^1.65.1",
"tailwindcss": "^3.3.3",
"terser": "^5.19.2",
"unplugin-vue-components": "^0.25.1",
"vite": "^4.4.9",
"vite-plugin-minify": "^1.5.2",
"vite-svg-loader": "^4.0.0"
}
}
Loading

0 comments on commit 9df4d81

Please sign in to comment.