kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #36485
Re: Translation of dialog_bom_help.html
As a some start point, I was simplified
eeschema/dialogs/dialog_bom_help.html as much as possible (with several
fixes).
пт, 13 июл. 2018 г. в 6:40, David Godfrey <info@xxxxxxxxxxx>:
> Hi Wayne,
>
> Out of interest, if formatted translated text is required in this dialogue
> would it be easier to change from html to markdown?
>
> At least markdown is fairly easy for a translator to work with, although
> it doesn't provide all of the flexibility of html.
> Regards
> David Godfrey
> SB Tech Services
> mb: +61 437 286 200 <+61437286200>
>
> chat: with *dcg_mx* at
> #sbts:matrix.org <http://riot.im/app/#/room/%23sbts:matrix.org> (Computer)
> #sbts:matrix.org <http://matrix.to/#/%23sbts:matrix.org> (mobile Device)
>
>
> On 12/07/18 22:15, Wayne Stambaugh wrote:
>
> On 7/12/2018 8:59 AM, Simon Richter wrote:
>
> Hi,
>
> On 11.07.2018 21:51, Wayne Stambaugh wrote:
>
>
> This probably should have been done as a cpp string wrapped with the
> translation macro _(). I'm not sure there is anything we can do to make
> this translatable. Anyone else have any ideas?
>
>
> We could move the entire text to the user documentation, and make the
> dialog point at it.
>
> If the dialog is unusable without the documentation, then that is a
> separate problem, but I doubt it's that bad.
>
> Simon
>
>
> I completely missed the fact the html file is converted to a C string by
> Html2C.cmake. It would be easy enough to modify Html2C.cmake to wrap
> the string with the _() macro. The problem I see is the string (see
> generated file eeschema/dialogs/dialog_bom_help_html.h) has a lot of
> markup which I'm sure will make life miserable for translators.
>
> We could try Simon's suggestion of moving the html text to the eeschema
> user docs and provide a link using the help button. We would have to
> add code to point the help url to the translated version if it exists
> but that shouldn't be too difficult (famous last words). The contents
> of the BOM dialog html file do not appear to exist anywhere in the
> eeschema user doc.
>
> In the future we should refrain from doing this so that all source
> strings and documentation can be translated.
>
> Wayne
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
From e787b579b7e197f6391be153ba57a298190b20bd Mon Sep 17 00:00:00 2001
From: Baranovskiy Konstantin <baranovskiykonstantin@xxxxxxxxx>
Date: Fri, 13 Jul 2018 20:09:01 +0300
Subject: [PATCH] Html source of bom help message is simplified.
The file eeschema/dialogs/dialog_bom_help.html was generated from
LibreOffice and has the lot of unnecessary tags.
---
eeschema/dialogs/dialog_bom_help.html | 555 +++++++++++++-------------
1 file changed, 273 insertions(+), 282 deletions(-)
diff --git a/eeschema/dialogs/dialog_bom_help.html b/eeschema/dialogs/dialog_bom_help.html
index cd6169a2c..529d93e42 100644
--- a/eeschema/dialogs/dialog_bom_help.html
+++ b/eeschema/dialogs/dialog_bom_help.html
@@ -1,286 +1,277 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html>
<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
- <title>kicad help</title>
- <meta name="generator" content="LibreOffice 4.3.5.2 (Windows)"/>
- <meta name="created" content="00:00:00"/>
- <meta name="changed" content="2015-05-27T11:29:49.733000000"/>
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2015-05-27T10:36:10.287000000">
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2015-05-27T09:45:48.809000000">
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2015-05-27T09:29:26.026000000">
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2014-12-03T20:04:24.723000000">
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2014-12-03T20:04:06.003000000">
- <meta name="created" content="00:00:00">
- <meta name="changed" content="2014-12-03T19:59:24.882000000">
- <style type="text/css">
- @page { margin: 2cm }
- p { margin-bottom: 0.21cm; color: #000000; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto }
- p.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }
- h1 { color: #000000 }
- h1.western { font-family: "Times New Roman", serif }
- h2 { color: #000000 }
- h2.western { font-family: "Times New Roman", serif; font-size: 20pt }
- h2.cjk { font-family: "SimSun"; font-size: 14pt }
- h2.ctl { font-family: "Mangal"; font-size: 14pt }
- h3 { background: transparent; color: #000000 }
- h3.western { font-family: "Times New Roman", serif; font-size: 16pt; font-style: italic }
- h3.cjk { font-family: "SimSun" }
- h3.ctl { font-family: "Mangal" }
- a:link { color: #004586; text-decoration: none }
- a.western:link { font-family: "Liberation Sans", sans-serif; so-language: zxx; font-style: italic }
- a.sdfootnotesym-western { font-family: "DejaVu Serif", serif }
- </style>
-</head>
-<body lang="en-AU" text="#000000" link="#004586" dir="ltr">
-<h1 class="western"><a name="__RefHeading__2925_482973253"></a>1 -
-Full documentation:</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-weight: normal">The
-</span><i><b>Eeschema documentation</b></i> <span style="font-weight: normal">describes
-this </span><b>intermediate netlist and gives examples<br></b><span style="font-weight: normal">See
-also </span><i><b>https://answers.launchpad.net/kicad/+faq/2265</b></i></font></font></p>
-<h1 class="western"><i>2 - </i>The intermediate Netlist File</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">BOM
-files (and netlist files) can be created from an Intermediate netlist
-file created by Eeschema.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">This
-file uses XML syntax and is called the intermediate netlist. The
-intermediate netlist includes a large amount of data about your board
-and because of this, it can be used with post-processing to create a
-BOM or other reports.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Depending
-on the output (BOM or netlist), different subsets of the complete
-Intermediate Netlist file will be used in the post-processing.</font></font></p>
-<h1 class="western">3 - Conversion to a new format</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">By
-applying a post-processing filter to the Intermediate netlist file
-you can generate foreign netlist files as well as BOM files. Because
-this conversion is a text to text transformation.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">this
-post-processing filter can be written using <b>Python</b>, <b>XSLT</b>,
-or any other tool capable of taking XML as input.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">XSLT
-itself is a XML language very suitable for XML transformations. There
-is a free program called </span></span></span><i><span style="font-weight: normal">xsltproc</span></i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">that
-you can download and install. The</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">xsltproc
-program can be used to read the Intermediate XML netlist input file,
-apply</span></span></span><span style="font-variant: normal"> </span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">a
-style-sheet to transform the input, and save the results in an output
-file. Use of xsltproc requires a style-sheet file using XSLT
-conventions. The full conversion process is handled</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">by
-Eeschema, after it is configured once to run xsltproc in a specific
-way.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">A
-Python script is somewhat more easy to create.</font></font></p>
-<h1 class="western">4 - Initialization of the dialog window</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">You
-should add a new pluging (a script) in plugin list by clicking on the
-Add Plugin button.</font></font></p>
-<h2 class="western">4.1 - Plugin Configuration Parameters</h2>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-Eeschema plug-in configuration dialog requires the following
-information:</font></font></p>
-<ul>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
- title: for instance, the name of the netlist format.</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
- command line to launch the converter (usually a script).</font></font></p>
-</ul>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b><i>Note (Windows only):</i></b></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; margin-top: 0cm; margin-left: 1cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i>By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window".</i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Once
-you click on the generate button the following will happen:</font></font></p>
-<ol>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Eeschema
- creates an intermediate netlist file *.xml, for instance <i>test.xml.</i></font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Eeschema
- runs the script from the command line to create the final output
- file.</font></font></p>
-</ol>
-<h2 class="western">4.2 - Generate netlist files with the command
-line</h2>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Assuming
-we are using the program <i>xsltproc.exe</i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal">to
-apply the sheet style to the intermediate file, </span></span><i>xsltproc.exe</i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal">is
-executed with the following command.</span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">xsltproc.exe
--o < output filename > < style-sheet filename > <
-input XML file to convert ></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows the command line is the following.<br><i>f:/kicad/bin/xsltproc.exe
--o “%O” f:/kicad/bin/plugins/myconverter.xsl “%I”</i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux the command becomes as following.<br><i>xsltproc -o “%O”
-/usr/local/kicad/bin/plugins/myconverter .xsl “%I”<br>w</i><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">here
-</span></span></span><span style="font-variant: normal"><i><span style="font-weight: normal">myconverter</span></i></span><i><span style="font-weight: normal">.xsl</span></i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">is
-the style-sheet that you are applying.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">Do
-not forget the double quotes</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">around
-the file names, this allows them to have spaces after the
-substitution by Eeschema.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">If
-a Python script is used, the command line is something like
-(depending on the Python script):</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i>python</i>
-<i>f:/kicad/bin/plugins/bom-in-python/myconverter.py</i>
-“<i>%I”“%O”<br>or<br>python</i>
-<i>/usr/local/kicad/bin/plugins/bom-in-python/myconverter .xsl “%I”
-“%O” </i></font></font>
-</p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-command line format accepts parameters for filenames:</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-supported formatting parameters are.</font></font></p>
-<ul>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%B</b>
- => base filename of selected output file, minus path and extension.</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%P</b>
- => project directory, without name and without trailing '/'.</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%I
- </b>=> complete filename and path of the temporary input file
- (the intermediate net file).</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%O</b>
- => complete filename and path (but without extension) of the user
- chosen output file.</font></font></p>
-</ul>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%I</b>
-will be replaced by the actual intermediate file name<span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(usually
-the full root sheet filename with extension “.xml”)</span></span></span><br><span style="font-variant: normal"><span style="font-style: normal"><b>%O</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual output file name (the full root sheet
-filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%B</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual output short file name</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(the
-short root sheet filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%P</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual current project path.</span></span></span></font></font></p>
-<h2 class="western">4.3 - Command line format:</h2>
-<h3 class="western">4.3.1 - Remark:</h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Most
-of time, the created file must have an extension, depending on its
-type.<br>Therefore you have to add to the option <i><b>%O</b></i> the
-right file extension.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">For
-instance:</font></font></p>
-<ul>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.csv</b></i>
- to create a .csv file (comma separated value file).</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.html</b></i>
- to create a .html file.</font></font></p>
- <li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
- <font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.bom</b></i>
- to create a .bom file.</font></font></p>
-</ul>
-<h3 class="western">4.3.2 Example for<i> </i><span style="font-variant: normal"><i>xsltproc:</i></span></h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal">The
-command line format for xsltproc is the following:<br>< path of
-</span></span>xsltproc > <span style="font-variant: normal"><span style="font-style: normal">xsltproc
-< </span></span>xsltproc parameters ></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows:<br><i><b>f:/kicad/bin/xsltproc.exe -o “%O.bom</b></i>”
-<i><b>f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I”</b></i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux:<br><i><b>xsltproc -o “%O.bom</b></i>”
-<i><b>/usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I”</b></i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">The
-above examples assume</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">xsltproc
-is installed on your PC under Windows xsl</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">exe</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">files
-located in kicad/bin</span></span></span><span style="font-variant: normal"><i><b>plugins/</b></i></span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<br/>
+ <head>
+ <meta charset="utf-8"/>
+ <title>
+kicad help
+ </title>
+ </head>
+ <body>
+ <h1>
+1 - Full documentation:
+ </h1>
+ <p>
+The <i><b>Eeschema documentation</b></i> describes this <b>intermediate netlist and gives examples.</b>
+ <br>
+See also <a href="https://answers.launchpad.net/kicad/+faq/2265">https://answers.launchpad.net/kicad/+faq/2265</a>
+ </p>
-</p>
-<h3 class="western">4.3.3 <i>Example fo</i><span style="font-variant: normal"><i>r
-python scripts:</i></span></h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-command line format for python is something like:<br><span style="font-variant: normal"><span style="font-style: normal">python</span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><
-script file name </span></span>> < input filename > <
-output filename ></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows:<br><i><b>python.exe f:/kicad/bin/plugins
-/bom-in-python/my_python_script.py</b></i> “<i><b>%I”
-“%O.html</b></i>”</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux:<br><i><b>python</b></i> <i><b>/usr/local/kicad/bin/plugins
-/bom-in-python/my_python_script.py</b></i> “<i><b>%I”
-“%O.csv</b></i>”</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Assuming
-python is installed on your PC, and python scripts are located in
-<i><b>kicad/bin/plugins /bom-in-python/</b></i>.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<br/>
+ <h1>
+2 - The intermediate Netlist File
+ </h1>
+ <p>
+BOM files (and netlist files) can be created from an Intermediate netlist file created by Eeschema.
+ </p>
+ <p>
+This file uses XML syntax and is called the intermediate netlist. The intermediate netlist includes a large amount of data about your board and because of this, it can be used with post-processing to create a BOM or other reports.
+ </p>
+ <p>
+Depending on the output (BOM or netlist), different subsets of the complete Intermediate Netlist file will be used in the post-processing.
+ </p>
-</p>
-</body>
+ <h1>
+3 - Conversion to a new format
+ </h1>
+ <p>
+By applying a post-processing filter to the Intermediate netlist file you can generate foreign netlist files as well as BOM files. Because this conversion is a text to text transformation.
+ </p>
+ <p>
+This post-processing filter can be written using <b>Python</b>, <b>XSLT</b>, or any other tool capable of taking XML as input.
+ </p>
+ <p>
+XSLT itself is a XML language very suitable for XML transformations. There is a free program called <i>xsltproc</i> that you can download and install. The xsltproc program can be used to read the Intermediate XML netlist input file, apply a style-sheet to transform the input, and save the results in an output file. Use of xsltproc requires a style-sheet file using XSLT conventions. The full conversion process is handled by Eeschema, after it is configured once to run xsltproc in a specific way.
+ </p>
+ <p>
+A Python script is somewhat more easy to create.
+ </p>
+
+ <h1>
+4 - Initialization of the dialog window
+ </h1>
+ <p>
+You should add a new pluging (a script) in plugin list by clicking on the Add Plugin button.
+ </p>
+
+ <h2>
+4.1 - Plugin Configuration Parameters
+ </h2>
+ <p>
+The Eeschema plug-in configuration dialog requires the following information:
+ </p>
+ <ul>
+ <li>
+ <p>
+The title: for instance, the name of the netlist format.
+ </p>
+ </li>
+ <li>
+ <p>
+The command line to launch the converter (usually a script).
+ </p>
+ </li>
+ </ul>
+ <p>
+ <b><i>
+Note (Windows only):
+ </i></b>
+ </p>
+ <p>
+ <i>
+By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window".
+ </i>
+ </p>
+ <p>
+Once you click on the generate button the following will happen:
+ </p>
+ <ol>
+ <li>
+ <p>
+Eeschema creates an intermediate netlist file *.xml, for instance <i>test.xml.</i>
+ </p>
+ </li>
+ <li>
+ <p>
+Eeschema runs the script from the command line to create the final output file.
+ </p>
+ </li>
+ </ol>
+
+ <h2>
+4.2 - Generate netlist files with the command line
+ </h2>
+ <p>
+Assuming we are using the program <i>xsltproc.exe</i> to apply the sheet style to the intermediate file, <i>xsltproc.exe</i> is executed with the following command.
+ </p>
+ <p>
+ <samp>
+xsltproc.exe -o < output filename > < style-sheet filename > < input XML file to convert >
+ </samp>
+ </p>
+ <p>
+On Windows the command line is the following.
+ </p>
+ <p>
+ <samp>
+f:\kicad\bin\xsltproc.exe -o “%O” f:\kicad\bin\plugins\myconverter.xsl “%I”
+ </samp>
+ </p>
+ <p>
+On Linux the command becomes as following.
+ </p>
+ <p>
+ <samp>
+xsltproc -o “%O” /usr/local/kicad/bin/plugins/myconverter .xsl “%I”
+ </samp>
+ </p>
+ <p>
+where <i>myconverter.xsl</i> is the style-sheet that you are applying.
+ </p>
+ <p>
+Do not forget the double quotes around the file names, this allows them to have spaces after the substitution by Eeschema.
+ </p>
+ <p>
+If a Python script is used, the command line is something like (depending on the Python script):
+ </p>
+ <p>
+ <samp>
+python f:\kicad\bin\plugins\bom-in-python\myconverter.py “%I”“%O”
+ </samp>
+ </p>
+ <p>
+or
+ </p>
+ <p>
+ <samp>
+python /usr/local/kicad/bin/plugins/bom-in-python/myconverter.py “%I” “%O”
+ </samp>
+ </p>
+ <p>
+The command line format accepts parameters for filenames:
+ </p>
+ <p>
+The supported formatting parameters are.
+ </p>
+ <ul>
+ <li>
+ <p>
+<b>%B</b> => base filename of selected output file, minus path and extension.
+ </p>
+ </li>
+ <li>
+ <p>
+<b>%P</b> => project directory, without name and without trailing '/'.
+ </p>
+ </li>
+ <li>
+ <p>
+<b>%I</b> => complete filename and path of the temporary input file (the intermediate net file).
+ </p>
+ </li>
+ <li>
+ <p>
+<b>%O</b> => complete filename and path (but without extension) of the user chosen output file.
+ </p>
+ </li>
+ </ul>
+ <p>
+<b>%I</b> will be replaced by the actual intermediate file name (usually the full root sheet filename with extension “.xml”)
+ <br>
+<b>%O</b> will be replaced by the actual output file name (the full root sheet filename minus extension).
+ <br>
+<b>%B</b> will be replaced by the actual output short file name (the short root sheet filename minus extension).
+ <br>
+<b>%P</b> will be replaced by the actual current project path.
+ </p>
+
+ <h2>
+4.3 - Command line format:
+ </h2>
+ <h3>
+4.3.1 - Remark:
+ </h3>
+ <p>
+Most of time, the created file must have an extension, depending on its type.
+ <br>
+Therefore you have to add to the option <i><b>%O</b></i> the right file extension.
+ </p>
+ <p>
+For instance:
+ </p>
+ <ul>
+ <li>
+ <p>
+<i><b>%O.csv</b></i> to create a .csv file (comma separated value file).
+ </p>
+ </li>
+ <li>
+ <p>
+<i><b>%O.html</b></i> to create a .html file.
+ </p>
+ </li>
+ <li>
+ <p>
+<i><b>%O.bom</b></i> to create a .bom file.
+ </p>
+ </li>
+ </ul>
+ <h3>
+4.3.2 - Example for <i>xsltproc:</i>
+ </h3>
+ <p>
+The command line format for xsltproc is the following:
+ </p>
+ <p>
+ <samp>
+< path of xsltproc > xsltproc < xsltproc parameters >
+ </samp>
+ </p>
+ <p>
+On Windows:
+ <br>
+ <samp>
+f:\kicad\bin\xsltproc.exe -o “%O.bom” f:\kicad\bin\plugins\netlist_form_pads-pcb.xsl “%I”
+ </samp>
+ </p>
+ <p>
+On Linux:
+ <br>
+ <samp>
+xsltproc -o “%O.bom” /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl “%I”
+ </samp>
+ </p>
+ <p>
+The above examples assume xsltproc is installed on your PC under Windows xsl exe files located in kicad\bin\<b>plugins\</b>.
+ </p>
+
+ <h3>
+4.3.3 - Example for <i>python</i> scripts:
+ </h3>
+ <p>
+The command line format for python is something like:
+ </p>
+ <p>
+ <samp>
+python < script file name > < input filename > < output filename >
+ </samp>
+ </p>
+ <p>
+On Windows:
+ </p>
+ <p>
+ <samp>
+python.exe f:\kicad\bin/plugins\bom-in-python\my_python_script.py “%I” “%O.html”
+ </samp>
+ </p>
+ <p>
+On Linux:
+ </p>
+ <p>
+ <samp>
+python /usr/local/kicad/bin/plugins/bom-in-python/my_python_script.py “%I” “%O.csv”
+ </samp>
+ </p>
+ <p>
+Assuming python is installed on your PC, and python scripts are located in <i><b>kicad\bin\plugins\bom-in-python\</b></i>.
+ </p>
+ </body>
</html>
--
2.18.0
References