Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
a7acb05
font size adjustment to better reflect reality
quoid Mar 4, 2021
688176b
update version and build numbers
quoid Mar 6, 2021
5d9945e
update version
quoid Mar 6, 2021
9c10bd6
rebuild extension html
quoid Mar 6, 2021
9fd0a56
show active script badge in toolbar, related #103
quoid Mar 6, 2021
fdf14d0
add setting to toggle toolbar count, related #103
quoid Mar 6, 2021
14617e4
rebuild extension html
quoid Mar 6, 2021
7e3754c
set static width on settings modal
quoid Mar 6, 2021
fdc9be3
conceal and disable log option, adds little value
quoid Mar 6, 2021
e508499
disable showCount by default
quoid Mar 6, 2021
b558c3f
new setting for globally disabling injection, related #103
quoid Mar 6, 2021
5b5b1d6
visual indication when injection disabled, related #103
quoid Mar 6, 2021
4098511
rebuild extension html
quoid Mar 6, 2021
cd5e31f
add popover with ability to open extension page and disable injection…
quoid Mar 7, 2021
3c04f2f
some work on #105
quoid Mar 14, 2021
816ffaf
Bump y18n from 3.2.1 to 3.2.2
dependabot[bot] Mar 31, 2021
8c4bef0
include subframes in injected count, related #103
quoid Apr 9, 2021
a013138
update app icon, #109
quoid Apr 9, 2021
333537f
adjust popover with new icon
quoid Apr 9, 2021
93d9852
rearranged files
quoid Apr 9, 2021
d2b9361
add toggle for autoCloseBrackets, #111
quoid Apr 9, 2021
3082fd1
rebuild
quoid Apr 9, 2021
e7fd783
Load remote file in extension
lucka-me Apr 10, 2021
80aa7e7
update containing app view, #105
quoid Apr 11, 2021
b7af800
minor ui changes, #105
quoid Apr 11, 2021
5328217
Merge branch 'v3.1.0' into load-remote-file-in-extension
quoid Apr 11, 2021
b38196d
Merge pull request #112 from lucka-me/load-remote-file-in-extension
quoid Apr 11, 2021
6e2c40b
code formatting #112
quoid Apr 11, 2021
1c03d27
cancel requests for remote resources, some edits, #112
quoid Apr 11, 2021
b1adba8
silence message log
quoid Apr 11, 2021
fd8f6fd
console error messages
quoid Apr 11, 2021
ab7d325
rebuild page
quoid Apr 11, 2021
c1489a5
only respond to pageframe counts from top window
quoid Apr 15, 2021
e9eaca0
Merge pull request #110 from quoid/dependabot/npm_and_yarn/y18n-3.2.2
quoid Apr 16, 2021
a02773f
update packages
quoid Apr 16, 2021
f3654cf
formatting
quoid Apr 22, 2021
f12a8e5
Make auto the default inject-into value #115
quoid Apr 22, 2021
174402f
rebuild bundled html
quoid Apr 22, 2021
5a132a6
documentation update
quoid Apr 23, 2021
567f82a
readme updates
quoid Apr 23, 2021
aab90d7
readme update
quoid Apr 23, 2021
f2c8012
readme formatting
quoid Apr 23, 2021
299fe6e
readme update
quoid Apr 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 46 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,34 @@ An open-source userscript editor for Safari.

![Userscripts Safari](/etc/screenshot.png)

