{
  "name": "quicklinks",
  "kind": "bundled",
  "title": "Quicklinks",
  "description": "Your own links, opened with Enter, with a {query} slot for search URLs that you fill in from the search bar. Create and edit them in the panel, start from a library of ready-made searches, and import or export them as JSON.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰌹",
      "bg": "orange"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/quicklinks@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/quicklinks",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "quicklinks",
    "title": "Quicklinks",
    "description": "Your own links, opened with Enter, with a {query} slot for search URLs that you fill in from the search bar. Create and edit them in the panel, start from a library of ready-made searches, and import or export them as JSON.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰌹",
        "bg": "orange"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "path",
        "id": "import",
        "label": "Import file",
        "pick": "file",
        "description": "A JSON array of {name, url, keywords?} listed alongside your own links, read-only; empty for none.",
        "default": ""
      },
      {
        "kind": "boolean",
        "id": "prefer_existing_tab",
        "label": "Prefer an open tab",
        "text": "Open a link by switching to a browser tab already on that page, when there is one",
        "description": "Asks the browsers (as Browser Tabs does) before opening; a new tab when none has the page.",
        "default": false
      }
    ],
    "store": {
      "tagline": "Your own links, with a slot for search terms",
      "category": "productivity",
      "features": [
        "`enter` opens a link; a url with `{query}` asks for the term right in the search bar",
        "`{selection}`, `{clipboard}` and `{files}` fill in by themselves, so one `enter` translates the selected text",
        "Create a link from the tab in front, pick the browser it opens in, edit with `cmd+e`",
        "A library of 25 ready-made searches (Google, Wikipedia, GitHub, npm, MDN, Maps and more)",
        "Optionally switch to a tab that already has the page open instead of opening another",
        "Import and export as JSON; Raycast's quicklinks export is read as is"
      ],
      "permissions": [],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-list.png",
          "caption": "Your links by name: a search link carries its {query} as a tag, one pinned to a browser names it"
        },
        {
          "file": "2-query.png",
          "caption": "A search link asks for its query; Enter opens github.com/search with it filled in"
        },
        {
          "file": "3-actions.png",
          "caption": "Open, Copy URL, Edit, Delete on one of your links"
        },
        {
          "file": "4-form.png",
          "caption": "Create Quicklink: name, url with {query}, keywords, the browser to open with"
        },
        {
          "file": "5-library.png",
          "caption": "The library: 25 ready-made searches, the ones you have tagged added; Enter adds one to your links"
        }
      ],
      "actions": [
        {
          "title": "Open",
          "description": "Opens the url; a {query} link asks for it in the search bar first, one field per placeholder name.",
          "keys": "enter"
        },
        {
          "title": "Add to my quicklinks",
          "description": "In the library: the search saved to your links, once.",
          "keys": "enter"
        },
        {
          "title": "Search with it",
          "description": "In the library: the drill-in with the search, without saving it.",
          "keys": "cmd+enter"
        },
        {
          "title": "Copy URL",
          "description": "The url as stored, placeholder included.",
          "keys": "cmd+c"
        },
        {
          "title": "Edit",
          "description": "The form, filled in.",
          "keys": "cmd+e"
        },
        {
          "title": "Delete",
          "description": "Asks first.",
          "keys": "ctrl+x"
        },
        {
          "title": "Create quicklink",
          "description": "The form, on the Create row.",
          "keys": "enter"
        },
        {
          "title": "Import…",
          "description": "A JSON file's links, the ones you already have skipped.",
          "keys": "enter"
        },
        {
          "title": "Export…",
          "description": "Your links to a JSON file.",
          "keys": "enter"
        },
        {
          "title": "Browse library",
          "description": "The library level, on the Browse Library row.",
          "keys": "enter"
        }
      ]
    },
    "links": {
      "open": {
        "description": "Open a quicklink by name",
        "params": {
          "name": {
            "description": "The quicklink's name (or a keyword), case-insensitive",
            "required": true
          },
          "query": {
            "description": "Fills the {query} of a search link; without it the panel opens to ask"
          }
        }
      }
    },
    "palettes": {
      "quicklinks": {
        "title": "Quicklinks",
        "tier": "primary",
        "kind": "list",
        "inline": true,
        "match": "^\\s*([a-z][a-z0-9+.-]*://\\S+|(localhost|[a-z0-9-]+(\\.[a-z0-9-]+)*\\.[a-z]{2,})(:\\d+)?([/?#]\\S*)?)\\s*$",
        "fallback": true,
        "description": "Every quicklink by name and keyword, plus Create Quicklink and Browse Library. At the root a typed web address gets an inline Open row; when nothing matches, every {query} link appears filled with what was typed.",
        "keys": [
          {
            "keys": "enter",
            "title": "Open, with the {query} typed in the bar's field; in the library, add the search"
          },
          {
            "keys": "cmd+enter",
            "title": "In the library, search with it without adding"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the url"
          },
          {
            "keys": "cmd+e",
            "title": "Edit"
          },
          {
            "keys": "ctrl+x",
            "title": "Delete"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/quicklinks",
  "tagline": "Your own links, with a slot for search terms",
  "category": "productivity",
  "screenshots": [
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/2-query-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/2-query.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/3-actions-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/3-actions.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/4-form-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/4-form.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/5-library-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/5-library.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/2-query.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/3-actions.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/4-form.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/5-library.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/2-query-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/3-actions-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/4-form-dark.png",
    "https://pal.cagdas.io/extensions/quicklinks/screenshots/5-library-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": true,
  "links": [
    {
      "route": "open",
      "url": "pal://quicklinks/open?name=\u003cname\u003e",
      "cli": "pal call quicklinks/open name=\u003cname\u003e",
      "description": "Open a quicklink by name",
      "params": [
        {
          "name": "name",
          "description": "The quicklink's name (or a keyword), case-insensitive",
          "required": true
        },
        {
          "name": "query",
          "description": "Fills the {query} of a search link; without it the panel opens to ask"
        }
      ]
    }
  ],
  "multi": false,
  "has_readme": true
}
