diff --git a/.github/AUTHORS.txt b/.github/AUTHORS.txt
index 42fd13c7..e89054a5 100644
--- a/.github/AUTHORS.txt
+++ b/.github/AUTHORS.txt
@@ -1,27 +1,29 @@
Alicia - 1 commits
Begin - 1 commits
+David - 1 commits
DeepSource - 1 commits
Devin - 1 commits
FormatToday <616099456@qq.com> - 1 commits
+Rune - 1 commits
Ryan - 1 commits
deepsource-io[bot] - 1 commits
liss-bot <87835202+liss-bot@users.noreply.github.com> - 1 commits
Dan - 2 commits
ᗪєνιη <υн> - 2 commits
-Alicia - 3 commits
UrekD - 3 commits
Niklas - 4 commits
Erik - 6 commits
liss-bot - 6 commits
-repo-visualizer - 6 commits
-snyk-bot - 8 commits
+Alicia - 8 commits
+repo-visualizer - 8 commits
+snyk-bot - 9 commits
Alicia - 10 commits
-snyk-bot - 13 commits
EVOTk <45015615+EVOTk@users.noreply.github.com> - 14 commits
+snyk-bot - 14 commits
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> - 16 commits
-liss-bot - 17 commits
+liss-bot - 21 commits
Alicia - 25 commits
-Lissy93 - 67 commits
-Lissy93 - 172 commits
-Alicia - 242 commits
-Alicia - 954 commits
\ No newline at end of file
+Lissy93 - 70 commits
+Lissy93 - 186 commits
+Alicia - 255 commits
+Alicia - 1004 commits
\ No newline at end of file
diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md
index e9d31581..47e586a2 100644
--- a/.github/CHANGELOG.md
+++ b/.github/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## ✨ 1.8.8 - Improved Item Targets [PR #292](https://github.com/Lissy93/dashy/pull/292)
+- Adds support for `_top` and `_parent` anchor targets on items, Re: #289
+- Adds `appConfig.defaultOpeningMethod` option to specify default target
+- Adds new icons to show items opening method on hover
+- Refactors target checking, updates item target docs and schema
+
## ⚡️ 1.8.7 - Bug Fixes and Improvements [PR #273](https://github.com/Lissy93/dashy/pull/273)
- Clean URLs without the hash, now using history-mode routing
- New initial main example conf.yml
diff --git a/.github/workflows/issue-spam-control.yml b/.github/workflows/issue-spam-control.yml
index 65de503c..1beb581b 100644
--- a/.github/workflows/issue-spam-control.yml
+++ b/.github/workflows/issue-spam-control.yml
@@ -10,6 +10,7 @@ jobs:
${{
! contains( github.event.issue.labels.*.name, '📌 Keep Open') &&
! contains( github.event.issue.labels.*.name, '🌈 Feedback') &&
+ ! contains( github.event.issue.labels.*.name, '💯 Showcase') &&
github.event.comment.author_association != 'CONTRIBUTOR'
}}
runs-on: ubuntu-latest
@@ -21,7 +22,7 @@ jobs:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
message: |
Welcome to Dashy 👋
- It's great to have you here, but unfortunately your ticket has been closed to prevent spam and low quality issues. Please ensure the following criteria are met, before reopening this issue.
+ It's great to have you here, but unfortunately your ticket has been closed to prevent spam. Before reopening this issue, please ensure the following criteria are met.
Issues are sometimes closed when users:
- Have only recently joined GitHub
@@ -33,4 +34,4 @@ jobs:
- You have checked the documentation for an existing solution
- You have completed the relevant sections in the Issue template
- Once you have verified the above standards are met, you may reopen this issue.
+ Once you have verified the above standards are met, you may reopen this issue. Sorry for any inconvenience caused, I'm just a bot, and sometimes make mistakes 🤖
diff --git a/README.md b/README.md
index 06e2e18f..23030554 100644
--- a/README.md
+++ b/README.md
@@ -64,6 +64,9 @@
+| 👉 PSA: Want Free Swag? [Dashy is participating in Hacktoberfest 2021!](https://github.com/Lissy93/dashy/discussions/281) |
+|-|
+
## Features 🌈
- 🔎 Instant search by name, domain and tags + customizable hotkeys & keyboard shortcuts
@@ -301,6 +304,9 @@ One of the primary purposes of Dashy is to make launching commonly used apps and
- `newtab` - The app will be launched in a new tab
- `modal` - Launch app in a resizable/ movable popup modal on the current page
- `workspace` - Changes to Workspace view, and launches app
+- `top` - Opens in the top-most browsing context, useful if your accessing Dashy through an iframe
+
+You can also set the default opening method, which will be applied to all items that don't have a specified target, using `appConfig.defaultOpeningMethod`, to one of the above values.
Even if the target is not set (or is set to `sametab`), you can still launch any given app in an alternative method: Alt + Click will open the modal, and Ctrl + Click will open in a new tab. You can also right-click on any item to see all options (as seen in the screenshot below). This custom context menu can be disabled by setting `appConfig.disableContextMenu: true`.
@@ -442,6 +448,7 @@ Dashy supports multiple languages and locales. When available, you're language s
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
- 🇲🇫 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
+- 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)**
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
- 🇮🇹 **Italian**: `it` - Machine Translated *(awaiting human review)*
@@ -450,9 +457,10 @@ Dashy supports multiple languages and locales. When available, you're language s
- 🇦🇪 **Arabic**: `ar` - Contributed by Anon
- 🇮🇳 **Hindi**: `hi` - Contributed by Anon
- 🇯🇵 **Japanese**: `ja` - Contributed by Anon
+- 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)**
#### Add your Language
-I would love for Dashy to be available to everyone, without language being a barrier to entry for non-native English speakers. If you have a few minutes to sapir, you're help with translating it would be very much appreciated.
+I would love for Dashy to be available to everyone, without language being a barrier to entry for non-native English speakers. If you have a few minutes to spare, you're help with translating it would be very much appreciated.
It's quite a quick task, all text is in [a single JSON file](https://github.com/Lissy93/dashy/tree/master/src/assets/locales), and you don't have to translate it all. For more info, see the [Adding a New Language Docs](./docs/multi-language-support.md#adding-a-new-language), and feel free to reach out if you need any support.
**[⬆️ Back to Top](#dashy)**
@@ -646,7 +654,7 @@ For a full breakdown of each change, you can view the [Changelog](https://github
- 💻 [Management](/docs/management.md) - Managing your app, updating, security, web server configuration, etc
- 🚒 [Troubleshooting](/docs/troubleshooting.md) - Common errors and problems, and how to fix them
-#### Development and Contributing
+#### Development and Contributing
- 🧱 [Developing](/docs/developing.md) - Running Dashy development server locally, and general workflow
- 🛎️ [Development Guides](/docs/development-guides.md) - Common development tasks, to help new contributors
- 💖 [Contributing](/docs/contributing.md) - How to contribute to Dashy
diff --git a/docs/alternate-views.md b/docs/alternate-views.md
index 29dc032c..2417316a 100644
--- a/docs/alternate-views.md
+++ b/docs/alternate-views.md
@@ -37,9 +37,12 @@ Dashy supports several different ways to launch your apps. The default opening m
- `sametab` - The app will be launched in the current tab
- `newtab` - The app will be launched in a new tab
+- `top` - Opens in the top-most browsing context, useful if your accessing Dashy through an iframe
- `modal` - Launch app in a resizable/ movable popup modal on the current page
- `workspace` - Changes to Workspace view, and launches app
+You can also set the default opening method, which will be applied to all items that don't have a specified target, using `appConfig.defaultOpeningMethod`, to one of the above values.
+
Even if the target is not set (or is set to `sametab`), you can still launch any given app in an alternative method: Alt + Click will open the modal, and Ctrl + Click will open in a new tab. You can also right-click on any item to see all options (as seen in the screenshot below). This custom context menu can be disabled by setting `appConfig.disableContextMenu: true`.
diff --git a/docs/assets/CONTRIBUTORS.svg b/docs/assets/CONTRIBUTORS.svg
index 556007b8..a569aebe 100644
--- a/docs/assets/CONTRIBUTORS.svg
+++ b/docs/assets/CONTRIBUTORS.svg
@@ -6,11 +6,11 @@
-
-
-
-
+
+
+
+
@@ -19,15 +19,21 @@
-
+
+
+
+
-
+
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/docs/assets/repo-visualization.svg b/docs/assets/repo-visualization.svg
index 230c683e..dc21f215 100644
--- a/docs/assets/repo-visualization.svg
+++ b/docs/assets/repo-visualization.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/configuring.md b/docs/configuring.md
index ebe39c9b..5d13fbe5 100644
--- a/docs/configuring.md
+++ b/docs/configuring.md
@@ -74,6 +74,7 @@ Tips:
--- | --- | --- | ---
**`language`** | `string` | _Optional_ | The 2 (or 4-digit) [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for your language, e.g. `en` or `en-GB`. This must be a language that the app has already been [translated](https://github.com/Lissy93/dashy/tree/master/src/assets/locales) into. If your language is unavailable, Dashy will fallback to English. By default Dashy will attempt to auto-detect your language, although this may not work on some privacy browsers.
**`startingView`** | `enum` | _Optional_ | Which page to load by default, and on the base page or domain root. You can still switch to different views from within the UI. Can be either `default`, `minimal` or `workspace`. Defaults to `default`
+**`defaultOpeningMethod`** | `enum` | _Optional_ | The default opening method for items, if no `target` is specified for a given item. Can be either `newtab`, `sametab`, `top`, `parent`, `modal` or `workspace`. Defaults to `newtab`
**`statusCheck`** | `boolean` | _Optional_ | When set to `true`, Dashy will ping each of your services and display their status as a dot next to each item. This can be overridden by setting `statusCheck` under each item. Defaults to `false`
**`statusCheckInterval`** | `boolean` | _Optional_ | The number of seconds between checks. If set to `0` then service will only be checked on initial page load, which is usually the desired functionality. If value is less than `10` you may experience a hit in performance. Defaults to `0`
**`webSearch`** | `object` | _Optional_ | Configuration options for the web search feature, set your default search engine, opening method or disable web search. See [`webSearch`](#appconfigwebsearch-optional)
@@ -181,7 +182,7 @@ For more info, see the **[Authentication Docs](/docs/authentication.md)**
**`description`** | `string` | _Optional_ | Additional info about an item, which is shown in the tooltip on hover, or visible on large tiles
**`url`** | `string` | Required | The URL / location of web address for when the item is clicked
**`icon`** | `string` | _Optional_ | The icon for a given item. Can be a font-awesome icon, favicon, remote URL or local URL. See [`item.icon`](#sectionicon-and-sectionitemicon)
-**`target`** | `string` | _Optional_ | The opening method for when the item is clicked, either `newtab`, `sametab`, `modal` or `workspace`. Where `newtab` will open the link in a new tab, `sametab` will open it in the current tab, and `modal` will open a pop-up modal with the content displayed within that iframe. Note that for the iframe to load, you must have set the CORS headers to either allow `*` ot allow the domain that you are hosting Dashy on, for some websites and self-hosted services, this is already set.
+**`target`** | `string` | _Optional_ | The opening method for when the item is clicked, either `newtab`, `sametab`, `top`, `parent`, `modal` or `workspace`. Where `newtab` will open the link in a new tab, `sametab` will open it in the current tab, and `modal` will open a pop-up modal and `workspace` will open in the Workspace view. Defaults to `newtab`
**`hotkey`** | `number` | _Optional_ | Give frequently opened applications a numeric hotkey, between `0 - 9`. You can then just press that key to launch that application.
**`tags`** | `string[]` | _Optional_ | A list of tags, which can be used for improved search
**`statusCheck`** | `boolean` | _Optional_ | When set to `true`, Dashy will ping the URL associated with the current service, and display its status as a dot next to the item. The value here will override `appConfig.statusCheck` so you can turn off or on checks for a given service. Defaults to `appConfig.statusCheck`, falls back to `false`
diff --git a/docs/credits.md b/docs/credits.md
index 8e10c932..ce791c13 100644
--- a/docs/credits.md
+++ b/docs/credits.md
@@ -32,6 +32,13 @@
EVOTk
+