## Table of Contents
* [Installation](#installation)
* [Getting Help](#getting-help)
* [UI Overview](#ui-overview)
* [Browser Page](#browser-page)
* [Settings Modal](#settings-modal)
* [Popover](#popover)
* [Save Location](#save-location)
* [FAQs](#faqs)
* [Contributing](#contributing)
* [Support](#support)
* [Privacy Policy](#privacy-policy)
* [License](#license)

## Installation

Install via [Mac App Store](https://itunes.apple.com/us/app/userscripts/id1463298887) or clone the project and build with Xcode. Alternatively, you can download the most current version for the [releases page](https://github.com/quoid/userscripts/releases).

## Getting Help

If you encounter a problem or need some assistance, please open an issue and *provide some system specs*. The specs requested are `macOS version`, `Safari version` and `Userscripts Safari version`. You can find the extension version by opening the contain app or by viewing the "Information" section within the settings modal of the extension's browser page.

If you encounter an issue with a specific website, *please provide the website address and the userscript that is presenting the issue*. It can be a slimmed down version of the userscript that can demonstrate the issue.

## UI Overview

### Browser Page:

![Userscripts Safari Main Application Window](/etc/ui01.png)

1. **Extension button** - click this button to open the extension interface
Expand All @@ -35,21 +57,30 @@ Install via [Mac App Store](https://itunes.apple.com/us/app/userscripts/id146329
- `Save` - while editing, saves all changes you've made to a userscript
- `Command + S` is the keyboard shortcut for the action

---
### Settings Modal:

![Userscripts Safari Settings Window](/etc/ui02.png)
![Userscripts Safari Settings Window](/etc/settings.png)

### Settings:
- **Auto Close Brackets** - toggles on/off auto closing of brackets in the editor
- this affects the following characters: `() [] {} "" ''`
- **Auto Hint** - automatically shows completion hints while editing
- **Hide Descriptions** - hides the item descriptions in the sidebar
- **Show Invisibles** - toggles the display of invisible characters in the editor
- **Javascript Linter** - toggles basic Javascript linting within the editor
- **Tab Size** - the number of spaces a tab is equal to while editing, obviously defaults to `4` because using `2` spaces is absolute insanity
- **Log Activity** - shows some extra messages in the browser console when certain events take place
- **Enable Injection** - toggle on/off script injection for the pages you visit (this is the on/off switch)
- **Show Toolbar Count** - displays a badge on the toolbar icon with a number that represents how many enabled scripts match the url for the page you are on
- **Save Location** - where your file are currently located and being saved to (click the blue text to open location)
- **Change Save Location (cogs icon)** - this button, located directly to the right of the save location, is a shortcut for opening the host app, which will allow you to change the save location
- **Global Blacklist** - all domain patterns listed here will be *globally* ignored for script injection

### Popover:

![Userscripts Safari Settings Window](/etc/popover.png)

10. **Open button** - opens the extension browser page
11. **Enable Injection toggle** - turns on/off page script inject (on/off switch)

## Userscript Metadata

Userscripts Safari currently supports the following userscript metadata:
Expand All @@ -62,12 +93,13 @@ Userscripts Safari currently supports the following userscript metadata:
- `@exclude` - An alias for `@exclude-match` - functions exactly like `@exclude-match`
- `@inject-into` - allows the user to choose which context to inject the script into
- allows the user to choose which context to inject the script into
- values: auto, content, page (default)
- values: auto (default), content, page
- works like [violentmonkey](https://violentmonkey.github.io/api/metadata-block/#inject-into)
- `@run-at`
- allows the user to choose the injection timing
- document-start, document-end (default), document-idle
- works like [violentmonkey](https://violentmonkey.github.io/api/metadata-block/#run-at)
- **JS Only**
- `@weight`
- allows the user to further adjust script injection timing
- can be used to ensure one script injects before another
Expand Down Expand Up @@ -111,7 +143,6 @@ Once the host app is open, you will see a button called "Change save location".
- Currently, when changing the save location, the app does not copy over userscripts from the previous save/load directory
- After a new save location is selected, if you rename or move that selected folder, the extension will continue to load/save to that location - the only way to remove the “link” is by trashing the folder or selecting a new save location


## FAQs

**Do I need to use the extension's editor to create new userscripts or to edit existing?**
Expand All @@ -128,19 +159,21 @@ Once the host app is open, you will see a button called "Change save location".
>
> If you move files from the require folder or manually edit the `manifest.json` file, you will likely break app/extension functionality.

## Support Development
Currently, there are a few ways you can support the development of this extension. The first way is simple; if you enjoy using the extension, consider [leaving a positive review on the App Store](https://apps.apple.com/us/app/userscripts/id1463298887). Seeing the reviews motivates me to continue working on the development.
## Contributing
Code level contributions are welcome. I prefer to collaborate directly with contributors rather than receiving spontaneous pull requests. If you feel you can improve the project in some way, please reach out to me by email or by opening an issue with your improvement/feature request.

Further, any issue marked "help wanted" is actively seeking assistance. Please respond to those issues with feedback, guidance or offers of coding assistance.

Please ensure your contributions align with the project's license before committing anything.

Secondly, you can [sign up to be a beta tester](https://forms.gle/QB46uYQHVyCxULue9). Since this extension values your privacy, and **does not collect any data from users**, it's hard for me to gauge how the extension is being used. By signing up to be a beta tester it not only allows you to test upcoming versions, but also give me the opportunity to elicit feedback from real users.
## Support
The quickest and easiest way to support the project is by [leaving a positive review on the App Store](https://apps.apple.com/us/app/userscripts/id1463298887) if you enjoy the extension and want to see it improve in the future. Seeing these reviews let me know I am doing something right, or wrong, and motivates me to continue working on the project.

Last, any issue marked "help wanted" is actively seeking assistance. Please respond to those issues with feedback, guidance or offers of coding assistance. Outside of those issues, it is fair to assume outstanding issues are already being worked on and new features are being actively developed.
Secondly, you can [sign up to be a beta tester](https://forms.gle/QB46uYQHVyCxULue9). Since this extension values your privacy, and **does not collect any data from users**, it is difficult to gauge how the extension is being used. By signing up to be a beta tester it not only allows you to test upcoming features, but also gives me the opportunity to elicit direct feedback from real users.

## Privacy Policy
Userscripts does not collect any data from its users nor monitor activities or actions you perform within the application and extension. This means everything that you do with the application and extension is private to you and is never shared with the developers or third parties. Since there is no data collection, there is no data retention of any kind.

## License

Licensed under the [GNU General Public License v3.0](/LICENSE) license for all open source applications. A commercial license is required for all other applications.



Binary file modified etc/App Store Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified etc/assets.sketch
Binary file not shown.
Binary file added etc/popover-original.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added etc/popover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified etc/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added etc/settings-original.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added etc/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed etc/ui02-original.png
Binary file not shown.
Binary file removed etc/ui02.png
Binary file not shown.
Binary file modified etc/uilayout.sketch
Binary file not shown.
Loading