xb95 (xb95) wrote in lj_dev,

BML Block Types

Given that Plogs.net is working on allowing users who purchase the option to have access to change the site scheme (i.e. actually edit it), I've been working on creating a scheme editor utility. It's coming along well, but I've run into an issue about BML block types. They have lots of little letters, and I can figure out what a few mean, but the comments in BML.pm are few enough that I can't figure out what a few of them do.

Here's my list, and what I've discovered about each. Feedback would be appreciated, so I know what options to give users and can write the appropriate documentation. Thanks!

D - Data block, %%data%%
This seems to be the default. If nothing else is specified, it defaults to doing this. Everything passed to the tag is spat out as %%data%%.

F - Full, requires subdeclarations (useful for PAGE)
This element can have subelements defined. (Well, it seems like it's required to have subelements defined.) This is the PAGE variable, I haven't really found any other use for it. Pipe Blocks work fine for me and are less of a pain to actually use.

P - Pipe, %%data1%%, %%data2%%, etc
This sort of block lets you pass multiple parameters separated by the pipe ("|") character. Fairly self-explanatory, and pretty useful.

R - Flag wants variable interpolation, but no expansion
I have no idea. This seems like it'd allow %%foo%% to be interpolated, but what's expansion? I don't understand the BML difference. (Is expansion the recursion of other BML tags?)

S - No variables or BML tags
Static. It gets returned as is without any parsing.

p - Pre-parsing of elements, used if you want _CODE but not AllowCode
No clue.

s - Static? Maybe?
No clue.

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded