Skip to content

Instantly share code, notes, and snippets.

@Erhannis
Created October 16, 2023 13:02
Show Gist options
  • Save Erhannis/db47eecbbbeb664bf7b4e74fab708a86 to your computer and use it in GitHub Desktop.
Save Erhannis/db47eecbbbeb664bf7b4e74fab708a86 to your computer and use it in GitHub Desktop.
Copy JLCPCB/LCSC part info into format you can paste into a raw KiCAD file directly (for easier mass update via e.g. find/replace)
a1 = document.evaluate("//dl[contains(., 'MFR.Part #')]", document, null, XPathResult.ANY_TYPE, null );
a2 = a1.iterateNext();
if (a2 == null) {
a1 = document.evaluate("//tr[contains(., 'Mfr. Part #')]", document, null, XPathResult.ANY_TYPE, null );
a2 = a1.iterateNext();
}
b1 = document.evaluate("//dl[contains(., 'JLCPCB Part #')]", document, null, XPathResult.ANY_TYPE, null );
b2 = b1.iterateNext();
if (b2 == null) {
b1 = document.evaluate("//tr[contains(., 'LCSC Part #')]", document, null, XPathResult.ANY_TYPE, null );
b2 = b1.iterateNext();
}
c1 = document.evaluate("//dl[contains(., 'Description')]", document, null, XPathResult.ANY_TYPE, null );
c2 = c1.iterateNext();
if (c2 == null) {
c1 = document.evaluate("//tr[contains(., 'Description')]", document, null, XPathResult.ANY_TYPE, null );
c2 = c1.iterateNext();
}
//navigator.clipboard.writeText("MFR\t"+a2.childNodes[2].textContent.trim()+"\n"+"LCSC\t"+b2.childNodes[2].textContent.trim()+"\n"+"Description\t"+c2.childNodes[2].textContent.trim()+"\n"+"URL\t"+window.location);
navigator.clipboard.writeText(` (property "MFR" "`+a2.childNodes[2].textContent.trim()+`"
(effects (font (size 1.524 1.524)) hide)
)
(property "LCSC" "`+b2.childNodes[2].textContent.trim()+`"
(effects (font (size 1.524 1.524)) hide)
)
(property "Description" "`+c2.childNodes[2].textContent.trim()+`"
(effects (font (size 1.524 1.524)) hide)
)
(property "URL" "`+window.location+`"
(effects (font (size 1.524 1.524)) hide)
)
`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment