Commit Graph

543 Commits

Author SHA1 Message Date
Daniel James
b7c774187f Cleaner implementation of xinclude path handling.
Split up `calculate_xinclude_path` into a few smaller functions. Also
reuse `quickbook_path` instead of having a special struct just for this
use.
2015-12-20 12:40:58 +00:00
Daniel James
066177a959 Move file_paths_to_url include include_paths.cpp
Which messes up testing. `include_paths.cpp` depends on `quickbook.cpp`
which depends on `program_options`. These kind of problems are mainly
with the use of globals, so I'll need to sort that out sooner or later.
2015-12-20 12:40:58 +00:00
Daniel James
c43999d7bf Move the xinclude path handling stuff into include_paths. 2015-12-20 12:40:57 +00:00
Daniel James
18346450d6 Quick hack to make xmlbase correctly generate directory URLs.
After renaming file_path_to_url because it doesn't handle directories
correctly, I realised it was being used for directories in xmlbase. So
this fixes that. I didn't really want it to check the filesystem but
might have to do so. Proper fix coming up later.
2015-12-20 12:40:57 +00:00
Daniel James
dece082a87 Make ms_errors local to its file. 2015-12-19 14:08:30 +00:00
Daniel James
c8fa513bc4 Rename path_to_url to file_path_to_url.
Just to make clear that it isn't appropriate for directories, for which
it would need to add a trailing slash. I don't want to add such a check.
2015-12-19 14:08:30 +00:00
Daniel
d3bfdf9534 Release notes.
This might end up being 1.7.0, but call it 1.6.2 for now. I used to put
in alpha/beta versions, but that's mainly pointless bookkeeping.
2015-12-17 19:19:26 +00:00
Daniel James
72a39edaa7 First stab at correctly generating URLs from paths. 2015-11-18 21:37:11 +00:00
Daniel James
9e93fce166 Update version. 2014-07-27 12:02:31 +01:00
Daniel James
3fffd6da9e Update version for beta. 2014-07-13 13:40:18 +01:00
Daniel James
cd42cc5632 Don't encode '+' in links. 2014-05-29 17:15:53 +01:00
Daniel James
adf9e60b84 Merge branch 'develop' into release/1.6.1a2 2014-02-09 16:33:11 +00:00
Daniel James
fa3097e71f Add 'long long' support to UTF-8 stream class. 2014-02-09 00:42:13 +00:00
Daniel James
a2079a5bbc Update version. 2014-01-05 15:01:14 +00:00
Daniel James
0c918945f5 Fix type returned from rfind 2014-01-05 14:53:49 +00:00
Daniel James
0b4451e152 Include <vector> directly in files.cpp. 2014-01-05 14:43:38 +00:00
Daniel James
d9d0daf72f Don't use BOOST_DETAIL_CONTAINER_FWD. 2014-01-05 12:50:56 +00:00
Daniel James
9a610f40d4 Update version. 2013-12-05 00:28:01 +00:00
Daniel James
73fb7e02de Make include file order more consistent on different machines.
Sometimes when including files on the path the same glob will match the
same relative path from different include paths. In this case the paths
were ordered by their absolute paths. Instead use the order they occur
in the include path, which is a little more independent of the local
machine.

[SVN r86708]
2013-11-14 20:00:24 +00:00
Daniel James
159ae73072 Make unicode globs invalid.
[SVN r86707]
2013-11-14 19:24:34 +00:00
Daniel James
5c41e67a6d Handle non-globs containing escaped characters.
[SVN r86706]
2013-11-14 19:24:01 +00:00
Daniel James
bd5338ee9e Validate globs.
[SVN r86705]
2013-11-14 19:23:26 +00:00
Daniel James
0998743a60 Error for invalid paths containing escaped slashes.
Note that the test cases are really awkward so this is unlikely to
actually happen normally, but implementation is much easier if it
doesn't have to worry about these cases.

[SVN r86704]
2013-11-14 19:22:48 +00:00
Daniel James
ad43e1eda1 Glob dependency tracking.
[SVN r86703]
2013-11-14 19:22:09 +00:00
Daniel James
351ab07fb8 Fix the platform independent paths for globs.
[SVN r86702]
2013-11-14 19:21:37 +00:00
Daniel James
b593058fa6 Only run glob in existing directories.
Maybe it should be an error if there are no matches.

