2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-27 19:32:16 +00:00
Commit Graph

693 Commits

Author SHA1 Message Date
Daniel James
6fe973a261 Extract the html transformation code from update_page_data_from_boostbook_values 2016-12-05 09:01:36 +00:00
Daniel James
56d4358244 Cleaner beta handling
Moved the logic for handling beta pages into convert_quickbook_pages as
it didn't make much sense in load_quickbook_page. Also simplified a bit
as there should always be a cached entry for a beta page. Perhaps should
store the beta pages in a separate file?
2016-12-05 09:01:36 +00:00
Daniel James
7c6641458b Extract code for loading from quickbook source 2016-12-05 09:01:36 +00:00
Daniel James
2452e9cba5 Inline convert_quickbook_page, clean up implementation.
It didn't really work for 'In Progress' entries, so that behaves a
little differently now.
2016-12-05 09:01:35 +00:00
Daniel James
b28c16d380 Factor convert_quickbook_page 2016-12-05 09:01:35 +00:00
Daniel James
e459cd38ba Only update beta page when release data changes
But ignoring changes to source file. This requires a different hashing
algorithm for beta pages to the rest of the site, which is a bit hacky.
2016-12-05 09:01:35 +00:00
Daniel James
0466fe03d6 In page cache, store beta versions separately 2016-12-05 09:01:35 +00:00
Daniel James
7d8a844569 Store more data in page cache
To fix the bug where the development release notes didn't have all the
appropriate data.

I might not do this, I feel like it might be better to create a new
'section'.
2016-12-05 09:01:34 +00:00
Daniel James
73afecaf71 Build 'in progress' release notes separately
So that they don't overwrite the beta release notes. This means that
there's no way to update the beta release notes, but I guess that can be
done manually.

I'm going to create a new page for 'in progress' release notes, and only
write the release notes pages for actual release (including beta
releases). That way the beta release notes can be left in place while
the release notes are updated for the next beta/full release. Changes to
the release notes after the final release will be updated.
2016-11-30 06:49:22 +00:00
Daniel James
1bbdf99db2 Reformat code after last change
I didn't do this in the last change, as I wanted a cleaner diff.
2016-11-30 05:29:47 +00:00
Daniel James
28c400a753 Split up the page generation code 2016-11-30 05:29:47 +00:00
Daniel James
3cd549301c Don't change release date if it's already set 2016-11-30 05:29:47 +00:00
Daniel James
cc584c2752 Treat more recent versions as released 2016-11-30 05:29:47 +00:00
Daniel James
3c72243cf4 Add release_name to default metadata for old releases 2016-11-30 05:29:47 +00:00
Daniel James
f05ec0d94a Allow '.' after 'beta' in version numbers
For example, boost.1.63.0.beta.1, which is the format used in
subversion release directories.
2016-11-30 05:29:47 +00:00
Daniel James
f34369d42c Update library data for hidden libraries
For the version, I used the earliest tag in the library. Stopwatch won't
update correctly until my pull request is accepted.
2016-11-30 05:29:47 +00:00
Daniel James
047fed2c70 Make the submodule config parser a tad more liberal
Can still go wrong if the submodule name contains an equal sign or a
period, or the value contains a newline. But since this isn't dealing
with arbitrary data, that seems unlikely.
2016-11-30 05:29:47 +00:00
Daniel James
38ad1fa322 Don't update the page state when using a stale page cache entry 2016-11-30 05:29:47 +00:00
Daniel James
b6fa0ec132 Include hidden libraries in get_for_version 2016-11-30 01:54:00 +00:00
Daniel James
8abdbd3938 Remove a load of old TODO notes
boost_archive.php:

For mime types, the current list seems fine, and a full list doesn't
seem feasable.

boost_filter_text.php:

For supporting other character sets, could possibly use
mb_detect_encoding to guess the file's encoding, but it's not currently
installed on the server, and I think guesses are probably no better than
just assuming everything is UTF-8. The alternative would be some
mechanism to specify a file's (path's?) encoding, but I'm sure that can
be done if the need arises.

boost_library.php:

If it turns out that a better exception is needed, then it will be
handled then, so I'm not concerned with that TODO note.

boost_pages.php:

Sourceforge is redirecting downloads to the right place, so I'll not
bother with '/download' at the end. It's probably better if the download
URLs have the right filename.

boost_simple_template.php:

I don't think the simple template class really needs to support tricky
edge cases, so I'll just leave that alone.

doc/libraries.php:

I don't think anyone's desperate to see the library list for ancient
versions. If they are, they can get the it in json format using:
http://www.boost.org/doc/libraries.json.php?version=1.11.1

site-tools/git-prep-beta.sh:

Coming back to this, I think the answer is no. A change on master is
only really made when it has been pushed to remote, if it's only local
then it might get rebased.

This script doesn't actually get much use now that there are long
standing unmerged changes in beta, but it used to work well for me.

site-tools/update-doc-list.php:

