Commit Graph

333 Commits

Author SHA1 Message Date
Daniel James
1e1af5dcba Quickbook: Fix id generation for headers containing id placeholders.
[SVN r76634]
2012-01-22 13:24:31 +00:00
Daniel James
c0ed3d8064 Quickbook: In 1.6 don't put 'inline' code blocks in paragraphs.
Might rename them 'explicit' code blocks.

[SVN r75840]
2011-12-07 09:19:07 +00:00
Daniel James
fc5b7fb63d Quickbook: Fix ending a 1.6 list item by a paragraph.
[SVN r75838]
2011-12-07 09:18:22 +00:00
Daniel James
b12549faa9 Quickbook: Spelling correction.
[SVN r75770]
2011-12-02 08:33:46 +00:00
Daniel James
2f1ab31350 Quickbook: More error checking for file handling.
[SVN r75769]
2011-12-02 08:28:57 +00:00
Daniel James
3d27c1c360 Quickbook: Fix xmlbase and xinclude path handling.
[SVN r75766]
2011-12-02 00:05:17 +00:00
Daniel James
7dad879e3d Quickbook: Fix paragraph separator at end of string.
[SVN r75759]
2011-11-30 21:22:41 +00:00
Daniel James
0f051efd8c Quickbook: Allow a single newline at the end of an explicit code block.
Again, less gratuitous changes from older versions (although it's still
different). Also more consistent with generated markup from indented code
blocks.


[SVN r75732]
2011-11-29 22:57:23 +00:00
Daniel James
e94940c9ec Quickbook: Use version switch for image alt text change.
Was comparing the output of different versions of the quickbook executable and
the change seemed gratuitous.


[SVN r75731]
2011-11-29 22:41:10 +00:00
Daniel James
9d4fa2a2fa Quickbook: Fix command line error on windows.
I think it might be a bug that the test was incorrectly failing, but not a
serious one. I'll get back to it later.


[SVN r75730]
2011-11-29 22:15:39 +00:00
Daniel James
cc3ec7f700 Quickbook: Fix list processing bug.
[SVN r75700]
2011-11-28 00:13:10 +00:00
Daniel James
46cd4c2dba Quickbook: Fix error with empty macro defines.
[SVN r75699]
2011-11-27 22:45:55 +00:00
Daniel James
684e03c894 Quickbook: Remove files left over after merge.
[SVN r75697]
2011-11-27 21:41:42 +00:00
Daniel James
ef6628f851 Quickbook: Merge from quickbook-dev to trunk.
[SVN r75696]
2011-11-27 21:34:56 +00:00
Daniel James
73f76e778e Quickbook: Allow block elements in lists.
[SVN r75632]
2011-11-22 23:50:48 +00:00
Daniel James
e779bb6f08 Quickbook: Avoid expanding macros that are now invalid.
The macro syntax has been tightened up in 1.6, so that fewer characters
are available for macro identifiers. But macros can still be defined
using the older quickbook versions When such macros are defined, prevent
them from expanding in a quickbook 1.6 document.

