`value` doesn't track what a string is encoded as, and sometimes it's
plain text not boostbook. It would be nice to track the encoding and
automatically do the right thing, but I'm not sure if it's worth the
effort just now.
[SVN r75619]
Because code blocks are added in sections, a nested section could be
unindented too far. Code is unindented in the main quickbook actions, so
there's actually no need to do it when extracting code snippets.
But this lead to left over whitespace that would have been stripped. So
change the `start_snippet` and `end_snippet` grammars to swallow up the
line they're on.
I also added a newline before the end of the snippet, this cleaned up
the occasional syntax error.
But due to these changes there is more leading and trailing whitespace
in the generated code blocks, so I just changed the code block grammar
to strip them out. This means there are no newlines at the beginning or
end of code blocks, but that should be fine.
[SVN r75613]
- Fixes extension check.
- Looks for images relative to quickbook file instead of the current
working directory, so that it will work when run from another
directory.
- Allow user to specify the image location.
- Use `bbk_value` for synthesized attributes rather than `qbk_value`.
It's the right thing to do, but doesn't make any practical difference.
Still not happy with image path handling. I feel that they should be
relative to the quickbook file and be rewritten - in a similar manner to
`xinclude`.
[SVN r75612]
This was always a bit silly. I was originally going to change it to only
use an explicit dirname, but dirname is technically required by the
boostbook dtd. There's no particular reason to maintain backwards
compatibility though.
[SVN r75530]
In quickbook 1.6, nested documents default to C++, regardless of the
parent's source mode so that they are interpreted as if they are
standalone documents.
[SVN r75528]
In the old parser, the `eol` never matched anything because the `space`
would gobble up any newlines, so I'm pretty sure the intent was to use
`blank` to remove any leading spaces. So do that in 1.6.
[SVN r75521]
Quite a big change. I moved the list logic into the grammar so that it's
easier to tell how to parse different blocks. Also reworked some of the
block vs. phrase stuff - it's a lot cleaner now which helped implement
this. It generates terrible markup at the moment, but at least the
parser is in place.
[SVN r75446]