Other TODO note was to make the script a little more automatic when run
against a local git tree, but I don't think that's a use case to support
in general. The tree might not be fully synced, or might be checked out
from a tag, which would be harder to check.
2016-11-30 01:53:57 +00:00
Daniel James
451e564c26 Use exceptions for http errors
Not how I'd normally do this, but seems cleaner than exiting the script
in the middle of a constructor.
2016-11-30 01:30:37 +00:00
Daniel James
d74bcf2a29 Use BoostDocumentation instead of BoostFilterData
Move some of BoostFilterData's member into BoostFilter.
2016-11-30 01:30:36 +00:00
Daniel James
068a037ea3 Store version string for title in BoostDocumentation
Also pulled the BoostDocumentation logic in libraries.php into the
class, which makes it slightly cleaner.
2016-11-30 01:30:36 +00:00
Daniel James
ea3fc601a6 Store documentation details in BoostDocumentation
Allows the library list implementation to be a bit cleaner.
2016-11-30 01:30:15 +00:00
Daniel James
be4fd29599 Strict version parsing in BoostVersion::from
It used to just grab anything that looked like a version number from a
string. Now the whole string must be a version number. Left the library
list in a little bit of a mess, but will clean that up next.
2016-11-30 01:29:27 +00:00
Daniel James
4e7e504f1d Fix date of last release in docs
Was relying on boost.php being updated for every release, but now the
version number is stored in a separate file, so check that instead.
2016-11-30 01:10:30 +00:00
Daniel James
7dbfef2a8b Use release note's release date to order them 2016-11-30 01:10:30 +00:00
Daniel James
d8c89f8c9a Move the documentation configuration into boost_documentation
Remove a little duplication and makes it easier to see how the class is
actually used. Would normally be stored in a separate file, but I didn't
really want to create one.
2016-11-30 01:10:20 +00:00
Daniel James
c465903879 Make the documentation fix directory configurable
After merging this, I'm planning on splitting putting the fix directoy
in a separate repo, as it's getting large.
2016-11-30 01:08:36 +00:00
Daniel James
a4cb96446d Get the release name from the filename
Not sure why I didn't do that in the first place.
2016-11-14 22:54:08 +00:00
Daniel James
3e28274c53 Clean up some of the confusing version code 2016-11-14 22:54:08 +00:00
Daniel James
5ae00e9eb0 Support more release stages in BoostVersion
So that a release can have a version number before it goes into beta.

Note: needed to run update-doc-list for this to work, as the serialised
documentation list includes version numbers.
2016-11-14 22:53:35 +00:00
Daniel James
3185a73a56 Add BoostSiteTools::transform_links_regex convenience function 2016-11-14 22:53:35 +00:00
Daniel James
ace57b73a7 Distinguish between boost/bjam releases
I was thinking about resolving this by removing the release data for
bjam, but instead support different release names. Even though this is
currently just for one special case, might be useful in the future.
2016-11-14 22:53:35 +00:00
Daniel James
0cbceea4dc Factor out some of the release logic 2016-11-14 22:53:35 +00:00
Daniel James
776d5ce0fd Overhaul of release_data handling
Main change is that 'unversioned.qbk' now has null release_data. Will
result in a change to the qbk_hash, but I'll manually handle that. This
means that its no longer a 'release' but still want it to appear on
history page.
2016-11-14 22:53:35 +00:00
Daniel James
1b22c14718 Remove temporary code for setting up release data 2016-11-14 22:53:35 +00:00
Daniel James
da67393b48 Only update RSS state once per feed
Was updating it every time an item was updated, this was unnecessarily
slow. Typically, only a very small number of items are updated per run,
so it shouldn't make much of a difference, but a lot faster if many
items are updated.
2016-11-14 22:53:35 +00:00
Daniel James
d827cf8866 Fix links from regression source into boost source 2016-11-14 22:53:35 +00:00
Daniel James
b6ca3886f3 Clean up library list/pull request + better error pages 2016-11-14 22:53:35 +00:00
Daniel James
dfa8c97cc9 Fix hidden check
The 'hidden' method creates a hidden version, it doesn't check for hidden.
2016-11-14 22:52:28 +00:00
Daniel James
3e23bcae9a Support status=unreleased 2016-11-14 22:45:28 +00:00
Daniel James
5ba78e30b6 Only rewrite links in the history section 2016-11-11 09:55:55 +00:00
Daniel James
fc16a77074 Link by default to master in dev release notes 2016-11-02 21:01:29 +00:00
Daniel James
c8f365bd26 Merge branch 'develop'
Pretty large development merge. Including:

- More robust PHP error handling.
- Automatically update release data from various sources. Manually
  updating a json file was too error prone.
- Normalize hashes of release notes, so that they won't need to be
  manually updated so often.
- Small improvements to quickbook page data.
- Cache html generated from quickbook - so no need to reparse when
  changing release data. Much of the site can now be rebuilt without
  installing quickbook, although changes in quickbook won't be included.
- Scripts in site-tools have are more consistent at the command line,
  and all support '--help' (although some have very little information).
- Automatically update more of the site for new releases.
2016-10-30 19:57:32 +00:00
Daniel James
34ce8f168e Only include visible libraries in library list 2016-10-27 20:09:13 +01:00
Daniel James
a64572a217 Check fix_dir as well as archive_dir in latest_link 2016-10-27 19:40:01 +01:00
Daniel James
d2ea07cee1 Fix documentation list when no PATH_INFO 2016-10-26 19:38:13 +01:00
Daniel James
350982b033 Fix web_date. 2016-10-26 19:06:04 +01:00
Daniel James
995ebd4df9 Save the current version to a file
Code is very messy, but now there's nothing that needs to be manually
updated for a new version.
2016-10-16 19:51:49 +01:00