Skip to content
sixcious edited this page Nov 1, 2024 · 3 revisions

Saving URLs lets you save your own custom settings for any of your favorite websites. The app will remember the settings you saved and will auto-activate itself using those settings.

Tip: Whenever you visit a Saved URL, you will always see a star icon appear in the top-right corner of the Popup UI Window as shown above. You can hover the icon to see more details about the Save, such as its ID.

Adding Saves

You can add new saves from two different places:

  1. Popup UI Window
  2. Options Screen

Adding Saves from the Popup UI Window

  1. Click the Toolbar Icon to bring up the Popup UI Window and adjust the settings to your preference
  2. Click the Star Button in the top-right corner to bring up the Save Dialog and enter a URL Pattern, then click the YES Button (the Star Button should now be filled in)
  3. Click the ACCEPT Button at the bottom to finalize the save

Note that you must click YES in the Save Dialog and then ACCEPT before closing the Popup UI Window

Adding Saves from the Options Screen

  1. Go to the Options Screen by right clicking the toolbar icon (Chrome/Edge) or by clicking the GEAR Icon in the Popup UI Window and click SAVES
  2. Click the ADD SAVE Button to bring up the Add Save Dialog and adjust the settings to your preference
  3. Click the SAVE Button in the dialog when finished

Saved URLs Should Always Be Unique

Most users won't need to worry about this, but if you are going to be saving multiple generic URLs, you ought to make sure that they are each unique. For example, instead of saving multiple URLs with the same regular expression of .*, you should save each one as a unique regular expression like .*[A]?, .*[B]?, and so on (The A and B can be any unique identifier text you wish to use).

Disabling or Enabling Saves

In the Options Screen's SAVES section, if you have at least one save, you will see an ENABLE SAVES Switch in the top-left part of the screen. If you wish, you can disable saves by turning this switch off. When you want to enable your saves again, you can come back to this screen and turn the switch on. You can use this option to disable your saves temporarily (without having to delete them) if you need to test something.

Syncing Saves

To keep your data as private as possible, the app only stores your saves locally on your device.

Save Types

There are three types of saves you can choose from, based on how they match against the URL:

  1. Pattern
  2. Regular Expression
  3. Exact

Pattern

Saving a Pattern lets you match multiple URLs easily in two ways:

  1. As Substring Patterns
  2. Or as Wildcard Patterns

For example, you could save a Substring Pattern like www.example.com/pictures/ to match all URLs that have the characters www.example.com/pictures/ included anywhere in them (hence, as a substring). This allows you to easily shorten a URL to match multiple URLs. For example, say you're on https://www.google.com/search?q=my-search-term. You could shorten the URL to the substring https://www.google.com/search? to match all Google Search URLs.

If you include at least one * character, your pattern will be treated as a Wildcard Pattern. For example, you could save a Wildcard Pattern like *www.example.com/*/* to match both https://www.example.com/pictures/ and https://www.example.com/videos/.

Regular Expression

Save a regular expression for more fine-tuned matching and wildcard matching.

Important: When entering Regular Expressions, you must escape (prepend) the following special characters with a backslash character \ if you want to match them literally:

. ? \ ^ $ * + | ( ) [ ] { }

For example, if you wanted to match .com literally you would need to write it as \.com and not .com because . is a special regex character and is assumed to mean "any character" unless you escape it.

An Example Regular Expression

^https?://www\.example\.com/.*/

This Example Regular Expression will match any URL that is like https://www.example.com/*/.

Here are some notes explaining the regex:

  1. The ^ at the beginning indicates the URL must start with http
  2. The ? after the s indicates that the preceding s character is optional (i.e. http or https would both match)
  3. We escaped the dots in the URL with a backslash character so we can match them literally as dots i.e \.example and \.com
  4. Finally we then used the dot in .* as a regex special character (not escaped) so we can use the . to mean "any character" followed by the * (0 or more "any characters")
Regular Expression Practice

Regular Expressions can be quite complex. If you need help practicing regular expressions, the following website is very helpful: https://regex101.com.

