Hi,
not sure about your other questions, but you can do:
at_keywords = ['@config', '@ignore', '@biblio', '@ref']
if node.h.lstrip().split(' ', 1)[0] not in at_keywords:
hope that helps.
Jack
On Sunday, January 5, 2014 10:01:16 PM UTC-5, Offray Vladimir Luna Cárdenas
wrote:
>
> Hi,
>
> Several years ago I had the epiphany of Leo with the idea of code as
> data and data as code inside the Leo tree structure. The practical side
> of it didn't come until recently, when I start to use @button nodes to
> change the way I used Leo to export the tree as a flat file with light
> markup. I started with txt2tags and recently I made a small script for
> converting Leo trees to pandoc. You can see its source code here:
>
> http://pastebin.com/8RuRrGfX
>
> Is working well but I would like to make it better. So, some questions
> about it:
>
> - I traverse the Leo tree looking for "@keywords" and treating the nodes
> and headers accordingly. @keywords are detected with this code:
>
> ~~~{.code}
> if not (node.h.startswith('@config') or
> node.h.startswith('@ignore') or
> node.h.startswith('@biblio') or
> node.h.startswith('@ref')):
>
> ~~~
>
> but I would like to have a more succinct way to do it, maybe with a
> list. I remember having problems with this:
>
> ~~~{.code}
> if not (node.h.startswith(['@config', '@ignore', '@biblio', '@ref']
> ~~~
>
> So, ¿there is any other and more elegant way to define a list of words
> with @keywords that need to be treated in a special way?
>
> I have defined a "@ignore" keyword and the idea is to do nothing, not
> only with that node but also with all the children. With this piece of
> code I know how to treat the subnodes of the bibliography in a special
> way:
>
> ~~~{.code}
> # Bibliographic references
> elif node.h.startswith('@biblio'):
> # Create the bibliography title
> toFile.append('#'*level + ' ' + node.h[8:] + ' ' + '#'*level)
> toFile.append('\n\n')
> # Staring the yaml list
> toFile.append('---')
> toFile.append('references:')
> # Put the bibliography introductory content. These must be yaml coments
> toFile.append(node.b)
> # Get all the subnodes (one for each bibliographic reference)
> # and add the content. This content is in yaml format, following
> # the pandoc conventions.
> references = [node.copy().b for node in node.subtree()]
> for reference in references:
> toFile.append(reference)
> # Ending the yaml list:
> toFile.append('...')
> ~~~
>
> but curiously I don't know how to say: do nothing if the node is
> children of a "@ignore" parent node. ¿How can this be done? (I imagine
> that @rst-ignore code can be used for this, but I don't know where to
> look for it).
>
> It has been a long way from making outlines in Leo to document/organize
> my stuff, to using Leo to change the way I wrote academical papers.
> Thanks to all the community for being part of it and I hope to find a
> way to make Leo more used in the academical context and outside the
> programmers niche.
>
> Cheers,
>
> Offray
>
> ps: I know that reST can be used for writing academical papers and it
> has native support on Leo, but this approach is more natural and organic
> to my, mainly because of the use of yaml for bibliographic references
> and the workflow that using yaml of zotero.
>
> ps2: There is another nice reST based editor, open source and free
> software for academical writings that is online: https://notex.ch/ I
> would like to have a similar kind of experience to it on Leo. Yaml files
> for configuration/customization, cursive and bold fonts redering inside
> the body panel and figures previews and a better tool bar for supporting
> writing. Where Leo is unbeatable is in its ability of using the Leo tree
> to program all Leo behaviour even the treatment of the text and the
> final output. NoTeX is even more difficult to install that Leo. In most
> Linux distros, installing Leo is just a matter of typing a command,
> while in Windows/Mac is a lot of geeky instructions just for having a
> taste of its potential. NoTeX can be used online without installing, but
> trying to have it running on your local machine seems like juggling with
> a lot of moving parts.
>
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/groups/opt_out.