[WM] How to automatically generate html files from all wmks in
a dir
jlm17 at lucent.com
jlm17 at lucent.com
Thu Feb 9 21:28:39 GMT 2006
Thanks for the help. From this I learned that I didn't have to do anything drastically different
than my first approach below, but that I needed to use quotes around the variable in the values part:
<for name="page" values="${file_list}">
Darren Cole wrote:
> jlm17 at lucent.com,
>
> The closest I have is setting a value is in a <for> loop to be used in
> a template called from the loop (i.e. <content
> name=standard_template></content>). I don't think this is what you are
> asking for, but maybe it will help. At the end of the message I'll
> include the whole <for> to provide more context.
>
> <{set page_text="${${WebMake.OutName}.txt}" }>
>
> I then can access page_text in my template by the normal $ {page_text}.
> The WebMake.OutName is just accessing webmake variables from within the
> for loop so that I can get the whole file name and put the file in
> ${page_text}. You should be able to "set_content ($name, $value);" in
> your perl code to set the value of $name (say the string
> "example_text") to $value. You could then use $ {example_tex}t to get
> at the $value. I don't currently use this, but I think I at least
> tried it at some point (documentation for set_content is of course at
> <http://webmake.taint.org/doc/ PerlCodeLibrary.pm.html>).
>
> I think you might also get the same effect by make a <for> loop
> interate over your .wmk files. Just make a '<contents>
> src="file:wembmake_files/" format="text/wmk" name=".../.wmk"
> listname="wmk_files"/>' before your <for> loop. I'm not sure what the
> format= attribute should be, you'd have to look that up or experiment.
> Then define wemake_template and do whatever you want. I have done
> something like this for a navigation bar that highlights which page you
> are currently on. If you think this would help let me know, and I'll
> provide an example from my webmake file (though it doesn't do the
> webmake files, just text files).
>
> Here is the full loop from my webmake file and the <contents> tag that
> sets no_nav_files list for the for loop. ${standard_template} is just
> a template I defined using the <contents> tag. It uses $ {page_text} to
> get the text of the whole page, so that is why I to the <{set ...}> stuff.
>
> <contents src="file:no_nav/" format="text/et" name=".../*.txt"
> listname="no_nav_files" />
> <!-- output for no_nav_files -->
> <for name="page" namesubst="s/.txt//" values="${no_nav_files}">
> <out name="${page}" file="${page}.html">
> <{set page_text="${${WebMake.OutName}.txt}" }>
> ${standard_template}
> </out>
> </for>
>
> Hope this all helps.
>
> Darren
>
> On Feb 2, 2006, at 4:46 , jlm17 at lucent.com wrote:
>
>> I am trying to have webmake automatically generate html files from a
>> dynamic list of .wmk files. I have a <for> loop, but I don't know how
>> to programatically set the values= attribute. I have tried these two
>> approaches:
>>
>> <content name="file_list">
>> <{perl
>> @_=`ls -1 *.wmk`;
>> chomp(@_);
>> $_=join(' ', @_);
>> s/\.wmk//g;
>> $_;
>> }>
>> </content>
>> <for name="page" values=${file_list}>
>> ...
>>
>> and:
>>
>>
>> <for name="page" values=<{perl
>> @_=`ls -1 *.wmk`;
>> chomp(@_);
>> $_=join(' ', @_);
>> s/\.wmk//g;
>> $_;
>> }>
>> >
>> ...
>>
>> The perl block gets a list of all of the *.wmk files in a directory,
>> concatenates them into one string separated by spaces, and removes
>> the '.wmk' suffix. Now I want to iterate over each value and generate
>> an html file. The documenation hints at being able to set a variable
>> and then using that in a <for> directive, but I have not found an
>> example that shows the syntax.
>>
>> Thanks for any help in advance.
>> _______________________________________________
>> WebMake-Talk mailing list
>> WebMake-Talk at taint.org
>> http://webmake.taint.org/mailman/listinfo/webmake-talk
>
>
> _______________________________________________
> WebMake-Talk mailing list
> WebMake-Talk at taint.org
> http://webmake.taint.org/mailman/listinfo/webmake-talk
More information about the WebMake-Talk
mailing list