Here are two important things to keep in mind when using it:

  1. Make sure you set the Flavor to ECMAScript (JavaScript)
  2. Normally, you also need to escape the forward slash / character with a \ (i.e. https?:\/\/, but you don't have to escape those forward slash characters in the app because it uses the RegExp Constructor instead of the Literal / Slash method to compile your regular expressions, which doesn't require this character to be escaped

Exact

This is used to match an exact URL (single URL) or, more commonly, when using the Increment URL action and when you manually changed the selection in the URL to increment. In the latter case, the app will actually remember the URL as a "pattern" and ignore the selection you selected, so it will match against multiple URLs. For example, say you wanted to save a URL like https://www.example.com/page1/section1 and the app pre-selected the second 1, but you wanted to increment the first 1 instead. You can paste in the URL exactly like this, and the app will know that it should auto-activate on any URL that is like https://www.example.com/page?/section1 where the ? can be any number.

Save Format

Saves are stored as an array [] of objects {} in JSON format.

Here's an example of a save:

{
  "id": 1,
  "action": "next",
  "append": "element",
  "nextLink": "[rel='next']",
  "pageElement": "body > *",
  "url": "^https://www\\.example\\.com"
}

Save Keys and Values

Metadata

Key Type Examples Description
id Number 1 The id of the save, sequenced in the order of creation
date String "2022-12-22T16:09:42.920Z" The date the save was created or last updated (Optional)
action String "next" "prev" "increment"
"click" "list"
The action to perform
url String "https://www.example.com"
"*example.com*"
"^https?://www\\.example\\.com"
The URL to activate on; either a pattern, regular expression (regex), or exact url
type String "pattern" "regex" "exact" The type of url you are saving (Optional, defaults to regex if omitted)
name String "My Save" The name or title of the save (Optional)
comment String "My comment." A comment or note about the save (Optional)

Next Link Action

Note: Prev Link properties are the same as next link, just replace "next" with "prev" if needed.

Key Type Examples Description
nextLink String "[rel='next']"
"//*[@rel='next']"
The Next Link Path (Selector or XPath)
nextLinkType String "selector"
"xpath"
The Next Link Path's type (Optional, as the path type will be auto detected if this is omitted)
nextLinkProperty Array ["href"] The property (can be a single property or multiple nested ones) of the next link element that contains the link (Optional, defaults to ["href"]) [May be removed in the future]
nextLinkKeyword Boolean
String
true
"self attribute equals next>"
If the save uses keywords to find the next link, this can be a Boolean (e.g. true) to indicate to use the globally defined keywords or a String to target a specific keyword in the format of "relationship type subtype keyword" (Optional, defaults to false)

Click Element Action

Key Type Examples Description
clickElement String "body > button"
"//body/button"
The Click Element Path (Selector or XPath)
clickElementType String "selector" "xpath" The Click Element Path's type (Optional, as the path type will be auto detected if this is omitted)

Increment URL Action

Key Type Examples Description
interval Number 1 The amount to increment by, can be a negative number to decrement
selectionStart Number 30 The selection's starting position in the URL (Applies only to Exact Saves)
selectionEnd Number 0 The selection's ending position in the URL (from right to left) (Applies only to Exact Saves)
selectionStrategy String "smart" "lastnumber"
"firstnumber" "custom"
The strategy to select the part of the URL to increment (Applies only to Pattern/Regex Saves)
selectionCustom
base Number
String
10 16 "date"
"decimal" "roman" "custom"
The selection's base type, can be a base number between 1-36, or a string for more complex bases (10 is the default and represents regular decimal numbers)
baseCase String "lowercase" "uppercase" If incrementing bases that include letters, indicates whether they should be lowercase or uppercase in the URL (Optional, applies only when base is 11-36)
errorSkip Number 10 The maximum number of times to skip past pages that return error codes, such as 404 or redirects (Optional, defaults to 0)
shuffleURLs Boolean true Whether to shuffle the next URLs (Optional, defaults to false)

URL List Action

Key Type Examples Description
list Array ["https://www.ex.com/1", "https://www.ex.com/2"] The array of URL strings the list comprises of
Clone this wiki locally