[SVN r75630]
2011-11-22 23:50:17 +00:00
Daniel James
44cdb88eec Quickbook: Deal with unbalanced code snippets.
[SVN r75627]
2011-11-22 23:49:26 +00:00
Daniel James
32721bd39e Quickbook: Deal with invalid command line macros.
[SVN r75624]
2011-11-22 23:48:25 +00:00
Daniel James
1165c7a147 Quickbook: Only use explicit alt text.
[SVN r75620]
2011-11-22 23:47:19 +00:00
Daniel James
a7de315f0c Quickbook: Better string names for value.
`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]
2011-11-22 23:47:02 +00:00
Daniel James
23e168a340 Quickbook: Use intrusive_ptr for files.
[SVN r75616]
2011-11-22 23:46:13 +00:00
Daniel James
650c3088c2 Quickbook: Track position in code blocks and snippets.
[SVN r75614]
2011-11-22 23:45:37 +00:00
Daniel James
a26a70fc7b Quickbook: Don't unindent code blocks in code snippets.
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]
2011-11-22 23:45:16 +00:00
Daniel James
43f9288487 Quickbook: Fix SVG handling.
- 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]
2011-11-22 23:44:57 +00:00
Daniel James
48d023522b Quickbook: Some id_manager clean up.
Tweak the id handling for using 1.5- compatibility mode inside 1.6
documents (you can't see this in the tests).

[SVN r75610]
2011-11-22 23:44:16 +00:00
Daniel James
caf01e40e7 Quickbook: Prevent 'endsect' from ending an include id.
[SVN r75539]
2011-11-17 21:07:16 +00:00
Daniel James
a041edab9c Quickbook: Fail gracefully if document info is missing.
I also tweaked `pre` and `post` a bit while I was at it.

[SVN r75538]
2011-11-17 21:07:01 +00:00
Daniel James
317704c7b7 Quickbook: Fix issue with unbalanced sections.
[SVN r75537]
2011-11-17 21:06:44 +00:00
Daniel James
ad0d5cd69b Quickbook: Another id_manager rewrite.
Now separates file and section tracking, since sections aren't
necessarily cleanly nested in files, and files have some local state.

[SVN r75534]
2011-11-17 21:05:53 +00:00
Daniel James
edc0060910 Quickbook: Empty ids and titles.
[SVN r75532]
2011-11-17 21:05:17 +00:00
Daniel James
d125ab418c Quickbook: Trim trailing space from document title.
[SVN r75529]
2011-11-17 21:04:27 +00:00
Daniel James
476e11c3ab Quickbook: Make source mode a document attribute and fix implementation.
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]
2011-11-17 21:04:02 +00:00
Daniel James
506310c682 Quickbook: Fix the preformatted parser for 1.6.
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]
2011-11-17 21:01:55 +00:00
Daniel James
9711cead8b Quickbook: Parse lists with paragraphs.
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]
2011-11-10 18:17:00 +00:00
Daniel James
5f5c526ea3 Quickbook: Better table titles.
[SVN r75445]
2011-11-10 18:16:37 +00:00
Daniel James
952b3b6550 Quickbook: Support version info outside of document info blocks.
[SVN r75442]
2011-11-10 18:15:49 +00:00
Daniel James
34c053f833 Quickbook: Parse version as for any other docinfo attribute.
[SVN r75441]
2011-11-10 18:15:30 +00:00
Daniel James
0e7874bfb6 Quickbook: Fix some tests.
I use compatibility mode to decide whether to link headers to
themselves. I'm not sure about that.

[SVN r75437]
2011-11-10 18:14:08 +00:00
Daniel James
1e3a88f440 Quickbook: Support escapes in links, anchors, images, includes, imports and exports.
[SVN r75360]
2011-11-06 22:22:42 +00:00
Daniel James
1531b4f348 Quickbook: Move more phrase parsing into local.common.
This change has two side effects: anchors are placed slightly better and
non-element/template square brackets are terminated by the end of a
paragraph.

[SVN r75357]
2011-11-06 22:21:32 +00:00
Daniel James
febcb14e01 Quickbook: Some anchor placement tests.
[SVN r75356]
2011-11-06 22:21:17 +00:00
Daniel James
b9f3b68580 Quickbook: No point in using hard_space here.
The difference between `hard_space` and `space` is that `hard_space`
won't have a zero-width match in certain places. But in the `-` part of
a classic spirit rule, zero-width matches don't count so there's
effectively no difference.

[SVN r75354]
2011-11-06 22:20:44 +00:00
Daniel James
e48ed3afe7 Quickbook: xmlbase docinfo attributes.
Useful for escaped `xi:include`.

(does this break horribly if it's given an absolute path?).

[SVN r75352]
2011-11-06 22:20:14 +00:00
Daniel James
4e411e96ce Quickbook: Better punctuation support for various elements.
[SVN r75351]
2011-11-06 22:19:53 +00:00
Daniel James
cdcd5349f6 Quickbook: Better parser for hr.
The old version had issues with multi-line comments.

[SVN r75350]
2011-11-06 22:19:25 +00:00
Daniel James
1058b13396 Quickbook: Compatibility mode to make upgrading easier.
[SVN r75347]
2011-11-06 22:18:32 +00:00
Daniel James
a2fe7199c9 Quickbook: Better encoded template support.
- Detect encoded templates in `call_template` so they're handled if
  anything calls it or `call_code_snippet` directly.
- Handle any paragraphs that comebefore a encoded block template.
- Escaped templates should always be inline, it isn't block content.
- Try to support escaped encoded templates. It's a bit of a weird case
  so I wasn't sure what to do. Just wrote out the boostbook in a phrase
  which seems the best option.
- Escapes now override the template type. This should happen as the user
  explictly asks for an escaped template.

[SVN r75270]
2011-11-02 08:52:05 +00:00
Daniel James
af4ea5b066 Quickbook: Deal with blocks following anchors.
Turn anchors into a special type of element that can either be a block
or a phrase, so that when immediately followed by block content, the
parser will do the right thing.

`xinclude` and conditional phrases might need similar treatment,
although they're trickier.

[SVN r75269]
2011-11-02 08:51:41 +00:00
Daniel James
1aede8bf77 Quickbook: Make windows paths an error in 1.6
[SVN r75267]
2011-11-02 08:50:53 +00:00
Daniel James
0ee79fe849 Quickbook: Move escaped phrase handling to the main grammar.
Note there's no need to check for the end of the escapse as the
intersection (`&`) rule only passes the content within the esapse.

[SVN r75264]
2011-11-02 08:49:33 +00:00