Skip to content

Instantly share code, notes, and snippets.

@niallsmart
Last active December 28, 2023 00:10
Show Gist options
  • Select an option

  • Save niallsmart/d7138b87b306a1f3bb8a to your computer and use it in GitHub Desktop.

Select an option

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"))
@davidtingsu

Copy link
Copy Markdown

i would like to turn this into a chrome plugin. what is the license on this code? will give your gist some credit.

@waynesutton

Copy link
Copy Markdown

Hi, how do I use the code above?

David, let me know if you created a chrome plugin. I need it :)

@ksoo

ksoo commented May 15, 2017

Copy link
Copy Markdown

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.

@chiffrezlacasse

Copy link
Copy Markdown

Thanks!!

@rnjailamba

Copy link
Copy Markdown

@davidtingsu, did you make it?

@benctv

benctv commented May 11, 2019

Copy link
Copy Markdown

Thank you! Felt so good to have something simple and work! Wonderful.

@Max-Makhrov

Max-Makhrov commented Jun 24, 2020

Copy link
Copy Markdown

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
Copy Markdown

God bless you for creating this snippet!

@vsvld

vsvld commented Dec 21, 2020

Copy link
Copy Markdown

thank you!

@wcarmon

wcarmon commented Apr 30, 2021

Copy link
Copy Markdown

Thanks!

@szilard-nemeth

Copy link
Copy Markdown

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

jjb commented Jan 13, 2022

Copy link
Copy Markdown

🙏

@nicolaskenner

Copy link
Copy Markdown

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