Hi Henrik
On 03/02/11 19:37, Henrik wrote:
Hi,
probably a question for Stuart, but others may be able to help as
well.
I am working on an aafigure filter for AsciiDoc which is almost
completed. The thing I am struggling with is how to pass optional
arguments to the filter.
For example:
[aafigure,"block.png",scale=0.5,fill="00b",aspect=0.8,options="textual"]
----------------------------
+--------------------+
+ ASCII art is ugly +
+--------------------+
---------------------------
No problems with the first two positional arguments. But how to
implement the non-positional arguments like scale, fill, aspect and
textual?
This is what I thought it should be in the filter configuration, but
none of the optional arguments seem to be defined when the filter
style is parsed:
[aafigure-filter-style]
aafigure-style=template="aafigure{format?-{format}}-
block",subs=(),posattrs=("style","target"),filter='aafig2img.py
{verbose?-v} -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -
F {format=png}{fill? --fill {fill}}{foreground? --foreground
{foreground}}{background? --background {background}}{scale? --scale
{scale}}{aspect? --aspect {aspect}}{linewidth? --linewidth {linewidth}}
{textual-option? --textual} -'
What am I missing here?
Looks fine to me. I did a test: added a couple of named args to a simple source
code filter example:
["source","python",named1="one",named2="two"]
---------------------------------------------------------------------
Test
---------------------------------------------------------------------
Then I added a couple of print statements to the filter_lines() function just
after command-line substitution:
diff -r f1d6c6f658c0 asciidoc.py
--- a/asciidoc.py»······Thu Feb 03 12:29:23 2011 +1300
+++ b/asciidoc.py»······Fri Feb 04 09:18:51 2011 +1300
@@ -662,6 +662,9 @@
return lines
# Perform attributes substitution on the filter command.
s = subs_attrs(filter_cmd, attrs)
+ print filter_cmd
+ print attrs
+ print s
if not s:
message.error('undefined filter attribute in command: %s' % filter_cmd)
return []
Heres the output:
$ asciidoc t.txt
source-highlight -f xhtml -s {language} {src_numbered?--line-number}
{src_tab?--tab={src_tab}}
{'named2': 'two', 'named1': 'one', 'language': 'python', 'style': 'source', '1':
'source', '0': '"source","python",named1="one",named2="two"', '2': 'python'}
source-highlight -f xhtml -s python
You can see the named args as keys 'named1' and 'named2' in the attributes
dictionary.
Try this and see if the attrs dictionary contains the expected named attributes.
Cheers, Stuart
Cheers
Henrik
--
You received this message because you are subscribed to the Google Groups
"asciidoc" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/asciidoc?hl=en.