Action

Test Search Action

Posted by jmreekes, Last update almost 6 years ago - Unlisted

Search on DuckDuckGo with an optional !bang parameter.

!bangs can be found at:
https://duckduckgo.com/bang

Steps

  • script

    // See online documentation for examples
    // http://getdrafts.com/scripting
    //Clipboard Mega Action 
    /* Action created by Tim Nahumck */
    
    var actions = ["Amazon","Google","Prepend","Copy to HTML","Copy as Rich Text","Copy UUID","Copy Link to Draft","Show","Paste","Clear"];
    
    var p = Prompt.create();
    p.title = "Select Search Action";
    for (i = 0; i < actions.length; i++) {
      p.addButton(actions[i]);
    }
    var con = p.show();
      //Actions based on button presses
      if (con) {
      var input = p.fieldValues["search"];
      var output = encodeURIComponent(input)
      
    var content = draft.processTemplate("[[selection]]")
      if (p.buttonPressed == "Amazon") {
        var Amazon = "http://smile.amazon.com/s?ie=UTF8&index=blended&keywords="+output;
      var result = app.openURL(Amazon, true);
      }
      if (p.buttonPressed == "Google") {
        var Google = "https://google.com/search?="+output;
        var result = app.openURL(Google, true);
        }
      if (p.buttonPressed == "Prepend") {
        var dtext = draft.processTemplate("[[draft]]");
        var text = dtext + app.getClipboard();
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Copy to HTML") {
        var text = draft.processTemplate("%%[[draft]]%%");
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Copy as Rich Text") {
        // Process Markdown to HTML
        var mmd = MultiMarkdown.create();
        var html = mmd.render(draft.content);
        // Wrap raw MMD output with HTML template with styles to set base fonts.
        var template = "<html><style>body{font-family:'Helvetica';font-size:100%;}</style><body>[[content]]</body></html>"
        var html = template.replace("[[content]]", html);
        // Place in clipboard as rich-text
        if (!app.htmlToClipboard(html)) {
          context.fail("Error rendering rich text from HTML.");
        }
      }
      if (p.buttonPressed == "Copy UUID") {
        var text = draft.processTemplate("[[uuid]]");
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Copy Link to Draft") {
        var dtext = draft.processTemplate("[[uuid]]");
        var text = "drafts5://x-callback-url/open?uuid="+dtext;
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Show") {
        var clipboard = app.getClipboard();
        alert(clipboard);
      }
      if (p.buttonPressed == "Clear") {
        var text = "";
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Paste") {
        var clipboard = app.getClipboard();
        editor.setSelectedText(clipboard);
      }
    }
    else {
      context.cancel();
    }

Options

  • After Success Default
    Notification Info
    Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.