### conf file header (compacted)
li:pcb-rnd-conf-v1 { ha:overwrite { ha:plugins { ha:export_bom { li:templates {

### tempalates

# classic gEDA/PCB BoM #########################################################
geda.name = gEDA/PCB BoM
geda.header = {# $Id$
# PcbBOM Version 1.0
# Date: %UTC%
# Author: %author%
# Title: %title% - PCB BOM
# Quantity, Description, Value, RefDes
# --------------------------------------------
}
geda.sort_id = {%subc.prefix%__%subc.a.footprint%__%subc.a.value%}
geda.item = {%count%,"%escape.subc.a.footprint%","%escape.subc.a.value|(unknown)%",%names%
}
geda.footer = {}
geda.needs_escape = {"}
geda.skip_if_nonempty = {%subc.a.dnp%}
geda.list_sep = { }

# classic gEDA/PCB BoM #########################################################
geda_device.name = gEDA/PCB BoM with device attribute
geda_device.header = {# PcbBOM-Device Version 1.0
# Date: %UTC%
# Author: %author%
# Title: %title% - PCB BOM
# Quantity, Footprint, Device, Value, RefDes
# --------------------------------------------
}
geda_device.sort_id = {%subc.prefix%__%subc.a.footprint%__%subc.a.device%__%subc.a.value%}
geda_device.item = {%count%,"%escape.subc.a.footprint|(unknown)%","%escape.subc.a.device|(unknown)%","%escape.subc.a.value|(unknown)%","%escape.names%"
}
geda_device.footer = {}
geda_device.needs_escape = {"}
geda_device.skip_if_nonempty = {%subc.a.dnp%}
geda_device.list_sep = { }

# JLCPCB assembly #########################################################
jlc.name = JLC
jlc.header = {#Comment,Designator,Footprint,LCSC-part-number
}
jlc.sort_id = {%subc.prefix%__%subc.a.footprint%__%subc.a.value%__%subc.a.bom-pn-lcsc%}
jlc.item = {"%escape.subc.a.value|(unknown)%","%escape.names%","%escape.subc.a.footprint%","%escape.subc.a.bom-pn-lcsc%"
}
jlc.footer = {}
jlc.needs_escape = {"}
jlc.skip_if_nonempty = {%subc.a.dnp%}
jlc.list_sep = {,}


### conf file footer (compacted)
} } } } }
