Action

Tools...

Posted by @mattmaybe, Last update almost 6 years ago - Unlisted

A selection of tools to work and change current draft.

Steps

  • script

    //TOOLS 
    /* based on an Action created by Tim Nahumck */
    
    var actions = ["Copy","Copy Selection","Archive Text Selection","Copy as Rich Text","Copy UUID","Copy Link to Draft","Show","Insert Draft","Clear"];
    
    var p = Prompt.create();
    p.title = "Select Clipboard Action";
    for (i = 0; i < actions.length; i++) {
      p.addButton(actions[i]);
    }
    var con = p.show();
    
    if (con) {
      var s = editor.getSelectedText();
      var selRange = editor.getSelectedRange();
    
    
    //Actions based on button presses
    
    //COPY
      if (p.buttonPressed == "Copy") {
        var text = draft.processTemplate("[[draft]]");
        var clipboard = app.setClipboard(text);
      }
    
    //COPY SELECTED TEXT
      if (p.buttonPressed == "Copy Selection")
    {
    	var stext = editor.getSelectedText();
    	var text = stext;
    	var clipboard = app.setClipboard(text);
    }
    
    //ARCHIVE SELECTED TEXT
      if (p.buttonPressed == "Archive Text Selection") {
      var title = draft.title;
      var selection = editor.getSelectedText();
      var d = Draft.find("7FD95439-F304-447B-AEBA-4B551AC222F1");
      var content = d.content;
      var updated = d.content + "\n"+ title + "\n" + selection;
      d.content = updated;
      d.update();
      editor.setSelectedText("");
      }
    
    //COPY AS RICH 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.");
        }
      }
    
    //COPY UUID
      if (p.buttonPressed == "Copy UUID") {
        var text = draft.processTemplate("ABB1773E-2560-4257-AE68-D517F41633AF");
        var clipboard = app.setClipboard(text);
      }
      if (p.buttonPressed == "Copy Link to Draft") {
        var dtext = draft.processTemplate("ABB1773E-2560-4257-AE68-D517F41633AF");
        var text = "drafts5://x-callback-url/open?uuid="+dtext;
        var clipboard = app.setClipboard(text);
      }
    
    //SHOW CLIPBOARD CONTENT
      if (p.buttonPressed == "Show") {
        var clipboard = app.getClipboard();
        alert(clipboard);
      }
    
    //CLEAR CLIPBOARD
      if (p.buttonPressed == "Clear") {
        var text = "";
        var clipboard = app.setClipboard(text);
      }
    
    //INSERT ANOTHER DRAFT AS CONTENT
      if (p.buttonPressed == "Insert Draft") {
    var d = app.selectDraft();
      if (d) {
    editor.setSelectedText(d.content);
      	editor.focus();
      	}
      }
    }
    else {
      context.cancel();
    }
  • script (disabled)

    var d = Draft.find("ABB1773E-2560-4257-AE68-D517F41633AF");
    eval(d.content);
    

Options

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