- Lists of documents mentioning the current doc are now working, with and without JavaScript.
- Ditto lists of variant spellings for locations, except that they're not yet links; haven't figured out how to handle that yet.
- I now have a system in place for handling draft documents, which works a treat (and should work fine with and without JS too). You just add #showDraft to the URL to see the full and hide the warning.
I've started work on creating the body output for born-digital documents. I have simple output rendering in a recognizable way. One thing I realize is that I'll now need to go back and write functions for creating the Agas Map, Google Map, variant spelling and docs-with-mentions blocks at the top of the page. These will presumably be hidden by default but shown when their heading link is focused, or something like that; then JS will inject a hide-show function. Much work to do here, but it's all in nice modular nuggets that'll be easy to work on in between other projects.
I've implemented the page content menu for XHTML output pages, and it's working well; results are slightly different than for the current output, but I believe they're actually more logical. Much use made of tunnelled parameters. I've also implemented a sortKey system for bibls, so that when they're imported into documents as references, they get ordered correctly. There are a number of things I need to fix, though, relating to the display of footnotes (which are not hidden by default), and I also somehow need to handle the problem of bibls displayed in the document not having their titles converted into links. The issue is that I was thinking ahead to the single-page display, where the title obviously shouldn't be a link, but I probably have this backwards: the AJAX fragment should have a link, pointing to the static page, and when that is processed into the embedded reference it should be retained, but when the static page is created, it can be removed. However, the in-page instance of the link needs to generate the popup, in order to show the "cited in" bit, whereas the popup needs to jump off to the single page view. Too complicated for my simple brain today; come back to it next week. Meanwhile, the new stuff is working well.
In the mapathon, managed to map three new places on Agas, and eliminated several duplicate or inappropriate (because not in London) places.
In the static build work:
- Got the orgs correctly rendering in the AJAX (they were invalid).
- Got them picked up appropriately into the larger documents.
- Added some CSS to style the appendix content for user who don't have JS installed.
- Wrote the JS to change local links to popup calls.
- Wrote the JS to hide the appendix (too crude right now; must be refined).
- Wrote the JS to redirect mdt list pages with querystrings to their static equivalents.
- Tiedied up of citation output.
- Fixed various validity problems, including changing ids in the footer to classes to avoid clashing with existing document ids, and corresponding CSS.
I've finished building the headers and page chrome, and I have all the images being intelligently copied over from the data and site folders, so things are beginning to look right. There are a number of oddities that need fixing, and I also need to generate all the static pages for the fragments (bibls, people etc.), but there's clear progress. We face the problem of the Google Maps API requiring a host on a specified URL, so I've commented out that code for now; we need our own OL3/OSM/tiled solution for these maps to get away from Google's restrictions.
After some rather hacky fixes to avoid nested links and empty heading elements, the entire corpus of XHTML documents produced in the static build now validates. The documents don't have any bodies yet, of course, but we are close to beginning work on that.
Today's work:
- Appendix now includes people and places.
- A new xhtml_docs.xsl file is integrated into the build, to create each of the XHTML5 output docs.
- The building and validation of these docs is now integrated into the static build.
We now seem to be able to build all the XHTML5 documents from full TEI sources successfully, but many do not validate because of a variety of problems, many related to the source data (I fixed many issues today, including lots of bad bibl linking which JT is now trapping for in diagnostics, and some nasty unescaped URL characters), but also because of nesting of links, something that we'll have to cautiously weed out through the XHTML templates.
The left column processing is now complete, so I think we have the basic chrome of the page already. I've also added handling for related items from LINKS1 entries to the appendix. There is much more to do in the appendix, though; I'm not yet handling PERS entries, for instance, or places.
I'm busy creating the functions which build the page chrome at the moment, and today I wrote the ones that create the credit menu, the XML menu, and the category information. I also refactored some earlier ones so that they now build based entirely on the standalone XML rather than referring back to the original source documents; and I've tweaked the standalone build process a bit too. I now need to create AJAX fragments for the related-documents/disambiguation popups, which are based on LINKS1, and then incorporate those into the Appendix.
I'm now generating XML versions of the document type listings pages, so that these can be converted to XHTML5 along with other XML docs. They're standalones like the others. There are some wrinkles: the listings pages for e.g. locations contain links to the Agas Map, but there's no XML link that makes sense for this since the map itself is not an XML document, so for this and other similar minor issues I'll have to adopt protocols that the XHTML templates can recognize. I've rebuilt the project schema from the bleeding-edge P5 in order to get the <table>
element with att.typed
, giving me some options for carrying info forward to the XHTML transformation.