[SVN r86701]
2013-11-14 19:21:04 +00:00
Daniel James
0587081610 Only match files when the whole glob matches.
[SVN r86700]
2013-11-14 19:20:38 +00:00
Daniel James
9dd649ed9f Add glob support.
This is based on Rene's implementation, but I used my own glob function,
and adjusted a few things since it's now always using ascii. It would be
nice to support unicode, but that would require at the very least a
normalization library, and perhaps more than that.

[SVN r86699]
2013-11-14 19:19:54 +00:00
Daniel James
f50e048a7a Check that attribute values aren't empty.
Maybe I should also make the parser more lax.

[SVN r86692]
2013-11-13 21:51:25 +00:00
Daniel James
83e2d34c5a Use quickbook 1.7's attribute value for element ids.
Allows use of templates, and allows more characters, ids now end with
whitespace - like ids in links.

[SVN r86691]
2013-11-13 21:51:05 +00:00
Daniel James
76163ba2a6 Inline element id version checks.
[SVN r86690]
2013-11-13 21:50:29 +00:00
Daniel James
556f06db5f Allow template calls in anchors, roles and includes.
Actually a subtle change, as includes and anchors could previously
contain spaces. Possibly should still alow that, although I expect it's
never used.

[SVN r86688]
2013-11-13 21:49:49 +00:00
Daniel James
c2a0bfcd6f Validate and process link values.
[SVN r86687]
2013-11-13 21:49:05 +00:00
Daniel James
aa9922cc99 Save values when parsing attribute value.
Needed in case there's any nested uses of values.

[SVN r86686]
2013-11-13 21:48:40 +00:00
Daniel James
22de4076ab Disallow empty 1.7 attribute values
Only in the parser, an empty template could still be used. Will need to
validate attributes somewhere else.

[SVN r86685]
2013-11-13 21:48:18 +00:00
Daniel James
daa229406a New parser for attribute value template calls. Refs #2035.
[SVN r86684]
2013-11-13 21:47:59 +00:00
Daniel James
0ec1072eb3 Only allow phrase templates in attribute values. Refs #2035.
[SVN r86683]
2013-11-13 21:47:28 +00:00
Daniel James
103cf67e08 Support source code tagging for sections.
[SVN r86667]
2013-11-12 20:35:14 +00:00
Daniel James
9b1ec8b2c9 Support source code tagging for paragraphs.
[SVN r86666]
2013-11-12 20:34:46 +00:00
Daniel James
4dcb1f3e21 Support source code tagging for lists.
[SVN r86665]
2013-11-12 20:34:23 +00:00
Daniel James
8939758300 Stack tagged source modes.
For when one tagged element is inside another.

[SVN r86664]
2013-11-12 20:33:59 +00:00
Daniel James
56d1ffd246 Track the order of source mode tags.
So if there are two clashing source mode tags, then the latter one can
be used.

[SVN r86663]
2013-11-12 20:33:36 +00:00
Daniel James
853af902d6 Create header for syntax highlighting stuff.
[SVN r86662]
2013-11-12 20:33:10 +00:00
Daniel James
488c78fd37 Fix a few incorrect descriptions.
[SVN r86661]
2013-11-12 20:32:47 +00:00
Daniel James
f3ca3f8c9a Don't disable the newline after block handler in 1.7.
It isn't needed, although it does mean that this might be surprising:
{{{
* xxx xxx xxx
xxx xxx xxx
[block]
yyy yyy yyy
}}}

which is now equivalent to:

{{{
* xxx xxx xxx
  xxx xxx xxx

  [block]

yyy yyy yyy
}}}

[SVN r86648]
2013-11-12 09:17:18 +00:00
Daniel James
e7f861648e Remove note about 'stream' strings.
Have been using a stream wrapper which uses UTF-8.

[SVN r86647]
2013-11-12 09:16:59 +00:00
Daniel James
c6c505a213 Rename input_ strings and functions.
[SVN r86646]
2013-11-12 09:16:39 +00:00
Daniel James
c70fb3ed5e Rename input_path.?pp to native_text.
[SVN r86645]
2013-11-12 09:16:18 +00:00
Daniel James
c9a92586bb Rename structs and variables for include paths.
[SVN r86644]
2013-11-12 09:15:40 +00:00
Daniel James
a0061d2f2c Rename path_details to path_parameter.
[SVN r86643]
2013-11-12 09:15:17 +00:00