Skip to content

Instantly share code, notes, and snippets.

@niallsmart
Last active December 28, 2023 00:10
Show Gist options
  • Save niallsmart/d7138b87b306a1f3bb8a to your computer and use it in GitHub Desktop.
Save niallsmart/d7138b87b306a1f3bb8a to your computer and use it in GitHub Desktop.
Copy Trello checklist to clipboard
copy($(".checklist-item:not(.checklist-item-checked)").map(function() {
var e = $(this),
item = e.find(".checklist-item-details-text").text()
if (e.hasClass("checklist-item-state-complete")) {
item = item + " (DONE)"
}
return item
}).get().join("\n"))
@Max-Makhrov
Copy link

Max-Makhrov commented Jun 24, 2020

In Chrome, open the Trello Card with the checklist, and then select Chrome's More Tools => Developer Tools => Console, copy and paste this Javascript code in, and press Enter to run. The checklist text will then (silently) be on your system Clipboard, and you can paste it elsewhere.

Thank you!

for some reason this code works for me:

$(".checklist-item").map(function(i, item) { 
	let text = $(item).find(".checklist-item-details-text").text(); 
	if( $(item).hasClass("checklist-item-state-complete") ) {
		text += " (DONE)";
    }
	return text;
}).get().join('\n')

The original one throws undefined...

UPDATE: missed this instruction =):

The checklist text will then (silently) be on your system Clipboard, and you can paste it elsewhere.

@ChaiBapchya
Copy link

God bless you for creating this snippet!

@vsvld
Copy link

vsvld commented Dec 21, 2020

thank you!

@wcarmon
Copy link

wcarmon commented Apr 30, 2021

Thanks!

@szilard-nemeth
Copy link

Thanks for this script, very useful.
For me, it didn't fully work for checklists that contain google, youtube or any other link that Trello detects and converts to a text in an overly smart manner. I haven't found a way to turn off this feature and it's a huge pain because if I copy the checklist, the textual version of the original links will be copied and not the original links.
An updated version of the script with parsing such smart links:

copy($(".checklist-item:not(.checklist-item-checked)").map(function() {
  var e = $(this),
      item = e.find(".checklist-item-details-text").text()
  
  var smartlinks = e.find(".atlaskit-smart-link")
  if (smartlinks.length) {
  	//sanity check
  	if (smartlinks.length != 1) {
  		console.error("length of smartlinks should be 1, but it is: " + smartlinks.length)	
  	} else { 
  		item = item + "  " + smartlinks.attr("href")
  	}
  }
  
  if (e.hasClass("checklist-item-state-complete")) {
    item = item + " (DONE)"
  }
  
  return item
}).get().join("\n"))

@jjb
Copy link

jjb commented Jan 13, 2022

🙏

@nicolaskenner
Copy link

This just came in handy! Thank you very much :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment