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.

Reply via email to