diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index ab12051c..1b851c48 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -1,3 +1,10 @@ +# Publish the docs to https://cceh.github.io/capitularia/ +# +# make tar-docs +# git add docs +# git commit -m "update docs" +# git push +# name: Publish Docs on: push @@ -17,7 +24,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: github-pages - path: docs/gh-pages/artifact.tar.gz + path: docs/gh-pages/artifact.tar.gz # built by: make tar-docs retention-days: 1 if-no-files-found: error diff --git a/docs/build/.buildinfo b/docs/build/.buildinfo deleted file mode 100644 index c9114dec..00000000 --- a/docs/build/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 45b24f03c66b2a9388dafa73797aa5c5 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/_config.yml b/docs/build/_config.yml deleted file mode 100644 index 74a95e75..00000000 --- a/docs/build/_config.yml +++ /dev/null @@ -1,2 +0,0 @@ -# Documentation generated by Sphinx contains these directories: -include: ["_static", "_templates", "_images", "_sources"] diff --git a/docs/build/_images/bk-graph.svg b/docs/build/_images/bk-graph.svg deleted file mode 100644 index ace226f4..00000000 --- a/docs/build/_images/bk-graph.svg +++ /dev/null @@ -1,22343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - 2 - - - 3 - - - 4 - - - 5 - - - 7 - - - 8 - - - 9 - - - 10 - - - 11 - - - 12 - - - 13 - - - 14 - - - 15 - - - 16 - - - 17 - - - 18 - - - 20 - - - 20a - - - 20b - - - 21 - - - 22 - - - 23 - - - 24 - - - 25 - - - 26 - - - 27 - - - 28 - - - 32 - - - 33 - - - 34 - - - 35 - - - 37 - - - 38 - - - 39 - - - 40 - - - 41 - - - 42 - - - 43 - - - 44 - - - 45 - - - 46 - - - 47 - - - 48 - - - 49 - - - 50 - - - 51 - - - 52 - - - 53 - - - 54 - - - 55 - - - 56 - - - 57 - - - 58 - - - 59 - - - 60 - - - 61 - - - 62 - - - 63 - - - 64 - - - 65 - - - 66 - - - 67 - - - 68 - - - 69 - - - 70 - - - 71 - - - 72 - - - 73 - - - 74 - - - 77 - - - 78 - - - 80 - - - 82 - - - 83 - - - 84 - - - 85 - - - 86 - - - 87 - - - 88 - - - 89 - - - 90 - - - 91 - - - 92 - - - 93 - - - 94 - - - 95 - - - 96 - - - 97 - - - 98 - - - 99 - - - 100 - - - 101 - - - 102 - - - 103 - - - 104 - - - 105 - - - 108 - - - 112 - - - 113 - - - 114 - - - 116 - - - 118 - - - 119 - - - 121 - - - 122 - - - 124 - - - 128 - - - 129 - - - 130 - - - 131 - - - 134 - - - 135 - - - 138 - - - 139 - - - 140 - - - 141 - - - 142 - - - 143 - - - 146 - - - 147 - - - 149 - - - 150 - - - 153 - - - 156 - - - 157 - - - 158 - - - 159 - - - 160 - - - 161 - - - 162 - - - 163 - - - 164 - - - 165 - - - 166 - - - 167 - - - 168 - - - 169 - - - 170 - - - 174 - - - 175 - - - 176 - - - 178 - - - 179 - - - 181 - - - 184 - - - 185 - - - 186 - - - 187 - - - 188 - - - 189 - - - 190 - - - 191 - - - 192 - - - 193 - - - 194 - - - 195 - - - 196 - - - 201 - - - 202 - - - 204 - - - 205 - - - 206 - - - 207 - - - 208 - - - 209 - - - 210 - - - 211 - - - 212 - - - 213 - - - 214 - - - 215 - - - 216 - - - 217 - - - 218 - - - 219 - - - 220 - - - 221 - - - 224 - - - 225 - - - 227 - - - 228 - - - 230 - - - 232 - - - 242 - - - 243 - - - 244 - - - 246 - - - 249 - - - 250 - - - 251 - - - 252 - - - 254 - - - 255 - - - 257 - - - 258 - - - 259 - - - 260 - - - 261 - - - 262 - - - 263 - - - 264 - - - 265 - - - 266 - - - 267 - - - 268 - - - 269 - - - 270 - - - 271 - - - 272 - - - 273 - - - 274 - - - 275 - - - 276 - - - 277 - - - 278 - - - 279 - - - 282 - - - 283 - - - 285 - - - 287 - - - 288 - - - 291 - - - 292 - - - 293 - - - 294 - - - 295 - - - 297 - - - 298 - - - 299 - - - 300 - - - M1 - - - M4 - - - M5 - - - M7 - - - M8 - - - M9 - - - M11 - - - M12 - - - M13 - - - M14 - - - M15 - - - M16 - - - M17 - - - M18 - - - M19 - - - M20 - - - M21 - - - M22 - - - M23 - - - M24 - - - M25 - - - M26 - - - M27 - - - \ No newline at end of file diff --git a/docs/build/_images/favicon-cceh-blue.png b/docs/build/_images/favicon-cceh-blue.png deleted file mode 100644 index ade28858..00000000 Binary files a/docs/build/_images/favicon-cceh-blue.png and /dev/null differ diff --git a/docs/build/_images/logo-cceh-white.svg b/docs/build/_images/logo-cceh-white.svg deleted file mode 100644 index 12911aec..00000000 --- a/docs/build/_images/logo-cceh-white.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/build/_images/ms-graph.svg b/docs/build/_images/ms-graph.svg deleted file mode 100644 index 84e35d05..00000000 --- a/docs/build/_images/ms-graph.svg +++ /dev/null @@ -1,15262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - admont-sb-712 - - - avranches-bm-145 - - - bamberg-sb-can-7 - - - bamberg-sb-can-12 - - - bamberg-sb-hist-141 - - - barcelona-aca-ripoll-40 - - - berlin-sb-fragm-30 - - - berlin-sb-hamilton-132 - - - berlin-sb-lat-fol-626 - - - berlin-sb-lat-qu-931 - - - berlin-sb-phill-1736 - - - berlin-sb-phill-1737 - - - berlin-sb-phill-1743 - - - berlin-sb-phill-1762 - - - berlin-sb-savigny-1 - - - berlin-sb-savigny-2 - - - berlin-sb-theol-lat-fol-355 - - - bern-bb-89 - - - bern-bb-289 - - - bonn-ub-s-402 - - - bruessel-brai-8654-72 - - - bruessel-brai-10274-80 - - - budapest-osk-lat-329 - - - cambrai-bm-625 - - - cambridge-ccc-57 - - - cambridge-ccc-265 - - - cambridge-ul-ll-i-14 - - - cava-dei-tirreni-bdb-4 - - - chartres-bm-409 - - - cologny-bb-bodmer-107 - - - darmstadt-hlhb-231 - - - den-haag-rmw-10-d-2 - - - dresden-slb-a-128 - - - duesseldorf-pb-ab-fragment - - - freiburg-ub-fragm-65 - - - gent-ru-cb-506 - - - genua-bf-miss-uc-50 - - - gotha-flb-memb-i-84 - - - gotha-flb-memb-i-85 - - - gotha-flb-memb-ii-189 - - - hamburg-sub-141-a - - - hamburg-sub-theol-1717 - - - heiligenkreuz-sb-217 - - - ivrea-bc-xxxiii - - - ivrea-bc-xxxiv - - - karlsruhe-blb-aug-29 - - - karlsruhe-blb-rastatt-22 - - - kassel-ghb-lmb-4-theol-1 - - - laon-bm-201 - - - laon-bm-265 - - - leiden-bru-bpl-2005 - - - leiden-bru-bpl-voss-lat-f-4 - - - leiden-bru-voss-lat-q-119 - - - leiden-bru-vulc-b-91-b - - - london-bl-add-16413 - - - london-bl-add-22398 - - - london-bl-cott-tiberius-a-iii - - - london-bl-cott-titus-a-iv - - - london-bl-egerton-269 - - - london-bl-egerton-2832 - - - london-bl-harley-5431 - - - mailand-ba-a-46 - - - mailand-ba-o-55 - - - merseburg-bdd-136 - - - metz-bm-226 - - - metz-bm-1154 - - - modena-bc-o-i-2 - - - modena-bc-o-ii-2 - - - montecassino-ada-175 - - - montecassino-ada-179 - - - montecassino-ada-352 - - - montecassino-ada-442 - - - montpellier-biu-h-136 - - - muenchen-bhsa-hl-passau-3 - - - muenchen-bhsa-hl-passau-3-1-2 - - - muenchen-bsb-inc-s-a-26m - - - muenchen-bsb-lat-3519 - - - muenchen-bsb-lat-3851 - - - muenchen-bsb-lat-3853 - - - muenchen-bsb-lat-4115 - - - muenchen-bsb-lat-4460 - - - muenchen-bsb-lat-5260 - - - muenchen-bsb-lat-6241 - - - muenchen-bsb-lat-6243 - - - muenchen-bsb-lat-6245 - - - muenchen-bsb-lat-6285 - - - muenchen-bsb-lat-6360 - - - muenchen-bsb-lat-8112 - - - muenchen-bsb-lat-14468 - - - muenchen-bsb-lat-14508 - - - muenchen-bsb-lat-14581 - - - muenchen-bsb-lat-14727 - - - muenchen-bsb-lat-18583 - - - muenchen-bsb-lat-19414 - - - muenchen-bsb-lat-19415 - - - muenchen-bsb-lat-19416 - - - muenchen-bsb-lat-28135 - - - muenchen-bsb-lat-29550-4 - - - muenchen-bsb-lat-29555-1 - - - muenchen-ub-fragmente - - - muenster-sa-msc-vii-5201 - - - newhaven-bl-413 - - - newhaven-bl-808 - - - newyork-pml-m-642 - - - novara-bc-xv - - - novara-bc-xxx - - - nuernberg-gnm-hs-110-477b-47 - - - nuernberg-sb-cent-v-app-96 - - - oxford-bl-laud-misc-126 - - - paris-bn-lat-1454 - - - paris-bn-lat-1455 - - - paris-bn-lat-1458 - - - paris-bn-lat-1535 - - - paris-bn-lat-1567 - - - paris-bn-lat-1603 - - - paris-bn-lat-2796 - - - paris-bn-lat-3182 - - - paris-bn-lat-3838 - - - paris-bn-lat-3842a - - - paris-bn-lat-3846 - - - paris-bn-lat-3851 - - - paris-bn-lat-3877 - - - paris-bn-lat-3878 - - - paris-bn-lat-4280a - - - paris-bn-lat-4404 - - - paris-bn-lat-4409 - - - paris-bn-lat-4417 - - - paris-bn-lat-4419 - - - paris-bn-lat-4613 - - - paris-bn-lat-4626 - - - paris-bn-lat-4627 - - - paris-bn-lat-4628 - - - paris-bn-lat-4628a - - - paris-bn-lat-4629 - - - paris-bn-lat-4631 - - - paris-bn-lat-4632 - - - paris-bn-lat-4635 - - - paris-bn-lat-4638 - - - paris-bn-lat-4758 - - - paris-bn-lat-4760 - - - paris-bn-lat-4761-1-2 - - - paris-bn-lat-4788 - - - paris-bn-lat-4995 - - - paris-bn-lat-5095 - - - paris-bn-lat-5516 - - - paris-bn-lat-5577 - - - paris-bn-lat-9653 - - - paris-bn-lat-9654 - - - paris-bn-lat-9656 - - - paris-bn-lat-10753 - - - paris-bn-lat-10754 - - - paris-bn-lat-10758 - - - paris-bn-lat-12097 - - - paris-bn-lat-15670 - - - paris-bn-lat-18237 - - - paris-bn-lat-18239 - - - paris-bn-nouv-acq-fr-22211 - - - paris-bn-nouv-acq-lat-1632 - - - reims-bm-672 - - - rom-bv-a-5 - - - rom-bv-c-16 - - - rom-bv-n-21 - - - rouen-bm-u-109 - - - salzburg-bea-st-peter-a-ix-32 - - - selestat-bh-14 - - - st-gallen-sb-222 - - - st-gallen-sb-675 - - - st-gallen-sb-677 - - - st-gallen-sb-728 - - - st-gallen-sb-729 - - - st-gallen-sb-731 - - - st-gallen-sb-733 - - - st-gallen-sb-914 - - - st-gallen-sb-942 - - - st-paul-abs-4-1 - - - st-petersburg-sb-q-v-ii-5 - - - st-petersburg-sb-q-v-ii-11 - - - stuttgart-wlb-fuerstenberg-655 - - - stuttgart-wlb-hb-i-163 - - - stuttgart-wlb-hb-vi-112 - - - stuttgart-wlb-iur-4-134 - - - trier-ba-abt-95-nr-39 - - - trier-sb-1202-501 - - - trier-sb-1238-602 - - - trier-sb-1382-145 - - - troyes-bm-1979 - - - turin-bnu-fragment - - - turin-bnu-g-v-4 - - - turin-bnu-g-v-38 - - - valenciennes-bm-162 - - - vatikan-bav-barb-lat-421 - - - vatikan-bav-barb-lat-646 - - - vatikan-bav-barb-lat-679 - - - vatikan-bav-chigi-c-viii-239 - - - vatikan-bav-chigi-f-iv-75 - - - vatikan-bav-pal-lat-289 - - - vatikan-bav-pal-lat-574 - - - vatikan-bav-pal-lat-577 - - - vatikan-bav-pal-lat-582 - - - vatikan-bav-pal-lat-583 - - - vatikan-bav-pal-lat-773 - - - vatikan-bav-pal-lat-973 - - - vatikan-bav-reg-lat-69 - - - vatikan-bav-reg-lat-263 - - - vatikan-bav-reg-lat-291 - - - vatikan-bav-reg-lat-338 - - - vatikan-bav-reg-lat-417 - - - vatikan-bav-reg-lat-520 - - - vatikan-bav-reg-lat-846 - - - vatikan-bav-reg-lat-980 - - - vatikan-bav-reg-lat-991 - - - vatikan-bav-reg-lat-1000b - - - vatikan-bav-reg-lat-1023 - - - vatikan-bav-reg-lat-1036 - - - vatikan-bav-reg-lat-1050 - - - vatikan-bav-reg-lat-1283a - - - vatikan-bav-reg-lat-1728 - - - vatikan-bav-vat-lat-3827 - - - vatikan-bav-vat-lat-3922 - - - vatikan-bav-vat-lat-4982 - - - vatikan-bav-vat-lat-5359 - - - vatikan-bav-vat-lat-5751 - - - vercelli-bce-clxxiv - - - vercelli-bce-clxxv - - - vercelli-bce-xv - - - vesoul-bm-79 - - - warschau-bu-1 - - - weimar-hsa-depositum-hardenberg-fragm-9 - - - wien-oenb-406 - - - wien-oenb-501 - - - wien-oenb-502 - - - wien-oenb-751 - - - wien-oenb-2136 - - - wien-oenb-2232 - - - wien-oenb-ser-n-3761 - - - wolfenbuettel-hab-aug-4-50-2 - - - wolfenbuettel-hab-blankenb-130 - - - wolfenbuettel-hab-gud-lat-299 - - - wolfenbuettel-hab-helmst-496a - - - wolfenbuettel-hab-helmst-532 - - - wolfenbuettel-hab-weissenb-45 - - - wolfenbuettel-hab-weissenb-97 - - - zuerich-zb-rh-hist-28 - - - \ No newline at end of file diff --git a/docs/build/_sources/development/development.rst.txt b/docs/build/_sources/development/development.rst.txt deleted file mode 100644 index b77e4cbe..00000000 --- a/docs/build/_sources/development/development.rst.txt +++ /dev/null @@ -1,23 +0,0 @@ -Assorted Development Tips -========================= - -This variable tells the :file:`Makefile` where your dev directory is: - -.. code-block:: bash - - CAPITULARIA_PRJ=~/dev/capitularia - - -Configure your development environment in :file:`xslt/xslt.config.mak`. This will -direct make to build files in the local cache and not on the server. - -.. code-block:: bash - - bin/mount-sshfs-ntg - - -Download TEI manuscripts and capitulary files to the develpment machine: - -.. code-block:: bash - - make import_xml diff --git a/docs/build/_sources/development/index.rst.txt b/docs/build/_sources/development/index.rst.txt deleted file mode 100644 index 633ab18e..00000000 --- a/docs/build/_sources/development/index.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -.. _development: - - -Development -=========== - -.. toctree:: - :maxdepth: 2 - - development diff --git a/docs/build/_sources/index.rst.txt b/docs/build/_sources/index.rst.txt deleted file mode 100644 index 6d71d04e..00000000 --- a/docs/build/_sources/index.rst.txt +++ /dev/null @@ -1,33 +0,0 @@ -.. _contents: - -=========================== - Capitularia Documentation -=========================== - -.. - User Manual - =========== - - .. toctree:: - :maxdepth: 2 - - -Developer Manual -================ - -.. toctree:: - :maxdepth: 2 - - overviews/index - vm/index - maintenance/index - development/index - troubleshooting/index - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/build/_sources/maintenance/index.rst.txt b/docs/build/_sources/maintenance/index.rst.txt deleted file mode 100644 index d27a0967..00000000 --- a/docs/build/_sources/maintenance/index.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _maintenance: - - -Maintenance -=========== - -.. toctree:: - :maxdepth: 2 - - logfiles - - -.. seealso:: - - - :ref:`wordpress-maintenance` diff --git a/docs/build/_sources/maintenance/logfiles.rst.txt b/docs/build/_sources/maintenance/logfiles.rst.txt deleted file mode 100644 index a05e6139..00000000 --- a/docs/build/_sources/maintenance/logfiles.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -.. _maintenance-logfiles: - - -Location of Logfiles -==================== - -Apache / PHP ------------- - -:file:`/var/log/apache2/capitularia.uni-koeln.de.access.log` - -:file:`/var/log/apache2/capitularia.uni-koeln.de.error.log` - -Python App Server ------------------ - -:file:`/var/log/capitularia/server.log` - -Python Import Script --------------------- - -:file:`/var/log/capitularia/import.log` diff --git a/docs/build/_sources/overviews/collation_tool.rst.txt b/docs/build/_sources/overviews/collation_tool.rst.txt deleted file mode 100644 index 9de6cf3a..00000000 --- a/docs/build/_sources/overviews/collation_tool.rst.txt +++ /dev/null @@ -1,237 +0,0 @@ -.. _collation-tool-overview: - -.. default-role:: math - -Collation Tool Overview -======================= - -This overview describes the `collation tool `_ -and the pre-processing of the TEI files. - - -Pre-Processing of the TEI files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -We extract every chapter of every capitular from all manuscripts and store them in the -Postgres database. The text stored in the database is already normalized. - -If a manuscript contains more than one copy of a chapter, all copies are extracted. If -one or more correcting hands were active in the chapter, the original and each corrected -version are extracted. - -The online collation tool knows about all versions and offers them to the user. - -.. pic:: uml - :caption: Data flow during pre-processing - - database "Manuscript files\n(XML+TEI)" as tei - note left of tei: publ/mss/*.xml - component "Cron" as cron - component "Makefile" as make - component "mss-extract-chapters-txt.xsl" as saxon - database "Preprocessed files\n(XML)" as chapters - note left of chapters: publ/cache/collation/*.xml - component "import_data.py" as import - database "Database\n(Postgres)" as db - - tei --> saxon - saxon --> chapters - chapters --> import - import --> db - - cron .> make - make .> saxon - make .> import - -The :file:`Makefile` is run by cron at regular intervals. - -The :file:`Makefile` knows all the `dependencies `_ between the files and runs -the appropriate tools to keep the database up-to-date with the manuscript files. - -All preprocessed files can be found in the :file:`publ/cache/collation` directory. The -preprocessed files are normalized, eg. have the letter *V* replaced by *U*. - -The :program:`import_data.py` script imports the preprocessed text files into the -database. - - -Collation Tool -~~~~~~~~~~~~~~ - -The collation tool consists of two parts: one frontend written in JavaScript and using -the Vue.js library, and one backend application server written in Python and using the -`super-collator `_ library. - -The application server retrieves the chapters from the database and collates them. The -results of the collation are sent in json to the frontend that does the formatting for -display. - -.. pic:: uml - :caption: Data flow during collation - - cloud "Backend" { - database "Database\n(Postgres)" as db - component "API Server\n(Python)" as api - component "Super-Collator\n(Python library)" as lib - } - component "Frontend\n(Javascript)" as client - - db --> api - api --> client - lib <-> api - - -The collation unit is the chapter, so that only short texts need to be collated, -saving much processing time. - -The Wordpress collation plugin delivers the Javascript client to the user. -After that, all communication happens directly between the client and the -application server. - - -Collation Algorithm -~~~~~~~~~~~~~~~~~~~ - -The application server uses an enhancement of the Needleman-Wunsch algorithm by Gotoh -[Gotoh1982]_. This section provides a very high level overview of the algorithm. - - -Phase 1 - Build Table ---------------------- - -In phase 1 the algorithm builds a table. For example this is the table built for the -two strings: *the quick brown fox jumps over the lazy dog* and *sick fox is crazy.* - -.. raw:: html - :file: ../_static/super-collator-phase1.html - -Every cell in the table contains three values: `D`, `P`, and `Q`, and an arrow, like this: - -.. raw:: html - :align: center - - - - -
- - - -
DP
Q
-
- -We define the score `S` for each cell as: - -.. math:: - - S = \max(D, P, Q) - -The grayed cells in the first row and first column are initialized using the *gap start* -and *gap extension* penalties. The numbers for each remaining cell are calculated using -only values from the three cells, to the top-left, the top, and the left, of the current -cell: - -.. math:: - - D = S_↖ + \mbox{similarity}(word_←, word_↑) - -.. math:: - - P = \max(S_↑ + openingpenalty, P_↑ + extensionpenalty) - -.. math:: - - Q = \max(S_← + openingpenalty, Q_← + extensionpenalty) - -Finally the arrow in the current cell is set to point to that cell which yielded the -highest of the current cell's `D`, `P`, and `Q` values. - - -Phase 2 - Backtrack -------------------- - -When the table is thus completed, two empty sequences are created. Then the algorithm -starts backtracking from the last (bottom-right) cell following the arrows until it -reaches the first (top-left) cell. If the arrow points: - -↑ - the word in the row header is added to the first sequence, a hyphen is added to the - second sequence, -↖ - the word in the row header is added to the first sequence, the word in the column - header is added to the second sequence, -← - a hyphen is added to the first sequence, the word in the column header is added to the - second sequence. - -.. raw:: html - :file: ../_static/super-collator-phase2.html - -Finally the two sequences are reversed and printed. - -.. raw:: html - :file: ../_static/super-collator-result.html - - -Parameters ----------- - -The algorithm can be customized by setting: - -- a word comparison (similarity) function, -- the starting gap penalty, -- the gap opening penalty, -- and the gap extension penalty. - - -Word Comparison Function -~~~~~~~~~~~~~~~~~~~~~~~~ - -The word comparison function returns a similarity value between 0 and 1, 0 being totally -different and 1 being completely equal. The chosen function is not critical to the -functioning of the aligner. The similarity should increase with the desirability of the -alignment, but otherwise there are no fixed rules. - -In the current implementation the similarity is calculated as follows: - -All words in the input texts are split into sets of trigrams (sometimes called -3-shingles). The trigrams are obtained by first prefixing and suffixing the word with -two spaces respectively, then cutting the resulting string into all possible strings of -length 3. This means that all trigrams partially overlap each other. - -To calculate the similarity between two words three sets are built: the set of -trigrams in word a, the set of trigrams in word b, and the set of trigrams -common to both words. The similarity is then given by the formula: - -.. math:: - - \mbox{similarity}(a,b)= \frac{2|set_{a} \cap set_{b}|}{|set_a| + |set_b|} - -The factor of 2 was added to bring the similarity of identical words to 1. - -This is sometimes called the -`Sørensen–Dice coefficient `_. - -An example calculation follows: - -.. pic:: trigram hlodouuico ludouico - :caption: Calculating similarity using trigrams - -The similarity based on trigrams was chosen because its calculation can be done in -`\mathcal{O}(n)` time whereas a similarity based on Levenshtein distance needs -`\mathcal{O}(n^2)` time. The sets of trigrams for each input word are calculated -only once and if you presort the trigrams in these sets (to be implemented), the common -set can be found in `\mathcal{O}(n)` time. - -Optimizations yet to be implemented: in a first step gather all trigrams in all -input texts, give each one an integer id, and later operate on the ids only. -Maybe hash each trigram onto a value 0..63 and build a bitmask for each word, -later operate on the masks only. - - -References -~~~~~~~~~~ - -.. [Gotoh1982] Gotoh, O. 1982, *An Improved Algorithm for Matching Biological - Sequences,* J. Mol. Biol. 162, 705-708 - http://jaligner.sourceforge.net/references/gotoh1982.pdf diff --git a/docs/build/_sources/overviews/collections.rst.txt b/docs/build/_sources/overviews/collections.rst.txt deleted file mode 100644 index 3bd9c557..00000000 --- a/docs/build/_sources/overviews/collections.rst.txt +++ /dev/null @@ -1,100 +0,0 @@ -Collections -=========== - -We want to find *collections* of capitularies, currently very vaguely defined as -capitularies that are often copied together. - -The python script :code:`cluster.py` reads the Wordpress database and writes a -Gephi graph file. The graph is then imported into Gephi and laid out using a -force field algorithm. The resulting plot is used to visually identify -potential collections of capitularies. - - -Algorithm -~~~~~~~~~ - -Description of the algorithm used by the :code:`cluster.py` script. - -We define :math:`K` as the number of capitularies and :math:`D` as the number of -documents. - -The number of occurrences of capitulary :math:`k` in document :math:`d` is -referred to as :term:`term frequency` and is denoted: - -.. math:: - - \mbox{tf}_{k,d} - -The term frequency of capitularies is either 0 (if not contained in the -document) or 1 (if contained in the document). Technically, a document may -contain more than one copy of the same capitulary, but we ignore that for our -calculations. - -The number of documents that include the capitulary :math:`k` is referred to as -its :term:`document frequency` and is denoted: - -.. math:: - - \mbox{df}_k - -The :term:`inverse document frequency` of capitulary :math:`k` is defined as: - -.. math:: - - \mbox{idf}_k = \log { D \over \mbox{df}_k }. - - -We assign a weight to each pair of capitulary and document -:math:`k \times d`, given by: - -.. math:: - - \mbox{tf-idf}_{k,d} = \mbox{tf}_{k,d} \times \mbox{idf}_k - - -We define the :term:`document vector` :math:`\vec{V}(d)` as: - -.. math:: - - \begin{pmatrix} \mbox{tf-idf}_{1,d} & \mbox{tf-idf}_{2,d} & \dots & \mbox{tf-idf}_{K,d} \end{pmatrix} - -the vector of the weights of all capitularies relative to the document :math:`d`. - - -The :term:`Euclidean length` :math:`\vert\vec{V}(d)\vert` of a document vector -:math:`\vec{V}(d)` is defined as: - -.. math:: - - \sqrt{\sum_{i=1}^K\vec{V}_i^2(d)} - -Because the term frequency can only be 0 or 1, this is simply the square root of -the number of capitularies in the document. - -The :term:`cosine similarity` of two documents :math:`d_1` and :math:`d_2`, -which are here represented by their document vectors :math:`\vec{V}(d_1)` and -:math:`\vec{V}(d_2)`, is now calculated as: - -.. math:: - - \mbox{sim}(d_1,d_2)= \frac{\vec{V}(d_1)\cdot \vec{V}(d_2)}{\vert\vec{V}(d_1)\vert \vert\vec{V}(d_2)\vert} - -where :math:`\cdot` represents the :term:`dot product`. - -The cosine similarities of all pairs of documents are entered into a similarity -(affinity) matrix. This matrix is used as the input to the graph layout software. - -.. raw:: html - - - -

The document affinity graph (Gephi Force Atlas).

- -This algorithm is also used to get the similarity between capitularies, instead -of documents, by switching capitularies with documents. - -.. raw:: html - - - -

The capitulary affinity graph (Gephi Force Atlas).

diff --git a/docs/build/_sources/overviews/fulltext_search.rst.txt b/docs/build/_sources/overviews/fulltext_search.rst.txt deleted file mode 100644 index 01a505fa..00000000 --- a/docs/build/_sources/overviews/fulltext_search.rst.txt +++ /dev/null @@ -1,152 +0,0 @@ -.. _fulltext-search-overview: - -Full-text Search Overview -========================= - -Full-text search is provided by the :ref:`Meta Search` Wordpress plugin. -It is implemented with Apache Solr. Apache Solr is a fulltext search engine based on -Apache Lucene. - -.. seealso:: - - - :ref:`solr` - - :ref:`makefile` - - -Full-text Extraction -~~~~~~~~~~~~~~~~~~~~ - -There are 3 main categories of text that we index in Solr. - -- The Latin text of the capitularies is extracted using - :file:`mss-extract-chapters-txt.xsl`, stored in the directory - :file:`publ/cache/collation/` and imported into Solr using the command - :command:`import_data.py --solr`. This are the same texts used for the collation - tool. The German notes in the capitularies are extracted along with the Latin text. -- The material in the teiHeader and the "editorial preface to the transcription" - are indexed into Solr using the command :command:`import_solr.py --mss`. -- The Wordpress pages are extracted directly from the Wordpress database - and indexed into Solr using the command :command:`import_solr.py --wordpress`. - -The command for updating the Solr database is: :command:`make solr-import`. - -That same command is run nightly by cron. - -.. pic:: uml - :caption: Data flow during text extraction - - database "Manuscript files\n(TEI)" as tei - database "Extracted chapters\n(TEI)" as chapters - database "Wordpress" as wp - database "Solr" as solr - - note top of tei : publ/mss/*.xml - note top of chapters : publ/cache/collation/*.xml - note top of wp : on mariadb server - - chapters --> solr : import_data.py --solr - tei --> solr : import_solr.py --mss - wp --> solr : import_solr.py --wordpress - - -Metadata Extraction -~~~~~~~~~~~~~~~~~~~ - -We extract the metadata from the manuscript files and store them in the Postgres -database on the Capitularia VM. The process is similar to the pre-processing -done for the Collation Tool. - -.. pic:: uml - :caption: Data flow during metadata extraction - - database "Manuscript files\n(TEI)" as tei - component "Corpus file\n(TEI)" as corpus - database "Database\n(Postgres)" as db - - note left of tei : publ/mss/*.xml - note left of corpus : publ/cache/lists/corpus.xml - - tei --> corpus : saxon corpus.xml - corpus --> db : import_data.py --mss - - -The :file:`Makefile` is run by cron on the Capitularia VM at regular intervals. - -The :file:`Makefile` knows all the `dependencies `_ between the files and runs -the appropriate tools to keep the database up-to-date with the manuscript files. - -The intermediate file :file:`publ/cache/lists/corpus.xml` contains all (useful) metadata -from all manuscript file but no text. - -The :program:`import_data.py` script scans the :file:`corpus.xml` file and imports the -all metadata it finds into the database. - - -Geodata Extraction -~~~~~~~~~~~~~~~~~~ - -Geodata is stored in the file :file:`publ/mss/lists/capitularia_geo.xml`. This file is -periodically processed with :program:`import_data.py --geoplaces` and its content is -stored into the database. Also the "places" tree in the meta search dialog is built -using this data. - - -Search -~~~~~~ - -The flow of a user's search request is as follows: - -#. The :ref:`Meta Search` applet on the browser sends the request to the - Meta Search plugin on the web server. - -#. The Wordpress plugin adds the user's permissions (ie. whether she is logged in into - Wordpress or not) and then sends the search query to the application server. - -#. The application server queries the SOLR server. - -#. The SOLR server does the actual search and returns the result as JSON. - -#. The applet on the browser formats the JSON and displays them to the user. - -Searches in the Latin texts of the manuscript bodies are done by stemming and trigram -similarity. Exact results get a boost, so they show up before trigram results. To stem -Latin we wrote `a custom Latin stemmer for -Lucene `_. - -Searches in Mordek and Wordpress posts use more traditional search methods like -stemming. - -.. pic:: uml - :caption: Components used in searching - - component "Frontend\n(Javascript)" as client - - cloud "VM" { - component "Wordpress Plugin\n(PHP)" as plugin - component "API Server\n(Python)" as api - database "SOLR Server\n(Java)" as solr - - note left of plugin : adds user permissions - note left of solr : localhost only - } - - client --> plugin - plugin --> api - api --> solr - - -.. pic:: uml - :caption: Data flow while searching - - participant "Frontend" as client - participant "Wordpress Plugin" as plugin - participant "API Server" as api - database "SOLR Server" as solr - - client -> plugin : ajax post - plugin -> api : with user permissions - api -> solr - - solr -> api : json - api -> plugin : json - plugin -> client : json diff --git a/docs/build/_sources/overviews/html_generation.rst.txt b/docs/build/_sources/overviews/html_generation.rst.txt deleted file mode 100644 index 039a6bd4..00000000 --- a/docs/build/_sources/overviews/html_generation.rst.txt +++ /dev/null @@ -1,81 +0,0 @@ -.. _html-generation-overview: - -HTML Generation Overview -======================== - -All TEI manuscript files are converted to one (or more) HTML files. The HTML -files are then included into Wordpress pages with the :ref:`File Includer -plugin`. - -XSLT Transformations --------------------- - -.. pic:: uml - :caption: Data flow during HTML generation - - database "Manuscript files\n(XML+TEI)" as tei - note left of tei: publ/mss - - cloud "Capitularia VM" as vm { - component "Cron" as cron - component "Makefile" as make - component saxon [mss-header.xsl - mss-transcription.xsl - mss-footer.xsl] - } - - database "Manuscript files\n(HTML)" as html - note left of html: publ/cache/mss - - tei --> saxon - saxon --> html - - cron .> make - make .> saxon - - -The :file:`Makefile` is run by cron on the Capitularia VM at regular intervals. - -The :file:`Makefile` knows all the `dependencies `_ between the files and runs -the appropriate tools to keep the HTML files up-to-date with the manuscript files. - -The HTML files are stored in the cache directory. - - -User Delivery -------------- - -.. pic:: uml - :align: center - :caption: Data flow during user access - - database "Manuscript files\n(HTML)" as html - note left of html: publ/cache/mss - - cloud "Apache" { - database "Database\n(mysql)" as db - rectangle "Wordpress" { - component "Footnotes\nPost-Processor\n(PHP)" as pp - component "File Includer Plugin\n(PHP)" as fi - } - } - component "User-Agent" as client - - html --> pp - pp --> fi - fi --> client - - db -> fi - db <- fi - - -When a user accesses a manuscript page, Wordpress finds a shortcode for the -:ref:`File Includer plugin` in it. Control is passed to the File -Includer plugin which checks the date of the filum includendum. If the file is -newer than the data stored in the database it refreshes the database. Then it -inserts the file's content into the page, which is finally sent to the user. - -.. note:: - - The Footnotes Post-Processor is still written in PHP. - We plan to rewrite it in Python. (Nov. 2019) diff --git a/docs/build/_sources/overviews/index.rst.txt b/docs/build/_sources/overviews/index.rst.txt deleted file mode 100644 index b7b35766..00000000 --- a/docs/build/_sources/overviews/index.rst.txt +++ /dev/null @@ -1,14 +0,0 @@ -.. _overviews: - - -Overviews -========= - -.. toctree:: - :maxdepth: 2 - - html_generation - collation_tool - fulltext_search - makefile - collections diff --git a/docs/build/_sources/overviews/makefile.rst.txt b/docs/build/_sources/overviews/makefile.rst.txt deleted file mode 100644 index 3288a866..00000000 --- a/docs/build/_sources/overviews/makefile.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -.. _makefile: - -Makefile Overview -================= - -The :file:`Makefile` is the central controller in the project. It includes -other Makefiles as sub-components. - -Different parts of the :file:`Makefile` are called by cron at various intervals. -cron runs as the :ref:`user capitularia `. - -.. seealso:: - - - :ref:`transformations` - - :ref:`html-generation-overview` - - :ref:`fulltext-search-overview` - - -.. pic:: uml - :caption: Makefile Overview - :svg-width: 100% - - database "Manuscript files\npubl/mss/*.xml" as tei - database "Manuscript files\npubl/cache/mss/*.html" as html - database "Extracted chapters\npubl/cache/collation/*.xml" as chapters - database "Lists\npubl/cache/lists/*" as lists - database "Database\n(Postgres)" as pg - database "Wordpress\n(mariadb)" as wp - database "Full-text search\n(Solr)" as solr - - component xsl_mss [mss-header.xsl - mss-transcription.xsl - mss-footer.xsl] - - component xsl_lists [capit-list.xsl - mss-key.xsl - changes.xsl - corpus.xsl - ...] - - component xsl_chapters [mss-extract-chapters.xsl - mss-extract-chapters-txt.xsl] - - component "import_data.py" as import_data - component "import_solr.py" as import_solr - - tei --> xsl_mss - xsl_mss --> html - - tei --> xsl_lists - xsl_lists --> lists - - tei --> xsl_chapters - xsl_chapters --> chapters - chapters --> import_data - import_data --> pg - - import_data --> solr - - tei --> import_solr - wp --> import_solr - import_solr --> solr - - -XSLT Dependencies ------------------ - -The section of the Makefile that deals with the dependencies between manuscripts, xslt -stylesheets, and html files is generated by the Python script -:program:`python/xslt_dep.py`. - -.. autoprogram:: python.xslt_dep:build_parser() - :prog: xslt_dep.py diff --git a/docs/build/_sources/troubleshooting/collation_tool.rst.txt b/docs/build/_sources/troubleshooting/collation_tool.rst.txt deleted file mode 100644 index 07f91956..00000000 --- a/docs/build/_sources/troubleshooting/collation_tool.rst.txt +++ /dev/null @@ -1,25 +0,0 @@ -.. _collation-tool-troubleshooting: - - -Troubleshooting the Collation Tool -================================== - -Manuscripts do not show up --------------------------- - -Manuscripts that contain a certain chapter do not show up in the collation tool -when that chapter is selected. - -This command rebuilds all intermediate files and re-imports them into the -database. (But will not clear surplus entries in the database.) - -Warning: Takes a long time to run. - -.. code:: shell - - ssh capitularia@capitularia.uni-koeln.de - -.. code:: shell - - cd ~/prj/capitularia/capitularia/xslt - solo -port=6666 make -B -k -r -j 4 corpus fulltext scrape_fulltext diff --git a/docs/build/_sources/troubleshooting/index.rst.txt b/docs/build/_sources/troubleshooting/index.rst.txt deleted file mode 100644 index 774e0935..00000000 --- a/docs/build/_sources/troubleshooting/index.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -.. _troubleshooting: - - -Troubleshooting -=============== - -.. toctree:: - :maxdepth: 2 - - collation_tool diff --git a/docs/build/_sources/vm/apache.rst.txt b/docs/build/_sources/vm/apache.rst.txt deleted file mode 100644 index 91e93bf1..00000000 --- a/docs/build/_sources/vm/apache.rst.txt +++ /dev/null @@ -1,11 +0,0 @@ -.. _apache: - - -Apache Web Server -================= - -The Apache Web Server is used to serve :ref:`wordpress`. - -The data directory is :file:`/var/www/capitularia.uni-koeln.de`. - -Location of log files, see: :ref:`maintenance-logfiles`. diff --git a/docs/build/_sources/vm/app_server.rst.txt b/docs/build/_sources/vm/app_server.rst.txt deleted file mode 100644 index a5ae2dce..00000000 --- a/docs/build/_sources/vm/app_server.rst.txt +++ /dev/null @@ -1,48 +0,0 @@ -.. _app-server: - -Application Server -================== - -The application server is built with Python and Flask. - -The application server resides at :file:`~capitularia/prj/capitularia/capitularia/server/`. -It is started as a systemd service by :file:`/etc/systemd/system/capitularia.service`. - -It is composed of these modules: - - -server ------- - -The main server module. - -.. automodule:: server - :members: - - -data_server ------------ - -.. automodule:: data_server - :members: - - -collator_server ---------------- - -.. automodule:: collator_server - :members: - - -geo_server ----------- - -.. automodule:: geo_server - :members: - - -tile_server ------------ - -.. automodule:: tile_server - :members: diff --git a/docs/build/_sources/vm/backup.rst.txt b/docs/build/_sources/vm/backup.rst.txt deleted file mode 100644 index 06c06e96..00000000 --- a/docs/build/_sources/vm/backup.rst.txt +++ /dev/null @@ -1,75 +0,0 @@ -.. _backup: - -TSM Backup -========== - -The Capitularia VM is backed up to the TSM service offered by the RRZK. -The node name is: :code:`MPERATHO.CAPITULARIA` on the server :code:`TSM6`. - -The full configuration data is in the directory :file:`/opt/tivoli/tsm/client/ba/bin/` -in the files :file:`dsm.opt` and :file:`dsm.sys`. - -An incremental backup is started by cron.daily which calls -:program:`/root/backup.sh`. This script makes a dump of the databases and of the -published manuscripts before backing up the whole filesystem. Past dumps are -kept on a daily, weekly, montly and yearly basis in subdirectories of :file:`/var/backup/`. - -Logfiles: :file:`/var/log/dsmerror.log` and :file:`/var/log/dsminstr.log`. - -To manually start a backup: - -.. code:: bash - - sudo /root/backup.sh - -To backup files or directories: - -.. code:: bash - - sudo dsmc selective /var/backup/mysqldump.sql - sudo dsmc selective /var/backup/ - sudo dsmc selective /var/backup/ -subdir=yes - -To get a list of backed up files: - -.. code:: bash - - sudo dsmc query backup /var/backup/ - -To restore a file to the same location: - -.. code:: bash - - sudo dsmc restore /var/backup/mysqldump.sql - sudo dsmc restore /home/joe/deleted_file.txt -latest - -To restore a file to a different location: - -.. code:: bash - - sudo dsmc restore /var/backup/mysqldump.sql /var/backup/mysqldump_copy.sql - - -Update ------- - -To manually update the TSM client (replace 8.1.15.1 with the new version): - -.. code:: bash - - wget http://ftp.software.ibm.com/storage/tivoli-storage-management/patches/client/v8r1/Linux/LinuxX86_DEB/v8115/8.1.15.1-TIV-TSMBAC-LinuxX86_DEB.tar - tar -xvf 8.1.15.1-TIV-TSMBAC-LinuxX86_DEB.tar - - sudo dpkg -i tivsm-api64.amd64.deb - sudo dpkg -i tivsm-ba.amd64.deb - sudo dpkg -i tivsm-apicit.amd64.deb - sudo dpkg -i tivsm-bacit.amd64.deb - sudo systemctl restart dsmcad.service - sudo systemctl status dsmcad.service - - -.. seealso:: - - - https://www.ibm.com/docs/en/spectrum-protect/8.1.14?topic=data-backing-up-using-command-line - - https://www.ibm.com/docs/en/spectrum-protect/8.1.14?topic=data-command-line-restore-examples - - https://rrzk.uni-koeln.de/sites/rrzk/Daten_speichern_teilen_verwalten/TSM/20180813_ISP-Ubuntu-installationsanleitung.pdf diff --git a/docs/build/_sources/vm/database.rst.txt b/docs/build/_sources/vm/database.rst.txt deleted file mode 100644 index e81052cd..00000000 --- a/docs/build/_sources/vm/database.rst.txt +++ /dev/null @@ -1,62 +0,0 @@ -.. _postgres-database: - -Postgres Database Structure -=========================== - - -Schema *capitularia:* ---------------------- - -The teiHeader contains in msDesc/msPart references to capitularies and loci but -no reference to chapters. The teiHeader includes capitularies not yet -transcribed. This relation is caught in table `mss_capitularies`. The map -client uses this relation. - -The body contains finer grained references to chapters and loci in the @corresp -and @xml:id, but only for already transcribed material. This relation is caught -in table `mss_chapters`. The collation tool uses this relation. - -The `mss_chapters_text` table contains the chapter's text preprocessed for the -collation tool. - -Note that the relation between the `mss_chapters` and `msparts` tables was -inferred using the loci, because there are no milestones for msParts/msItems in -the body. - -Note that the mscap_n of the `mss_capitularies` and `mss_chapters` tables do not -indicate the same concept. - - -.. Palette https://github.com/d3/d3-scale-chromatic/blob/master/src/categorical/Paired.js - -.. pic:: sauml -i manuscripts -i msparts -i capitularies -i chapters -i mss_capitularies - -i mss_chapters -i mss_chapters_text - :caption: Schema *capitularia* - :align: center - :svg-width: 100% - -.. { rank=same; manuscripts, capitularies } - - -Schema *gis:* -------------- - -Note: the `gis.geonames` table and relatives contain standard hierarchies of place -names, extracted from the geonames, dnb, and viaf databases. - -Note: the `gis.geoplaces` table and relatives contain a different, custom hierarchy of -place names, which is the one displayed in the manuscript search box. This hierarchy is -extracted from the file :file:`mss/lists/capitularia_geo.xml`. Unfortunately it is -linked to manuscripts and not to manuscript parts. - -.. pic:: sauml -s gis - :caption: Schema *gis* - :align: center - :svg-width: 100% - - -db.py ------ - -.. automodule:: db - :members: diff --git a/docs/build/_sources/vm/index.rst.txt b/docs/build/_sources/vm/index.rst.txt deleted file mode 100644 index 299d58a4..00000000 --- a/docs/build/_sources/vm/index.rst.txt +++ /dev/null @@ -1,18 +0,0 @@ -.. _vm: - -============== -Capitularia VM -============== - -.. toctree:: - :maxdepth: 2 - - intro - apache - wordpress/index - app_server - database - solr - transformations - user - backup diff --git a/docs/build/_sources/vm/intro.rst.txt b/docs/build/_sources/vm/intro.rst.txt deleted file mode 100644 index d2155cd1..00000000 --- a/docs/build/_sources/vm/intro.rst.txt +++ /dev/null @@ -1,114 +0,0 @@ -============ -Introduction -============ - -The Capitularia VM is a root virtual machine offered by the RRZK. -It runs debian stable. - -The VM hosts an :ref:`Apache Web Server` at https://capitularia.uni-koeln.de -which runs :ref:`Wordpress `. - -The VM also hosts an :ref:`application server ` written in Python. Next to -that it hosts Saxon and :ref:`Solr ` with the Java OpenJDK 17. - -The VM also hosts a :ref:`Postgres database ` server for the -application server and a :ref:`mysql database ` server for -Wordpress. - -We wrote a :ref:`Wordpress theme ` and many :ref:`Wordpress plugins -` to add the functionality we needed for our project. We use the -application server (and its API at https://api.capitularia.uni-koeln.de) for all -functionality that is too inconvenient to implement in Wordpress plugins. - -.. pic:: pic - :caption: Main Components of the Capitularia VM - - down - VM: [ - "Capitularia VM" - move 0.3 - - A: [ - Apache: "Apache" - move 0.3 - WP: [ - "Wordpress / PHP" - move 0.1 - TH: box component wid 1.7 "Capitularia Theme" - move 0.15 - PL: box component wid 1.7 "Library Plugin" - move 0.05 - PF: box component same "File Include Plugin" - move 0.05 - PC: box component same "Collation Plugin" - move 0.05 - PS: box component same "Meta Search Plugin" - move 0.05 - PG: box component same "Page Generator Plugin" - move 0.05 - PD: box component same "Dynamic Menu Plugin" - ] - WPe: box wid WP.wid + 0.2 ht WP.ht + 0.2 with .c at WP.c - ] - Ae: box wid A.wid + 0.2 ht A.ht + 0.2 with .c at A.c - - S: [ - "Saxon" - move 0.1 - XSLT1: box component "XSLT" - move 0.05 - XSLT2: box component "XSLT" - move 0.05 - XSLT3: box component "XSLT" - move 0.05 - XSLT4: box component "..." - ] with .nw at A.ne + (0.5, 0) - Se: box wid S.wid + 0.2 ht S.ht + 0.2 with .c at S.c - - P: [ - "App Server / Python" - move 0.1 - APP1: box component wid 1.7 "Collation Server" - move 0.05 - APP2: box component same "Data Server" - move 0.05 - APP2: box component same "Solr Server" - move 0.05 - APP4: box component same "..." - ] with .nw at S.ne + (0.5, 0) - Pe: box wid P.wid + 0.2 ht P.ht + 0.2 with .c at P.c - - box component "Makefile" with .c at (S.c, A.WP.PS.c) - box component "TSM backup" with .c at (S.c, A.WP.PD.c) - - Mysql: db() with .n at A.s - (0, 0.3) - "mysql" "Database" at Mysql.Caption - - PG: db() with .c at (S.c, Mysql.c) - "Postgres" "Database" at PG.Caption - - Files: db() with .c at (P.c, A.WP.PG.c) - "Files" at Files.Caption - - Solr: db() with .c at (P.c, Mysql.c) - "Solr" "Database" at Solr.Caption - ] - box dashed wid VM.wid + 0.4 ht VM.ht + 0.4 with .c at VM.c - - -Many different :ref:`XSLT transformations ` are used to -:ref:`generate the HTML files ` of the TEI manuscripts and also -many auxiliary files like lists of capitularies and manuscripts. -The transformations are driven by :program:`make` and the :file:`Makefile`. - -The :ref:`Postgres database ` holds manuscript metadata and the -pre-processed text of every chapter in every manuscript. - -The app server does :ref:`collations ` and offers -:ref:`metadata and fulltext search ` in the Capitulars. - -There is a nightly :ref:`TSM backup ` of the whole VM. -The TEI files and the databases are dumped and kept in multiple versions. - -The editors store the original manuscript files encoded in TEI in the VM filesystem. -The TEI files are then :ref:`converted to HTML `. diff --git a/docs/build/_sources/vm/solr.rst.txt b/docs/build/_sources/vm/solr.rst.txt deleted file mode 100644 index 3f293a47..00000000 --- a/docs/build/_sources/vm/solr.rst.txt +++ /dev/null @@ -1,56 +0,0 @@ -.. _solr: - -SOLR -==== - -SOLR is a full-text search engine built on top of Apache Lucene. -We use it to search the manuscripts and the Wordpress content. - -A nightly cron of :program:`server/import_solr.py` harvests following sources and indexes -them into SOLR: - -- the TEI XML files (as category:front) -- the TEI XML files (as category:chapter) -- the Wordpress pages (as category:post) - -The wordpress `cap-meta-search`-plugin queries the SOLR database through the python -application server and presents the results to the user. - -.. seealso:: - - - :ref:`fulltext-search-overview` - - -Installation ------------- - -.. code-block:: bash - - mkdir -p ~/solr - cd ~/solr - wget https://dlcdn.apache.org/solr/solr/9.6.1/solr-9.6.1.tgz - tar -xzf *.tgz - ln -s solr-9.6.1 solr - - sudo systemctl enable solr - sudo systemctl start solr - - cd ~/prj/capitularia/capitularia - make solr-init - make solr-import - - -Service -------- - -SOLR runs as systemd service :file:`/etc/systemd/system/solr.service` - -Start with :program:`systemctl start solr` - -Stop with :program:`systemctl stop solr` - - -Icinga ------- - -SOLR can be monitored through :program:`/usr/local/lib/nagios/plugins/check_solr.py -P -H localhost` diff --git a/docs/build/_sources/vm/transformations.rst.txt b/docs/build/_sources/vm/transformations.rst.txt deleted file mode 100644 index 713f4f32..00000000 --- a/docs/build/_sources/vm/transformations.rst.txt +++ /dev/null @@ -1,45 +0,0 @@ -.. _transformations: - -XSLT Transformations --------------------- - -.. contents:: - :local: - -The transformations used to produce HTML from TEI. - -The xslt files reside at :file:`~capitularia/prj/capitularia/capitularia/xslt/`. -The transformations are driven by the :file:`Makefile` in that directory. - -The XSLT stylesheets were first written in XSLT 1 because the WebProjekt setup -by the RRZK offered only an XSLT 1 processor (xsltproc through PHP). - -After adding a VM to the Capitularia project and installing Saxon-HE on it we -rewrote all the stylesheets in XSLT 3. (Rewrite completed in June 2020.) - -.. seealso:: - - - :ref:`html-generation-overview` - - :ref:`makefile` - -These graphs were generated by the tool :program:`python/xslt_dep.py`. - - -Graph of All Transformations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. pic:: xslt_dep_dot - - update INSERT DATA { cap:constraint "false" } - update INSERT DATA { cap:constraint "false" } - io - dot - - -Graph of Stylesheet Dependencies -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. pic:: xslt_dep_dot - - dep - dot diff --git a/docs/build/_sources/vm/user.rst.txt b/docs/build/_sources/vm/user.rst.txt deleted file mode 100644 index b3587454..00000000 --- a/docs/build/_sources/vm/user.rst.txt +++ /dev/null @@ -1,126 +0,0 @@ -.. _user: - -Users of the VM -=============== - -Each editor is a user on the VM. -The username is the same as the username of the UniKim account. - -Users must access the VM by SSH, WinSCP, etc. using their UniKim account's username and -password. - -Example: - -.. code:: bash - - ssh meckhart@capitularia.uni-koeln.de - - -Users and Groups ----------------- - -User ``capitularia`` - The admin user for this project. This user must have read/write access to all files. - - The application server is installed under this user's home directory. The XSLT - transformations are also there. This user - - - owns the Apache DocumentRoot directory for the Capitularia web site, - - runs the cron jobs to transform TEI files into HTML, - - runs scripts on demand to bulk-edit TEI files (also in editors' private directories) - -Group ``capitularia`` - The group of the project admin user. - -User ```` - Personal user account for each editor. - -Group ``capitularia-editors`` - All editors are members of this group. - -User ``www-data`` - The web server. Must have read access to :file:`cap/publ/`. - -Directory :file:`cap/publ/` - All editors have read/write access through group ``capitularia-editors``. - -Directory :file:`cap/intern/` - All editors have read/write access through group ``capitularia-editors``. - -Directory :file:`cap/intern/InArbeit/` - Semi-private directories owned by the the editor. - All editors have read/write access to all these directories - through group ``capitularia-editors``. - -Groups for user: - -=========== ================================ -User Groups -=========== ================================ -capitularia capitularia, capitularia-editors - , capitularia-editors -=========== ================================ - -ACL permissions for users: - -==================== ======== ========== ============================ -User cap/publ cap/intern cap/intern/InArbeit/ -==================== ======== ========== ============================ -capitularia rwx rwx rwx -www-data r-x -==================== ======== ========== ============================ - -ACL permissions for groups: - -==================== ======== ========== ============================ -Group cap/publ cap/intern cap/intern/InArbeit/ -==================== ======== ========== ============================ -capitularia rwx rwx rwx -capitularia-editors rwx rwx rwx -==================== ======== ========== ============================ - -To see ACLs for the current directory, say: - -.. code:: bash - - getfacl . - -An example of how to set ACLs: - -.. code:: bash - - setfacl -R -m u:www-data:rX,g:capitularia-editors:rwX,o::- - - -Adding a New User ------------------ - -To add a new user to the VM (needs root): - -.. code:: bash - - sudo ~root/add_capitularia_user.sh - -Each user should also have a semi-personal subdirectory in: :file:`cap/intern/InArbeit/`. -They can create that themselves. - - -Deleting a New User -------------------- - -To delete a user (needs root): - -.. code:: bash - - sudo ~root/del_capitularia_user.sh - -Each user should also have a semi-personal subdirectory in: :file:`cap/intern/InArbeit/`. -The script does not remove that directory as it may still contain data. - - -Security --------- - -The users are authenticated by the RRZK Kerberos system through PAM and the pam_krb5 -module. For particulars see the voice: "Zugang zu Gast-VM (debian) mit UniKim-Account" -in the internal CCeH wiki. diff --git a/docs/build/_sources/vm/wordpress/database.rst.txt b/docs/build/_sources/vm/wordpress/database.rst.txt deleted file mode 100644 index 6a03f6ba..00000000 --- a/docs/build/_sources/vm/wordpress/database.rst.txt +++ /dev/null @@ -1,25 +0,0 @@ -.. _wordpress-database: - - -Wordpress Database Structure -============================ - -The Wordpress mysql Database for Capitularia. - -This is a standard Wordpress database. See the `Wordpress database description -`_. - -The access parameters can be found in -:file:`/var/www/capitularia.uni-koeln.de/wp-config.php`. - - -Metadata --------- - -Metadata we add to the wp_postmeta table: - -tei-xml-id - The xml:id of the TEI file transcluded into the page. - - The :ref:`Page Generator plugin` adds this metadata when it - creates a page. diff --git a/docs/build/_sources/vm/wordpress/development.rst.txt b/docs/build/_sources/vm/wordpress/development.rst.txt deleted file mode 100644 index 1afe5dc9..00000000 --- a/docs/build/_sources/vm/wordpress/development.rst.txt +++ /dev/null @@ -1,214 +0,0 @@ -.. _wordpress-development: - - -Developer Notes -=============== - -Description of our development environment for Wordpress customizations. - -Skills needed: Wordpress, PHP, Javascript, Sass, Vue.js, jQuery, Bootstrap, Webpack, -GNU Make. - -.. contents:: - :local: - - -webpack -~~~~~~~ - -We use webpack to compile all our JS and CSS modules. - -Webpack generates a manifest file in :file:`dist/manifest.json` -that contains the public path to all compiled modules. - -The theme and plugins load all JS code through the function: - -.. code-block:: php - - \cceh\capitularia\lib\enqueue_from_manifest ($key, $dependencies = array ()) - -where :code:`$key` ist the key in the manifest file. - -To build production files compile with: - -.. code-block:: bash - - webpack --config webpack.prod.js - -To build development files and enable hot module reloading (HMR) compile with: - -.. code-block:: bash - - webpack serve --config webpack.dev.js - -webpack serve adds some code to your JS to enable HMR. Once loaded into -Wordpress this code opens a socket to the webpack-dev-server and awaits -commands. When webpack-dev-server detects a source code change it compiles the -changed modules into hot-update.js files and sends a reload command down the -socket. The HMR code in your app then tries to reload the changed modules -preserving application state. If it fails to do so it will fallback on -reloading the whole page (and will lose application state). - -Example webpack config: - -.. literalinclude:: /../../webpack.dev.js - :language: js - - -i18n of Javascript -~~~~~~~~~~~~~~~~~~ - -Internationalization consists of these steps: - -1. Extract the strings to translate from the source files. - -2. Translate the strings and compile them into a .json file (in jed format). - -3. Make the .json file available to your JS module. - -4. Use the Wordpress :file:`wp-i18n.js` library to translate the strings at - runtime. - - -Extract -------- - -There are 3 kinds of source files: PHP files, JS files and Vue single component -files. PHP files can be extracted using the GNU xgettext utility. JS and Vue -files can be extracted using the `easygettext -`_ utility. - - -PHP Files -+++++++++ - -In PHP files use the __ (), _x (), and _n () functions. - - -JS Files -++++++++ - -In JS files, add this boilerplate to the file: - -.. code-block:: js - - /** The Wordpress Text Domain of the plugin. */ - const LANG = 'cap-dynamic-menu'; - - function $gettext (msg) { - return wp.i18n.__ (msg, LANG); - } - function $pgettext (context, msg) { - return wp.i18n._x (msg, context, LANG); - } - function $ngettext (singular, plural, number) { - return wp.i18n._n (singular, plural, number, LANG); - } - -Then use like this: - -.. code-block:: js - - const message = $gettext ('Message to translate'); - const pmessage = $pgettext ('Hint to translators', 'Message to translate'); - const nmessage = $ngettext ('Singular', 'Plural', number); - -We must use the :func:`$gettext` names for our functions, or the stupid -easygettext tool will not recognize the function. The functions used like this -tag the message for the string extractor and also translate the string at -runtime. - - -Vue Files -+++++++++ - -Vue single component files contain 3 sections: HTML, JS, and CSS. The CSS -section does not need to be translated. - -In the JS section of Vue files, use the :func:`$t ()` function: - -.. code-block:: js - - const message = $t ('Message to translate'); - -This function tags the message for the string extractor and also translates -the string at runtime. - -In the HTML template section of Vue files, you may use two different methods to -tag translatable strings: - -.. code-block:: html - -

Header to translate

- - -This is the Vue 3 boilerplate that enables translations in Vue files: Put this -in main.js before initializing your Vue app. - - -.. code-block:: js - :caption: Vue.js 3 boilerplate - - const DOMAIN = 'my-text-domain'; - const app = createApp (App); - - // wrapper to call the Wordpress translate function - function $t (text) { - return wp.i18n.__ (text, DOMAIN); - } - - // the vm.$t function - app.config.globalProperties.$t = $t; - - // the v-translate directive - app.directive ('translate', (el) => { - el.innerText = $t (el.innerText.trim ()); - }); - - app.mount ('...'); - - -Translate ---------- - -Use poedit to translate the extracted strings. - -To compile .po files into .json files we use a custom made -:program:`python/po2json.py`. - - -Enqueue Translations --------------------- - -Wordpress boilerplate to make translations available in PHP and JS files: - -.. code-block:: php - :caption: Wordpress boilerplate - - use cceh\capitularia\lib; - - const DOMAIN = 'my-text-domain'; - - function enqueue_scripts () - { - $key = 'my-module'; // key from webpack.common.js - - // enqueue webpacked JS module - lib\enqueue_from_manifest ("$key.js", [ - 'another-module.js', - ]); - - // enqueue extracted (minified) CSS - lib\enqueue_from_manifest ("$key.css", [ - 'another-module.css' - ]); - - // translations in PHP files - lib\load_textdomain (DOMAIN); - - // translations in JS files - lib\wp_set_script_translations ("$key.js", DOMAIN); - } - -See also: -https://make.wordpress.org/core/2018/11/09/new-javascript-i18n-support-in-wordpress/ diff --git a/docs/build/_sources/vm/wordpress/index.rst.txt b/docs/build/_sources/vm/wordpress/index.rst.txt deleted file mode 100644 index 12b265fc..00000000 --- a/docs/build/_sources/vm/wordpress/index.rst.txt +++ /dev/null @@ -1,14 +0,0 @@ -.. _wordpress: - -Wordpress -========= - -.. toctree:: - :maxdepth: 2 - - installation - database - theme - plugins - maintenance - development diff --git a/docs/build/_sources/vm/wordpress/installation.rst.txt b/docs/build/_sources/vm/wordpress/installation.rst.txt deleted file mode 100644 index 84883d19..00000000 --- a/docs/build/_sources/vm/wordpress/installation.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -.. _wordpress-installation: - - -Wordpress Installation -====================== - -The Wordpress installation in the Capitularia VM. - -The installation resides in the directory: -:file:`/var/www/capitularia.uni-koeln.de/`. - -The web server has no write permission to the file system, so you cannot update -Wordpress from the dashboard. To update Wordpress, change into the installation -directory and use the command :program:`wp` like this: - -.. code:: shell - - cd /var/www/capitularia.uni-koeln.de - ./wp cli update - ./wp core update - ./wp theme update --all - ./wp plugin update --all diff --git a/docs/build/_sources/vm/wordpress/maintenance.rst.txt b/docs/build/_sources/vm/wordpress/maintenance.rst.txt deleted file mode 100644 index 13ef0fba..00000000 --- a/docs/build/_sources/vm/wordpress/maintenance.rst.txt +++ /dev/null @@ -1,100 +0,0 @@ -.. _wordpress-maintenance: - - -Wordpress Maintenance -===================== - -Wordpress Upgrades ------------------- - -We use the `Wordpress cli tool `_ to upgrade Wordpress. - -N.B.: There already is a nightly :ref:`database backup ` running. - -Login: - -.. code:: shell - - ssh capitularia@capitularia.uni-koeln.de - cd /var/www/capitularia.uni-koeln.de - ./wp help - -Upgrade the cli tool: - -.. code:: shell - - ./wp cli update - -Upgrade Wordpress: - -.. code:: shell - - ./wp core update - ./wp theme update --all - ./wp plugin update --all - - -qtranslate-xt -~~~~~~~~~~~~~ - -The plugin `qtranslate-xt `_ needs manual -update: - -.. code:: shell - - cd /var/www/capitularia.uni-koeln.de/wp-content/plugins/ - wget https://github.com/qtranslate/qtranslate-xt/archive/3.6.2.zip - unzip 3.6.2.zip - rm 3.6.2.zip - -Replace "3.6.2" with the latest version. - -Then go to the `Wordpress admin page `_ and -then to :menuselection:`Plugins --> Installed Plugins`, deactivate the old version and -activate the new version of the plugin. - - -.. seealso:: - - - https://github.com/cceh/capitularia/issues/62 - - -wordfence -~~~~~~~~~ - -The plugin Wordfence needs write access to the location -:file:`/var/www/capitularia.uni-koeln.de/wp-content/wflogs`. The `wp` commandline update -tool also needs access to that location during plugin update. So both users `www-data` -and `capitularia` have write access to that location. - -.. code:: shell - - getfacl wflogs - # file: wflogs - # owner: capitularia - # group: capitularia - user::rwx - user:www-data:rwx - user:capitularia:rwx - group::r-x - mask::rwx - other::r-x - default:user::rwx - default:user:www-data:rwx - default:user:capitularia:rwx - default:group::r-x - default:mask::rwx - default:other::r-x - - -Restore Database -~~~~~~~~~~~~~~~~ - -Restore the Wordpress database from the backup. - -.. code:: bash - - mysql < /var/backups/mysqldump.backup - -Note: The database contains all Wordpress settings. After restoring the production -database on a developer machine, the Wordpress settings must be adjusted. diff --git a/docs/build/_sources/vm/wordpress/plugins.rst.txt b/docs/build/_sources/vm/wordpress/plugins.rst.txt deleted file mode 100644 index cd2cbf8f..00000000 --- a/docs/build/_sources/vm/wordpress/plugins.rst.txt +++ /dev/null @@ -1,33 +0,0 @@ -.. _wordpress-plugins: - - -Wordpress Plugins -================= - -Active Plugins --------------- - -We wrote various Wordpress plugins to implement functionality we needed. - -.. toctree:: - :maxdepth: 2 - - plugins/collation-tool - plugins/meta-search - plugins/file-includer - plugins/page-generator - plugins/dynamic-menu - plugins/lib - - - -Obsolete Plugins ----------------- - -- **Collation tool** The old collation tool that lived on a Wordpress admin - page. Was rewritten for the front, because the admin page was not accessible - by the general public. - -- **XSL processor** This plugin was rewrittem as the File Includer plugin. XSLT - is now done exclusively on the VM because we can use Saxon there while we were - limited to xsltproc in the old RRZK-Webprojekt environment. diff --git a/docs/build/_sources/vm/wordpress/plugins/collation-tool.rst.txt b/docs/build/_sources/vm/wordpress/plugins/collation-tool.rst.txt deleted file mode 100644 index fffd754c..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/collation-tool.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _collation-tool: - -Collation Tool --------------- - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-collation/cap-collation.php plugins/cap-collation/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-collation diff --git a/docs/build/_sources/vm/wordpress/plugins/dynamic-menu.rst.txt b/docs/build/_sources/vm/wordpress/plugins/dynamic-menu.rst.txt deleted file mode 100644 index 0b580fc6..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/dynamic-menu.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _dynamic-menu: - -Dynamic Menu ------------- - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-dynamic-menu/cap-dynamic-menu.php plugins/cap-dynamic-menu/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-dynamic-menu diff --git a/docs/build/_sources/vm/wordpress/plugins/file-includer.rst.txt b/docs/build/_sources/vm/wordpress/plugins/file-includer.rst.txt deleted file mode 100644 index 767685bf..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/file-includer.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _file-includer: - -File Includer -------------- - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-file-includer/cap-file-includer.php plugins/cap-file-includer/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-file-includer diff --git a/docs/build/_sources/vm/wordpress/plugins/lib.rst.txt b/docs/build/_sources/vm/wordpress/plugins/lib.rst.txt deleted file mode 100644 index 62718419..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/lib.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _library: - -Library -------- - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-lib/cap-lib.php plugins/cap-lib/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-lib diff --git a/docs/build/_sources/vm/wordpress/plugins/meta-search.rst.txt b/docs/build/_sources/vm/wordpress/plugins/meta-search.rst.txt deleted file mode 100644 index 848e508f..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/meta-search.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _meta-search: - -Meta Search ------------ - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-meta-search/cap-meta-search.php plugins/cap-meta-search/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-meta-search diff --git a/docs/build/_sources/vm/wordpress/plugins/page-generator.rst.txt b/docs/build/_sources/vm/wordpress/plugins/page-generator.rst.txt deleted file mode 100644 index 056fb04f..00000000 --- a/docs/build/_sources/vm/wordpress/plugins/page-generator.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _page-generator: - -Page Generator --------------- - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: plugins/cap-page-generator/cap-page-generator.php plugins/cap-page-generator/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:plugins/cap-page-generator diff --git a/docs/build/_sources/vm/wordpress/theme.rst.txt b/docs/build/_sources/vm/wordpress/theme.rst.txt deleted file mode 100644 index 7c572d5b..00000000 --- a/docs/build/_sources/vm/wordpress/theme.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -.. _wordpress-theme: - - -Wordpress Theme -=============== - -The Wordpress theme for Capitularia. - -.. toctree:: - - theme/main - theme/widgets diff --git a/docs/build/_sources/vm/wordpress/theme/main.rst.txt b/docs/build/_sources/vm/wordpress/theme/main.rst.txt deleted file mode 100644 index 04c517d4..00000000 --- a/docs/build/_sources/vm/wordpress/theme/main.rst.txt +++ /dev/null @@ -1,21 +0,0 @@ -.. _theme-main: - -Wordpress Theme Core -==================== - -The Wordpress theme for Capitularia. - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: themes/Capitularia/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:themes/Capitularia diff --git a/docs/build/_sources/vm/wordpress/theme/widgets.rst.txt b/docs/build/_sources/vm/wordpress/theme/widgets.rst.txt deleted file mode 100644 index adc0f37c..00000000 --- a/docs/build/_sources/vm/wordpress/theme/widgets.rst.txt +++ /dev/null @@ -1,21 +0,0 @@ -.. _widgets: - -Wordpress Theme Widgets -======================= - -The Widgets in the Wordpress theme for Capitularia. - -.. contents:: - :local: - - -PHP -~~~ - -.. php:automodule:: themes/Capitularia/widgets/*.php - - -Javascript -~~~~~~~~~~ - -.. js:automodule:: module:themes/Capitularia/widgets diff --git a/docs/build/_static/basic.css b/docs/build/_static/basic.css deleted file mode 100644 index f316efcb..00000000 --- a/docs/build/_static/basic.css +++ /dev/null @@ -1,925 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/build/_static/css/badge_only.css b/docs/build/_static/css/badge_only.css deleted file mode 100644 index c718cee4..00000000 --- a/docs/build/_static/css/badge_only.css +++ /dev/null @@ -1 +0,0 @@ -.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff deleted file mode 100644 index 6cb60000..00000000 Binary files a/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 b/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 deleted file mode 100644 index 7059e231..00000000 Binary files a/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff deleted file mode 100644 index f815f63f..00000000 Binary files a/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 b/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 deleted file mode 100644 index f2c76e5b..00000000 Binary files a/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/fontawesome-webfont.eot b/docs/build/_static/css/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/docs/build/_static/css/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/docs/build/_static/css/fonts/fontawesome-webfont.svg b/docs/build/_static/css/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/docs/build/_static/css/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/build/_static/css/fonts/fontawesome-webfont.ttf b/docs/build/_static/css/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/docs/build/_static/css/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/docs/build/_static/css/fonts/fontawesome-webfont.woff b/docs/build/_static/css/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/docs/build/_static/css/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/fontawesome-webfont.woff2 b/docs/build/_static/css/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/docs/build/_static/css/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-bold-italic.woff b/docs/build/_static/css/fonts/lato-bold-italic.woff deleted file mode 100644 index 88ad05b9..00000000 Binary files a/docs/build/_static/css/fonts/lato-bold-italic.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-bold-italic.woff2 b/docs/build/_static/css/fonts/lato-bold-italic.woff2 deleted file mode 100644 index c4e3d804..00000000 Binary files a/docs/build/_static/css/fonts/lato-bold-italic.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-bold.woff b/docs/build/_static/css/fonts/lato-bold.woff deleted file mode 100644 index c6dff51f..00000000 Binary files a/docs/build/_static/css/fonts/lato-bold.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-bold.woff2 b/docs/build/_static/css/fonts/lato-bold.woff2 deleted file mode 100644 index bb195043..00000000 Binary files a/docs/build/_static/css/fonts/lato-bold.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-normal-italic.woff b/docs/build/_static/css/fonts/lato-normal-italic.woff deleted file mode 100644 index 76114bc0..00000000 Binary files a/docs/build/_static/css/fonts/lato-normal-italic.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-normal-italic.woff2 b/docs/build/_static/css/fonts/lato-normal-italic.woff2 deleted file mode 100644 index 3404f37e..00000000 Binary files a/docs/build/_static/css/fonts/lato-normal-italic.woff2 and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-normal.woff b/docs/build/_static/css/fonts/lato-normal.woff deleted file mode 100644 index ae1307ff..00000000 Binary files a/docs/build/_static/css/fonts/lato-normal.woff and /dev/null differ diff --git a/docs/build/_static/css/fonts/lato-normal.woff2 b/docs/build/_static/css/fonts/lato-normal.woff2 deleted file mode 100644 index 3bf98433..00000000 Binary files a/docs/build/_static/css/fonts/lato-normal.woff2 and /dev/null differ diff --git a/docs/build/_static/css/theme.css b/docs/build/_static/css/theme.css deleted file mode 100644 index 19a446a0..00000000 --- a/docs/build/_static/css/theme.css +++ /dev/null @@ -1,4 +0,0 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/docs/build/_static/doctools.js b/docs/build/_static/doctools.js deleted file mode 100644 index 4d67807d..00000000 --- a/docs/build/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/build/_static/documentation_options.js b/docs/build/_static/documentation_options.js deleted file mode 100644 index add8e0cb..00000000 --- a/docs/build/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '0.2.1', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/build/_static/favicon-cceh-blue.png b/docs/build/_static/favicon-cceh-blue.png deleted file mode 100644 index ade28858..00000000 Binary files a/docs/build/_static/favicon-cceh-blue.png and /dev/null differ diff --git a/docs/build/_static/file.png b/docs/build/_static/file.png deleted file mode 100644 index a858a410..00000000 Binary files a/docs/build/_static/file.png and /dev/null differ diff --git a/docs/build/_static/js/badge_only.js b/docs/build/_static/js/badge_only.js deleted file mode 100644 index 526d7234..00000000 --- a/docs/build/_static/js/badge_only.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}}); \ No newline at end of file diff --git a/docs/build/_static/js/html5shiv-printshiv.min.js b/docs/build/_static/js/html5shiv-printshiv.min.js deleted file mode 100644 index 2b43bd06..00000000 --- a/docs/build/_static/js/html5shiv-printshiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/build/_static/js/html5shiv.min.js b/docs/build/_static/js/html5shiv.min.js deleted file mode 100644 index cd1c674f..00000000 --- a/docs/build/_static/js/html5shiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/build/_static/js/theme.js b/docs/build/_static/js/theme.js deleted file mode 100644 index 1fddb6ee..00000000 --- a/docs/build/_static/js/theme.js +++ /dev/null @@ -1 +0,0 @@ -!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/build/_static/logo-cceh-white.svg b/docs/build/_static/logo-cceh-white.svg deleted file mode 100644 index 12911aec..00000000 --- a/docs/build/_static/logo-cceh-white.svg +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/build/_static/minus.png b/docs/build/_static/minus.png deleted file mode 100644 index d96755fd..00000000 Binary files a/docs/build/_static/minus.png and /dev/null differ diff --git a/docs/build/_static/my_theme.css b/docs/build/_static/my_theme.css deleted file mode 100644 index 55a9b361..00000000 --- a/docs/build/_static/my_theme.css +++ /dev/null @@ -1,49 +0,0 @@ -.wy-side-nav-search a.icon.icon-home img.logo { width: 72px; } - -.rst-content img.sauml { - display: block; - margin-top: 12px; - margin-bottom: 12px; -} - -.rst-content .std-term { - font-style: italic; -} - -.rst-content .pic { - margin-bottom: 1em; -} - -.rst-content .pic table { - min-width: 100%; -} - -.rst-content .pic table th, -.rst-content .pic table td { - border: 1px solid black; - padding: 0.2em; - text-align: left; -} - -.rst-content .pic-w100 { - width: 100%; -} - -table.super-collator { border-collapse: collapse; margin-bottom: 1em ;} -table.super-collator th, -table.super-collator td.outer { border: 1px solid black } -table.super-collator td.inner { width: 50%; padding: 0 0.5ex; text-align: right } -table.super-collator td.prefilled { background-color: #eee } -table.super-collator td.em { font-weight: bold } -table.super-collator th { padding: 0 0.5ex; text-align: right } -table.super-collator table { width: 100% } -table.super-collator-result td { border: 1px solid black; padding: 0 1ex } - -#super-collator-phase2 td.outer.bt { - background-color: #fefece; - border: 1.5pt solid #a80136; -} - -#super-collator-phase2 td.outer.bt .arrow { - color: #a80136; -} diff --git a/docs/build/_static/plus.png b/docs/build/_static/plus.png deleted file mode 100644 index 7107cec9..00000000 Binary files a/docs/build/_static/plus.png and /dev/null differ diff --git a/docs/build/_static/pygments.css b/docs/build/_static/pygments.css deleted file mode 100644 index 0d49244e..00000000 --- a/docs/build/_static/pygments.css +++ /dev/null @@ -1,75 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #eeffcc; } -.highlight .c { color: #408090; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #007020; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #007020 } /* Comment.Preproc */ -.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #333333 } /* Generic.Output */ -.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #007020 } /* Keyword.Pseudo */ -.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #902000 } /* Keyword.Type */ -.highlight .m { color: #208050 } /* Literal.Number */ -.highlight .s { color: #4070a0 } /* Literal.String */ -.highlight .na { color: #4070a0 } /* Name.Attribute */ -.highlight .nb { color: #007020 } /* Name.Builtin */ -.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ -.highlight .no { color: #60add5 } /* Name.Constant */ -.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ -.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #007020 } /* Name.Exception */ -.highlight .nf { color: #06287e } /* Name.Function */ -.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ -.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #bb60d5 } /* Name.Variable */ -.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mb { color: #208050 } /* Literal.Number.Bin */ -.highlight .mf { color: #208050 } /* Literal.Number.Float */ -.highlight .mh { color: #208050 } /* Literal.Number.Hex */ -.highlight .mi { color: #208050 } /* Literal.Number.Integer */ -.highlight .mo { color: #208050 } /* Literal.Number.Oct */ -.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ -.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ -.highlight .sc { color: #4070a0 } /* Literal.String.Char */ -.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ -.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ -.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ -.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ -.highlight .sx { color: #c65d09 } /* Literal.String.Other */ -.highlight .sr { color: #235388 } /* Literal.String.Regex */ -.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ -.highlight .ss { color: #517918 } /* Literal.String.Symbol */ -.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #06287e } /* Name.Function.Magic */ -.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ -.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ -.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ -.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ -.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/build/_static/searchtools.js b/docs/build/_static/searchtools.js deleted file mode 100644 index 92da3f8b..00000000 --- a/docs/build/_static/searchtools.js +++ /dev/null @@ -1,619 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, anchor) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - "Search finished, found ${resultCount} page(s) matching the search query." - ).replace('${resultCount}', resultCount); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; -// Helper function used by query() to order search results. -// Each input is an array of [docname, title, anchor, descr, score, filename]. -// Order the results by score (in opposite order of appearance, since the -// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. -const _orderResultsByScoreThenName = (a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString, anchor) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlinks", "script", "style"]) { - htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); - } - if (anchor) { - const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); - if (anchorContent) return anchorContent.textContent; - - console.warn( - `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` - ); - } - - // if anchor not specified or not found, fall back to main content - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent) return docContent.textContent; - - console.warn( - "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - _parseQuery: (query) => { - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; - }, - - /** - * execute search (requires search index to be loaded) - */ - _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // Collect multiple result groups to be sorted separately and then ordered. - // Each is an array of [docname, title, anchor, descr, score, filename]. - const normalResults = []; - const nonMainIndexResults = []; - - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase().trim(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - normalResults.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id, isMain] of foundEntries) { - const score = Math.round(100 * queryLower.length / entry.length); - const result = [ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]; - if (isMain) { - normalResults.push(result); - } else { - nonMainIndexResults.push(result); - } - } - } - } - - // lookup as object - objectTerms.forEach((term) => - normalResults.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) { - normalResults.forEach((item) => (item[4] = Scorer.score(item))); - nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); - } - - // Sort each group of results by score and then alphabetically by name. - normalResults.sort(_orderResultsByScoreThenName); - nonMainIndexResults.sort(_orderResultsByScoreThenName); - - // Combine the result groups in (reverse) order. - // Non-main index entries are typically arbitrary cross-references, - // so display them after other results. - let results = [...nonMainIndexResults, ...normalResults]; - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - return results.reverse(); - }, - - query: (query) => { - const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); - const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - if (!terms.hasOwnProperty(word)) { - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - } - if (!titleTerms.hasOwnProperty(word)) { - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); - }); - } - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (!fileMap.has(file)) fileMap.set(file, [word]); - else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords, anchor) => { - const text = Search.htmlToText(htmlText, anchor); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/build/_static/sphinx_highlight.js b/docs/build/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69a..00000000 --- a/docs/build/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/docs/build/_static/super-collator-phase1.html b/docs/build/_static/super-collator-phase1.html deleted file mode 100644 index 546ed9c4..00000000 --- a/docs/build/_static/super-collator-phase1.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - -
sickfoxiscrazy
0.000.00
0.00
-0.50-0.50
-0.50
-0.70-0.70
-0.70
-0.90-0.90
-0.90
-1.10-1.10
-1.10
the
-0.50-0.50
-0.50
0.00-0.70
-0.70
-0.50-0.90
-0.50
-0.70-1.10
-0.70
-0.90-1.30
-0.90
quick
-0.70-0.70
-0.70
-0.04-0.50
-0.90
0.00-1.00
-0.54
-0.50-1.20
-0.50
-0.70-1.40
-0.70
brown
-0.90-0.90
-0.90
-0.70-0.54
-1.10
-0.04-0.50
-1.04
0.00-1.00
-0.54
-0.50-1.20
-0.50
fox
-1.10-1.10
-1.10
-0.90-0.74
-1.30
0.46-0.54
-1.24
-0.04-0.50
-0.04
0.00-1.00
-0.24
jumps
-1.30-1.30
-1.30
-1.10-0.94
-1.50
-0.74-0.04
-1.44
0.64-0.54
-0.54
-0.04-0.50
0.14
over
-1.50-1.50
-1.50
-1.30-1.14
-1.70
-0.94-0.24
-1.64
-0.040.14
-0.74
0.64-0.36
-0.36
the
-1.70-1.70
-1.70
-1.50-1.34
-1.90
-1.14-0.44
-1.84
-0.24-0.06
-0.94
0.140.14
-0.56
lazy
-1.90-1.90
-1.90
-1.70-1.54
-2.10
-1.34-0.64
-2.04
-0.44-0.26
-1.14
0.40-0.06
-0.76
dog
-2.10-2.10
-2.10
-1.90-1.74
-2.30
-1.54-0.84
-2.24
-0.64-0.46
-1.34
-0.26-0.10
-0.96
- diff --git a/docs/build/_static/super-collator-phase2.html b/docs/build/_static/super-collator-phase2.html deleted file mode 100644 index 6ca182ed..00000000 --- a/docs/build/_static/super-collator-phase2.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - -
sickfoxiscrazy
0.000.00
0.00
-0.50-0.50
-0.50
-0.70-0.70
-0.70
-0.90-0.90
-0.90
-1.10-1.10
-1.10
the
-0.50-0.50
-0.50
0.00-0.70
-0.70
-0.50-0.90
-0.50
-0.70-1.10
-0.70
-0.90-1.30
-0.90
quick
-0.70-0.70
-0.70
-0.04-0.50
-0.90
0.00-1.00
-0.54
-0.50-1.20
-0.50
-0.70-1.40
-0.70
brown
-0.90-0.90
-0.90
-0.70-0.54
-1.10
-0.04-0.50
-1.04
0.00-1.00
-0.54
-0.50-1.20
-0.50
fox
-1.10-1.10
-1.10
-0.90-0.74
-1.30
0.46-0.54
-1.24
-0.04-0.50
-0.04
0.00-1.00
-0.24
jumps
-1.30-1.30
-1.30
-1.10-0.94
-1.50
-0.74-0.04
-1.44
0.64-0.54
-0.54
-0.04-0.50
0.14
over
-1.50-1.50
-1.50
-1.30-1.14
-1.70
-0.94-0.24
-1.64
-0.040.14
-0.74
0.64-0.36
-0.36
the
-1.70-1.70
-1.70
-1.50-1.34
-1.90
-1.14-0.44
-1.84
-0.24-0.06
-0.94
0.140.14
-0.56
lazy
-1.90-1.90
-1.90
-1.70-1.54
-2.10
-1.34-0.64
-2.04
-0.44-0.26
-1.14
0.40-0.06
-0.76
dog
-2.10-2.10
-2.10
-1.90-1.74
-2.30
-1.54-0.84
-2.24
-0.64-0.46
-1.34
-0.26-0.10
-0.96
- diff --git a/docs/build/_static/super-collator-result.html b/docs/build/_static/super-collator-result.html deleted file mode 100644 index 070559f5..00000000 --- a/docs/build/_static/super-collator-result.html +++ /dev/null @@ -1,4 +0,0 @@ - - -
thequickbrownfoxjumpsoverthelazydog
-sick-foxis--crazy-
- diff --git a/docs/build/development/development.html b/docs/build/development/development.html deleted file mode 100644 index 866420e0..00000000 --- a/docs/build/development/development.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Assorted Development Tips — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Assorted Development Tips

-

This variable tells the Makefile where your dev directory is:

-
CAPITULARIA_PRJ=~/dev/capitularia
-
-
-

Configure your development environment in xslt/xslt.config.mak. This will -direct make to build files in the local cache and not on the server.

-
bin/mount-sshfs-ntg
-
-
-

Download TEI manuscripts and capitulary files to the develpment machine:

-
make import_xml
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/development/index.html b/docs/build/development/index.html deleted file mode 100644 index a936b206..00000000 --- a/docs/build/development/index.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - Development — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Development

- -
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/doctrees/development/development.doctree b/docs/build/doctrees/development/development.doctree deleted file mode 100644 index 20f9d241..00000000 Binary files a/docs/build/doctrees/development/development.doctree and /dev/null differ diff --git a/docs/build/doctrees/development/index.doctree b/docs/build/doctrees/development/index.doctree deleted file mode 100644 index e3f7df0b..00000000 Binary files a/docs/build/doctrees/development/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle deleted file mode 100644 index bca0f98a..00000000 Binary files a/docs/build/doctrees/environment.pickle and /dev/null differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree deleted file mode 100644 index 1d71801a..00000000 Binary files a/docs/build/doctrees/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/maintenance/index.doctree b/docs/build/doctrees/maintenance/index.doctree deleted file mode 100644 index 9863fac3..00000000 Binary files a/docs/build/doctrees/maintenance/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/maintenance/logfiles.doctree b/docs/build/doctrees/maintenance/logfiles.doctree deleted file mode 100644 index d161a620..00000000 Binary files a/docs/build/doctrees/maintenance/logfiles.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/collation_tool.doctree b/docs/build/doctrees/overviews/collation_tool.doctree deleted file mode 100644 index 03d51864..00000000 Binary files a/docs/build/doctrees/overviews/collation_tool.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/collections.doctree b/docs/build/doctrees/overviews/collections.doctree deleted file mode 100644 index fc476ceb..00000000 Binary files a/docs/build/doctrees/overviews/collections.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/fulltext_search.doctree b/docs/build/doctrees/overviews/fulltext_search.doctree deleted file mode 100644 index c6073a7e..00000000 Binary files a/docs/build/doctrees/overviews/fulltext_search.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/html_generation.doctree b/docs/build/doctrees/overviews/html_generation.doctree deleted file mode 100644 index f0e1564b..00000000 Binary files a/docs/build/doctrees/overviews/html_generation.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/index.doctree b/docs/build/doctrees/overviews/index.doctree deleted file mode 100644 index 034a8d3c..00000000 Binary files a/docs/build/doctrees/overviews/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/overviews/makefile.doctree b/docs/build/doctrees/overviews/makefile.doctree deleted file mode 100644 index dc09a0a0..00000000 Binary files a/docs/build/doctrees/overviews/makefile.doctree and /dev/null differ diff --git a/docs/build/doctrees/troubleshooting/collation_tool.doctree b/docs/build/doctrees/troubleshooting/collation_tool.doctree deleted file mode 100644 index 3f52b30a..00000000 Binary files a/docs/build/doctrees/troubleshooting/collation_tool.doctree and /dev/null differ diff --git a/docs/build/doctrees/troubleshooting/index.doctree b/docs/build/doctrees/troubleshooting/index.doctree deleted file mode 100644 index fa2b7e9f..00000000 Binary files a/docs/build/doctrees/troubleshooting/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/apache.doctree b/docs/build/doctrees/vm/apache.doctree deleted file mode 100644 index 14e320ce..00000000 Binary files a/docs/build/doctrees/vm/apache.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/app_server.doctree b/docs/build/doctrees/vm/app_server.doctree deleted file mode 100644 index 2268d199..00000000 Binary files a/docs/build/doctrees/vm/app_server.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/backup.doctree b/docs/build/doctrees/vm/backup.doctree deleted file mode 100644 index a7f41eb2..00000000 Binary files a/docs/build/doctrees/vm/backup.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/database.doctree b/docs/build/doctrees/vm/database.doctree deleted file mode 100644 index 31fc382f..00000000 Binary files a/docs/build/doctrees/vm/database.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/index.doctree b/docs/build/doctrees/vm/index.doctree deleted file mode 100644 index c0c02f54..00000000 Binary files a/docs/build/doctrees/vm/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/intro.doctree b/docs/build/doctrees/vm/intro.doctree deleted file mode 100644 index 07f7f418..00000000 Binary files a/docs/build/doctrees/vm/intro.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/solr.doctree b/docs/build/doctrees/vm/solr.doctree deleted file mode 100644 index 8c2e1c94..00000000 Binary files a/docs/build/doctrees/vm/solr.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/transformations.doctree b/docs/build/doctrees/vm/transformations.doctree deleted file mode 100644 index d371cd71..00000000 Binary files a/docs/build/doctrees/vm/transformations.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/user.doctree b/docs/build/doctrees/vm/user.doctree deleted file mode 100644 index 446e1d29..00000000 Binary files a/docs/build/doctrees/vm/user.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/database.doctree b/docs/build/doctrees/vm/wordpress/database.doctree deleted file mode 100644 index 94315e42..00000000 Binary files a/docs/build/doctrees/vm/wordpress/database.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/development.doctree b/docs/build/doctrees/vm/wordpress/development.doctree deleted file mode 100644 index 87644c6d..00000000 Binary files a/docs/build/doctrees/vm/wordpress/development.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/index.doctree b/docs/build/doctrees/vm/wordpress/index.doctree deleted file mode 100644 index de028156..00000000 Binary files a/docs/build/doctrees/vm/wordpress/index.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/installation.doctree b/docs/build/doctrees/vm/wordpress/installation.doctree deleted file mode 100644 index c06f902c..00000000 Binary files a/docs/build/doctrees/vm/wordpress/installation.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/maintenance.doctree b/docs/build/doctrees/vm/wordpress/maintenance.doctree deleted file mode 100644 index 0866df1c..00000000 Binary files a/docs/build/doctrees/vm/wordpress/maintenance.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins.doctree b/docs/build/doctrees/vm/wordpress/plugins.doctree deleted file mode 100644 index 2ca7b784..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/collation-tool.doctree b/docs/build/doctrees/vm/wordpress/plugins/collation-tool.doctree deleted file mode 100644 index 1cc53ecd..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/collation-tool.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/dynamic-menu.doctree b/docs/build/doctrees/vm/wordpress/plugins/dynamic-menu.doctree deleted file mode 100644 index 68f727a7..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/dynamic-menu.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/file-includer.doctree b/docs/build/doctrees/vm/wordpress/plugins/file-includer.doctree deleted file mode 100644 index ad47427f..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/file-includer.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/lib.doctree b/docs/build/doctrees/vm/wordpress/plugins/lib.doctree deleted file mode 100644 index 33bf3b14..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/lib.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/meta-search.doctree b/docs/build/doctrees/vm/wordpress/plugins/meta-search.doctree deleted file mode 100644 index 07657bc2..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/meta-search.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/plugins/page-generator.doctree b/docs/build/doctrees/vm/wordpress/plugins/page-generator.doctree deleted file mode 100644 index 29a9222d..00000000 Binary files a/docs/build/doctrees/vm/wordpress/plugins/page-generator.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/theme.doctree b/docs/build/doctrees/vm/wordpress/theme.doctree deleted file mode 100644 index 5875ec0f..00000000 Binary files a/docs/build/doctrees/vm/wordpress/theme.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/theme/main.doctree b/docs/build/doctrees/vm/wordpress/theme/main.doctree deleted file mode 100644 index 51d60a6c..00000000 Binary files a/docs/build/doctrees/vm/wordpress/theme/main.doctree and /dev/null differ diff --git a/docs/build/doctrees/vm/wordpress/theme/widgets.doctree b/docs/build/doctrees/vm/wordpress/theme/widgets.doctree deleted file mode 100644 index e7abe9c3..00000000 Binary files a/docs/build/doctrees/vm/wordpress/theme/widgets.doctree and /dev/null differ diff --git a/docs/build/genindex.html b/docs/build/genindex.html deleted file mode 100644 index fa1d6ce5..00000000 --- a/docs/build/genindex.html +++ /dev/null @@ -1,1959 +0,0 @@ - - - - - - Index — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - -

Index

- -
- Symbols - | _ - | A - | B - | C - | D - | E - | F - | G - | H - | I - | J - | L - | M - | N - | O - | P - | Q - | R - | S - | T - | U - | W - | X - -
-

Symbols

- - - -
- -

_

- - -
- -

A

- - - -
- -

B

- - - -
- -

C

- - - -
- -

D

- - - -
- -

E

- - - -
- -

F

- - - -
- -

G

- - - -
- -

H

- - - -
- -

I

- - - -
- -

J

- - -
- -

L

- - - -
- -

M

- - - -
- -

N

- - - -
- -

O

- - - -
- -

P

- - - -
- -

Q

- - - -
- -

R

- - - -
- -

S

- - - -
- -

T

- - - -
- -

U

- - - -
- -

W

- - - -
- -

X

- - - -
    -
  • - xslt_dep.py command line option - -
  • -
- - - -
-
-
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/http-routingtable.html b/docs/build/http-routingtable.html deleted file mode 100644 index 2e7036c5..00000000 --- a/docs/build/http-routingtable.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - HTTP Routing Table — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
- -
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/index.html b/docs/build/index.html deleted file mode 100644 index 8aa2552b..00000000 --- a/docs/build/index.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - - - Capitularia Documentation — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- -
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/jsdoc/structure.json b/docs/build/jsdoc/structure.json deleted file mode 100644 index 6946ba59..00000000 --- a/docs/build/jsdoc/structure.json +++ /dev/null @@ -1,15732 +0,0 @@ -[ - { - "comment": "/**\n * A dummy file to make webpack happy.\n * @module themes/Capitularia/admin\n */", - "meta": { - "filename": "admin.js", - "lineno": 1, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": {} - }, - "description": "A dummy file to make webpack happy.", - "kind": "module", - "name": "themes/Capitularia/admin", - "longname": "module:themes/Capitularia/admin" - }, - { - "comment": "/**\n * This module contains the Javascript for the Capitularia theme.\n * @module themes/Capitularia/front\n */", - "meta": { - "filename": "front.js", - "lineno": 1, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": {} - }, - "description": "This module contains the Javascript for the Capitularia theme.", - "kind": "module", - "name": "themes/Capitularia/front", - "longname": "module:themes/Capitularia/front" - }, - { - "comment": "/**\n * Initialize reset buttons to reset input and select controls on the parent\n * form.\n */", - "meta": { - "range": [ - 304, - 653 - ], - "filename": "front.js", - "lineno": 15, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000016", - "name": "initResetForm", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "": null - } - }, - "description": "Initialize reset buttons to reset input and select controls on the parent\nform.", - "name": "initResetForm", - "longname": "module:themes/Capitularia/front~initResetForm", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 550, - 595 - ], - "filename": "front.js", - "lineno": 19, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000062", - "name": "v", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "v", - "longname": "~v", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "/**\n * Initialize the footnote refs, ie. the '*', to open a popup on mouse hover.\n * The popup contains the footnote text. The popup shall also stay open while\n * the user hovers over the content, so that the user may click on links in the\n * content.\n *\n * Footnotes are done with bootstrap 5.\n */", - "meta": { - "range": [ - 956, - 2004 - ], - "filename": "front.js", - "lineno": 34, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000084", - "name": "initFootnoteTooltips", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "": null - } - }, - "description": "Initialize the footnote refs, ie. the '*', to open a popup on mouse hover.\nThe popup contains the footnote text. The popup shall also stay open while\nthe user hovers over the content, so that the user may click on links in the\ncontent.\n\nFootnotes are done with bootstrap 5.", - "name": "initFootnoteTooltips", - "longname": "module:themes/Capitularia/front~initFootnoteTooltips", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 1057, - 1068 - ], - "filename": "front.js", - "lineno": 36, - "columnno": 14, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000097", - "name": "that", - "type": "ThisExpression", - "value": "this" - } - }, - "undocumented": true, - "name": "that", - "longname": "~that", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 1084, - 1426 - ], - "filename": "front.js", - "lineno": 37, - "columnno": 14, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000101", - "name": "tt", - "type": "NewExpression", - "value": "" - } - }, - "undocumented": true, - "name": "tt", - "longname": "~tt", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 1122, - 1144 - ], - "filename": "front.js", - "lineno": 38, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000107", - "name": "trigger", - "type": "Literal", - "value": "manual" - } - }, - "undocumented": true, - "name": "trigger", - "longname": "module:themes/Capitularia/front~trigger", - "kind": "member", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 1158, - 1177 - ], - "filename": "front.js", - "lineno": 39, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000109", - "name": "placement", - "type": "Literal", - "value": "top" - } - }, - "undocumented": true, - "name": "placement", - "longname": "module:themes/Capitularia/front~placement", - "kind": "member", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 1191, - 1209 - ], - "filename": "front.js", - "lineno": 40, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000111", - "name": "html", - "type": "Literal", - "value": true - } - }, - "undocumented": true, - "name": "html", - "longname": "module:themes/Capitularia/front~html", - "kind": "member", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 1223, - 1414 - ], - "filename": "front.js", - "lineno": 41, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000113", - "name": "title", - "type": "FunctionExpression" - }, - "vars": { - "href": "module:themes/Capitularia/front~title~href" - } - }, - "undocumented": true, - "name": "title", - "longname": "module:themes/Capitularia/front~title", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 1273, - 1307 - ], - "filename": "front.js", - "lineno": 42, - "columnno": 22, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000117", - "name": "href", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "href", - "longname": "module:themes/Capitularia/front~title~href", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~title", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 1615, - 1649 - ], - "filename": "front.js", - "lineno": 51, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000160", - "name": "hovers", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "hovers", - "longname": "~hovers", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "/**\n * Initialize the legend slide-out. Make the legend slide out (and back in)\n * if the user clicks on the respective tab.\n */", - "meta": { - "range": [ - 2137, - 2864 - ], - "filename": "front.js", - "lineno": 71, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000189", - "name": "initLegend", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "legend": "module:themes/Capitularia/front~initLegend~legend", - "wrapper": "module:themes/Capitularia/front~initLegend~wrapper", - "legend_copy": "module:themes/Capitularia/front~initLegend~legend_copy", - "": null - } - }, - "description": "Initialize the legend slide-out. Make the legend slide out (and back in)\nif the user clicks on the respective tab.", - "name": "initLegend", - "longname": "module:themes/Capitularia/front~initLegend", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2206, - 2233 - ], - "filename": "front.js", - "lineno": 73, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000193", - "name": "legend", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "legend", - "longname": "module:themes/Capitularia/front~initLegend~legend", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initLegend", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2274, - 2431 - ], - "filename": "front.js", - "lineno": 75, - "columnno": 14, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000204", - "name": "wrapper", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "wrapper", - "longname": "module:themes/Capitularia/front~initLegend~wrapper", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initLegend", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2489, - 2518 - ], - "filename": "front.js", - "lineno": 78, - "columnno": 14, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000220", - "name": "legend_copy", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "legend_copy", - "longname": "module:themes/Capitularia/front~initLegend~legend_copy", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initLegend", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2866, - 3203 - ], - "filename": "front.js", - "lineno": 88, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000270", - "name": "initSidebarToc", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "sidebar": "module:themes/Capitularia/front~initSidebarToc~sidebar", - "top": "module:themes/Capitularia/front~initSidebarToc~top", - "height": "module:themes/Capitularia/front~initSidebarToc~height" - } - }, - "undocumented": true, - "name": "initSidebarToc", - "longname": "module:themes/Capitularia/front~initSidebarToc", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2905, - 2941 - ], - "filename": "front.js", - "lineno": 89, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000274", - "name": "sidebar", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "sidebar", - "longname": "module:themes/Capitularia/front~initSidebarToc~sidebar", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initSidebarToc", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 2953, - 2993 - ], - "filename": "front.js", - "lineno": 90, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000280", - "name": "top", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "top", - "longname": "module:themes/Capitularia/front~initSidebarToc~top", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initSidebarToc", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3005, - 3058 - ], - "filename": "front.js", - "lineno": 91, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000291", - "name": "height", - "type": "TemplateLiteral", - "value": "" - } - }, - "undocumented": true, - "name": "height", - "longname": "module:themes/Capitularia/front~initSidebarToc~height", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initSidebarToc", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3205, - 5672 - ], - "filename": "front.js", - "lineno": 97, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000335", - "name": "initPanZoom", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "img": "module:themes/Capitularia/front~initPanZoom~img", - "": null - } - }, - "undocumented": true, - "name": "initPanZoom", - "longname": "module:themes/Capitularia/front~initPanZoom", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3298, - 3301 - ], - "filename": "front.js", - "lineno": 100, - "columnno": 15, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000340", - "name": "img" - } - }, - "undocumented": true, - "name": "img", - "longname": "module:themes/Capitularia/front~initPanZoom~img", - "kind": "constant", - "memberof": "module:themes/Capitularia/front~initPanZoom", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3491, - 3524 - ], - "filename": "front.js", - "lineno": 104, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000362", - "name": "$svg", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "$svg", - "longname": "~$svg", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3544, - 3558 - ], - "filename": "front.js", - "lineno": 105, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000372", - "name": "svg", - "type": "MemberExpression", - "value": "$svg[0]" - } - }, - "undocumented": true, - "name": "svg", - "longname": "~svg", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3583, - 3587 - ], - "filename": "front.js", - "lineno": 106, - "columnno": 23, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000379", - "name": "name" - } - }, - "undocumented": true, - "name": "name", - "longname": "~name", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 3774, - 3778 - ], - "filename": "front.js", - "lineno": 111, - "columnno": 23, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000394", - "name": "attr" - } - }, - "undocumented": true, - "name": "attr", - "longname": "~attr", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4025, - 4065 - ], - "filename": "front.js", - "lineno": 119, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000420", - "name": "sceneRect", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "sceneRect", - "longname": "~sceneRect", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4086, - 4119 - ], - "filename": "front.js", - "lineno": 121, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000427", - "name": "$container", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "$container", - "longname": "~$container", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4133, - 4233 - ], - "filename": "front.js", - "lineno": 122, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000434", - "name": "calcScale", - "type": "FunctionDeclaration", - "paramnames": [] - } - }, - "undocumented": true, - "name": "calcScale", - "longname": "~calcScale", - "kind": "function", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4250, - 4278 - ], - "filename": "front.js", - "lineno": 125, - "columnno": 16, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000445", - "name": "containerRect", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "containerRect", - "longname": "~containerRect", - "kind": "member", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4335, - 4363 - ], - "filename": "front.js", - "lineno": 126, - "columnno": 55, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000458", - "name": "containerRect", - "type": "CallExpression", - "funcscope": "", - "value": "", - "paramnames": [] - } - }, - "undocumented": true, - "name": "containerRect", - "longname": "module:themes/Capitularia/front~containerRect", - "kind": "member", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 4421, - 4645 - ], - "filename": "front.js", - "lineno": 129, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000463", - "name": "p", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "p", - "longname": "~p", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4457, - 4629 - ], - "filename": "front.js", - "lineno": 130, - "columnno": 16, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000469", - "name": "onTouch", - "type": "FunctionExpression" - } - }, - "undocumented": true, - "name": "onTouch", - "longname": "module:themes/Capitularia/front~onTouch", - "kind": "function", - "scope": "inner", - "memberof": "module:themes/Capitularia/front" - }, - { - "comment": "", - "meta": { - "range": [ - 4794, - 4921 - ], - "filename": "front.js", - "lineno": 138, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000500", - "name": "zoom", - "type": "FunctionDeclaration", - "paramnames": [ - "scale" - ] - } - }, - "undocumented": true, - "name": "zoom", - "longname": "~zoom", - "kind": "function", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4935, - 5224 - ], - "filename": "front.js", - "lineno": 142, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000520", - "name": "fit", - "type": "FunctionDeclaration", - "paramnames": [] - }, - "vars": { - "sx": "~fit~sx", - "sy": "~fit~sy", - "scale": "~fit~scale" - } - }, - "undocumented": true, - "name": "fit", - "longname": "~fit", - "kind": "function", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 4975, - 5018 - ], - "filename": "front.js", - "lineno": 143, - "columnno": 22, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000524", - "name": "sx", - "type": "BinaryExpression", - "value": "" - } - }, - "undocumented": true, - "name": "sx", - "longname": "~fit~sx", - "kind": "constant", - "memberof": "~fit", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 5042, - 5086 - ], - "filename": "front.js", - "lineno": 144, - "columnno": 22, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000534", - "name": "sy", - "type": "BinaryExpression", - "value": "" - } - }, - "undocumented": true, - "name": "sy", - "longname": "~fit~sy", - "kind": "constant", - "memberof": "~fit", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 5110, - 5135 - ], - "filename": "front.js", - "lineno": 145, - "columnno": 22, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000544", - "name": "scale", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "scale", - "longname": "~fit~scale", - "kind": "constant", - "memberof": "~fit", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 5244, - 5304 - ], - "filename": "front.js", - "lineno": 150, - "columnno": 18, - "path": "/home/highlander/uni/prj/capitularia/capitularia/themes/Capitularia/src/js", - "code": { - "id": "astnode100000568", - "name": "$controls", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "$controls", - "longname": "~$controls", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "/**\n * Main entry point.\n *\n * @module client/main\n *\n * @author Marcello Perathoner\n */", - "meta": { - "filename": "main.js", - "lineno": 1, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": {} - }, - "description": "Main entry point.", - "kind": "module", - "name": "client/main", - "author": [ - "Marcello Perathoner" - ], - "longname": "module:client/main" - }, - { - "comment": "", - "meta": { - "range": [ - 263, - 284 - ], - "filename": "main.js", - "lineno": 16, - "columnno": 6, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000687", - "name": "app", - "type": "CallExpression", - "value": "" - } - }, - "undocumented": true, - "name": "app", - "longname": "module:client/main~app", - "kind": "constant", - "scope": "inner", - "memberof": "module:client/main", - "params": [] - }, - { - "comment": "/**\n * Ascend the VM tree until you find an api_url and use it as prefix to build\n * the full API url.\n *\n * @param {string} url - Url suffix\n *\n * @returns {string} Full API url\n */", - "meta": { - "range": [ - 507, - 845 - ], - "filename": "main.js", - "lineno": 30, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000705", - "name": "app.config.globalProperties.build_full_api_url", - "type": "FunctionExpression", - "paramnames": [ - "url" - ] - }, - "vars": { - "vm": "module:client/main~vm" - } - }, - "description": "Ascend the VM tree until you find an api_url and use it as prefix to build\nthe full API url.", - "params": [ - { - "type": { - "names": [ - "string" - ] - }, - "description": "Url suffix", - "name": "url" - } - ], - "returns": [ - { - "type": { - "names": [ - "string" - ] - }, - "description": "Full API url" - } - ], - "name": "config.globalProperties.build_full_api_url", - "longname": "module:client/main~app.config.globalProperties.build_full_api_url", - "kind": "function", - "memberof": "module:client/main~app", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 581, - 590 - ], - "filename": "main.js", - "lineno": 31, - "columnno": 8, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000717", - "name": "vm", - "type": "ThisExpression", - "value": "this" - } - }, - "undocumented": true, - "name": "vm", - "longname": "module:client/main~app.config.globalProperties.build_full_api_url~vm", - "kind": "member", - "memberof": "module:client/main~app.config.globalProperties.build_full_api_url", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 805, - 820 - ], - "filename": "main.js", - "lineno": 40, - "columnno": 8, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000742", - "name": "vm", - "type": "MemberExpression", - "funcscope": "module:client/main~app.config.globalProperties.build_full_api_url", - "value": "vm.$parent", - "paramnames": [] - } - }, - "undocumented": true, - "name": "vm", - "longname": "module:client/main~vm", - "kind": "member", - "scope": "inner", - "memberof": "module:client/main" - }, - { - "comment": "/**\n * Make a GET request to the API server.\n *\n * @param {string} url - Url suffix\n * @param {Object} data - Params for axios call\n *\n * @returns {Promise}\n */", - "meta": { - "range": [ - 1011, - 1134 - ], - "filename": "main.js", - "lineno": 54, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000750", - "name": "app.config.globalProperties.get", - "type": "FunctionExpression", - "paramnames": [ - "url", - "data" - ] - } - }, - "description": "Make a GET request to the API server.", - "params": [ - { - "type": { - "names": [ - "string" - ] - }, - "description": "Url suffix", - "name": "url" - }, - { - "type": { - "names": [ - "Object" - ] - }, - "description": "Params for axios call", - "name": "data" - } - ], - "returns": [ - { - "type": { - "names": [ - "Promise" - ] - } - } - ], - "name": "config.globalProperties.get", - "longname": "module:client/main~app.config.globalProperties.get", - "kind": "function", - "memberof": "module:client/main~app", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 1137, - 1262 - ], - "filename": "main.js", - "lineno": 58, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000776", - "name": "app.config.globalProperties.post", - "type": "FunctionExpression", - "paramnames": [ - "url", - "data" - ] - } - }, - "undocumented": true, - "name": "config.globalProperties.post", - "longname": "module:client/main~app.config.globalProperties.post", - "kind": "function", - "memberof": "module:client/main~app", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 1265, - 1388 - ], - "filename": "main.js", - "lineno": 62, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000802", - "name": "app.config.globalProperties.put", - "type": "FunctionExpression", - "paramnames": [ - "url", - "data" - ] - } - }, - "undocumented": true, - "name": "config.globalProperties.put", - "longname": "module:client/main~app.config.globalProperties.put", - "kind": "function", - "memberof": "module:client/main~app", - "scope": "static" - }, - { - "comment": "/**\n * Trigger a native event.\n *\n * vue.js custom `events´ do not bubble, so they are useless. Trigger a real\n * event that bubbles and can be caught by vue.js.\n *\n * @param {string} name - event name\n * @param {Array} data - data\n */", - "meta": { - "range": [ - 1631, - 1847 - ], - "filename": "main.js", - "lineno": 77, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000828", - "name": "app.config.globalProperties.$trigger", - "type": "FunctionExpression", - "paramnames": [ - "name", - "data" - ] - }, - "vars": { - "event": "module:client/main~app.config.globalProperties.$trigger~event" - } - }, - "description": "Trigger a native event.\n\nvue.js custom `events´ do not bubble, so they are useless. Trigger a real\nevent that bubbles and can be caught by vue.js.", - "params": [ - { - "type": { - "names": [ - "string" - ] - }, - "description": "event name", - "name": "name" - }, - { - "type": { - "names": [ - "Array" - ] - }, - "description": "data", - "name": "data" - } - ], - "name": "config.globalProperties.$trigger", - "longname": "module:client/main~app.config.globalProperties.$trigger", - "kind": "function", - "memberof": "module:client/main~app", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 1704, - 1808 - ], - "filename": "main.js", - "lineno": 78, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000841", - "name": "event", - "type": "NewExpression", - "value": "" - } - }, - "undocumented": true, - "name": "event", - "longname": "module:client/main~app.config.globalProperties.$trigger~event", - "kind": "constant", - "memberof": "module:client/main~app.config.globalProperties.$trigger", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 1745, - 1761 - ], - "filename": "main.js", - "lineno": 79, - "columnno": 8, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000847", - "name": "bubbles", - "type": "Literal", - "value": true - } - }, - "undocumented": true, - "name": "bubbles", - "longname": "module:client/main~bubbles", - "kind": "member", - "scope": "inner", - "memberof": "module:client/main" - }, - { - "comment": "", - "meta": { - "range": [ - 1771, - 1800 - ], - "filename": "main.js", - "lineno": 80, - "columnno": 8, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000849", - "name": "detail", - "type": "ObjectExpression", - "value": "{\"undefined\":\"\"}" - } - }, - "undocumented": true, - "name": "detail", - "longname": "module:client/main~detail", - "kind": "member", - "scope": "inner", - "memberof": "module:client/main" - }, - { - "comment": "", - "meta": { - "range": [ - 1785, - 1798 - ], - "filename": "main.js", - "lineno": 80, - "columnno": 22, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000851", - "name": "data", - "type": "Identifier", - "value": "data" - } - }, - "undocumented": true, - "name": "data", - "longname": "module:client/main~detail.data", - "kind": "member", - "memberof": "module:client/main~detail", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 2201, - 2239 - ], - "filename": "main.js", - "lineno": 91, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000880", - "name": "event", - "type": "NewExpression", - "value": "" - } - }, - "undocumented": true, - "name": "event", - "longname": "~event", - "kind": "constant", - "memberof": "", - "scope": "inner", - "params": [] - }, - { - "comment": "", - "meta": { - "range": [ - 0, - 461 - ], - "filename": "toolbar_options.js", - "lineno": 1, - "columnno": 0, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000910", - "name": "module.exports", - "type": "ObjectExpression" - } - }, - "undocumented": true, - "name": "exports", - "longname": "module.exports", - "kind": "member", - "memberof": "module", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 21, - 299 - ], - "filename": "toolbar_options.js", - "lineno": 2, - "columnno": 4, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000912", - "name": "place_layer_shown", - "type": "ArrayExpression", - "value": "[\"{\\\"undefined\\\":\\\"Show Manuscripts\\\"}\",\"{\\\"undefined\\\":\\\"Show Manuscript Parts\\\"}\",\"{\\\"undefined\\\":\\\"Show Capitularies\\\"}\"]" - } - }, - "undocumented": true, - "name": "place_layer_shown", - "longname": "module.exports.place_layer_shown", - "kind": "member", - "memberof": "module.exports", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 55, - 69 - ], - "filename": "toolbar_options.js", - "lineno": 3, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000915", - "name": "text", - "type": "Literal", - "value": "Mss" - } - }, - "undocumented": true, - "name": "text", - "longname": "text", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 73, - 88 - ], - "filename": "toolbar_options.js", - "lineno": 3, - "columnno": 28, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000917", - "name": "value", - "type": "Literal", - "value": "mss" - } - }, - "undocumented": true, - "name": "value", - "longname": "value", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 91, - 119 - ], - "filename": "toolbar_options.js", - "lineno": 3, - "columnno": 46, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000919", - "name": "title", - "type": "Literal", - "value": "Show Manuscripts" - } - }, - "undocumented": true, - "name": "title", - "longname": "title", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 138, - 154 - ], - "filename": "toolbar_options.js", - "lineno": 4, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000922", - "name": "text", - "type": "Literal", - "value": "Parts" - } - }, - "undocumented": true, - "name": "text", - "longname": "text", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 156, - 171 - ], - "filename": "toolbar_options.js", - "lineno": 4, - "columnno": 28, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000924", - "name": "value", - "type": "Literal", - "value": "msp" - } - }, - "undocumented": true, - "name": "value", - "longname": "value", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 174, - 207 - ], - "filename": "toolbar_options.js", - "lineno": 4, - "columnno": 46, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000926", - "name": "title", - "type": "Literal", - "value": "Show Manuscript Parts" - } - }, - "undocumented": true, - "name": "title", - "longname": "title", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 221, - 235 - ], - "filename": "toolbar_options.js", - "lineno": 5, - "columnno": 10, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000929", - "name": "text", - "type": "Literal", - "value": "Cap" - } - }, - "undocumented": true, - "name": "text", - "longname": "text", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 239, - 254 - ], - "filename": "toolbar_options.js", - "lineno": 5, - "columnno": 28, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000931", - "name": "value", - "type": "Literal", - "value": "cap" - } - }, - "undocumented": true, - "name": "value", - "longname": "value", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 257, - 286 - ], - "filename": "toolbar_options.js", - "lineno": 5, - "columnno": 46, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000933", - "name": "title", - "type": "Literal", - "value": "Show Capitularies" - } - }, - "undocumented": true, - "name": "title", - "longname": "title", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 305, - 458 - ], - "filename": "toolbar_options.js", - "lineno": 7, - "columnno": 4, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000935", - "name": "csv", - "type": "ArrayExpression", - "value": "[\"{\\\"undefined\\\":\\\"Download this table in CSV format.\\\"}\"]" - } - }, - "undocumented": true, - "name": "csv", - "longname": "module.exports.csv", - "kind": "member", - "memberof": "module.exports", - "scope": "static" - }, - { - "comment": "", - "meta": { - "range": [ - 337, - 352 - ], - "filename": "toolbar_options.js", - "lineno": 9, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000938", - "name": "text", - "type": "Literal", - "value": "CSV" - } - }, - "undocumented": true, - "name": "text", - "longname": "text", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 366, - 381 - ], - "filename": "toolbar_options.js", - "lineno": 10, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000940", - "name": "value", - "type": "Literal", - "value": "csv" - } - }, - "undocumented": true, - "name": "value", - "longname": "value", - "kind": "member", - "scope": "global" - }, - { - "comment": "", - "meta": { - "range": [ - 395, - 441 - ], - "filename": "toolbar_options.js", - "lineno": 11, - "columnno": 12, - "path": "/home/highlander/uni/prj/capitularia/capitularia/client/src/js", - "code": { - "id": "astnode100000942", - "name": "title", - "type": "Literal", - "value": "Download this table in CSV format." - } - }, - "undocumented": true, - "name": "title", - "longname": "title", - "kind": "member", - "scope": "global" - }, - { - "comment": "/**\n * The dynamic menu applet.\n *\n * The dynamic menu is generated from xpath expressions that query the\n * page content. There is one xpath expression for every level of the menu.\n * Use the standard wordpress admin interface to define the xpath expressions:\n *\n * To make a dynamic menu, insert a *Custom Link* item into any Wordpress menu\n * and give it a magic url of: :code:`#cap_dynamic_menu#`. The *Custom Link*\n * item will be replaced by the generated menu.\n *\n * Put all the xpath expressions for each level of the menu into the\n * *Description* field. Separate each level with a :code:`§` (section sign).\n *\n * The default xpath expressions are:\n * :code:`//h3[@id]§//h4[@id]§//h5[@id]§//h6[@id]`, which generate a 4 level\n * deep menu built from all

-

elements that have an :code:`id`\n * attribute.\n *\n * The caption of a generated menu item is taken from the\n * :code:`data-cap-dyn-menu-caption` attribute on the source element or\n * from the source element's :code:`textContent`.\n *\n * All classes in the *CSS Classes* field in the Wordpress admin interface are\n * copied over to each generated menu item along with a class\n * :code:`$class-level-$level`. Eg. a class of :code:`my-menu` would become\n * :code:`my_menu` and :code:`my-menu-level-1`.\n *\n * All classes on the elements matched with the xpath expressions, that start\n * with :code:`dynamic-menu-`, are copied to each generated menu item.\n *\n * Additionally classes named :code:`menu-item`, :code:`dynamic-menu-item`, and\n * :code:`dynamic-menu-item-level-$level` are added to each generated menu item.\n *\n * .. note::\n *\n * We use webpack as a workaround to load javascript modules in Wordpress.\n * Wordpress cannot load javascript modules thru enqueue_script () because it\n * lacks an option to specify type=\"module\" on the - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Maintenance

- -
-

See also

- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/maintenance/logfiles.html b/docs/build/maintenance/logfiles.html deleted file mode 100644 index 95000dcd..00000000 --- a/docs/build/maintenance/logfiles.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Location of Logfiles — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Location of Logfiles

-
-

Apache / PHP

-

/var/log/apache2/capitularia.uni-koeln.de.access.log

-

/var/log/apache2/capitularia.uni-koeln.de.error.log

-
-
-

Python App Server

-

/var/log/capitularia/server.log

-
-
-

Python Import Script

-

/var/log/capitularia/import.log

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/objects.inv b/docs/build/objects.inv deleted file mode 100644 index 6be11688..00000000 Binary files a/docs/build/objects.inv and /dev/null differ diff --git a/docs/build/overviews/collation_tool.html b/docs/build/overviews/collation_tool.html deleted file mode 100644 index 1146eb34..00000000 --- a/docs/build/overviews/collation_tool.html +++ /dev/null @@ -1,541 +0,0 @@ - - - - - - - Collation Tool Overview — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Collation Tool Overview

-

This overview describes the collation tool -and the pre-processing of the TEI files.

-
-

Pre-Processing of the TEI files

-

We extract every chapter of every capitular from all manuscripts and store them in the -Postgres database. The text stored in the database is already normalized.

-

If a manuscript contains more than one copy of a chapter, all copies are extracted. If -one or more correcting hands were active in the chapter, the original and each corrected -version are extracted.

-

The online collation tool knows about all versions and offers them to the user.

-
-
-Manuscript files(XML+TEI)publ/mss/*.xmlCronMakefilemss-extract-chapters-txt.xslPreprocessed files(XML)publ/cache/collation/*.xmlimport_data.pyDatabase(Postgres)
-
-

Data flow during pre-processing

-
-
-

The Makefile is run by cron at regular intervals.

-

The Makefile knows all the dependencies between the files and runs -the appropriate tools to keep the database up-to-date with the manuscript files.

-

All preprocessed files can be found in the publ/cache/collation directory. The -preprocessed files are normalized, eg. have the letter V replaced by U.

-

The import_data.py script imports the preprocessed text files into the -database.

-
-
-

Collation Tool

-

The collation tool consists of two parts: one frontend written in JavaScript and using -the Vue.js library, and one backend application server written in Python and using the -super-collator library.

-

The application server retrieves the chapters from the database and collates them. The -results of the collation are sent in json to the frontend that does the formatting for -display.

-
-
-BackendDatabase(Postgres)API Server(Python)Super-Collator(Python library)Frontend(Javascript)
-
-

Data flow during collation

-
-
-

The collation unit is the chapter, so that only short texts need to be collated, -saving much processing time.

-

The Wordpress collation plugin delivers the Javascript client to the user. -After that, all communication happens directly between the client and the -application server.

-
-
-

Collation Algorithm

-

The application server uses an enhancement of the Needleman-Wunsch algorithm by Gotoh -[Gotoh1982]. This section provides a very high level overview of the algorithm.

-
-

Phase 1 - Build Table

-

In phase 1 the algorithm builds a table. For example this is the table built for the -two strings: the quick brown fox jumps over the lazy dog and sick fox is crazy.

- - - - - - - - - - - -
sickfoxiscrazy
0.000.00
0.00
-0.50-0.50
-0.50
-0.70-0.70
-0.70
-0.90-0.90
-0.90
-1.10-1.10
-1.10
the
-0.50-0.50
-0.50
0.00-0.70
-0.70
-0.50-0.90
-0.50
-0.70-1.10
-0.70
-0.90-1.30
-0.90
quick
-0.70-0.70
-0.70
-0.04-0.50
-0.90
0.00-1.00
-0.54
-0.50-1.20
-0.50
-0.70-1.40
-0.70
brown
-0.90-0.90
-0.90
-0.70-0.54
-1.10
-0.04-0.50
-1.04
0.00-1.00
-0.54
-0.50-1.20
-0.50
fox
-1.10-1.10
-1.10
-0.90-0.74
-1.30
0.46-0.54
-1.24
-0.04-0.50
-0.04
0.00-1.00
-0.24
jumps
-1.30-1.30
-1.30
-1.10-0.94
-1.50
-0.74-0.04
-1.44
0.64-0.54
-0.54
-0.04-0.50
0.14
over
-1.50-1.50
-1.50
-1.30-1.14
-1.70
-0.94-0.24
-1.64
-0.040.14
-0.74
0.64-0.36
-0.36
the
-1.70-1.70
-1.70
-1.50-1.34
-1.90
-1.14-0.44
-1.84
-0.24-0.06
-0.94
0.140.14
-0.56
lazy
-1.90-1.90
-1.90
-1.70-1.54
-2.10
-1.34-0.64
-2.04
-0.44-0.26
-1.14
0.40-0.06
-0.76
dog
-2.10-2.10
-2.10
-1.90-1.74
-2.30
-1.54-0.84
-2.24
-0.64-0.46
-1.34
-0.26-0.10
-0.96
- -

Every cell in the table contains three values: \(D\), \(P\), and \(Q\), and an arrow, like this:

- - - -
- - - -
DP
Q
-

We define the score \(S\) for each cell as:

-
-\[S = \max(D, P, Q)\]
-

The grayed cells in the first row and first column are initialized using the gap start -and gap extension penalties. The numbers for each remaining cell are calculated using -only values from the three cells, to the top-left, the top, and the left, of the current -cell:

-
-\[D = S_↖ + \mbox{similarity}(word_←, word_↑)\]
-
-\[P = \max(S_↑ + openingpenalty, P_↑ + extensionpenalty)\]
-
-\[Q = \max(S_← + openingpenalty, Q_← + extensionpenalty)\]
-

Finally the arrow in the current cell is set to point to that cell which yielded the -highest of the current cell’s \(D\), \(P\), and \(Q\) values.

-
-
-

Phase 2 - Backtrack

-

When the table is thus completed, two empty sequences are created. Then the algorithm -starts backtracking from the last (bottom-right) cell following the arrows until it -reaches the first (top-left) cell. If the arrow points:

-
-

the word in the row header is added to the first sequence, a hyphen is added to the -second sequence,

-
-

the word in the row header is added to the first sequence, the word in the column -header is added to the second sequence,

-
-

a hyphen is added to the first sequence, the word in the column header is added to the -second sequence.

-
-
- - - - - - - - - - - -
sickfoxiscrazy
0.000.00
0.00
-0.50-0.50
-0.50
-0.70-0.70
-0.70
-0.90-0.90
-0.90
-1.10-1.10
-1.10
the
-0.50-0.50
-0.50
0.00-0.70
-0.70
-0.50-0.90
-0.50
-0.70-1.10
-0.70
-0.90-1.30
-0.90
quick
-0.70-0.70
-0.70
-0.04-0.50
-0.90
0.00-1.00
-0.54
-0.50-1.20
-0.50
-0.70-1.40
-0.70
brown
-0.90-0.90
-0.90
-0.70-0.54
-1.10
-0.04-0.50
-1.04
0.00-1.00
-0.54
-0.50-1.20
-0.50
fox
-1.10-1.10
-1.10
-0.90-0.74
-1.30
0.46-0.54
-1.24
-0.04-0.50
-0.04
0.00-1.00
-0.24
jumps
-1.30-1.30
-1.30
-1.10-0.94
-1.50
-0.74-0.04
-1.44
0.64-0.54
-0.54
-0.04-0.50
0.14
over
-1.50-1.50
-1.50
-1.30-1.14
-1.70
-0.94-0.24
-1.64
-0.040.14
-0.74
0.64-0.36
-0.36
the
-1.70-1.70
-1.70
-1.50-1.34
-1.90
-1.14-0.44
-1.84
-0.24-0.06
-0.94
0.140.14
-0.56
lazy
-1.90-1.90
-1.90
-1.70-1.54
-2.10
-1.34-0.64
-2.04
-0.44-0.26
-1.14
0.40-0.06
-0.76
dog
-2.10-2.10
-2.10
-1.90-1.74
-2.30
-1.54-0.84
-2.24
-0.64-0.46
-1.34
-0.26-0.10
-0.96
- -

Finally the two sequences are reversed and printed.

- - -
thequickbrownfoxjumpsoverthelazydog
-sick-foxis--crazy-
- -
-
-

Parameters

-

The algorithm can be customized by setting:

-
    -
  • a word comparison (similarity) function,

  • -
  • the starting gap penalty,

  • -
  • the gap opening penalty,

  • -
  • and the gap extension penalty.

  • -
-
-
-
-

Word Comparison Function

-

The word comparison function returns a similarity value between 0 and 1, 0 being totally -different and 1 being completely equal. The chosen function is not critical to the -functioning of the aligner. The similarity should increase with the desirability of the -alignment, but otherwise there are no fixed rules.

-

In the current implementation the similarity is calculated as follows:

-

All words in the input texts are split into sets of trigrams (sometimes called -3-shingles). The trigrams are obtained by first prefixing and suffixing the word with -two spaces respectively, then cutting the resulting string into all possible strings of -length 3. This means that all trigrams partially overlap each other.

-

To calculate the similarity between two words three sets are built: the set of -trigrams in word a, the set of trigrams in word b, and the set of trigrams -common to both words. The similarity is then given by the formula:

-
-\[\mbox{similarity}(a,b)= \frac{2|set_{a} \cap set_{b}|}{|set_a| + |set_b|}\]
-

The factor of 2 was added to bring the similarity of identical words to 1.

-

This is sometimes called the -Sørensen–Dice coefficient.

-

An example calculation follows:

-
-
- - - -⎵⎵h - -⎵hl - -hlo - -lod - -odo - -dou - -ouu - -uui - -uic - -ico - -co⎵ - -o⎵⎵ - -⎵⎵l - -⎵lu - -lud - -udo - -dou - -oui - -uic - -ico - -co⎵ - -o⎵⎵ -hlodouuico -ludouico -Similarity: 2 * 5 / (12 + 10) = 0.454545 - - - - - -
-
-

Calculating similarity using trigrams

-
-
-

The similarity based on trigrams was chosen because its calculation can be done in -\(\mathcal{O}(n)\) time whereas a similarity based on Levenshtein distance needs -\(\mathcal{O}(n^2)\) time. The sets of trigrams for each input word are calculated -only once and if you presort the trigrams in these sets (to be implemented), the common -set can be found in \(\mathcal{O}(n)\) time.

-

Optimizations yet to be implemented: in a first step gather all trigrams in all -input texts, give each one an integer id, and later operate on the ids only. -Maybe hash each trigram onto a value 0..63 and build a bitmask for each word, -later operate on the masks only.

-
-
-

References

-
-
-[Gotoh1982] -

Gotoh, O. 1982, An Improved Algorithm for Matching Biological -Sequences, J. Mol. Biol. 162, 705-708 -http://jaligner.sourceforge.net/references/gotoh1982.pdf

-
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/overviews/collections.html b/docs/build/overviews/collections.html deleted file mode 100644 index 8afc57bf..00000000 --- a/docs/build/overviews/collections.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - Collections — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Collections

-

We want to find collections of capitularies, currently very vaguely defined as -capitularies that are often copied together.

-

The python script cluster.py reads the Wordpress database and writes a -Gephi graph file. The graph is then imported into Gephi and laid out using a -force field algorithm. The resulting plot is used to visually identify -potential collections of capitularies.

-
-

Algorithm

-

Description of the algorithm used by the cluster.py script.

-

We define \(K\) as the number of capitularies and \(D\) as the number of -documents.

-

The number of occurrences of capitulary \(k\) in document \(d\) is -referred to as term frequency and is denoted:

-
-\[\mbox{tf}_{k,d}\]
-

The term frequency of capitularies is either 0 (if not contained in the -document) or 1 (if contained in the document). Technically, a document may -contain more than one copy of the same capitulary, but we ignore that for our -calculations.

-

The number of documents that include the capitulary \(k\) is referred to as -its document frequency and is denoted:

-
-\[\mbox{df}_k\]
-

The inverse document frequency of capitulary \(k\) is defined as:

-
-\[\mbox{idf}_k = \log { D \over \mbox{df}_k }.\]
-

We assign a weight to each pair of capitulary and document -\(k \times d\), given by:

-
-\[\mbox{tf-idf}_{k,d} = \mbox{tf}_{k,d} \times \mbox{idf}_k\]
-

We define the document vector \(\vec{V}(d)\) as:

-
-\[\begin{pmatrix} \mbox{tf-idf}_{1,d} & \mbox{tf-idf}_{2,d} & \dots & \mbox{tf-idf}_{K,d} \end{pmatrix}\]
-

the vector of the weights of all capitularies relative to the document \(d\).

-

The Euclidean length \(\vert\vec{V}(d)\vert\) of a document vector -\(\vec{V}(d)\) is defined as:

-
-\[\sqrt{\sum_{i=1}^K\vec{V}_i^2(d)}\]
-

Because the term frequency can only be 0 or 1, this is simply the square root of -the number of capitularies in the document.

-

The cosine similarity of two documents \(d_1\) and \(d_2\), -which are here represented by their document vectors \(\vec{V}(d_1)\) and -\(\vec{V}(d_2)\), is now calculated as:

-
-\[\mbox{sim}(d_1,d_2)= \frac{\vec{V}(d_1)\cdot \vec{V}(d_2)}{\vert\vec{V}(d_1)\vert \vert\vec{V}(d_2)\vert}\]
-

where \(\cdot\) represents the dot product.

-

The cosine similarities of all pairs of documents are entered into a similarity -(affinity) matrix. This matrix is used as the input to the graph layout software.

- - -

The document affinity graph (Gephi Force Atlas).

This algorithm is also used to get the similarity between capitularies, instead -of documents, by switching capitularies with documents.

- - -

The capitulary affinity graph (Gephi Force Atlas).

-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/overviews/fulltext_search.html b/docs/build/overviews/fulltext_search.html deleted file mode 100644 index 57a5e329..00000000 --- a/docs/build/overviews/fulltext_search.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - Full-text Search Overview — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Full-text Search Overview

-

Full-text search is provided by the Meta Search Wordpress plugin. -It is implemented with Apache Solr. Apache Solr is a fulltext search engine based on -Apache Lucene.

-
-

See also

- -
-
-

Full-text Extraction

-

There are 3 main categories of text that we index in Solr.

-
    -
  • The Latin text of the capitularies is extracted using -mss-extract-chapters-txt.xsl, stored in the directory -publ/cache/collation/ and imported into Solr using the command -import_data.py --solr. This are the same texts used for the collation -tool. The German notes in the capitularies are extracted along with the Latin text.

  • -
  • The material in the teiHeader and the “editorial preface to the transcription” -are indexed into Solr using the command import_solr.py --mss.

  • -
  • The Wordpress pages are extracted directly from the Wordpress database -and indexed into Solr using the command import_solr.py --wordpress.

  • -
-

The command for updating the Solr database is: make solr-import.

-

That same command is run nightly by cron.

-
-
-Manuscript files(TEI)Extracted chapters(TEI)WordpressSolrpubl/mss/*.xmlpubl/cache/collation/*.xmlon mariadb serverimport_data.py --solrimport_solr.py --mssimport_solr.py --wordpress
-
-

Data flow during text extraction

-
-
-
-
-

Metadata Extraction

-

We extract the metadata from the manuscript files and store them in the Postgres -database on the Capitularia VM. The process is similar to the pre-processing -done for the Collation Tool.

-
-
-Manuscript files(TEI)Corpus file(TEI)Database(Postgres)publ/mss/*.xmlpubl/cache/lists/corpus.xmlsaxon corpus.xmlimport_data.py --mss
-
-

Data flow during metadata extraction

-
-
-

The Makefile is run by cron on the Capitularia VM at regular intervals.

-

The Makefile knows all the dependencies between the files and runs -the appropriate tools to keep the database up-to-date with the manuscript files.

-

The intermediate file publ/cache/lists/corpus.xml contains all (useful) metadata -from all manuscript file but no text.

-

The import_data.py script scans the corpus.xml file and imports the -all metadata it finds into the database.

-
-
-

Geodata Extraction

-

Geodata is stored in the file publ/mss/lists/capitularia_geo.xml. This file is -periodically processed with import_data.py --geoplaces and its content is -stored into the database. Also the “places” tree in the meta search dialog is built -using this data.

-
- -
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/overviews/html_generation.html b/docs/build/overviews/html_generation.html deleted file mode 100644 index 5d447db1..00000000 --- a/docs/build/overviews/html_generation.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - HTML Generation Overview — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

HTML Generation Overview

-

All TEI manuscript files are converted to one (or more) HTML files. The HTML -files are then included into Wordpress pages with the File Includer -plugin.

-
-

XSLT Transformations

-
-
-Capitularia VMCronMakefilemss-header.xslmss-transcription.xslmss-footer.xslManuscript files(XML+TEI)publ/mssManuscript files(HTML)publ/cache/mss
-
-

Data flow during HTML generation

-
-
-

The Makefile is run by cron on the Capitularia VM at regular intervals.

-

The Makefile knows all the dependencies between the files and runs -the appropriate tools to keep the HTML files up-to-date with the manuscript files.

-

The HTML files are stored in the cache directory.

-
-
-

User Delivery

-
-
-ApacheWordpressDatabase(mysql)FootnotesPost-Processor(PHP)File Includer Plugin(PHP)Manuscript files(HTML)publ/cache/mssUser-Agent
-
-

Data flow during user access

-
-
-

When a user accesses a manuscript page, Wordpress finds a shortcode for the -File Includer plugin in it. Control is passed to the File -Includer plugin which checks the date of the filum includendum. If the file is -newer than the data stored in the database it refreshes the database. Then it -inserts the file’s content into the page, which is finally sent to the user.

-
-

Note

-

The Footnotes Post-Processor is still written in PHP. -We plan to rewrite it in Python. (Nov. 2019)

-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/overviews/index.html b/docs/build/overviews/index.html deleted file mode 100644 index 5df3ce06..00000000 --- a/docs/build/overviews/index.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - Overviews — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/overviews/makefile.html b/docs/build/overviews/makefile.html deleted file mode 100644 index 96b962f2..00000000 --- a/docs/build/overviews/makefile.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - Makefile Overview — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Makefile Overview

-

The Makefile is the central controller in the project. It includes -other Makefiles as sub-components.

-

Different parts of the Makefile are called by cron at various intervals. -cron runs as the user capitularia.

- -
-
-Manuscript filespubl/mss/*.xmlManuscript filespubl/cache/mss/*.htmlExtracted chapterspubl/cache/collation/*.xmlListspubl/cache/lists/*Database(Postgres)Wordpress(mariadb)Full-text search(Solr)mss-header.xslmss-transcription.xslmss-footer.xslcapit-list.xslmss-key.xslchanges.xslcorpus.xsl...mss-extract-chapters.xslmss-extract-chapters-txt.xslimport_data.pyimport_solr.py
-
-

Makefile Overview

-
-
-
-

XSLT Dependencies

-

The section of the Makefile that deals with the dependencies between manuscripts, xslt -stylesheets, and html files is generated by the Python script -python/xslt_dep.py.

-
-

xslt_dep.py

-

Manage dependencies between XSL-Stylesheets.

-

This tool reads specially formatted metadata in the first comment of XSL-Stylesheets and -generates one of:

-
    -
  • a Makefile

  • -
  • a graphviz .dot file

  • -
  • an HTML table.

  • -
-

The generated Makefile is then included into the main Makefile.

-

It can also draw a dependency graph of XSL-Stylesheets by reading the <xsl:include> and -<xsl:import> statements.

-

Internally uses a triple store for the relations between files.

-

Following “markup” is recognized in the first comment of XSL-Stylesheets:

-
-
Transforms: sources -> destinations [: comment]

Adds dependencies to the generated Makefile. -Adds sources, xsl file, and destinations to the graph. -The optional comment will be added to the arrow in the .dot file. -If the comment is make=false no dependencies will be added to the Makefile.

-
-
Target: target destinations

Adds a target to the generated Makefile that depends on the destination files. -Adds a group box to the graph that surrounds all destination files.

-
-
URL: destinations path

Graph only. Adds a box to the graph that shows the path from the web root where the -destination files will be visible for the public.

-
-
Scrape: parameter sources

Graph only. Adds a drum to the graph that says: import_data.py ---<parameter>. With that command you can import the the source file(s) into the -Postgres database.

-
-
-

Example:

-
Transforms: $(CAPIT_DIR)/lists/capit_all.xml -> $(CACHE_DIR)/lists/capit-all.html     : type=all
-Transforms: $(CAPIT_DIR)/lists/capit_all.xml -> $(CACHE_DIR)/lists/capit-pre814.html  : type=pre814
-Transforms: $(CAPIT_DIR)/lists/capit_all.xml -> $(CACHE_DIR)/lists/capit-ldf.html     : type=ldf
-Transforms: $(CAPIT_DIR)/lists/capit_all.xml -> $(CACHE_DIR)/lists/capit-post840.html : type=post840
-Transforms: $(CAPIT_DIR)/lists/capit_all.xml -> $(CACHE_DIR)/lists/capit-undated.html : type=undated
-
-URL: $(CACHE_DIR)/lists/capit-all.html     /capit/list/
-URL: $(CACHE_DIR)/lists/capit-pre814.html  /capit/pre814/
-URL: $(CACHE_DIR)/lists/capit-ldf.html     /capit/ldf/
-URL: $(CACHE_DIR)/lists/capit-post840.html /capit/post840/
-URL: $(CACHE_DIR)/lists/capit-undated.html /capit/undated/
-
-Target: lists $(CACHE_DIR)/lists/capit-all.html
-Target: lists $(CACHE_DIR)/lists/capit-pre814.html
-Target: lists $(CACHE_DIR)/lists/capit-ldf.html
-Target: lists $(CACHE_DIR)/lists/capit-post840.html
-Target: lists $(CACHE_DIR)/lists/capit-undated.html
-
-Scrape: cap-list $(CAPIT_DIR)/lists/capit_all.xml
-
-
-

The tool implements a ‘little language’ that reads a list of commands from stdin. -Commands are separated by newlines.

-
-
read filename

scan an XSL-Stylesheet.

-
-
recurse

recursively scan all XSL-Stylesheets referenced in xsl:import and xsl:include -statements

-
-
load filename

load a triple store in turtle format

-
-
save filename

saves a triple store in turtle format

-
-
io filename

adds transformations involving filename to the output

-
-
dep filename

adds stylesheet dependencies of filename to the output

-
-
make filename

outputs a Makefile dependencies

-
-
dot filename

outputs a graphviz dot file

-
-
html filename

outputs a HTML table

-
-
-

Examples:

-
read my-style.xsl
-recurse
-dep *.xsl
-dot output-graph.dot
-
-
-
read my-style.xsl
-read my-styles-*.xsl
-read my-extended-styles-*.xsl
-save styles.ttl
-
-
-
load styles.ttl
-io my-style.xsl
-io my-styles-first.xsl
-io my-styles-second.xsl
-dot output-graph.dot
-
-
-
usage: xslt_dep.py [-h] [-e E]
-
-
-
-
--h, --help
-

show this help message and exit

-
- -
-
--e <e>
-

Commands to be executed, separated by ‘;’. Default: read commands from stdin, separated by newlines.

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/php-modindex.html b/docs/build/php-modindex.html deleted file mode 100644 index 7bf37b08..00000000 --- a/docs/build/php-modindex.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - PHP Namespace Index — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - -

PHP Namespace Index

- -
- \ -
- - - - - - - - - - - - - - - - - - - - - - - - - -
 
- \
    - \cceh\capitularia\collation_user -
    - \cceh\capitularia\dynamic_menu -
    - \cceh\capitularia\file_includer -
    - \cceh\capitularia\lib -
    - \cceh\capitularia\meta_search -
    - \cceh\capitularia\page_generator -
    - \cceh\capitularia\theme -
- - -
-
-
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/phpdoc/structure.xml b/docs/build/phpdoc/structure.xml deleted file mode 100644 index 9cfe3c35..00000000 --- a/docs/build/phpdoc/structure.xml +++ /dev/null @@ -1,11166 +0,0 @@ - - - - - Plugin Name: Capitularia Collation Tool -Plugin URI: -Description: Collates TEI files. - Version: 0.2.2 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-collation -Domain Path: /languages - -Capitularia Collation Tool plugin. - -The *Collation Tool plugin* lets any member of the general public do -collations of arbitrary sections from different manuscripts. - -This plugin provides a shortcode that inserts a dashboard on the page. -Within the dashboard the user can request collations of sections of -manuscripts. The dashboard is implemented in javascript with Vue.js. The -PHP code of this plugin basically only serves the Javascript code to the -user. - -The actual collation is done on the Capitularia API Server with the `super collator -<https://github.com/cceh/super-collator>`_ library. - -A big `Makefile <makefile>`_, run by cron on the API server, uses XSLT and Saxon to -extract the relevant sections from the TEI files and pre-processes them for -collation. In the end all TEI tags are removed and only the normalized text is -stored into the Postgres database. On an incoming collation request the API server -reads the pre-processed texts from the database and sends them to the super collator. - -See: :mod:`collatex_server`, :ref:`collation overview<collation-tool-overview>`. - - - - - - - - - - NAME - \cceh\capitularia\collation_user\NAME - 'Capitularia Collation Tool' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\collation_user\DOMAIN - 'cap-collation' - - The Text Domain of the plugin. - - - - - - - - - - - - - - - - - Capitularia Collation Tool global functions. - - - - - - - - - - - - ns - \cceh\capitularia\collation_user\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - enqueue_scripts - \cceh\capitularia\collation_user\enqueue_scripts() - - Enqueue the front page script and localize it. - The script is a webpacked Vue.js application containing its own css. - - - - - - - on_shortcode - \cceh\capitularia\collation_user\on_shortcode() - - Replace the shortcode with the collation dashboard. - Insert a Vue.js component. Vue.js takes over from that and builds the -collation dashboard. - - - - - - - - dummy_atts - - array - - - - dummy_content - - array - - - - - - - - - - - - - Plugin Name: Capitularia Dynamic Menu -Plugin URI: -Description: Build navigation menus from user-specified HTML-tags. - Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-dynamic-menu -Domain Path: /languages - -Capitularia Dynamic Menu plugin. - -The *Dynamic Menu plugin* provides a navigation menu for the sidebar. The -menu entries are collected from DOM elements and attributes of the HTML page -and allow the user to navigate to portions of the document. The menu entries -may be nested. - -You may configure the menu with xpath expressions, eg.to build a menu from -all <h3>, <h4>, and <h5> tags on the page. The menu entries will be properly -nested. - -The PHP code only outputs a placeholder tag. The Javascript code will build -the actual menu using the DOM of the page. - - - - - - - - - - DOMAIN - \cceh\capitularia\dynamic_menu\DOMAIN - 'cap-dynamic-menu' - - The Text Domain - - - - - - - - - - - - - - - - - Capitularia Dynamic Menu global functions. - - - - - - - - - - - MAGIC_MENU - \cceh\capitularia\dynamic_menu\MAGIC_MENU - '#cap_dynamic_menu#' - - - - - - - - - - - ns - \cceh\capitularia\dynamic_menu\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - on_enqueue_scripts - \cceh\capitularia\dynamic_menu\on_enqueue_scripts() - - Enqueue Javascript and CSS for the front page. - - - - - - - - on_nav_menu_link_attributes - \cceh\capitularia\dynamic_menu\on_nav_menu_link_attributes() - - Add attribute data-cap-dynamic-menu. - Puts the item description into the HTML attribute -data-cap-dynamic-menu. Otherwise it would get lost. - - - - - - - - - - - atts - - array - - - - item - - \WP_Post - - - - args - - \stdClass - - - - depth - - int - - - - - - - - - Tag "see" with body "@see src/js/front.js for more information." has error "\cceh\capitularia\dynamic_menu\src/js/front.js" is not a valid Fqsen. - - - - - Plugin Name: Capitularia File Includer -Plugin URI: -Description: Includes external HTML files in Wordpress pages. - Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-file-includer -Domain Path: /languages - -Capitularia File Includer plugin. - -The *File Includer plugin* registers a Wordpress shortcode that allows to -include any external HTML file in a Worpdress page. We use this shortcode to -put the transcribed manuscripts into Wordpress. - -The TEI files are :ref:`transformed into HTML files <html-generation-overview>` on -the Capitularia VM. On that server we maintain up-to-date python and java -installations. A customary Web Projekt at uni-koeln.de does not include those or -includes outdated versions of them. - -This plugin also stores the included text into the Wordpress database. This -makes the built-in Wordpress search function work with the included material. - -.. note:: Currently (Nov. 2019) the plugin also does some post-processing of - the HTML files. This code will also be rewritten and moved to the VM. - -The format of the shortcode is: - -.. code:: - - [cap_include path="path/to/file.html" post="true"] - -:param str path: Path of the file to include, relative to the root on the - settings page. -:param str post: Optional. If the included file should be post-processed by the - footnotes-post-processor then set this parameter to true. - -See also: the :ref:`Page Generator plugin <page-generator>`, which generates -batches of page stubs from directories of TEI files. Those stubs usually -contain the shortcodes for this plugin. - - - - - - - - - - NAME - \cceh\capitularia\file_includer\NAME - 'Capitularia File Includer' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\file_includer\DOMAIN - 'cap-file-includer' - - The Text Domain of the plugin. - - - - - - - - OPTIONS - \cceh\capitularia\file_includer\OPTIONS - 'cap_fi_options' - - The Wordpress ID of the settings (option) page. - - - - - - - - - - - - - - - - - Capitularia File Includer Main Class - - - - - - - - - - - - - - FileIncluderEngine - \cceh\capitularia\file_includer\FileIncluderEngine - - Implements the inclusion engine. - One difficulty is to get in early enough so that the qtranslate-x plugin has -not translated away the unwanted languages. We need all languages to be -there when we have to save the page. qtranslate-x hooks into 'the_posts' so -we must too. - -The other difficulty is to protect the included content from the wpautop and -wptexturizer filters, which were implemented with boundless incompetence and -try to put <p>'s around the included content everywhere and fuck up the HTML -attributes with curly quotes. - -To get around those filters we insert <pre> tags around the included content, -which is the only way to fend those filters off for some portion of a page, -instead of disabling them wholesale. We double the <pre> tags in this way: -<pre><pre>...</pre></pre> so that we can filter them out again later without -danger of removing tags of other provenience. - -We have to save the included content to the database to make it searchable by -the built-in Wordpress search engine. - - - - - - - - do_save - \cceh\capitularia\file_includer\FileIncluderEngine::$do_save - - - Do we have to save the post? - - - - - - - - post - \cceh\capitularia\file_includer\FileIncluderEngine::$post - - - A ref to the post being processed. - - - - - - - - - on_shortcode_early - \cceh\capitularia\file_includer\FileIncluderEngine::on_shortcode_early() - - - atts - - array - - - - content - - string - - - - Process our shortcodes. Step 1: Include the file. - Called very early from on_the_posts (). - - - - - - - - - - on_shortcode - \cceh\capitularia\file_includer\FileIncluderEngine::on_shortcode() - - - dummy_atts - - array - - - - content - - string - - - - Process our shortcodes. Step 2. - Called after wpautop and wptexturizer did their nefarious work. Clean up -the <pre> tags we inserted only to protect against them. - - - - - - - - - on_the_posts - \cceh\capitularia\file_includer\FileIncluderEngine::on_the_posts() - - - posts - - \WP_Post[] - - - - query - - \WP_Query - - - - Process our shortcodes. Step 1. - We are forced to hook into 'the_posts' because the qtranslate-x plugin -does it this way and we must get in before qtranslate-x has translated -away the unwanted languages. - -We cannot save inside the on_shortcode_early hook because there -may be more than one shortcode on the page and besides there may -be other content too. - - - - - - - - - - - - - - - - Capitularia File Includer Settings Page - - - - - - - - - - - - - - Settings_Page - \cceh\capitularia\file_includer\Settings_Page - - Implements the settings (options) page. - Found in Wordpress admin under :menuselection:`Settings | Capitularia File -Includer`. - - - - - - - - - __construct - \cceh\capitularia\file_includer\Settings_Page::__construct() - - - Constructor - Add option fields so we can use the Wordpress function -do_settings_sections() to output them. - -Also register *one* POST parameter to be handled and validated by -Wordpress. We want all user entries to be returned into PHP as *one* -string array called *OPTIONS_PAGE_ID*. This array will be passed by -Wordpress to the validation function and stored in the database all in -*one* row. - - - - - - - - display - \cceh\capitularia\file_includer\Settings_Page::display() - - - Output the Settings page. - - - - - - - - - on_options_section_general - \cceh\capitularia\file_includer\Settings_Page::on_options_section_general() - - - Output the 'general' section. - - - - - - - - on_options_field_root - \cceh\capitularia\file_includer\Settings_Page::on_options_field_root() - - - Output the root option field with its description. - - - - - - - - on_options_field_shortcode - \cceh\capitularia\file_includer\Settings_Page::on_options_field_shortcode() - - - Output the shortcode option field with its description. - - - - - - - - sanitize_path - \cceh\capitularia\file_includer\Settings_Page::sanitize_path() - - - path - - string - - - - Sanitize a field that should contain a path. - - - - - - - - - on_validate_options - \cceh\capitularia\file_includer\Settings_Page::on_validate_options() - - - options - - array - - - - Validate options entered by user - We get all user entries back in one associative array so that we can -store them in one database row. This makes validation somewhat more -difficult. - - - - - - - - - - - - - - - - Capitularia Footnotes Post-Processor Include File - This script processes the output of the xslt transformation. Here we do -those things that are easier in PHP than in XSLT: - -- Merge adjacent footnotes and move footnotes to the end of the word. -- Drop footnotes followed by an editorial note in the same word. -- Insert footnote refs and backrefs and numbers them sequentially. -- Wrap initials (dropcaps) and the following word into a span. -- Substitute editors' shortcuts with proper mediaeval punctuation. -- Accept XML or HTML input, always output HTML. - -This file only declares symbols (classes, functions, constants) in accordance -with PSR-2. - - - - - - - - - - FOOTNOTE_SPAN - \cceh\capitularia\file_includer\FOOTNOTE_SPAN - '//span[@data-note-id][not (ancestor::div[@class="footnotes-wrapper"])]' - - - - - - - - - - FOOTNOTE_REF - \cceh\capitularia\file_includer\FOOTNOTE_REF - 'a[contains (concat (" ", @class, " "), " annotation-ref ")]' - - - - - - - - - - - is_note - \cceh\capitularia\file_includer\is_note() - - Is the node a note? - - - - - - - - node - - \DOMNode - - - - - add_class - \cceh\capitularia\file_includer\add_class() - - Add a class to a node. - Manages multiple classes . - - - - - - - - node - - \DOMElement - - - - class - - string - - - - - has_class - \cceh\capitularia\file_includer\has_class() - - Test if node has class. - - - - - - - - - node - - \DOMElement - - - - class - - string - - - - - is_text_node - \cceh\capitularia\file_includer\is_text_node() - - Test if node is a text node. - - - - - - - - node - - \DOMElement - - - - - remove_node - \cceh\capitularia\file_includer\remove_node() - - Remove node from parent. - - - - - - - - node - - \DOMElement - - - - - merge_notes - \cceh\capitularia\file_includer\merge_notes() - - Merge $note into $next. - - - - - - - - - note - - \DOMNode - - - - next - - \DOMNode - - - - - wrap - \cceh\capitularia\file_includer\wrap() - - Wrap $nodes into a span. - - - - - - - - nodes - - array - - - - - word_end_pos - \cceh\capitularia\file_includer\word_end_pos() - - Return the position of the character after the first word in $text_node. - $text_node must be a text node. - - - - - - - text_node - - \DOMNode - - - - - query_copy - \cceh\capitularia\file_includer\query_copy() - - Copies the result of an XPath query into an array. - - - - - - - - xpath_query_result - - \DOMNodeList - - - - - insert_footnote_ref - \cceh\capitularia\file_includer\insert_footnote_ref() - - Insert a footnote reference into the document. - - - - - - - - - elem - - \DOMElement - - - - id - - string - - - - - insert_footnote_backref - \cceh\capitularia\file_includer\insert_footnote_backref() - - Insert a footnote back reference into the document. - - - - - - - - - elem - - \DOMElement - - - - id - - string - - - - - post_process - \cceh\capitularia\file_includer\post_process() - - Post process the footnotes, etc. - - - - - - - - doc - - \DOMDocument - - - - - load_xml_or_html - \cceh\capitularia\file_includer\load_xml_or_html() - - Load XML or HTML. - We have (had) a mix of transformation scripts outputting -either XML or HTML so we must read both formats. - - - - - - - in - - string - - - - - save_html - \cceh\capitularia\file_includer\save_html() - - Convert the document to HTML. - We need the document as HTML because it gets embedded into a wordpress page. -Also we need to get rid of <DOCTYPE>, <html>, <head>, and <body>. We do this -by starting output at the topmost <div>. - - - - - - - doc - - \DOMDocument - - - - - - - - - - - - - Capitularia File Includer functions. - The main difficulty here is to get around the wpautop and wptexturizer -filters that were implemented with boundless incompetence. - - - - - - - - - - - make_shortcode_around - \cceh\capitularia\file_includer\make_shortcode_around() - - Put shortcodes and <pre> tags around the content. - - - - - - - - - atts - - array - - - - content - - string - - - - - strip_pre - \cceh\capitularia\file_includer\strip_pre() - - Strip <pre> tags from around the content. - - - - - - - - content - - string - - - - - ns - \cceh\capitularia\file_includer\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - get_opt - \cceh\capitularia\file_includer\get_opt() - - Get an option from Wordpress. - - - - - - - - - name - - string - - - - default - '' - string - - - - - get_root - \cceh\capitularia\file_includer\get_root() - - Get the configured root directory. - - - - - - - - on_init - \cceh\capitularia\file_includer\on_init() - - Initialize the plugin. - - - - - - - - on_admin_menu - \cceh\capitularia\file_includer\on_admin_menu() - - Add menu entry to the Wordpress admin menu. - Add a menu entry for the settings (options) page to the Wordpress -settings menu. - - - - - - - on_plugin_action_links - \cceh\capitularia\file_includer\on_plugin_action_links() - - Add a link to our settings page to the plugins admin dashboard. - Adds hack value. - - - - - - - links - - array - - - - - - - - - - - - - Capitularia File Includer Main Class - - - - - - - - - - - - - - - - - - - - Plugin Name: Capitularia Library -Plugin URI: -Description: Library of functions for Capitularia plugins. (REQUIRED) -Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-lib -Domain Path: /languages - Capitularia Library plugin. - -The *Library plugin* contains a collection of useful functions. This plugin -bundles all functions that don't quite fit elsewhere or would be excessively -duplicated. - -This plugin is required by the other Capitularia plugins. - - - - - - - - - - NAME - \cceh\capitularia\lib\NAME - 'Capitularia Library' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\lib\DOMAIN - 'cap-lib' - - The Text Domain of the plugin. - - - - - - - - OPTIONS - \cceh\capitularia\lib\OPTIONS - 'cap_lib_options' - - The Wordpress ID of the settings (option) page. - - - - - - - - - - - - - - - - - Capitularia Library Settings Page - - - - - - - - - - - - - - Settings_Page - \cceh\capitularia\lib\Settings_Page - - Implements the settings (options) page. - Found in Wordpress admin under _Settings | Capitularia Library_. - - - - - - - - - __construct - \cceh\capitularia\lib\Settings_Page::__construct() - - - Constructor - Add option fields so we can use the Wordpress function -do_settings_sections() to output them. - -Also register *one* POST parameter to be handled and validated by -Wordpress. We want all user entries to be returned into PHP as *one* -string[] called *OPTIONS_PAGE_ID*. This array will be passed by -Wordpress to the validation function and stored in the database all in -*one* row. - - - - - - - display - \cceh\capitularia\lib\Settings_Page::display() - - - Output the Settings page. - - - - - - - - on_options_section_general - \cceh\capitularia\lib\Settings_Page::on_options_section_general() - - - Output the 'general' section. - - - - - - - - on_options_field_afs - \cceh\capitularia\lib\Settings_Page::on_options_field_afs() - - - Output the FS option field with its description. - - - - - - - - on_options_field_api - \cceh\capitularia\lib\Settings_Page::on_options_field_api() - - - Output the API option field with its description. - - - - - - - - sanitize_path - \cceh\capitularia\lib\Settings_Page::sanitize_path() - - - path - - string - - - - Sanitize a field that should contain a path. - - - - - - - - - on_validate_options - \cceh\capitularia\lib\Settings_Page::on_validate_options() - - - options - - array - - - - Validate options entered by user - We get all user entries back in one string[] so we can store them in one -database row. This makes validation somewhat more difficult. - - - - - - - - - - - - - - - - Capitularia Library functions. - - - - - - - - - - - NONCE_SPECIAL_STRING - \cceh\capitularia\lib\NONCE_SPECIAL_STRING - 'cap_lib_nonce' - - AJAX security - - - - - - - - NONCE_PARAM_NAME - \cceh\capitularia\lib\NONCE_PARAM_NAME - '_ajax_nonce' - - AJAX security - - - - - - - - - ns - \cceh\capitularia\lib\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - add_nopriv_action - \cceh\capitularia\lib\add_nopriv_action() - - Add an AJAX action on both the admin and the front side. - - - - - - - - action - - string - - - - - make_sort_key - \cceh\capitularia\lib\make_sort_key() - - Make a key that sorts in a sensible way. - Make a key that sorts the numbers in strings in a sensible way, eg. (BK1, BK2, -BK10), or (paris-bn-lat-4626, paris-bn-lat-18238). - - - - - - - s - - string - - - - - sane_parse_str - \cceh\capitularia\lib\sane_parse_str() - - Parse a query string in a standard-compliant way. - PHP's parse_str function does not process query strings in the standard way, when it -comes to duplicate fields. If multiple fields of the same name exist in a query -string, every other web processing language would read them into an array, but PHP -silently overwrites them. This function handles them in a sane way. - - - - - - - query - - string - - - - - on_cap_lib_query_api - \cceh\capitularia\lib\on_cap_lib_query_api() - - AJAX tunnel to the API server - Usage example: if you need to hide private posts for non-logged in users. - -This function is invoked through a POST call to Wordpress and executes a GET call on -the API. The endpoint on the API side is given by the 'endpoint' parameter in the -POST multipart body. The query string is given by the POST query string. This -function adds a 'status' parameter to the query string but otherwise passes it on -unchanged. - -Call example: - - const fd = new FormData (); - fd.set ('action', 'cap_lib_query_api'); - fd.set ('endpoint', '/solr/select.json/'); - return axios.post (get_api_entrypoint (), fd, { 'params' : query }); - - - - - - - on_cap_lib_get_api_endpoint - \cceh\capitularia\lib\on_cap_lib_get_api_endpoint() - - AJAX endpoint to get the API server endpoint - Answers with the configured URL of the API server. - - - - - - - on_cap_lib_current_user_can - \cceh\capitularia\lib\on_cap_lib_current_user_can() - - AJAX endpoint to query user capabilities - Answers true if the user has a given capability. - - - - - - - cap - - string - - - - - on_cap_lib_get_published_ids - \cceh\capitularia\lib\on_cap_lib_get_published_ids() - - AJAX endpoint get list of visible xml:ids - Get a list of the xml:ids of all published or privately published files. The -API server calls this function to update its database. - -Output: JSON list of visible xml:ids - - - - - - - get_published_ids - \cceh\capitularia\lib\get_published_ids() - - Get a list of the xml:ids of all published or privately published -manuscripts. - If $status == 'publish' return all published manuscripts, if $status == -'private' return all privately published manuscripts. These two sets are -distinct. - - - - - - - status - - string - - - - - api_json_request - \cceh\capitularia\lib\api_json_request() - - Make a json request to the configured API. - Use this function to query the python application server. - -Optionally adds a 'status' parameter that is 'private' if the user is allowed to see -private posts, else 'publish'. - - - - - - - - - endpoint - - string - - - - params - array() - array - - - - add_status - false - bool - - - - - save_button - \cceh\capitularia\lib\save_button() - - Output a localized 'save changes' button - - - - - - - - get_opt - \cceh\capitularia\lib\get_opt() - - Get an option from Wordpress. - - - - - - - - - name - - string - - - - default - '' - string - - - - - urljoin - \cceh\capitularia\lib\urljoin() - - Join two paths. The second one may be absolute or relative. - - - - - - - - - url1 - - string - - - - url2 - - string - - - - - get_manifest_uri - \cceh\capitularia\lib\get_manifest_uri() - - Return the public uri of a manifest item. - Return the public uri where manifest items distributed by the Capitularia -theme an plugins are found. - - - - - - - key - - string - - - - - images_dir_uri - \cceh\capitularia\lib\images_dir_uri() - - Return the public uri of the images directory. - Return the public uri where the stock images distributed by the Capitularia -theme an plugins are found. - - - - - - - images_dir_path - \cceh\capitularia\lib\images_dir_path() - - Return the local path to the images directory. - Return the local path where the stock images distributed by the Capitularia -theme an plugins are found. - - - - - - - get_image_uri - \cceh\capitularia\lib\get_image_uri() - - Get the url of an image from a manifest key. - - - - - - - - key - - string - - - - - languages_dir_path - \cceh\capitularia\lib\languages_dir_path() - - Return the local path the languages directory. - Return the local path where the language files distributed by the Capitularia -theme an plugins are found. - - - - - - - load_textdomain - \cceh\capitularia\lib\load_textdomain() - - Load the PHP translations for a text domain. - Load a .mo file into the text domain $domain. - - - - - - - domain - - string - - - - - wp_set_script_translations - \cceh\capitularia\lib\wp_set_script_translations() - - Load the Javascript translations for a text domain. - Load a .json file into the Javascript text domain $domain. - - - - - - - - key - - string - - - - domain - - string - - - - - enqueue_from_manifest - \cceh\capitularia\lib\enqueue_from_manifest() - - Enqueue scripts or stylesheets from the webpack manifest. - - - - - - - - - key - - string - - - - dependencies - array() - string[] - - - - - on_enqueue_scripts - \cceh\capitularia\lib\on_enqueue_scripts() - - Enqueue the frontpage script. - - - - - - - - on_admin_enqueue_scripts - \cceh\capitularia\lib\on_admin_enqueue_scripts() - - Enqueue the admin page script. - - - - - - - - check_ajax_referrer - \cceh\capitularia\lib\check_ajax_referrer() - - Check the AJAX nonce. Die if invalid. - - - - - - - - on_init - \cceh\capitularia\lib\on_init() - - Initialize the plugin. - - - - - - - - on_admin_init - \cceh\capitularia\lib\on_admin_init() - - Initialize the settings page. - First hook called on every admin page. - - - - - - - on_admin_menu - \cceh\capitularia\lib\on_admin_menu() - - Add menu entry to the Wordpress admin menu. - Add a menu entry for the settings (options) page to the Wordpress -settings menu. - - - - - - - on_plugin_action_links - \cceh\capitularia\lib\on_plugin_action_links() - - Add a link to our settings page to the plugins admin dashboard. - Adds hack value. - - - - - - - links - - array - - - - - - - - - - - - - Plugin Name: Capitularia Meta Search -Plugin URI: -Description: Perform metadata-aware searches for and in TEI files. - Version: 0.2.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-meta-search -Domain Path: /languages - -TEI Metadata Search plugin. - -The *Meta Search plugin* offers metadata-aware and fuzzy fulltext search. A -search form widget is part of the plugin. This search box is used on all -manuscript pages. - -The meta search uses a different approach than the built-in Wordpress search. -This search is done on the VM server and the unit of search is the capitulary -chapter. It lets you filter by metadata such as capitularies contained, -dates, and place of origin. - -The plugin also provides a snippet and highlighter class for the built-in -Wordpress search, that displays snippets of text around the found terms -instead of the page excerpt. The highlighter may be used on any Wordpress -page. - -See: :mod:`data_server`, :ref:`fulltext-search-overview`. - - - - - - - - - - NAME - \cceh\capitularia\meta_search\NAME - 'Capitularia Meta Search' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\meta_search\DOMAIN - 'cap-meta-search' - - The text domain of the plugin. - - - - - - - - HIGHLIGHT - \cceh\capitularia\meta_search\HIGHLIGHT - 'cap_highlight_words' - - The URL query parameter to request word highlighting. - - - - - - - - - - - - - - - - - Capitularia Meta Search Highlighter - - - - - - - - - - - - - - Highlighter - \cceh\capitularia\meta_search\Highlighter - - This class provides a snippet view and highlighted search terms for the -built-in Wordpress search. It displays snippets of text around the found -terms instead of the page excerpt. - - - - - - - - - - get_bounds - \cceh\capitularia\meta_search\Highlighter::get_bounds() - - - content - - string - - - - content_len - - int - - - - match - - object - - - - Get start and end of snippet - Given a match returns the start offset (strpos) and end offset of the -snippet in the post content. - - - - - - - - - - get_snippets - \cceh\capitularia\meta_search\Highlighter::get_snippets() - - - content - - string - - - - regex - - string - - - - max_snippets - 3 - int - - - - Extract snippets from page content. - Given a regex, search a post and return a list of snippets. The snippets -contain the highlighted search term and a few words of context. If two -snippets do overlap they are merged. Snippets are returned formatted as -HTML unordered list. - - - - - - - - - - escape_search_term - \cceh\capitularia\meta_search\Highlighter::escape_search_term() - - - term - - string - - - - Escape search term for regexp. - Escapes a search term so that preg_* functions can safely use it. '#' is -the preg separator, eg. #term#u . - - - - - - - - - on_get_the_excerpt - \cceh\capitularia\meta_search\Highlighter::on_get_the_excerpt() - - - content - - string - - - - Return search results snippets. - Build an excerpt using snippets with highlighted search results. - - - - - - - - on_the_content - \cceh\capitularia\meta_search\Highlighter::on_the_content() - - - content - - string - - - - Highlight the search terms in the post. - Highlight the full post if we came through the search page. We use -the query string in the HTTP referrer to highlight the content. - -The naive approach: - - return preg_replace ($regex, '<mark>${0}</mark>', $content); - -did not work because we were also replacing text in HTML -tags and attributes. This whole rigmarole is needed so -we can parse the content as HTML and then search the text -nodes only. - - - - - - - - - - - - - - - Capitularia Meta Search search box widget - - - - - - - - - - - - - - Widget - \cceh\capitularia\meta_search\Widget - - A metadata search box widget. - - - - - \WP_Widget - - - - title - \cceh\capitularia\meta_search\Widget::$title - - - The widget title (caption) - - - - - - - - __construct - \cceh\capitularia\meta_search\Widget::__construct() - - - Constructor - - - - - - - - setup - \cceh\capitularia\meta_search\Widget::setup() - - - dummy_args - - array - - - - instance - - array - - - - Setup the widget - - - - - - - - - - echo_options - \cceh\capitularia\meta_search\Widget::echo_options() - - - items - - array - - - - selected - - string - - - - Echo the <option>s of a <select>. - Echo the <option>s for a HTML <select> element. Sort numeric substrings -in a sensible way for humans, eg. 'BK 2' before 'BK 12' - - - - - - - - - echo_select - \cceh\capitularia\meta_search\Widget::echo_select() - - - caption - - string - - - - id - - string - - - - items - - array - - - - tooltip - - string - - - - Echo a HTML <select> element with options. - - - - - - - - - - - - echo_places_tree - \cceh\capitularia\meta_search\Widget::echo_places_tree() - - - caption - - string - - - - id - - string - - - - tooltip - - string - - - - Echo a HTML <div> element to contain a jstree of place names. - - - - - - - - - - - echo_input - \cceh\capitularia\meta_search\Widget::echo_input() - - - caption - - string - - - - id - - string - - - - placeholder - - string - - - - tooltip - - string - - - - Echo a text <input> field - - - - - - - - - - - - widget - \cceh\capitularia\meta_search\Widget::widget() - - - args - - array - - - - instance - - array - - - - Output the widget. Overrides the base class method. - - - - - - - - - - - update - \cceh\capitularia\meta_search\Widget::update() - - - new_instance - - array - - - - old_instance - - array - - - - Update widget settings on save. Overrides the base class method. - - - - - - - - - - - form - \cceh\capitularia\meta_search\Widget::form() - - - instance - - array - - - - Outputs the widget options form on the admin page. Overrides the base -class method. - - - - - - - - - - the_option - \cceh\capitularia\meta_search\Widget::the_option() - - - instance - - array - - - - name - - string - - - - caption - - string - - - - placeholder - - string - - - - Output one option field - - - - - - - - - - - - - - - - - - - Capitularia Meta Search - - - - - - - - - - - - - - MetaSearch - \cceh\capitularia\meta_search\MetaSearch - - A query manipulation class. - - - - - - - - - json - \cceh\capitularia\meta_search\MetaSearch::$json - - - The result returned by the App server - - - - - - - - on_pre_get_posts - \cceh\capitularia\meta_search\MetaSearch::on_pre_get_posts() - - - query - - \WP_Query - - - - Runs the meta query on the Capitularia VM server. - Runs the meta query on the server, which returns the ids of the -manuscripts that contain the search terms. Then builds a Wordpress query -that searches for the pages that contain those manuscripts. - -Then the program flow goes back to the normal Wordpress search page, -except that we also provide the snippets to display and the chapter -information. - - - - - - - - - on_get_the_excerpt - \cceh\capitularia\meta_search\MetaSearch::on_get_the_excerpt() - - - Get the excerpt for the search result - Return the excerpt generated by the VM Server. - - - - - - - on_get_search_query - \cceh\capitularia\meta_search\MetaSearch::on_get_search_query() - - - dummy_message - - string - - - - Format the contents of the search query variables. - Generate a string like "BK.123 not before 950 and 'Karl'". This hook is -called from the search.php page, and serves to insert the text outside -our widget. - - - - - - - - - - - - - - - Capitularia Meta Search global functions - - - - - - - - - - - - is_meta_search - \cceh\capitularia\meta_search\is_meta_search() - - Should we perform a meta search? - - - - - - - - is_highlight - \cceh\capitularia\meta_search\is_highlight() - - Should we highlight search results? - - - - - - - - ns - \cceh\capitularia\meta_search\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - sanitize - \cceh\capitularia\meta_search\sanitize() - - Sanitize a text filed. - - - - - - - - text - - string - - - - - get_capitulars - \cceh\capitularia\meta_search\get_capitulars() - - Get a list of all capitulars - - - - - - - - on_init - \cceh\capitularia\meta_search\on_init() - - Register the translations. - - - - - - - - on_widgets_init - \cceh\capitularia\meta_search\on_widgets_init() - - Register the widget with Wordpress. - - - - - - - - on_query_vars - \cceh\capitularia\meta_search\on_query_vars() - - Add our custom HTTP query vars - - - - - - - - vars - - array - - - - - on_cap_meta_search_the_permalink - \cceh\capitularia\meta_search\on_cap_meta_search_the_permalink() - - Get the permalink for the search result - Called from the search results page of the Capitularia theme. Return a link that -will go to the post *and* highlight the search terms if followed. - - - - - - - permalink - - string - - - - - on_template_include - \cceh\capitularia\meta_search\on_template_include() - - Makes Wordpress display our custom search page. - - - - - - template - - mixed - - - - - enqueue_scripts - \cceh\capitularia\meta_search\enqueue_scripts() - - Enqueue the front page script and localize it. - The script is a webpacked Vue.js application containing its own css. - - - - - - - - - - - - - - - The template for displaying Search Results pages. - - - - - - - - - - - - - - - - - - - - Plugin Name: Capitularia Page Generator -Plugin URI: -Description: Generate Wordpress pages for our TEI files. - Version: 0.1.1 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-page-generator -Domain Path: /languages - -Capitularia Page Generator plugin. - -The *Page Generator* plugin helps managing the publication of manuscript pages. -Whenever a new manuscript is transcribed and its file is put into the file -repository, a new Wordpress page needs to be made for the manuscript to actually -appear in Wordpress. - -This plugin lets you choose among a configurable set of source directories. -Then it displays a list of the TEI files in that directory and lets you -create and manage the page for each file. Bulk actions allow you to manage -the pages in batches. - -The plugin can be configured to automatically put some text on newly created -pages. Usually this text consists in one or more shortcodes for the -:ref:`Capitularia File Includer plugin <file-includer>`. It is the File -Includer plugin that actually puts the content onto the page. - -Note that this plugin does nothing on the public pages (except displaying a -button on the admin toolbar). - -How do the TEI files get to the user? - -A cron process on the API server converts all the TEI files into HTML files -and stores them in the filesystem. See also: :ref:`makefile`. - -The :ref:`Capitularia File Includer plugin <file-includer>` then includes -those files from the filesystem when outputting a Wordpress page to the -user. - - - - - - - - - - NAME - \cceh\capitularia\page_generator\NAME - 'Capitularia Page Generator' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\page_generator\DOMAIN - 'cap-page-generator' - - The Text Domain ofthe plugin. - - - - - - - - OPTIONS - \cceh\capitularia\page_generator\OPTIONS - 'cap_page_gen_options' - - The Wordpress ID of the settings (option) page. - - - - - - - - DASHBOARD - \cceh\capitularia\page_generator\DASHBOARD - 'cap_page_gen_dashboard' - - The Wordpress ID of the dashboard page. - - - - - - - - - - - - - - - - - Capitularia Page Generator Configuration Class - - - - - - - - - - - - - - Config - \cceh\capitularia\page_generator\Config - - Contains configuration parameters. - - - - - - - - - sections - \cceh\capitularia\page_generator\Config::$sections - null - - The configured sections and fields - Array of arrays of arrays: sections / fields / properties - -.. code:: php - - foreach ($this->sections as $section) { - $section_id = $section[0]; - $fields = $section[1]; - foreach ($fields as $field) { - $field_id = $field[0]; - $field_caption = $field[1]; - $field_description = $field[2]; - $validation_callback = $field[3]; - } - } - - - - - - options - \cceh\capitularia\page_generator\Config::$options - null - - Array of options retrieved from database and cached. - - - - - - - - - __construct - \cceh\capitularia\page_generator\Config::__construct() - - - Constructor - - - - - - - init - \cceh\capitularia\page_generator\Config::init() - - - Set up the options - If we setup the options in the constructor it will be too early for -translation to kick in. - - - - - - - get_opt - \cceh\capitularia\page_generator\Config::get_opt() - - - section_id - - string - - - - field_id - - string - - - - default - '' - string - - - - Get an option - - - - - - - - - - - get_opt_path - \cceh\capitularia\page_generator\Config::get_opt_path() - - - section_id - - string - - - - path_id - - string - - - - Get a path - - - - - - - - - - section_can - \cceh\capitularia\page_generator\Config::section_can() - - - section_id - - string - - - - status - - string - - - - Check if a certain page status is allowed in this section. - - - - - - - - - - - - - - - - - Capitularia Page Generator Dashboard Page - - - - - - - - - - - - - - Dashboard_Page - \cceh\capitularia\page_generator\Dashboard_Page - - Implements the dashboard page. - The dashboard page controls the plugin. - -You open the dashboard page by clicking on :menuselection:`Dashboard | -Capitularia Page Generator` in the Wordpress admin page. - - - - - - - - pagination_args - \cceh\capitularia\page_generator\Dashboard_Page::$pagination_args - - - The standard pagination args. - - - - - - - - - __construct - \cceh\capitularia\page_generator\Dashboard_Page::__construct() - - - Constructor - - - - - - - display - \cceh\capitularia\page_generator\Dashboard_Page::display() - - - Output dashboard page. - Outputs bare jQuery-UI tabs. They get filled by AJAX. Also outputs -messages we get thru AJAX. - - - - - - - display_section - \cceh\capitularia\page_generator\Dashboard_Page::display_section() - - - section - - array - - - - paged - - int - - - - Output one section - - - - - - - - - - format_error_message - \cceh\capitularia\page_generator\Dashboard_Page::format_error_message() - - - error_struct - - array - - - - Format error message as HTML snippet. - These notices get inserted at the top of the dashboard page. The user -can click on the cross icon to dismiss the notice. - - - - - - - - process_bulk_actions - \cceh\capitularia\page_generator\Dashboard_Page::process_bulk_actions() - - - action - - string - - - - section_id - - string - - - - filenames - - array - - - - Handle bulk actions - Handles user actions performed on one or more files using the file -checkboxes and the bulk actions dropdown menu. - - - - - - - - - - - on_cap_action_file - \cceh\capitularia\page_generator\Dashboard_Page::on_cap_action_file() - - - Ajax endpoint - Handles user actions performed on one file using the links inside a table -row. - - - - - - - - on_cap_load_section - \cceh\capitularia\page_generator\Dashboard_Page::on_cap_load_section() - - - Ajax endpoint - Load a section (represented by a jquery tab) in response to the user -clicking on a tab or using the table pager. - - - - - - - send_json - \cceh\capitularia\page_generator\Dashboard_Page::send_json() - - - section_id - - string - - - - error_struct - - array - - - - Send the result of an Ajax action back to the user. - The reason we use JSON instead of just sending HTML is that we want to -send both, HTML and success / error messages. A table update is sent as -a JSON string of HTML table rows that simply replace the old table rows. -We assume for now that the user dashboard changes only on successful -operations. - - - - - - - - - - - - - - - - Capitularia Page Generator File List Table class. - - - - - - - - - - - - - - File_List_Table - \cceh\capitularia\page_generator\File_List_Table - - The file list table on the dashboard page. - Lists all the files in a directory plus status information. - - - - - \WP_List_Table - - - - status_to_notice_class - \cceh\capitularia\page_generator\File_List_Table::$status_to_notice_class - array('publish' => 'notice-success', 'private' => 'notice-warning', 'delete' => 'notice-error') - - HTML classes for table rows. - Classes set according to current page status. To colorize our table rows -in the canonical way we use the same classes as Wordpress admin notices. - - - - - - bulk_actions - \cceh\capitularia\page_generator\File_List_Table::$bulk_actions - array() - - Enum bulk actions - An associative array of bulk actions and relative captions for the action -links and the drop-down menus above and below the table. - - - - - - statuses - \cceh\capitularia\page_generator\File_List_Table::$statuses - array() - - Enum statuses of manuscripts - An associative array of statuses and relative captions. A manuscript can -have a public page, a private page, or not have any page at all. - - - - - - section_id - \cceh\capitularia\page_generator\File_List_Table::$section_id - - - The section id - - - - - - - directory - \cceh\capitularia\page_generator\File_List_Table::$directory - - - The directory to scan - - - - - - - paths - \cceh\capitularia\page_generator\File_List_Table::$paths - - - The scanned files - - - - - - - xml_path - \cceh\capitularia\page_generator\File_List_Table::$xml_path - - - The URI path to the xml file. - - - - - - - - __construct - \cceh\capitularia\page_generator\File_List_Table::__construct() - - - section_id - - string - - - - directory - - string - - - - args - array() - array - - - - Constructor. - - - - - - - - - - - get_table_classes - \cceh\capitularia\page_generator\File_List_Table::get_table_classes() - - - Get a list of CSS classes for the list table table tag. - Overrides method in base class. - - - - - - - scandir_recursive - \cceh\capitularia\page_generator\File_List_Table::scandir_recursive() - - - root - - string - - - - paths - - array - - - - Recursively scan a directory. - - - - - - - - - - prepare_items - \cceh\capitularia\page_generator\File_List_Table::prepare_items() - - - Prepare the items to show in the table. - Overrides abstract method in base class. - - - - - - - no_items - \cceh\capitularia\page_generator\File_List_Table::no_items() - - - Message to be displayed when there are no items - Overrides method in base class. - - - - - - - get_bulk_actions - \cceh\capitularia\page_generator\File_List_Table::get_bulk_actions() - - - Get the list of bulk actions. - Overrides method in base class. - - - - - - - get_columns - \cceh\capitularia\page_generator\File_List_Table::get_columns() - - - Get a list of table columns. - Overrides abstract method in base class. - - - - - - - single_row - \cceh\capitularia\page_generator\File_List_Table::single_row() - - - manuscript - - object - - - - Generates content for a single row of the table - - - - - - - - - column_cb - \cceh\capitularia\page_generator\File_List_Table::column_cb() - - - manuscript - - object - - - - Generates contents of the _cb_ column. - Called by the base class. - - - - - - - - column_status - \cceh\capitularia\page_generator\File_List_Table::column_status() - - - manuscript - - object - - - - Generates contents of the _status_ column. - Called by the base class. - - - - - - - - column_slug - \cceh\capitularia\page_generator\File_List_Table::column_slug() - - - manuscript - - object - - - - Generates contents of the _slug_ column. - Called by the base class. - - - - - - - - column_title - \cceh\capitularia\page_generator\File_List_Table::column_title() - - - manuscript - - object - - - - Generates contents of the _title_ column. - Called by the base class. - - - - - - - - handle_row_actions - \cceh\capitularia\page_generator\File_List_Table::handle_row_actions() - - - manuscript - - object - - - - column_name - - string - - - - primary - - string - - - - Generates and displays row action links. - These are the links that appear when hovering over the table row. -Clicking on the link initiates an Ajax request that performs the action -and automagically redraws the table. - - - - - - - - - - - - - - - - - Capitularia Page Generator Manuscript class. - - - - - - - - - - - - - - Manuscript - \cceh\capitularia\page_generator\Manuscript - - Represents a manuscript file. - This class represents TEI manuscripts stored in a directory on disk. It also -manages manuscripts in Wordpress. - -N.B. The class name is somewhat a misnomer because it can also represent a -Capitulary file. - - - - - - - - path - \cceh\capitularia\page_generator\Manuscript::$path - - - The filesystem path to the manuscript file. - - - - - - - - section_id - \cceh\capitularia\page_generator\Manuscript::$section_id - - - The section of the manuscript, eg. 'mss', 'capit/ldf', . - .. - - - - - - - xml_id - \cceh\capitularia\page_generator\Manuscript::$xml_id - null - - The xml:id of the manuscript. Cached. - - - - - - - - title - \cceh\capitularia\page_generator\Manuscript::$title - null - - The title of the manuscript. Cached. - - - - - - - - - __construct - \cceh\capitularia\page_generator\Manuscript::__construct() - - - section_id - - string - - - - path - - string - - - - Constructor - - - - - - - - - - get_path - \cceh\capitularia\page_generator\Manuscript::get_path() - - - Getter for $path - - - - - - - - get_section_id - \cceh\capitularia\page_generator\Manuscript::get_section_id() - - - Getter for $section_id - - - - - - - - get_filename - \cceh\capitularia\page_generator\Manuscript::get_filename() - - - Return the filename - - - - - - - - get_slug - \cceh\capitularia\page_generator\Manuscript::get_slug() - - - Generate a slug (without path). - - - - - - - - get_slug_with_path - \cceh\capitularia\page_generator\Manuscript::get_slug_with_path() - - - Generate a slug with path. - - - - - - - - get_slug_with_link - \cceh\capitularia\page_generator\Manuscript::get_slug_with_link() - - - Generate a HTML link that points to the page. - A link the user can click to get to the relative page. - - - - - - - get_xml_id - \cceh\capitularia\page_generator\Manuscript::get_xml_id() - - - Get the xml:id of this manuscript. - - - - - - - - get_title - \cceh\capitularia\page_generator\Manuscript::get_title() - - - Get the title of this manuscript. - - - - - - - - get_page_id - \cceh\capitularia\page_generator\Manuscript::get_page_id() - - - Get ID of page - - - - - - - - get_status - \cceh\capitularia\page_generator\Manuscript::get_status() - - - Get the current status of a manuscript page. - - - - - - - - parse_tei - \cceh\capitularia\page_generator\Manuscript::parse_tei() - - - Extract the manuscript id and title. - Extracts the manuscript id and title from the TEI file. We need the id -for the post metadata. We need the title for the file list table. - -Also puts qTranslate-X tags into the title iff the title has an xml:lang -attribute. - - - - - - - delete_pages - \cceh\capitularia\page_generator\Manuscript::delete_pages() - - - Delete all pages with our slug - Slugs must be unique for all children of one page, but the same slug may -be used by more than one page provided each has a different parent -page. Eg. /mss and /internal/mss both have the slug 'mss' but a -different parent page, so we must account for that. - -We also delete all pages that have the same slug with a hyphen and number -appended. Eg. deleting the page /mss/my-slug would also delete the pages -/mss/my-slug-1 and /mss/my-slug-42, but not the page -/internal/mss/my-slug. - - - - - - - create_page - \cceh\capitularia\page_generator\Manuscript::create_page() - - - status - - string - - - - Create a page containing one or more shortcodes. - Build the content for the new page. Some pages are made of more than one -transformation, eg. the transcription pages have a header, transcription -and footer. - - - - - - - - do_action - \cceh\capitularia\page_generator\Manuscript::do_action() - - - action - - string - - - - Perform an action on the manuscript. - Actions: -publish: create the page with publish status -private: create the page with private status -refresh: re-create the page with the same status as before -delete: delete the page - - - - - - - - - - handle errors here - - - - - - Capitularia Page Generator Settings Page - - - - - - - - - - - - - - Settings_Page - \cceh\capitularia\page_generator\Settings_Page - - Implements the settings (options) page. - Found in Wordpress admin under :menuselection:`Settings | Capitularia Page -Generator`. - - - - - - - - - __construct - \cceh\capitularia\page_generator\Settings_Page::__construct() - - - Constructor - Add option fields so we can use the Wordpress function -do_settings_fields() to output them. All field descriptions are stored -in the Config class. - -Also register _one_ POST parameter to be handled and validated by -Wordpress. - - - - - - display - \cceh\capitularia\page_generator\Settings_Page::display() - - - Output the Settings page. - - - - - - - - on_options_field - \cceh\capitularia\page_generator\Settings_Page::on_options_field() - - - args - - array - - - - Output an option field. - Output (echo) an option field with its description. - -We want all user entries to be returned into PHP as *one* string[] called -*OPTIONS_PAGE_ID*. This array will be passed by Wordpress to the -validation function and stored in the database all in *one* row. - - - - - - - - - on_validate - \cceh\capitularia\page_generator\Settings_Page::on_validate() - - - options - - array - - - - Validate options entered by user - We get all user entries back in one string[] so we can store them in one -database row. This makes validation somewhat more difficult. - - - - - - - - - - - - - - - - Capitularia Page Generator global functions. - - - - - - - - - - - - ns - \cceh\capitularia\page_generator\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - cap_get_parent_id - \cceh\capitularia\page_generator\cap_get_parent_id() - - Get ID of the parent page of a section - Returns the ID of the parent page of a section. - - - - - - - section_id - - string - - - - - cap_get_status - \cceh\capitularia\page_generator\cap_get_status() - - Get the current status of a page. - - - - - - - - page_id - - int - - - - - cap_get_section_page_status - \cceh\capitularia\page_generator\cap_get_section_page_status() - - Get the current status of a section's parent page. - We need to check this so as not to make public children of private pages. - - - - - - - section_id - - string - - - - - cap_make_path_relative_to - \cceh\capitularia\page_generator\cap_make_path_relative_to() - - Returns a path relative to base - - - - - - - - - path - - string - - - - base - - string - - - - - cap_sanitize_nothing - \cceh\capitularia\page_generator\cap_sanitize_nothing() - - Do nothing - - - - - - - - s - - string - - - - - cap_sanitize_caption - \cceh\capitularia\page_generator\cap_sanitize_caption() - - Sanitize a caption - - - - - - - - caption - - string - - - - - cap_sanitize_path - \cceh\capitularia\page_generator\cap_sanitize_path() - - Sanitize a path - - - - - - - - path - - string - - - - - cap_sanitize_path_list - \cceh\capitularia\page_generator\cap_sanitize_path_list() - - Sanitize a space-separated list of paths - - - - - - - - path_list - - string - - - - - cap_sanitize_key - \cceh\capitularia\page_generator\cap_sanitize_key() - - Sanitize a key - - - - - - - - key - - string - - - - - cap_sanitize_key_list - \cceh\capitularia\page_generator\cap_sanitize_key_list() - - Sanitize a space-separated list of keys - - - - - - - - key_list - - string - - - - - on_init - \cceh\capitularia\page_generator\on_init() - - Initialize the plugin. - - - - - - - - on_cap_action_file - \cceh\capitularia\page_generator\on_cap_action_file() - - AJAX hook - - - - - - - - on_cap_load_section - \cceh\capitularia\page_generator\on_cap_load_section() - - AJAX hook - - - - - - - - on_enqueue_scripts - \cceh\capitularia\page_generator\on_enqueue_scripts() - - Enqueue the public pages scripts and styles - - - - - - - - on_query_vars - \cceh\capitularia\page_generator\on_query_vars() - - Register *cap_page_gen* as valid HTTP GET parameter - We use the *cap_page_gen* parameter to call the dashboard from the -:guilabel:`Page Generator` button on the user's tool bar on the public pages. - - - - - - - vars - - string[] - - - - - on_admin_enqueue_scripts - \cceh\capitularia\page_generator\on_admin_enqueue_scripts() - - Enqueue the admin page scripts and styles - - - - - - - - on_admin_menu - \cceh\capitularia\page_generator\on_admin_menu() - - Add menu entries to the Wordpress admin menu. - Adds menu entries for the settings (options) and the dashboard pages to -the Wordpress settings and dashboard admin page menus respectively. - - - - - - - on_admin_bar_menu - \cceh\capitularia\page_generator\on_admin_bar_menu() - - Add a dashboard button to the Wordpress toolbar. - - - - - - - - wp_admin_bar - - \WP_Admin_Bar - - - - - on_plugin_action_links - \cceh\capitularia\page_generator\on_plugin_action_links() - - Add a link to our settings page to the plugins admin dashboard. - Adds hack value. - - - - - - - links - - array - - - - - - - - - - - - - Plugin Name: Capitularia Pre-Print -Plugin URI: -Description: Generates previews of external HTML files. - Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-pre-print -Domain Path: /languages - -Capitularia Pre-Print Plugin - -The *Pre-Print plugin* lets administrators preview HTML files generated -from TEI files before publishing them. - -The TEI files are :ref:`transformed into HTML files <html-generation-overview>` on -the Capitularia VM. On that server we maintain up-to-date python and java -installations. A customary Web Projekt at uni-koeln.de does not include those or -includes outdated versions of them. - -This plugin also stores the included text into the Wordpress database. This -makes the built-in Wordpress search function work with the included material. - -.. note:: Currently (Nov. 2019) the plugin also does some post-processing of - the HTML files. This code will also be rewritten and moved to the VM. - -The format of the shortcode is: - -.. code:: - - [cap_include path="path/to/file.html" post="true"] - -:param str path: Path of the file to include, relative to the root on the - settings page. -:param str post: Optional. If the included file should be post-processed by the - footnotes-post-processor then set this parameter to true. - -See also: the :ref:`Page Generator plugin <page-generator>`, which generates -batches of page stubs from directories of TEI files. Those stubs usually -contain the shortcodes for this plugin. - - - - - - - - - - NAME - \cceh\capitularia\file_includer\NAME - 'Capitularia File Includer' - - The name of the plugin. - - - - - - - - DOMAIN - \cceh\capitularia\file_includer\DOMAIN - 'cap-file-includer' - - The Text Domain of the plugin. - - - - - - - - OPTIONS - \cceh\capitularia\file_includer\OPTIONS - 'cap_fi_options' - - The Wordpress ID of the settings (option) page. - - - - - - - - - - - - - - - - - Capitularia File Includer Main Class - - - - - - - - - - - - - - FileIncluderEngine - \cceh\capitularia\file_includer\FileIncluderEngine - - Implements the inclusion engine. - One difficulty is to get in early enough so that the qtranslate-x plugin has -not translated away the unwanted languages. We need all languages to be -there when we have to save the page. qtranslate-x hooks into 'the_posts' so -we must too. - -The other difficulty is to protect the included content from the wpautop and -wptexturizer filters, which were implemented with boundless incompetence and -try to put <p>'s around the included content everywhere and fuck up the HTML -attributes with curly quotes. - -To get around those filters we insert <pre> tags around the included content, -which is the only way to fend those filters off for some portion of a page, -instead of disabling them wholesale. We double the <pre> tags in this way: -<pre><pre>...</pre></pre> so that we can filter them out again later without -danger of removing tags of other provenience. - -We have to save the included content to the database to make it searchable by -the built-in Wordpress search engine. - - - - - - - - do_save - \cceh\capitularia\file_includer\FileIncluderEngine::$do_save - - - Do we have to save the post? - - - - - - - - post - \cceh\capitularia\file_includer\FileIncluderEngine::$post - - - A ref to the post being processed. - - - - - - - - - on_shortcode_early - \cceh\capitularia\file_includer\FileIncluderEngine::on_shortcode_early() - - - atts - - array - - - - content - - string - - - - Process our shortcodes. Step 1: Include the file. - Called very early from on_the_posts (). - - - - - - - - - - on_shortcode - \cceh\capitularia\file_includer\FileIncluderEngine::on_shortcode() - - - dummy_atts - - array - - - - content - - string - - - - Process our shortcodes. Step 2. - Called after wpautop and wptexturizer did their nefarious work. Clean up -the <pre> tags we inserted only to protect against them. - - - - - - - - - on_the_posts - \cceh\capitularia\file_includer\FileIncluderEngine::on_the_posts() - - - posts - - \WP_Post[] - - - - query - - \WP_Query - - - - Process our shortcodes. Step 1. - We are forced to hook into 'the_posts' because the qtranslate-x plugin -does it this way and we must get in before qtranslate-x has `translated´ -away the unwanted languages. - -We cannot save inside the on_shortcode_early hook because there -may be more than one shortcode on the page and besides there may -be other content too. - - - - - - - - - - - - - - - - Capitularia File Includer Settings Page - - - - - - - - - - - - - - Settings_Page - \cceh\capitularia\pre_print\Settings_Page - - Implements the settings (options) page. - Found in Wordpress admin under :menuselection:`Settings | Capitularia File -Includer`. - - - - - - - - - __construct - \cceh\capitularia\pre_print\Settings_Page::__construct() - - - Constructor - Add option fields so we can use the Wordpress function -do_settings_sections() to output them. - -Also register *one* POST parameter to be handled and validated by -Wordpress. We want all user entries to be returned into PHP as *one* -string array called *OPTIONS_PAGE_ID*. This array will be passed by -Wordpress to the validation function and stored in the database all in -*one* row. - - - - - - - - display - \cceh\capitularia\pre_print\Settings_Page::display() - - - Output the Settings page. - - - - - - - - - on_options_section_general - \cceh\capitularia\pre_print\Settings_Page::on_options_section_general() - - - Output the 'general' section. - - - - - - - - on_options_field_root - \cceh\capitularia\pre_print\Settings_Page::on_options_field_root() - - - Output the root option field with its description. - - - - - - - - on_options_field_shortcode - \cceh\capitularia\pre_print\Settings_Page::on_options_field_shortcode() - - - Output the shortcode option field with its description. - - - - - - - - sanitize_path - \cceh\capitularia\pre_print\Settings_Page::sanitize_path() - - - path - - string - - - - Sanitize a field that should contain a path. - - - - - - - - - on_validate_options - \cceh\capitularia\pre_print\Settings_Page::on_validate_options() - - - options - - array - - - - Validate options entered by user - We get all user entries back in one associative array so that we can -store them in one database row. This makes validation somewhat more -difficult. - - - - - - - - - - - - - - - - Capitularia File Includer functions. - The main difficulty here is to get around the wpautop and wptexturizer -filters that were implemented with boundless incompetence. - - - - - - - - - - - make_shortcode_around - \cceh\capitularia\file_includer\make_shortcode_around() - - Put shortcodes and <pre> tags around the content. - - - - - - - - - atts - - array - - - - content - - string - - - - - strip_pre - \cceh\capitularia\file_includer\strip_pre() - - Strip <pre> tags from around the content. - - - - - - - - content - - string - - - - - ns - \cceh\capitularia\file_includer\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - get_opt - \cceh\capitularia\file_includer\get_opt() - - Get an option from Wordpress. - - - - - - - - - name - - string - - - - default - '' - string - - - - - get_root - \cceh\capitularia\file_includer\get_root() - - Get the configured root directory. - - - - - - - - on_enqueue_scripts - \cceh\capitularia\file_includer\on_enqueue_scripts() - - Enqueue the frontpage scripts and styles - - - - - - - - on_init - \cceh\capitularia\file_includer\on_init() - - Initialize the plugin. - - - - - - - - on_admin_enqueue_scripts - \cceh\capitularia\file_includer\on_admin_enqueue_scripts() - - Enqueue the admin page scripts and styles - - - - - - - - on_admin_menu - \cceh\capitularia\file_includer\on_admin_menu() - - Add menu entry to the Wordpress admin menu. - Add a menu entry for the settings (options) page to the Wordpress -settings menu. - - - - - - - on_plugin_action_links - \cceh\capitularia\file_includer\on_plugin_action_links() - - Add a link to our settings page to the plugins admin dashboard. - Adds hack value. - - - - - - - links - - array - - - - - - - - - - - - - Template for 404 Page not found. - - - - - - - - - - - - - - - - - - - - The template for displaying Search Results pages. - - - - - - - - - - - - - - CapQuery - \cceh\capitularia\theme\CapQuery - - - - - - - \WP_Query - - - - - parse_search - \cceh\capitularia\theme\CapQuery::parse_search() - - - q - - array - - - - Generates SQL for the WHERE clause based on passed search terms. - Copied from class-wp-query.php and doctored to accept any amount of whitespace -between each word in phrase searches. - -Prerequisite: - -mysql> create fulltext index post_content on wp_posts(post_content); -mysql> create fulltext index post_title on wp_posts(post_title); -mysql> create fulltext index post_excerpt on wp_posts(post_excerpt); - - - - - - - - - - - - - - - - - The HTML footer on every page. - - - - - - - - - - - - - - - - - - - - Capitularia Theme front-page.php file - - - - - - - - - - - - - - - - - - - - Capitularia Theme functions-include.php file - This file only declares symbols (classes, functions, constants) in accordance -with PSR-2. - - - - - - - - - - MAGIC_LOGIN - \cceh\capitularia\theme\MAGIC_LOGIN - '#cap_login_menu#' - - - - - - - - - - - ns - \cceh\capitularia\theme\ns() - - Add current namespace - - - - - - - - function_name - - string - - - - - get_slug_root - \cceh\capitularia\theme\get_slug_root() - - Get the first path component of the slug. - If a page has a slug of: "top/sub/current" this function returns "top". - - - - - - - page_id - - int - - - - - get_parent_path - \cceh\capitularia\theme\get_parent_path() - - Get the path of the parent page. - - - - - - - - path - - string - - - - - echo_attribute - \cceh\capitularia\theme\echo_attribute() - - Echo a name="value" pair. - - - - - - - - - name - - string - - - - value - - string - - - - - get_permalink_a - \cceh\capitularia\theme\get_permalink_a() - - Returns an opening <a> containing a permalink to the current page. - It is the responsibilty of the caller to close the <a> tag. - - - - - - - get_main_start - \cceh\capitularia\theme\get_main_start() - - Echo the tag to start the main section. - - - - - - - - class - '' - string - - - - - get_main_end - \cceh\capitularia\theme\get_main_end() - - Echo the tag to end the main section. - - - - - - - - get_sidebar_start - \cceh\capitularia\theme\get_sidebar_start() - - Echo the tag to start the sideabr section. - - - - - - - - get_sidebar_end - \cceh\capitularia\theme\get_sidebar_end() - - Echo the tag to end the sidebar section. - - - - - - - - get_content_start - \cceh\capitularia\theme\get_content_start() - - Echo the tag to start the content section. - - - - - - - - get_content_end - \cceh\capitularia\theme\get_content_end() - - Echo the tag to end the content section. - - - - - - - - on_enqueue_scripts - \cceh\capitularia\theme\on_enqueue_scripts() - - Enqueue scripts and CSS - Add JS and CSS the wordpress way. - -N.B. We use our own copy of jquery and bootstrap on the front. - - - - - - - on_admin_enqueue_scripts - \cceh\capitularia\theme\on_admin_enqueue_scripts() - - Enqueue admin scripts and CSS - Add JS and CSS the wordpress way. - -N.B. We use wordpress' copy of jquery and jquery-ui on the admin pages, and -no bootstrap because it breaks too many things. - - - - - - - on_wp_title - \cceh\capitularia\theme\on_wp_title() - - Customize <head> <title> - Customize the title displayed in the browser window caption and used if you -bookmark the page. - -if root: "Capitularia | Edition der fränkischen Herrschererlasse" -else: "[Name of page] | Capitularia" - - - - - - - - title - - string - - - - sep - - string - - - - - on_the_title - \cceh\capitularia\theme\on_the_title() - - Mark wiki post titles with "Wiki:" - - - - - - - - - title - - string - - - - post_ID - - int - - - - - on_body_class - \cceh\capitularia\theme\on_body_class() - - Add a <body> class. - Add a class to the HTML <body> tag depending on which section of the website -we are in. Eg.: adds class="cap-slug-mss" in the /mss/ section of the site. - - - - - - - classes - - array - - - - - on_init - \cceh\capitularia\theme\on_init() - - Initialize the theme. - - - - - - - - on_dropdown_pages_args - \cceh\capitularia\theme\on_dropdown_pages_args() - - Add private/draft/future/pending pages to page parent dropdown. - Only public pages are eligible for parenting in vanilla Wordpress. We want -other pages also. - - - - - - - - dropdown_args - - array - - - - dummy_post - null - int - - - - - translate_month_year - \cceh\capitularia\theme\translate_month_year() - - Translate the archive widget month names - - - - - - - - month_year - - string - - - - - fix_bk_nr - \cceh\capitularia\theme\fix_bk_nr() - - Canonicalize the innumerable different ways the editors write a BK or Mordek no. - Accepts (not exhaustive list of examples found in the wild): - -BK.42 -BK.042 -BK_42 -BK_042 -bk-nr-42 -bk-nr-042 -Mordek.27 -Mordek_27 -mordek-nr-27 -ldf/all-of-the-above - -Returns: - -bk-nr-042 -mordek-nr-27 - - - - - - - corresp - - string - - - - - bk_to_permalink - \cceh\capitularia\theme\bk_to_permalink() - - Get the Capitular page url corresponding to a BK or Mordek No. - This function figures out which subdirectory the Capitular page is in, -eg. pre814/ or ldf/ or post840/ ... - - - - - - - corresp - - string - - - - - siglum_to_permalink - \cceh\capitularia\theme\siglum_to_permalink() - - Get the manuscript page url corresponding to a manuscript siglum. - Note: If the siglum is not unique, a random manuscript with that siglum will be -returned. - - - - - - - siglum - - string - - - - - on_do_parse_request - \cceh\capitularia\theme\on_do_parse_request() - - Implements URL-Redirects - Examples of implemented redirects: - -/capit/BK.42a => /capit/<subdir>/bk-nr-042a/ -/capit/Mordek_27 => /capit/<subdir>/mordek-nr-27/ -/bk/42a => /capit/<subdir>/bk-nr-042a/ -/mordek/27 => /capit/<subdir>/mordek-nr-27/ -/siglum/Ba2 => /mss/bamberg-sb-can-7 - - - - - - - - - - do_parse - - bool - - - - wp - - \WP - - - - extra_query_vars - - array|string - - - - - on_wp_get_nav_menu_items - \cceh\capitularia\theme\on_wp_get_nav_menu_items() - - Removes the login menu if already logged in. - This assumes the menu entry is a top-level one with an URL of: #cap_login_menu# - - - - - - - - - items - - array - - - - menu - - object - - - - args - - array - - - - - on_nav_menu_link_attributes - \cceh\capitularia\theme\on_nav_menu_link_attributes() - - Add dynamic url to login menu. Remove text from twitter and fb logos. - - - - - - - - - - - atts - - array - - - - item - - \WP_Post - - - - args - - \stdClass - - - - depth - - int - - - - - on_upload_mimes - \cceh\capitularia\theme\on_upload_mimes() - - Allow upload of SVG files. - - - - - - - - mimes - - array - - - - - on_login_redirect - \cceh\capitularia\theme\on_login_redirect() - - Redirect the user to the current page after login - - - - - - - - - - - redirect_to - - string - - - - requested_redirect_to - - string - - - - user - - \WP_User|\WP_Error - - - - - on_registered_post_type - \cceh\capitularia\theme\on_registered_post_type() - - HACK! make the "WP Help" wiki plugin's post type searchable - - - - - - - - - post_type - - string - - - - post_type_object - - \WP_Post_Type - - - - - on_pre_get_posts - \cceh\capitularia\theme\on_pre_get_posts() - - Search only wiki pages if search string contains 'wiki:' - - - - - - - - query - - \WP_Query - - - - - cap_rest_user_info - \cceh\capitularia\theme\cap_rest_user_info() - - REST endpoint to get user information from auth cookie - - - - - - - - request - - \WP_REST_Request - - - - - on_after_setup_theme - \cceh\capitularia\theme\on_after_setup_theme() - - Remove widget-block-editor - - - - - - - - - - - - - - - - Capitularia Theme functions.php file - Loads the text domain and adds all actions, filters and shortcodes. - -This file executes only logic with side-effects in accordance with PSR-2. -The functions are defined in -:mod:`function-includes.php<themes.Capitularia.functions-include>`. - - - - - - - - - - IMAGE_SERVER_URL - \cceh\capitularia\theme\IMAGE_SERVER_URL - 'http://images.cceh.uni-koeln.de/capitularia/' - - The URL to the Capitularia image server. - - - - - - - - - - - - - - - - - The HTML header. - This is the HTML header that is output on every page. - - - - - - - - - - - - - - - - - - - Template for single posts or multiple excerpts. - - - - - - - - - - - - - - - - - - - - Capitularia Theme page.php file - - - - - - - - - - - - - - - - - - - - Template Name: Blank Page (only header and footer) - Capitularia Theme page_blank.php file - - - - - - - - - - - - - - - - - - - Template Name: Page Without Sidebar - Capitularia Theme page_no-sidebar.php file - - - - - - - - - - - - - - - - - - - Print server info (for debug use only). - - - - - - - - - - - - - - - - - - - The template for displaying Search Results pages. - - - - - - - - - - - - - - - - - - - - Capitularia Theme shortcodes.php file - Define actions for various shortcodes. - - - - - - - - - - - on_shortcode_logged_in - \cceh\capitularia\theme\on_shortcode_logged_in() - - Add the logged_in shortcode. - This shortcode outputs its content only to logged-in users. - -.. code:: - - [logged_in]You are logged in![/logged_in] - - - - - - - - - dummy_atts - - array - - - - content - - string - - - - - on_shortcode_logged_out - \cceh\capitularia\theme\on_shortcode_logged_out() - - Add the logged_out shortcode. - This shortcode outputs its content only to logged-out users. - -.. code:: - - [logged_out]Please log in![/logged_out] - - - - - - - - - dummy_atts - - array - - - - content - - string - - - - - on_shortcode_cap_image_server - \cceh\capitularia\theme\on_shortcode_cap_image_server() - - Add the cap_image_server shortcode. - This shortcode wraps the content in a link to the image server if the user is -logged in. - - - - - - - - atts - - array - - - - content - - string - - - - - get_page_status_in_cache - \cceh\capitularia\theme\get_page_status_in_cache() - - Make sure the status of a page is in the cache. - Some pages with long lists must check the status of hundreds of other pages. -Wordpress turns each status check into one SQL query. This function reads -the statuses of all children of a parent page in one SQL query, potentially -saving hundreds of queries. - - - - - - - path - - string - - - - - if_status - \cceh\capitularia\theme\if_status() - - Find out the status of a page. - - - - - - - - atts - - array - - - - - get_transcribed_in_cache - \cceh\capitularia\theme\get_transcribed_in_cache() - - Cache a list of all manuscripts with a transcription of capitular cap_id - - - - - - - - cap_id - - array - - - - - on_shortcode_if_status - \cceh\capitularia\theme\on_shortcode_if_status() - - Add the if_status shortcode. - This shortcode outputs its content if the ms. has that status. - -.. code:: - - [if_status path="/mss/wien" status="publish"] - <p>Wien is published!</p> - [/if_status] - - - - - - - - - atts - - array - - - - content - - string - - - - - on_shortcode_if_not_status - \cceh\capitularia\theme\on_shortcode_if_not_status() - - Add the if_not_status shortcode. - This shortcode outputs its content if the ms. doesn't have that status. - -.. code:: - - [if_not_status path="/mss/wien" status="publish"] - <p>Wien is not published!</p> - [/if_not_status] - - - - - - - - - atts - - array - - - - content - - string - - - - - if_visible - \cceh\capitularia\theme\if_visible() - - Check if the current user can see a page. - Check if the user's permissions are sufficient to see a particular page. - - - - - - - path - - string - - - - - on_shortcode_if_visible - \cceh\capitularia\theme\on_shortcode_if_visible() - - Add the if_visible shortcode. - This shortcode outputs its content if the current user can see *any* one of -the pages in the path attribute. - -.. code:: - - [if_visible path="/mss/secret.html"] - <div>The secret manuscript.</div> - [/if_visible] - -Use this with multiple pages to find out when to print headers, etc. - -.. code:: - - [if_any_visible path="/mss/leo1.html /mss/leo2.html"] - <h2>Hic sunt leones</h2> - [/if_any_visible] - - - - - - - - - - atts - - array - - - - content - - string - - - - - on_shortcode_if_not_visible - \cceh\capitularia\theme\on_shortcode_if_not_visible() - - Add the if_not_visible shortcode. - This shortcode outputs its content if the current user cannot see *any* one -of the pages in the path attribute. - -.. code:: - - [if_not_visible path="/premium.html"] - <p>Pay to see our boring premium content!</p> - [/if_not_visible] - - - - - - - - - - atts - - array - - - - content - - string - - - - - on_shortcode_if_transcribed - \cceh\capitularia\theme\on_shortcode_if_transcribed() - - Add the if_transcribed shortcode. - This shortcode outputs its content if the capitular was already transcribed -in the manuscript with the xml:id. - -.. code:: - - [if_transcribed ms_id="barcelona-aca-ripoll" cap_id="BK.42"] and <a>here</a>[/if_transcribed] - - - - - - - - - atts - - array - - - - content - - string - - - - - on_shortcode_current_date - \cceh\capitularia\theme\on_shortcode_current_date() - - Add the current_date shortcode. - This shortcode outputs the current date using the preferred date -representation for the current locale without the time. - -.. code:: - - <p>Accessed on: [current_date]</p> - -yields: - -.. code:: - - <p>Accessed on: Jan 1, 1970</p> - - - - - - - - - atts - - array - - - - dummy_content - - string - - - - - on_shortcode_permalink - \cceh\capitularia\theme\on_shortcode_permalink() - - Add the permalink shortcode. - This shortcode outputs the permalink for the current page. - -.. code:: - - <p>URL: [permalink]</p> - -yields: - -.. code:: - - <p>URL: https://example.org/post/123</p> - - - - - - - - - dummy_atts - - array - - - - dummy_content - - string - - - - - on_shortcode_cite_as - \cceh\capitularia\theme\on_shortcode_cite_as() - - Add the cite_as shortcode. - This shortcode outputs a short description of how to cite the post. - -.. code:: - - <p>[cite_as]</p> - - - - - - - - atts - - array - - - - dummy_content - - string - - - - - - - - - - - - - Capitularia Theme sidebars.php file - Register the sidebars for various page types. - - - - - - - - - - - - - - - - - - - Capitularia Theme Widgets - - - - - - - - - - - - - - - - - - - Capitularia Theme Archive Navigation Menu Widget - - - - - - - - - - - - - - Archive_Nav_Menu_Widget - \cceh\capitularia\theme\Archive_Nav_Menu_Widget - - A navigation menu widget for a custom archives menu. - To display the post archives with our custom dynamic menu we need to have the -list of archives somewhere in the HTML page for the menu to grab. This wrapper -injects that list into the HTML page inside a hidden block and then -lets the menu do its thing. - - - - \WP_Nav_Menu_Widget - - - - menu_id - \cceh\capitularia\theme\Archive_Nav_Menu_Widget::$menu_id - - - - - - - - - - - __construct - \cceh\capitularia\theme\Archive_Nav_Menu_Widget::__construct() - - - - - - - - - - widget - \cceh\capitularia\theme\Archive_Nav_Menu_Widget::widget() - - - args - - mixed - - - - instance - - mixed - - - - - - - - - - - - - really WP_Widget (not parent)? - - - - - - Capitularia Theme Categories Navigation Menu Widget - - - - - - - - - - - - - - Categories_Nav_Menu_Widget - \cceh\capitularia\theme\Categories_Nav_Menu_Widget - - A navigation menu widget for a custom categories menu. - To display the post categories with our custom dynamic menu we need to have the -list of categories somewhere in the HTML page for the menu to grab. This wrapper -injects that list into the HTML page inside a hidden block and then -lets the menu do its thing. - - - - \WP_Nav_Menu_Widget - - - - menu_id - \cceh\capitularia\theme\Categories_Nav_Menu_Widget::$menu_id - - - - - - - - - - - __construct - \cceh\capitularia\theme\Categories_Nav_Menu_Widget::__construct() - - - - - - - - - - widget - \cceh\capitularia\theme\Categories_Nav_Menu_Widget::widget() - - - args - - mixed - - - - instance - - mixed - - - - - - - - - - - - - really WP_Widget (not parent)? - - - - - - Capitularia Front Page Image Widget - - - - - - - - - - - - - - Frontpage_Image_Widget - \cceh\capitularia\theme\Frontpage_Image_Widget - - An image widget for the front page. - - - - - \cceh\capitularia\theme\Frontpage_Widget_Base - - - - class - \cceh\capitularia\theme\Frontpage_Widget_Base::$class - - \cceh\capitularia\theme\Frontpage_Widget_Base - HTML class of widget container and body. - - - - - - - - options - \cceh\capitularia\theme\Frontpage_Widget_Base::$options - array() - \cceh\capitularia\theme\Frontpage_Widget_Base - Contains data to build the fields in the 'settings' form. - May be edited in descendand classes to output different fields. - - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Image_Widget::__construct() - - - Constructor - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Widget_Base::__construct() - - \cceh\capitularia\theme\Frontpage_Widget_Base - id - - string - - - - name - - string - - - - widget_ops - - array - - - - Constructor - - - - - - - - - - normalize - \cceh\capitularia\theme\Frontpage_Widget_Base::normalize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Ensure text is a string. - - - - - - - - - strip_tags - \cceh\capitularia\theme\Frontpage_Widget_Base::strip_tags() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Strip HTML tags from text. - - - - - - - - - sanitize - \cceh\capitularia\theme\Frontpage_Widget_Base::sanitize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Sanitize HTML text. - - - - - - - - - make_link - \cceh\capitularia\theme\Frontpage_Widget_Base::make_link() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string - - - - href - - string - - - - classes - 'ssdone' - string - - - - Make an HTML <a> - - - - - - - - - - - the_widget_title - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_title() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget title. - - - - - - - - - - the_widget_body - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_body() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget body. - - - - - - - - - - the_widget_image - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_image() - - \cceh\capitularia\theme\Frontpage_Widget_Base - dummy_args - - array - - - - instance - - array - - - - Output the widget image. - Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png - - - - - - - - - widget - \cceh\capitularia\theme\Frontpage_Widget_Base::widget() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Output the widget. - - - - - - - - - - the_option - \cceh\capitularia\theme\Frontpage_Widget_Base::the_option() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - object - - - - name - - string - - - - caption - - string - - - - placeholder - - string - - - - Output one option field on the admin page. - - - - - - - - - - - - update - \cceh\capitularia\theme\Frontpage_Widget_Base::update() - - \cceh\capitularia\theme\Frontpage_Widget_Base - new_instance - - array - - - - old_instance - - array - - - - Handles updating settings for the current widget instance. - - - - - - - - - - form - \cceh\capitularia\theme\Frontpage_Widget_Base::form() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - array - - - - Outputs the widget settings form. - - - - - - - - - - - - - - - - Capitularia Front Page Logo Widget - - - - - - - - - - - - - - Frontpage_Logo_Widget - \cceh\capitularia\theme\Frontpage_Logo_Widget - - A logo widget for the front page. - - - - - \cceh\capitularia\theme\Frontpage_Widget_Base - - - - class - \cceh\capitularia\theme\Frontpage_Widget_Base::$class - - \cceh\capitularia\theme\Frontpage_Widget_Base - HTML class of widget container and body. - - - - - - - - options - \cceh\capitularia\theme\Frontpage_Widget_Base::$options - array() - \cceh\capitularia\theme\Frontpage_Widget_Base - Contains data to build the fields in the 'settings' form. - May be edited in descendand classes to output different fields. - - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Logo_Widget::__construct() - - - Constructor - - - - - - - make_link - \cceh\capitularia\theme\Frontpage_Logo_Widget::make_link() - - - text - - mixed - - - - link - - mixed - - - - classes - 'ssdone' - mixed - - - - Make an HTML <a> - - - - - - - the_widget_title - \cceh\capitularia\theme\Frontpage_Logo_Widget::the_widget_title() - - - dummy_args - - mixed - - - - dummy_instance - - mixed - - - - Echo the widget title. - - - - - - - the_widget_body - \cceh\capitularia\theme\Frontpage_Logo_Widget::the_widget_body() - - - dummy_args - - mixed - - - - dummy_instance - - mixed - - - - Echo the widget body. - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Widget_Base::__construct() - - \cceh\capitularia\theme\Frontpage_Widget_Base - id - - string - - - - name - - string - - - - widget_ops - - array - - - - Constructor - - - - - - - - - - normalize - \cceh\capitularia\theme\Frontpage_Widget_Base::normalize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Ensure text is a string. - - - - - - - - - strip_tags - \cceh\capitularia\theme\Frontpage_Widget_Base::strip_tags() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Strip HTML tags from text. - - - - - - - - - sanitize - \cceh\capitularia\theme\Frontpage_Widget_Base::sanitize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Sanitize HTML text. - - - - - - - - - make_link - \cceh\capitularia\theme\Frontpage_Widget_Base::make_link() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string - - - - href - - string - - - - classes - 'ssdone' - string - - - - Make an HTML <a> - - - - - - - - - - - the_widget_title - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_title() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget title. - - - - - - - - - - the_widget_body - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_body() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget body. - - - - - - - - - - the_widget_image - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_image() - - \cceh\capitularia\theme\Frontpage_Widget_Base - dummy_args - - array - - - - instance - - array - - - - Output the widget image. - Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png - - - - - - - - - widget - \cceh\capitularia\theme\Frontpage_Widget_Base::widget() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Output the widget. - - - - - - - - - - the_option - \cceh\capitularia\theme\Frontpage_Widget_Base::the_option() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - object - - - - name - - string - - - - caption - - string - - - - placeholder - - string - - - - Output one option field on the admin page. - - - - - - - - - - - - update - \cceh\capitularia\theme\Frontpage_Widget_Base::update() - - \cceh\capitularia\theme\Frontpage_Widget_Base - new_instance - - array - - - - old_instance - - array - - - - Handles updating settings for the current widget instance. - - - - - - - - - - form - \cceh\capitularia\theme\Frontpage_Widget_Base::form() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - array - - - - Outputs the widget settings form. - - - - - - - - - - - - - - - - Capitularia Front Page Text Widget - - - - - - - - - - - - - - Frontpage_Text_Widget - \cceh\capitularia\theme\Frontpage_Text_Widget - - A text widget for the front page. - - - - - \cceh\capitularia\theme\Frontpage_Widget_Base - - - - class - \cceh\capitularia\theme\Frontpage_Widget_Base::$class - - \cceh\capitularia\theme\Frontpage_Widget_Base - HTML class of widget container and body. - - - - - - - - options - \cceh\capitularia\theme\Frontpage_Widget_Base::$options - array() - \cceh\capitularia\theme\Frontpage_Widget_Base - Contains data to build the fields in the 'settings' form. - May be edited in descendand classes to output different fields. - - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Text_Widget::__construct() - - - Constructor - - - - - - - the_widget_image - \cceh\capitularia\theme\Frontpage_Text_Widget::the_widget_image() - - - dummy_args - - mixed - - - - dummy_instance - - mixed - - - - Output the widget image. - Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Widget_Base::__construct() - - \cceh\capitularia\theme\Frontpage_Widget_Base - id - - string - - - - name - - string - - - - widget_ops - - array - - - - Constructor - - - - - - - - - - normalize - \cceh\capitularia\theme\Frontpage_Widget_Base::normalize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Ensure text is a string. - - - - - - - - - strip_tags - \cceh\capitularia\theme\Frontpage_Widget_Base::strip_tags() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Strip HTML tags from text. - - - - - - - - - sanitize - \cceh\capitularia\theme\Frontpage_Widget_Base::sanitize() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string|null - - - - Sanitize HTML text. - - - - - - - - - make_link - \cceh\capitularia\theme\Frontpage_Widget_Base::make_link() - - \cceh\capitularia\theme\Frontpage_Widget_Base - text - - string - - - - href - - string - - - - classes - 'ssdone' - string - - - - Make an HTML <a> - - - - - - - - - - - the_widget_title - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_title() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget title. - - - - - - - - - - the_widget_body - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_body() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Echo the widget body. - - - - - - - - - - the_widget_image - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_image() - - \cceh\capitularia\theme\Frontpage_Widget_Base - dummy_args - - array - - - - instance - - array - - - - Output the widget image. - Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png - - - - - - - - - widget - \cceh\capitularia\theme\Frontpage_Widget_Base::widget() - - \cceh\capitularia\theme\Frontpage_Widget_Base - args - - array - - - - instance - - array - - - - Output the widget. - - - - - - - - - - the_option - \cceh\capitularia\theme\Frontpage_Widget_Base::the_option() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - object - - - - name - - string - - - - caption - - string - - - - placeholder - - string - - - - Output one option field on the admin page. - - - - - - - - - - - - update - \cceh\capitularia\theme\Frontpage_Widget_Base::update() - - \cceh\capitularia\theme\Frontpage_Widget_Base - new_instance - - array - - - - old_instance - - array - - - - Handles updating settings for the current widget instance. - - - - - - - - - - form - \cceh\capitularia\theme\Frontpage_Widget_Base::form() - - \cceh\capitularia\theme\Frontpage_Widget_Base - instance - - array - - - - Outputs the widget settings form. - - - - - - - - - - - - - - - - Capitularia Theme Widgets - - - - - - - - - - - - - - Frontpage_Widget_Base - \cceh\capitularia\theme\Frontpage_Widget_Base - - Base class for the front page widgets. - - - - - \WP_Widget - - - - class - \cceh\capitularia\theme\Frontpage_Widget_Base::$class - - - HTML class of widget container and body. - - - - - - - - options - \cceh\capitularia\theme\Frontpage_Widget_Base::$options - array() - - Contains data to build the fields in the 'settings' form. - May be edited in descendand classes to output different fields. - - - - - - - - __construct - \cceh\capitularia\theme\Frontpage_Widget_Base::__construct() - - - id - - string - - - - name - - string - - - - widget_ops - - array - - - - Constructor - - - - - - - - - - normalize - \cceh\capitularia\theme\Frontpage_Widget_Base::normalize() - - - text - - string|null - - - - Ensure text is a string. - - - - - - - - - strip_tags - \cceh\capitularia\theme\Frontpage_Widget_Base::strip_tags() - - - text - - string|null - - - - Strip HTML tags from text. - - - - - - - - - sanitize - \cceh\capitularia\theme\Frontpage_Widget_Base::sanitize() - - - text - - string|null - - - - Sanitize HTML text. - - - - - - - - - make_link - \cceh\capitularia\theme\Frontpage_Widget_Base::make_link() - - - text - - string - - - - href - - string - - - - classes - 'ssdone' - string - - - - Make an HTML <a> - - - - - - - - - - - the_widget_title - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_title() - - - args - - array - - - - instance - - array - - - - Echo the widget title. - - - - - - - - - - the_widget_body - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_body() - - - args - - array - - - - instance - - array - - - - Echo the widget body. - - - - - - - - - - the_widget_image - \cceh\capitularia\theme\Frontpage_Widget_Base::the_widget_image() - - - dummy_args - - array - - - - instance - - array - - - - Output the widget image. - Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png - - - - - - - - - widget - \cceh\capitularia\theme\Frontpage_Widget_Base::widget() - - - args - - array - - - - instance - - array - - - - Output the widget. - - - - - - - - - - the_option - \cceh\capitularia\theme\Frontpage_Widget_Base::the_option() - - - instance - - object - - - - name - - string - - - - caption - - string - - - - placeholder - - string - - - - Output one option field on the admin page. - - - - - - - - - - - - update - \cceh\capitularia\theme\Frontpage_Widget_Base::update() - - - new_instance - - array - - - - old_instance - - array - - - - Handles updating settings for the current widget instance. - - - - - - - - - - form - \cceh\capitularia\theme\Frontpage_Widget_Base::form() - - - instance - - array - - - - Outputs the widget settings form. - - - - - - - - - - - - - - - - Capitularia Theme Sticky Navigation Menu Widget - - - - - - - - - - - - - - Sticky_Nav_Menu_Widget - \cceh\capitularia\theme\Sticky_Nav_Menu_Widget - - A sticky navigation menu widget for the sidebar. - - - - - \WP_Nav_Menu_Widget - - - - - __construct - \cceh\capitularia\theme\Sticky_Nav_Menu_Widget::__construct() - - - - - - - - - - widget - \cceh\capitularia\theme\Sticky_Nav_Menu_Widget::widget() - - - args - - mixed - - - - instance - - mixed - - - - - - - - - - - on_widget_nav_menu_args - \cceh\capitularia\theme\Sticky_Nav_Menu_Widget::on_widget_nav_menu_args() - - - nav_menu_args - - mixed - - - - dummy_nav_menu - - mixed - - - - args - - mixed - - - - - - - - - - - - - really WP_Widget (not parent)? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/build/py-modindex.html b/docs/build/py-modindex.html deleted file mode 100644 index 32a99c0f..00000000 --- a/docs/build/py-modindex.html +++ /dev/null @@ -1,523 +0,0 @@ - - - - - - Python Module Index — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - -

Python Module Index

- -
- c | - d | - g | - p | - s | - t -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
- c
- collator_server -
 
- d
- data_server -
- db -
 
- g
- geo_server -
 
- p
- plugins -
    - plugins.cap-collation.cap-collation -
    - plugins.cap-collation.functions -
    - plugins.cap-dynamic-menu.cap-dynamic-menu -
    - plugins.cap-dynamic-menu.functions -
    - plugins.cap-file-includer.cap-file-includer -
    - plugins.cap-file-includer.class-file-includer -
    - plugins.cap-file-includer.class-settings-page -
    - plugins.cap-file-includer.footnotes-post-processor-include -
    - plugins.cap-file-includer.functions -
    - plugins.cap-file-includer.post-process-cli -
    - plugins.cap-lib.cap-lib -
    - plugins.cap-lib.class-settings-page -
    - plugins.cap-lib.functions -
    - plugins.cap-meta-search.cap-meta-search -
    - plugins.cap-meta-search.class-highlighter -
    - plugins.cap-meta-search.class-meta-search -
    - plugins.cap-meta-search.class-meta-search-widget -
    - plugins.cap-meta-search.functions -
    - plugins.cap-meta-search.search -
    - plugins.cap-page-generator.cap-page-generator -
    - plugins.cap-page-generator.class-config -
    - plugins.cap-page-generator.class-dashboard-page -
    - plugins.cap-page-generator.class-file-list-table -
    - plugins.cap-page-generator.class-manuscript -
    - plugins.cap-page-generator.class-settings-page -
    - plugins.cap-page-generator.functions -
 
- s
- server -
 
- t
- themes -
    - themes.Capitularia.404 -
    - themes.Capitularia.class-cap-query -
    - themes.Capitularia.footer -
    - themes.Capitularia.front-page -
    - themes.Capitularia.functions -
    - themes.Capitularia.functions-include -
    - themes.Capitularia.header -
    - themes.Capitularia.index -
    - themes.Capitularia.page -
    - themes.Capitularia.page_blank -
    - themes.Capitularia.page_no-sidebar -
    - themes.Capitularia.phpinfo -
    - themes.Capitularia.search -
    - themes.Capitularia.shortcodes -
    - themes.Capitularia.sidebars -
    - themes.Capitularia.widgets.cap-widgets -
    - themes.Capitularia.widgets.class-archive-nav-menu-widget -
    - themes.Capitularia.widgets.class-categories-nav-menu-widget -
    - themes.Capitularia.widgets.class-frontpage-image-widget -
    - themes.Capitularia.widgets.class-frontpage-logo-widget -
    - themes.Capitularia.widgets.class-frontpage-text-widget -
    - themes.Capitularia.widgets.class-frontpage-widget-base -
    - themes.Capitularia.widgets.class-sticky-nav-menu-widget -
- tile_server -
- - -
-
-
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/search.html b/docs/build/search.html deleted file mode 100644 index 3a0d0dfb..00000000 --- a/docs/build/search.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - Search — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - - - -
- -
- -
-
-
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/docs/build/searchindex.js b/docs/build/searchindex.js deleted file mode 100644 index a278d791..00000000 --- a/docs/build/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"alltitles": {"Active Plugins": [[27, "active-plugins"]], "Adding a New User": [[21, "adding-a-new-user"]], "Algorithm": [[6, "algorithm"]], "Apache / PHP": [[4, "apache-php"]], "Apache Web Server": [[13, "apache-web-server"]], "Application Server": [[14, "application-server"]], "Assorted Development Tips": [[0, "assorted-development-tips"]], "Capitularia Documentation": [[2, "capitularia-documentation"]], "Capitularia VM": [[17, "capitularia-vm"]], "Collation Algorithm": [[5, "collation-algorithm"]], "Collation Tool": [[5, "id2"], [28, "collation-tool"]], "Collation Tool Overview": [[5, "collation-tool-overview"]], "Collections": [[6, "collections"]], "Deleting a New User": [[21, "deleting-a-new-user"]], "Developer Manual": [[2, "developer-manual"]], "Developer Notes": [[23, "developer-notes"]], "Development": [[1, "development"]], "Dynamic Menu": [[29, "dynamic-menu"]], "Endpoints": [[14, "endpoints"], [14, "id1"]], "Enqueue Translations": [[23, "enqueue-translations"]], "Extract": [[23, "extract"]], "File Includer": [[30, "file-includer"]], "Full-text Extraction": [[7, "full-text-extraction"]], "Full-text Search Overview": [[7, "full-text-search-overview"]], "Geodata Extraction": [[7, "geodata-extraction"]], "Graph of All Transformations": [[20, "graph-of-all-transformations"]], "Graph of Stylesheet Dependencies": [[20, "graph-of-stylesheet-dependencies"]], "HTML Generation Overview": [[8, "html-generation-overview"]], "Icinga": [[19, "icinga"]], "Indices and tables": [[2, "indices-and-tables"]], "Installation": [[19, "installation"]], "Introduction": [[18, "introduction"]], "JS Files": [[23, "js-files"]], "Javascript": [[28, "module-plugins-cap-collation-front"], [29, "module-plugins-cap-dynamic-menu-front"], [30, "javascript"], [31, "module-plugins-cap-lib-front"], [32, "module-plugins-cap-meta-search-cap-pager"], [33, "module-plugins-cap-page-generator-admin"], [35, "module-themes-Capitularia-admin"], [36, "javascript"]], "Library": [[31, "library"]], "Location of Logfiles": [[4, "location-of-logfiles"]], "Maintenance": [[3, "maintenance"]], "Makefile Overview": [[10, "makefile-overview"]], "Manuscripts do not show up": [[11, "manuscripts-do-not-show-up"]], "Meta Search": [[32, "meta-search"]], "Metadata": [[22, "metadata"]], "Metadata Extraction": [[7, "metadata-extraction"]], "Obsolete Plugins": [[27, "obsolete-plugins"]], "Overviews": [[9, "overviews"]], "PHP": [[28, "module-plugins.cap-collation.cap-collation"], [29, "module-plugins.cap-dynamic-menu.cap-dynamic-menu"], [30, "module-plugins.cap-file-includer.cap-file-includer"], [31, "module-plugins.cap-lib.cap-lib"], [32, "module-plugins.cap-meta-search.cap-meta-search"], [33, "module-plugins.cap-page-generator.cap-page-generator"], [35, "module-themes.Capitularia.404"], [36, "module-themes.Capitularia.widgets.cap-widgets"]], "PHP Files": [[23, "php-files"]], "Page Generator": [[33, "page-generator"]], "Parameters": [[5, "parameters"]], "Phase 1 - Build Table": [[5, "phase-1-build-table"]], "Phase 2 - Backtrack": [[5, "phase-2-backtrack"]], "Postgres Database Structure": [[16, "postgres-database-structure"]], "Pre-Processing of the TEI files": [[5, "pre-processing-of-the-tei-files"]], "Python App Server": [[4, "python-app-server"]], "Python Import Script": [[4, "python-import-script"]], "References": [[5, "references"]], "Restore Database": [[26, "restore-database"]], "SOLR": [[19, "solr"]], "Schema capitularia:": [[16, "schema-capitularia"]], "Schema gis:": [[16, "schema-gis"]], "Search": [[7, "search"]], "Security": [[21, "security"]], "Service": [[19, "service"]], "TSM Backup": [[15, "tsm-backup"]], "Translate": [[23, "translate"]], "Troubleshooting": [[12, "troubleshooting"]], "Troubleshooting the Collation Tool": [[11, "troubleshooting-the-collation-tool"]], "Update": [[15, "update"]], "User Delivery": [[8, "user-delivery"]], "Users and Groups": [[21, "users-and-groups"]], "Users of the VM": [[21, "users-of-the-vm"]], "Vue Files": [[23, "vue-files"]], "Word Comparison Function": [[5, "word-comparison-function"]], "Wordpress": [[24, "wordpress"]], "Wordpress Database Structure": [[22, "wordpress-database-structure"]], "Wordpress Installation": [[25, "wordpress-installation"]], "Wordpress Maintenance": [[26, "wordpress-maintenance"]], "Wordpress Plugins": [[27, "wordpress-plugins"]], "Wordpress Theme": [[34, "wordpress-theme"]], "Wordpress Theme Core": [[35, "wordpress-theme-core"]], "Wordpress Theme Widgets": [[36, "wordpress-theme-widgets"]], "Wordpress Upgrades": [[26, "wordpress-upgrades"]], "XSLT Dependencies": [[10, "xslt-dependencies"]], "XSLT Transformations": [[8, "xslt-transformations"], [20, "xslt-transformations"]], "collator_server": [[14, "module-collator_server"]], "data_server": [[14, "module-data_server"]], "db.py": [[16, "module-db"]], "geo_server": [[14, "module-geo_server"]], "i18n of Javascript": [[23, "i18n-of-javascript"]], "plugins/cap-collation/cap-collation.php": [[28, "plugins-cap-collation-cap-collation-php"]], "plugins/cap-collation/functions.php": [[28, "plugins-cap-collation-functions-php"]], "plugins/cap-collation/src/js/front.js": [[28, "plugins-cap-collation-src-js-front-js"]], "plugins/cap-collation/src/js/main.vue": [[28, "plugins-cap-collation-src-js-main-vue"]], "plugins/cap-collation/src/js/results.vue": [[28, "plugins-cap-collation-src-js-results-vue"]], "plugins/cap-collation/src/js/selector.vue": [[28, "plugins-cap-collation-src-js-selector-vue"]], "plugins/cap-collation/src/js/tools.js": [[28, "plugins-cap-collation-src-js-tools-js"]], "plugins/cap-dynamic-menu/cap-dynamic-menu.php": [[29, "plugins-cap-dynamic-menu-cap-dynamic-menu-php"]], "plugins/cap-dynamic-menu/functions.php": [[29, "plugins-cap-dynamic-menu-functions-php"]], "plugins/cap-dynamic-menu/src/js/front.js": [[29, "plugins-cap-dynamic-menu-src-js-front-js"]], "plugins/cap-file-includer/cap-file-includer.php": [[30, "plugins-cap-file-includer-cap-file-includer-php"]], "plugins/cap-file-includer/class-file-includer.php": [[30, "plugins-cap-file-includer-class-file-includer-php"]], "plugins/cap-file-includer/class-settings-page.php": [[30, "plugins-cap-file-includer-class-settings-page-php"]], "plugins/cap-file-includer/footnotes-post-processor-include.php": [[30, "plugins-cap-file-includer-footnotes-post-processor-include-php"]], "plugins/cap-file-includer/functions.php": [[30, "plugins-cap-file-includer-functions-php"]], "plugins/cap-file-includer/post-process-cli.php": [[30, "plugins-cap-file-includer-post-process-cli-php"]], "plugins/cap-lib/cap-lib.php": [[31, "plugins-cap-lib-cap-lib-php"]], "plugins/cap-lib/class-settings-page.php": [[31, "plugins-cap-lib-class-settings-page-php"]], "plugins/cap-lib/functions.php": [[31, "plugins-cap-lib-functions-php"]], "plugins/cap-lib/src/js/front.js": [[31, "plugins-cap-lib-src-js-front-js"]], "plugins/cap-meta-search/cap-meta-search.php": [[32, "plugins-cap-meta-search-cap-meta-search-php"]], "plugins/cap-meta-search/class-highlighter.php": [[32, "plugins-cap-meta-search-class-highlighter-php"]], "plugins/cap-meta-search/class-meta-search-widget.php": [[32, "plugins-cap-meta-search-class-meta-search-widget-php"]], "plugins/cap-meta-search/class-meta-search.php": [[32, "plugins-cap-meta-search-class-meta-search-php"]], "plugins/cap-meta-search/functions.php": [[32, "plugins-cap-meta-search-functions-php"]], "plugins/cap-meta-search/search.php": [[32, "plugins-cap-meta-search-search-php"]], "plugins/cap-meta-search/src/js/cap-pager.vue": [[32, "plugins-cap-meta-search-src-js-cap-pager-vue"]], "plugins/cap-meta-search/src/js/cap-tab.vue": [[32, "plugins-cap-meta-search-src-js-cap-tab-vue"]], "plugins/cap-meta-search/src/js/front.js": [[32, "plugins-cap-meta-search-src-js-front-js"]], "plugins/cap-meta-search/src/js/main.vue": [[32, "plugins-cap-meta-search-src-js-main-vue"]], "plugins/cap-meta-search/src/js/tools.js": [[32, "plugins-cap-meta-search-src-js-tools-js"]], "plugins/cap-page-generator/cap-page-generator.php": [[33, "plugins-cap-page-generator-cap-page-generator-php"]], "plugins/cap-page-generator/class-config.php": [[33, "plugins-cap-page-generator-class-config-php"]], "plugins/cap-page-generator/class-dashboard-page.php": [[33, "plugins-cap-page-generator-class-dashboard-page-php"]], "plugins/cap-page-generator/class-file-list-table.php": [[33, "plugins-cap-page-generator-class-file-list-table-php"]], "plugins/cap-page-generator/class-manuscript.php": [[33, "plugins-cap-page-generator-class-manuscript-php"]], "plugins/cap-page-generator/class-settings-page.php": [[33, "plugins-cap-page-generator-class-settings-page-php"]], "plugins/cap-page-generator/functions.php": [[33, "plugins-cap-page-generator-functions-php"]], "plugins/cap-page-generator/src/js/admin.js": [[33, "plugins-cap-page-generator-src-js-admin-js"]], "qtranslate-xt": [[26, "qtranslate-xt"]], "server": [[14, "server"]], "themes/Capitularia/404.php": [[35, "namespace-\\cceh\\capitularia\\theme"]], "themes/Capitularia/class-cap-query.php": [[35, "themes-capitularia-class-cap-query-php"]], "themes/Capitularia/footer.php": [[35, "themes-capitularia-footer-php"]], "themes/Capitularia/front-page.php": [[35, "themes-capitularia-front-page-php"]], "themes/Capitularia/functions-include.php": [[35, "themes-capitularia-functions-include-php"]], "themes/Capitularia/functions.php": [[35, "themes-capitularia-functions-php"]], "themes/Capitularia/header.php": [[35, "themes-capitularia-header-php"]], "themes/Capitularia/index.php": [[35, "themes-capitularia-index-php"]], "themes/Capitularia/page.php": [[35, "themes-capitularia-page-php"]], "themes/Capitularia/page_blank.php": [[35, "themes-capitularia-page-blank-php"]], "themes/Capitularia/page_no-sidebar.php": [[35, "themes-capitularia-page-no-sidebar-php"]], "themes/Capitularia/phpinfo.php": [[35, "themes-capitularia-phpinfo-php"]], "themes/Capitularia/search.php": [[35, "themes-capitularia-search-php"]], "themes/Capitularia/shortcodes.php": [[35, "themes-capitularia-shortcodes-php"]], "themes/Capitularia/sidebars.php": [[35, "themes-capitularia-sidebars-php"]], "themes/Capitularia/src/js/admin.js": [[35, "themes-capitularia-src-js-admin-js"]], "themes/Capitularia/src/js/front.js": [[35, "themes-capitularia-src-js-front-js"]], "themes/Capitularia/widgets/cap-widgets.php": [[36, "themes-capitularia-widgets-cap-widgets-php"]], "themes/Capitularia/widgets/class-archive-nav-menu-widget.php": [[36, "namespace-\\cceh\\capitularia\\theme"]], "themes/Capitularia/widgets/class-categories-nav-menu-widget.php": [[36, "themes-capitularia-widgets-class-categories-nav-menu-widget-php"]], "themes/Capitularia/widgets/class-frontpage-image-widget.php": [[36, "themes-capitularia-widgets-class-frontpage-image-widget-php"]], "themes/Capitularia/widgets/class-frontpage-logo-widget.php": [[36, "themes-capitularia-widgets-class-frontpage-logo-widget-php"]], "themes/Capitularia/widgets/class-frontpage-text-widget.php": [[36, "themes-capitularia-widgets-class-frontpage-text-widget-php"]], "themes/Capitularia/widgets/class-frontpage-widget-base.php": [[36, "themes-capitularia-widgets-class-frontpage-widget-base-php"]], "themes/Capitularia/widgets/class-sticky-nav-menu-widget.php": [[36, "themes-capitularia-widgets-class-sticky-nav-menu-widget-php"]], "tile_server": [[14, "module-tile_server"]], "webpack": [[23, "webpack"]], "wordfence": [[26, "wordfence"]], "xslt_dep.py": [[10, "xslt-dep-py"]]}, "docnames": ["development/development", "development/index", "index", "maintenance/index", "maintenance/logfiles", "overviews/collation_tool", "overviews/collections", "overviews/fulltext_search", "overviews/html_generation", "overviews/index", "overviews/makefile", "troubleshooting/collation_tool", "troubleshooting/index", "vm/apache", "vm/app_server", "vm/backup", "vm/database", "vm/index", "vm/intro", "vm/solr", "vm/transformations", "vm/user", "vm/wordpress/database", "vm/wordpress/development", "vm/wordpress/index", "vm/wordpress/installation", "vm/wordpress/maintenance", "vm/wordpress/plugins", "vm/wordpress/plugins/collation-tool", "vm/wordpress/plugins/dynamic-menu", "vm/wordpress/plugins/file-includer", "vm/wordpress/plugins/lib", "vm/wordpress/plugins/meta-search", "vm/wordpress/plugins/page-generator", "vm/wordpress/theme", "vm/wordpress/theme/main", "vm/wordpress/theme/widgets"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["development/development.rst", "development/index.rst", "index.rst", "maintenance/index.rst", "maintenance/logfiles.rst", "overviews/collation_tool.rst", "overviews/collections.rst", "overviews/fulltext_search.rst", "overviews/html_generation.rst", "overviews/index.rst", "overviews/makefile.rst", "troubleshooting/collation_tool.rst", "troubleshooting/index.rst", "vm/apache.rst", "vm/app_server.rst", "vm/backup.rst", "vm/database.rst", "vm/index.rst", "vm/intro.rst", "vm/solr.rst", "vm/transformations.rst", "vm/user.rst", "vm/wordpress/database.rst", "vm/wordpress/development.rst", "vm/wordpress/index.rst", "vm/wordpress/installation.rst", "vm/wordpress/maintenance.rst", "vm/wordpress/plugins.rst", "vm/wordpress/plugins/collation-tool.rst", "vm/wordpress/plugins/dynamic-menu.rst", "vm/wordpress/plugins/file-includer.rst", "vm/wordpress/plugins/lib.rst", "vm/wordpress/plugins/meta-search.rst", "vm/wordpress/plugins/page-generator.rst", "vm/wordpress/theme.rst", "vm/wordpress/theme/main.rst", "vm/wordpress/theme/widgets.rst"], "indexentries": {}, "objects": {"": [[14, 0, 1, "post--collator-collate", "/collator/collate"], [28, 2, 1, "module-plugins-cap-collation-front", "plugins/cap-collation/front"], [28, 2, 1, "module-plugins-cap-collation-main", "plugins/cap-collation/main"], [28, 2, 1, "module-plugins-cap-collation-results", "plugins/cap-collation/results"], [28, 2, 1, "module-plugins-cap-collation-selector", "plugins/cap-collation/selector"], [28, 2, 1, "module-plugins-cap-collation-tools", "plugins/cap-collation/tools"], [29, 2, 1, "module-plugins-cap-dynamic-menu-front", "plugins/cap-dynamic-menu/front"], [31, 2, 1, "module-plugins-cap-lib-front", "plugins/cap-lib/front"], [32, 2, 1, "module-plugins-cap-meta-search-cap-pager", "plugins/cap-meta-search/cap-pager"], [32, 2, 1, "module-plugins-cap-meta-search-cap-tab", "plugins/cap-meta-search/cap-tab"], [32, 2, 1, "module-plugins-cap-meta-search-front", "plugins/cap-meta-search/front"], [32, 2, 1, "module-plugins-cap-meta-search-main", "plugins/cap-meta-search/main"], [32, 2, 1, "module-plugins-cap-meta-search-tools", "plugins/cap-meta-search/tools"], [33, 2, 1, "module-plugins-cap-page-generator-admin", "plugins/cap-page-generator/admin"], [35, 2, 1, "module-themes-Capitularia-admin", "themes/Capitularia/admin"], [35, 2, 1, "module-themes-Capitularia-front", "themes/Capitularia/front"], [28, 6, 0, "-", "\\cceh\\capitularia\\collation_user"], [28, 7, 1, "", "\\cceh\\capitularia\\collation_user\\DOMAIN"], [28, 7, 1, "", "\\cceh\\capitularia\\collation_user\\NAME"], [28, 8, 1, "", "\\cceh\\capitularia\\collation_user\\enqueue_scripts"], [28, 8, 1, "", "\\cceh\\capitularia\\collation_user\\ns"], [28, 8, 1, "", "\\cceh\\capitularia\\collation_user\\on_shortcode"], [29, 6, 0, "-", "\\cceh\\capitularia\\dynamic_menu"], [29, 7, 1, "", "\\cceh\\capitularia\\dynamic_menu\\DOMAIN"], [29, 7, 1, "", "\\cceh\\capitularia\\dynamic_menu\\MAGIC_MENU"], [29, 8, 1, "", "\\cceh\\capitularia\\dynamic_menu\\ns"], [29, 8, 1, "", "\\cceh\\capitularia\\dynamic_menu\\on_enqueue_scripts"], [29, 8, 1, "", "\\cceh\\capitularia\\dynamic_menu\\on_nav_menu_link_attributes"], [30, 6, 0, "-", "\\cceh\\capitularia\\file_includer"], [30, 7, 1, "", "\\cceh\\capitularia\\file_includer\\DOMAIN"], [30, 9, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine"], [30, 10, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine::$do_save"], [30, 10, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine::$post"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine::on_shortcode"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine::on_shortcode_early"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\FileIncluderEngine::on_the_posts"], [30, 7, 1, "", "\\cceh\\capitularia\\file_includer\\NAME"], [30, 7, 1, "", "\\cceh\\capitularia\\file_includer\\OPTIONS"], [30, 9, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page"], [30, 7, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::FOOTNOTE_REF"], [30, 7, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::FOOTNOTE_SPAN"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::__construct"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::display"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::on_options_field_root"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::on_options_field_shortcode"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::on_options_section_general"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::on_validate_options"], [30, 11, 1, "", "\\cceh\\capitularia\\file_includer\\Settings_Page::sanitize_path"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\add_class"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\get_opt"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\get_root"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\has_class"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\insert_footnote_backref"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\insert_footnote_ref"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\is_note"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\is_text_node"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\load_xml_or_html"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\make_shortcode_around"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\merge_notes"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\ns"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\on_admin_menu"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\on_init"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\on_plugin_action_links"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\post_process"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\query_copy"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\remove_node"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\save_html"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\strip_pre"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\word_end_pos"], [30, 8, 1, "", "\\cceh\\capitularia\\file_includer\\wrap"], [31, 6, 0, "-", "\\cceh\\capitularia\\lib"], [31, 7, 1, "", "\\cceh\\capitularia\\lib\\DOMAIN"], [31, 7, 1, "", "\\cceh\\capitularia\\lib\\NAME"], [31, 7, 1, "", "\\cceh\\capitularia\\lib\\OPTIONS"], [31, 9, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page"], [31, 7, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::NONCE_PARAM_NAME"], [31, 7, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::NONCE_SPECIAL_STRING"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::__construct"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::display"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::on_options_field_afs"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::on_options_field_api"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::on_options_section_general"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::on_validate_options"], [31, 11, 1, "", "\\cceh\\capitularia\\lib\\Settings_Page::sanitize_path"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\add_nopriv_action"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\api_json_request"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\check_ajax_referrer"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\enqueue_from_manifest"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\get_image_uri"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\get_manifest_uri"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\get_opt"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\get_published_ids"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\images_dir_path"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\images_dir_uri"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\languages_dir_path"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\load_textdomain"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\make_sort_key"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\ns"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_admin_enqueue_scripts"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_admin_init"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_admin_menu"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_cap_lib_current_user_can"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_cap_lib_get_api_endpoint"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_cap_lib_get_published_ids"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_cap_lib_query_api"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_enqueue_scripts"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_init"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\on_plugin_action_links"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\sane_parse_str"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\save_button"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\urljoin"], [31, 8, 1, "", "\\cceh\\capitularia\\lib\\wp_set_script_translations"], [32, 6, 0, "-", "\\cceh\\capitularia\\meta_search"], [32, 7, 1, "", "\\cceh\\capitularia\\meta_search\\DOMAIN"], [32, 7, 1, "", "\\cceh\\capitularia\\meta_search\\HIGHLIGHT"], [32, 9, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter::escape_search_term"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter::get_bounds"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter::get_snippets"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter::on_get_the_excerpt"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Highlighter::on_the_content"], [32, 9, 1, "", "\\cceh\\capitularia\\meta_search\\MetaSearch"], [32, 10, 1, "", "\\cceh\\capitularia\\meta_search\\MetaSearch::$json"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\MetaSearch::on_get_search_query"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\MetaSearch::on_get_the_excerpt"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\MetaSearch::on_pre_get_posts"], [32, 7, 1, "", "\\cceh\\capitularia\\meta_search\\NAME"], [32, 9, 1, "", "\\cceh\\capitularia\\meta_search\\Widget"], [32, 10, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::$title"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::__construct"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::echo_input"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::echo_options"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::echo_places_tree"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::echo_select"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::form"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::setup"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::the_option"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::update"], [32, 11, 1, "", "\\cceh\\capitularia\\meta_search\\Widget::widget"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\enqueue_scripts"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\get_capitulars"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\is_highlight"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\is_meta_search"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\ns"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\on_cap_meta_search_the_permalink"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\on_init"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\on_query_vars"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\on_template_include"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\on_widgets_init"], [32, 8, 1, "", "\\cceh\\capitularia\\meta_search\\sanitize"], [33, 6, 0, "-", "\\cceh\\capitularia\\page_generator"], [33, 9, 1, "", "\\cceh\\capitularia\\page_generator\\Config"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Config::$options"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Config::$sections"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Config::__construct"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Config::get_opt"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Config::get_opt_path"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Config::init"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Config::section_can"], [33, 7, 1, "", "\\cceh\\capitularia\\page_generator\\DASHBOARD"], [33, 7, 1, "", "\\cceh\\capitularia\\page_generator\\DOMAIN"], [33, 9, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::$pagination_args"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::__construct"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::display"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::display_section"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::format_error_message"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::on_cap_action_file"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::on_cap_load_section"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::process_bulk_actions"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Dashboard_Page::send_json"], [33, 9, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$bulk_actions"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$directory"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$paths"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$section_id"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$status_to_notice_class"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$statuses"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::$xml_path"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::__construct"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::column_cb"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::column_slug"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::column_status"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::column_title"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::get_bulk_actions"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::get_columns"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::get_table_classes"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::handle_row_actions"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::no_items"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::prepare_items"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::scandir_recursive"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\File_List_Table::single_row"], [33, 9, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::$path"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::$section_id"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::$title"], [33, 10, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::$xml_id"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::__construct"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::create_page"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::delete_pages"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::do_action"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_filename"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_page_id"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_path"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_section_id"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_slug"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_slug_with_link"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_slug_with_path"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_status"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_title"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::get_xml_id"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Manuscript::parse_tei"], [33, 7, 1, "", "\\cceh\\capitularia\\page_generator\\NAME"], [33, 7, 1, "", "\\cceh\\capitularia\\page_generator\\OPTIONS"], [33, 9, 1, "", "\\cceh\\capitularia\\page_generator\\Settings_Page"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Settings_Page::__construct"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Settings_Page::display"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Settings_Page::on_options_field"], [33, 11, 1, "", "\\cceh\\capitularia\\page_generator\\Settings_Page::on_validate"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_get_parent_id"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_get_section_page_status"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_get_status"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_make_path_relative_to"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_caption"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_key"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_key_list"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_nothing"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_path"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\cap_sanitize_path_list"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\ns"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_admin_bar_menu"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_admin_enqueue_scripts"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_admin_menu"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_cap_action_file"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_cap_load_section"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_enqueue_scripts"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_init"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_plugin_action_links"], [33, 8, 1, "", "\\cceh\\capitularia\\page_generator\\on_query_vars"], [35, 6, 0, "-", "\\cceh\\capitularia\\theme"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Archive_Nav_Menu_Widget"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Archive_Nav_Menu_Widget::$menu_id"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Archive_Nav_Menu_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Archive_Nav_Menu_Widget::widget"], [35, 9, 1, "", "\\cceh\\capitularia\\theme\\CapQuery"], [35, 7, 1, "", "\\cceh\\capitularia\\theme\\CapQuery::IMAGE_SERVER_URL"], [35, 7, 1, "", "\\cceh\\capitularia\\theme\\CapQuery::MAGIC_LOGIN"], [35, 11, 1, "", "\\cceh\\capitularia\\theme\\CapQuery::parse_search"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Categories_Nav_Menu_Widget"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Categories_Nav_Menu_Widget::$menu_id"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Categories_Nav_Menu_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Categories_Nav_Menu_Widget::widget"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::$class"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::$options"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::form"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::make_link"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::normalize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::sanitize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::strip_tags"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::the_option"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::the_widget_body"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::the_widget_image"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::the_widget_title"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::update"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Image_Widget::widget"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::$class"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::$options"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::form"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::make_link"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::normalize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::sanitize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::strip_tags"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::the_option"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::the_widget_body"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::the_widget_image"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::the_widget_title"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::update"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Logo_Widget::widget"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::$class"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::$options"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::form"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::make_link"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::normalize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::sanitize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::strip_tags"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::the_option"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::the_widget_body"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::the_widget_image"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::the_widget_title"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::update"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Text_Widget::widget"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::$class"], [36, 10, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::$options"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::form"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::make_link"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::normalize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::sanitize"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::strip_tags"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::the_option"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::the_widget_body"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::the_widget_image"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::the_widget_title"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::update"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Frontpage_Widget_Base::widget"], [36, 9, 1, "", "\\cceh\\capitularia\\theme\\Sticky_Nav_Menu_Widget"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Sticky_Nav_Menu_Widget::__construct"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Sticky_Nav_Menu_Widget::on_widget_nav_menu_args"], [36, 11, 1, "", "\\cceh\\capitularia\\theme\\Sticky_Nav_Menu_Widget::widget"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\bk_to_permalink"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\cap_rest_user_info"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\echo_attribute"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\fix_bk_nr"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_content_end"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_content_start"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_main_end"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_main_start"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_page_status_in_cache"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_parent_path"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_permalink_a"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_sidebar_end"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_sidebar_start"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_slug_root"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\get_transcribed_in_cache"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\if_status"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\if_visible"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\ns"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_admin_enqueue_scripts"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_after_setup_theme"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_body_class"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_do_parse_request"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_dropdown_pages_args"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_enqueue_scripts"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_init"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_login_redirect"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_nav_menu_link_attributes"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_pre_get_posts"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_registered_post_type"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_cap_image_server"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_cite_as"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_current_date"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_if_not_status"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_if_not_visible"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_if_status"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_if_transcribed"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_if_visible"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_logged_in"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_logged_out"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_shortcode_permalink"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_the_title"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_upload_mimes"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_wp_get_nav_menu_items"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\on_wp_title"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\siglum_to_permalink"], [35, 8, 1, "", "\\cceh\\capitularia\\theme\\translate_month_year"], [14, 12, 0, "-", "collator_server"], [14, 12, 0, "-", "data_server"], [16, 12, 0, "-", "db"], [14, 12, 0, "-", "geo_server"], [14, 12, 0, "-", "server"], [14, 12, 0, "-", "tile_server"]], "/data/capitularies": [[14, 1, 1, "get--data-capitularies.json-", "json/"]], "/data/capitulary/<cap_id>/chapter/<chapter>/manuscripts": [[14, 1, 1, "get--data-capitulary--cap_id--chapter--chapter--manuscripts.json-", "json/"]], "/data/capitulary/<cap_id>/chapters": [[14, 1, 1, "get--data-capitulary--cap_id--chapters.json-", "json/"]], "/data/capitulary/<cap_id>/manuscripts": [[14, 1, 1, "get--data-capitulary--cap_id--manuscripts.json-", "json/"]], "/data/corresp/<corresp>/manuscripts": [[14, 1, 1, "get--data-corresp--corresp--manuscripts.json-", "json/"]], "/data/manuscripts": [[14, 1, 1, "get--data-manuscripts.json-", "json/"]], "/data/query_manuscript_parts": [[14, 1, 1, "get--data-query_manuscript_parts.json-", "json/"]], "collator_server": [[14, 13, 1, "", "CollatorBlueprint"], [14, 14, 1, "", "CollatorError"], [14, 15, 1, "", "collate"], [14, 15, 1, "", "normalize_with_patterns"], [14, 15, 1, "", "preprocess"]], "data_server": [[14, 13, 1, "", "DataBlueprint"], [14, 15, 1, "", "capitularies"], [14, 15, 1, "", "chapters"], [14, 15, 1, "", "fstat"], [14, 15, 1, "", "highlight"], [14, 15, 1, "", "manuscripts"], [14, 15, 1, "", "places_json"], [14, 15, 1, "", "query_manuscript_parts"], [14, 15, 1, "", "query_manuscripts"], [14, 15, 1, "", "stat"]], "db": [[16, 13, 1, "", "Capitularies"], [16, 13, 1, "", "Chapters"], [16, 13, 1, "", "GeoAreas"], [16, 13, 1, "", "GeoPlaces"], [16, 13, 1, "", "GeoPlacesNames"], [16, 13, 1, "", "Geonames"], [16, 13, 1, "", "Manuscripts"], [16, 13, 1, "", "MnManuscriptsGeoPlaces"], [16, 13, 1, "", "MnMsPartsGeonames"], [16, 13, 1, "", "MsParts"], [16, 13, 1, "", "MssCapitularies"], [16, 13, 1, "", "MssChapters"], [16, 13, 1, "", "MssChaptersText"], [16, 13, 1, "", "XML"]], "db.Capitularies": [[16, 16, 1, "", "cap_id"], [16, 16, 1, "", "title"]], "db.Chapters": [[16, 16, 1, "", "chapter"]], "db.Manuscripts": [[16, 16, 1, "", "filename"], [16, 16, 1, "", "ms_id"], [16, 16, 1, "", "status"], [16, 16, 1, "", "title"]], "db.MsParts": [[16, 16, 1, "", "date"], [16, 16, 1, "", "leaf"], [16, 16, 1, "", "locus_cooked"], [16, 16, 1, "", "msp_part"], [16, 16, 1, "", "written"]], "db.MssCapitularies": [[16, 16, 1, "", "locus"], [16, 16, 1, "", "locus_cooked"], [16, 16, 1, "", "mscap_n"], [16, 16, 1, "", "msp_part"]], "db.MssChapters": [[16, 16, 1, "", "locus"], [16, 16, 1, "", "locus_cooked"], [16, 16, 1, "", "locus_index"], [16, 16, 1, "", "mscap_n"], [16, 16, 1, "", "msp_part"], [16, 16, 1, "", "transcribed"], [16, 16, 1, "", "xml"]], "db.MssChaptersText": [[16, 16, 1, "", "text"], [16, 16, 1, "", "type_"]], "db.XML": [[16, 17, 1, "", "bind_processor"], [16, 17, 1, "", "result_processor"]], "geo_server": [[14, 13, 1, "", "GeoBlueprint"], [14, 15, 1, "", "capitularies_csv"], [14, 15, 1, "", "capitularies_json"], [14, 15, 1, "", "extent_json"], [14, 15, 1, "", "info_json"], [14, 15, 1, "", "msparts_csv"], [14, 15, 1, "", "msparts_json"], [14, 15, 1, "", "mss_csv"], [14, 15, 1, "", "mss_json"], [14, 15, 1, "", "places_capitularies_json"], [14, 15, 1, "", "places_msparts_json"], [14, 15, 1, "", "places_mss_json"]], "plugins.cap-collation": [[28, 12, 0, "-", "cap-collation"], [28, 12, 0, "-", "functions"]], "plugins.cap-dynamic-menu": [[29, 12, 0, "-", "cap-dynamic-menu"], [29, 12, 0, "-", "functions"]], "plugins.cap-file-includer": [[30, 12, 0, "-", "cap-file-includer"], [30, 12, 0, "-", "class-file-includer"], [30, 12, 0, "-", "class-settings-page"], [30, 12, 0, "-", "footnotes-post-processor-include"], [30, 12, 0, "-", "functions"], [30, 12, 0, "-", "post-process-cli"]], "plugins.cap-lib": [[31, 12, 0, "-", "cap-lib"], [31, 12, 0, "-", "class-settings-page"], [31, 12, 0, "-", "functions"]], "plugins.cap-meta-search": [[32, 12, 0, "-", "cap-meta-search"], [32, 12, 0, "-", "class-highlighter"], [32, 12, 0, "-", "class-meta-search"], [32, 12, 0, "-", "class-meta-search-widget"], [32, 12, 0, "-", "functions"], [32, 12, 0, "-", "search"]], "plugins.cap-page-generator": [[33, 12, 0, "-", "cap-page-generator"], [33, 12, 0, "-", "class-config"], [33, 12, 0, "-", "class-dashboard-page"], [33, 12, 0, "-", "class-file-list-table"], [33, 12, 0, "-", "class-manuscript"], [33, 12, 0, "-", "class-settings-page"], [33, 12, 0, "-", "functions"]], "plugins/cap-collation/main": [[28, 3, 1, "plugins-cap-collation-main.Main", "Main"]], "plugins/cap-collation/results": [[28, 3, 1, "plugins-cap-collation-results.Results", "Results"]], "plugins/cap-collation/selector": [[28, 3, 1, "plugins-cap-collation-selector.Selector", "Selector"]], "plugins/cap-collation/tools": [[28, 4, 1, "plugins-cap-collation-tools.LANG", "LANG"], [28, 4, 1, "plugins-cap-collation-tools.Palette", "Palette"], [28, 5, 1, "plugins-cap-collation-tools.api", "api"], [28, 4, 1, "plugins-cap-collation-tools.bk_id", "bk_id"], [28, 5, 1, "plugins-cap-collation-tools.build_witness_url", "build_witness_url"], [28, 4, 1, "plugins-cap-collation-tools.cap_collation_algorithms", "cap_collation_algorithms"], [28, 5, 1, "plugins-cap-collation-tools.encodeRFC5987ValueChars", "encodeRFC5987ValueChars"], [28, 5, 1, "plugins-cap-collation-tools.fix_witness", "fix_witness"], [28, 5, 1, "plugins-cap-collation-tools.insert_css_palette", "insert_css_palette"], [28, 5, 1, "plugins-cap-collation-tools.parse_locus_url", "parse_locus_url"], [28, 5, 1, "plugins-cap-collation-tools.sort_key", "sort_key"], [28, 5, 1, "plugins-cap-collation-tools.unroll_witnesses", "unroll_witnesses"]], "plugins/cap-dynamic-menu/front": [[29, 4, 1, "plugins-cap-dynamic-menu-front.LANG", "LANG"], [29, 5, 1, "plugins-cap-dynamic-menu-front.init_dynamic_menues", "init_dynamic_menues"]], "plugins/cap-meta-search/cap-pager": [[32, 3, 1, "plugins-cap-meta-search-cap-pager.Pager", "Pager"]], "plugins/cap-meta-search/cap-tab": [[32, 3, 1, "plugins-cap-meta-search-cap-tab.Tab", "Tab"]], "plugins/cap-meta-search/front": [[32, 5, 1, "plugins-cap-meta-search-front.-n", "$n"], [32, 5, 1, "plugins-cap-meta-search-front.-t", "$t"], [32, 4, 1, "plugins-cap-meta-search-front.collator", "collator"], [32, 5, 1, "plugins-cap-meta-search-front.help_init", "help_init"], [32, 5, 1, "plugins-cap-meta-search-front.places_tree_init", "places_tree_init"]], "plugins/cap-meta-search/main": [[32, 3, 1, "plugins-cap-meta-search-main.Main", "Main"]], "plugins/cap-meta-search/tools": [[32, 4, 1, "plugins-cap-meta-search-tools.Palette", "Palette"], [32, 5, 1, "plugins-cap-meta-search-tools.api", "api"], [32, 4, 1, "plugins-cap-meta-search-tools.bk_id", "bk_id"], [32, 5, 1, "plugins-cap-meta-search-tools.facets", "facets"], [32, 5, 1, "plugins-cap-meta-search-tools.get_url_search_param", "get_url_search_param"], [32, 5, 1, "plugins-cap-meta-search-tools.insert_css_palette", "insert_css_palette"], [32, 5, 1, "plugins-cap-meta-search-tools.pick_url_search_params", "pick_url_search_params"], [32, 5, 1, "plugins-cap-meta-search-tools.sort_key", "sort_key"]], "plugins/cap-page-generator/admin": [[33, 5, 1, "plugins-cap-page-generator-admin.add_ajax_action", "add_ajax_action"], [33, 5, 1, "plugins-cap-page-generator-admin.deparam", "deparam"], [33, 5, 1, "plugins-cap-page-generator-admin.get_url_parameter", "get_url_parameter"], [33, 5, 1, "plugins-cap-page-generator-admin.init_tabs", "init_tabs"], [33, 5, 1, "plugins-cap-page-generator-admin.make_cb_select_all", "make_cb_select_all"], [33, 5, 1, "plugins-cap-page-generator-admin.on_cap_action_file", "on_cap_action_file"], [33, 5, 1, "plugins-cap-page-generator-admin.on_cap_load_section", "on_cap_load_section"]], "server": [[14, 15, 1, "", "build_parser"]], "themes.Capitularia": [[35, 12, 0, "-", "404"], [35, 12, 0, "-", "class-cap-query"], [35, 12, 0, "-", "footer"], [35, 12, 0, "-", "front-page"], [35, 12, 0, "-", "functions"], [35, 12, 0, "-", "functions-include"], [35, 12, 0, "-", "header"], [35, 12, 0, "-", "index"], [35, 12, 0, "-", "page"], [35, 12, 0, "-", "page_blank"], [35, 12, 0, "-", "page_no-sidebar"], [35, 12, 0, "-", "phpinfo"], [35, 12, 0, "-", "search"], [35, 12, 0, "-", "shortcodes"], [35, 12, 0, "-", "sidebars"]], "themes.Capitularia.widgets": [[36, 12, 0, "-", "cap-widgets"], [36, 12, 0, "-", "class-archive-nav-menu-widget"], [36, 12, 0, "-", "class-categories-nav-menu-widget"], [36, 12, 0, "-", "class-frontpage-image-widget"], [36, 12, 0, "-", "class-frontpage-logo-widget"], [36, 12, 0, "-", "class-frontpage-text-widget"], [36, 12, 0, "-", "class-frontpage-widget-base"], [36, 12, 0, "-", "class-sticky-nav-menu-widget"]], "themes/Capitularia/front": [[35, 5, 1, "themes-Capitularia-front.initFootnoteTooltips", "initFootnoteTooltips"], [35, 5, 1, "themes-Capitularia-front.initLegend", "initLegend"], [35, 5, 1, "themes-Capitularia-front.initResetForm", "initResetForm"]], "tile_server": [[14, 15, 1, "", "info_json"], [14, 13, 1, "", "tileBlueprint"], [14, 15, 1, "", "tile_png"]], "xslt_dep.py": [[10, 18, 1, "cmdoption-xslt_dep.py-h", "--help"], [10, 18, 1, "cmdoption-xslt_dep.py-e", "-e"], [10, 18, 1, "cmdoption-xslt_dep.py-h", "-h"]]}, "objnames": {"0": ["http", "post", "HTTP post"], "1": ["http", "get", "HTTP get"], "2": ["js", "module", "JavaScript module"], "3": ["js", "class", "JavaScript class"], "4": ["js", "data", "JavaScript data"], "5": ["js", "function", "JavaScript function"], "6": ["php", "namespace", "PHP namespace"], "7": ["php", "const", "PHP const"], "8": ["php", "function", "PHP function"], "9": ["php", "class", "PHP class"], "10": ["php", "attr", "PHP attribute"], "11": ["php", "method", "PHP method"], "12": ["py", "module", "Python module"], "13": ["py", "class", "Python class"], "14": ["py", "exception", "Python exception"], "15": ["py", "function", "Python function"], "16": ["py", "attribute", "Python attribute"], "17": ["py", "method", "Python method"], "18": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "http:post", "1": "http:get", "2": "js:module", "3": "js:class", "4": "js:data", "5": "js:function", "6": "php:namespace", "7": "php:const", "8": "php:function", "9": "php:class", "10": "php:attr", "11": "php:method", "12": "py:module", "13": "py:class", "14": "py:exception", "15": "py:function", "16": "py:attribute", "17": "py:method", "18": "std:cmdoption"}, "terms": {"": [5, 7, 8, 10, 16, 19, 21, 23, 28, 29, 30, 31, 32, 33, 35, 36], "0": [5, 6, 16, 28, 29, 30, 31, 32, 33, 35], "00": 5, "000": 5, "04": 5, "040": 5, "042": 35, "042a": 35, "05": [30, 31, 33], "06": 5, "09": [23, 32], "1": [6, 14, 15, 16, 19, 20, 29, 30, 31, 33, 35], "10": 5, "11": [23, 32], "1100": 14, "12": [14, 32], "123": [14, 32, 35], "123_4": 14, "130": 14, "137": 28, "138": 14, "139": [14, 16], "139_2": 16, "14": [5, 15], "140": [5, 14], "145": 14, "15": 15, "162": 5, "168": 14, "17": [14, 18], "18238": 31, "1943": 28, "1970": 35, "1982": 5, "1_inscript": 16, "1_inscriptio": 14, "2": [6, 14, 16, 23, 26, 28, 30, 31, 32, 33, 35], "20": 5, "200": 14, "2009": [30, 31, 33], "2018": [23, 32], "20180813_isp": 15, "2019": [8, 30], "2020": 20, "20a_3": 14, "20b_3": 14, "24": [5, 14], "243v": 14, "26": 5, "263": 14, "27": 35, "2718": 28, "28": [30, 31, 33], "29": 14, "3": [5, 7, 20, 23, 26, 31, 33, 35], "30": 5, "34": 5, "36": 5, "3878": 14, "4": [11, 14, 28, 29, 33], "40": [5, 14], "400": 14, "404": 34, "40_1": 14, "40_4": 28, "42": [16, 33, 35], "42a": 35, "42ra": 16, "44": 5, "45vb": 16, "46": 5, "4626": 31, "5": 35, "50": 5, "500": 5, "53v": 14, "54": 5, "56": 5, "6": [14, 19, 26], "62": 26, "63": 5, "64": 5, "6666": 11, "7": [14, 35], "70": 5, "705": 5, "708": 5, "74": 5, "75": [14, 28], "76": 5, "8": [14, 15], "80": 23, "8081": 23, "84": 5, "9": [14, 19], "90": 5, "94": 5, "94r": 14, "950": 32, "96": 5, "A": [14, 16, 19, 28, 30, 31, 32, 33, 35, 36], "As": 16, "But": 11, "For": [5, 21], "If": [5, 8, 10, 16, 23, 30, 31, 32, 33, 35], "In": [5, 23, 28], "It": [7, 10, 14, 18, 32, 33, 35], "No": [14, 35], "On": [28, 30], "One": [30, 32], "That": 7, "The": [5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], "Then": [5, 8, 23, 26, 32, 33], "There": [7, 16, 18, 23, 26, 29], "These": [20, 31, 33], "To": [5, 7, 14, 15, 16, 21, 23, 25, 29, 30, 33, 36], "WITH": 16, "With": 10, "_": 6, "__": 23, "__construct": [30, 31, 32, 33, 34, 36], "_ajax_nonc": 31, "_cb_": 33, "_i": 6, "_k": 6, "_n": 23, "_one_": 33, "_set": 31, "_slug_": 33, "_status_": 33, "_title_": 33, "_type": 16, "_x": 23, "about": [5, 14, 32], "abov": [14, 33, 35], "absolut": 31, "abstract": 33, "aca": [14, 35], "accept": [30, 35, 36], "access": [4, 8, 21, 22, 23, 26, 27, 35], "accord": [14, 16, 30, 33, 35], "account": [21, 33], "acl": 21, "act": 33, "action": [31, 33, 35], "activ": [5, 24, 26, 28, 32, 33], "actual": [7, 28, 29, 33], "ad": [5, 10, 17, 20, 29, 35], "add": [7, 10, 14, 18, 21, 22, 23, 28, 29, 30, 31, 32, 33, 35], "add_ajax_act": 33, "add_capitularia_us": 21, "add_class": 30, "add_nopriv_act": 31, "add_settings_field": 33, "add_statu": 31, "addenda": 14, "addition": 29, "adjac": [14, 30], "adjust": 26, "admin": [21, 26, 27, 29, 30, 31, 32, 34, 36], "affin": 6, "after": [5, 20, 26, 30, 35], "after_titl": [32, 36], "after_widget": [32, 36], "again": 30, "against": 30, "ajax": [31, 33], "al": 16, "albeit": 16, "algorithm": [9, 28], "align": 5, "all": [5, 6, 7, 8, 10, 11, 14, 16, 17, 18, 21, 23, 25, 26, 28, 29, 30, 31, 32, 33, 35], "allow": [23, 29, 30, 31, 33, 35], "allowedhost": 23, "along": [7, 14, 29], "alreadi": [5, 16, 26, 33, 35], "also": [6, 7, 10, 14, 16, 18, 21, 23, 26, 29, 30, 31, 32, 33, 35], "alter": 16, "altern": 16, "alwai": 30, "alwaysstat": 23, "amd64": 15, "among": 33, "amount": 35, "an": [5, 10, 14, 15, 16, 18, 20, 21, 28, 29, 30, 31, 32, 33, 35, 36], "ancestor": 30, "ani": [14, 28, 29, 30, 31, 32, 33, 35], "annot": 30, "anoth": 23, "answer": 31, "apach": [2, 3, 7, 17, 18, 19, 21], "apache2": 4, "api": [14, 16, 18, 28, 31, 32, 33], "api64": 15, "api_json_request": 31, "apicit": 15, "apostolica": 14, "app": [3, 18, 23, 32], "appear": 33, "append": 33, "applet": [7, 28, 29, 32], "appli": [14, 16], "applic": [2, 5, 7, 17, 18, 19, 21, 23, 28, 31, 32], "approach": 32, "appropri": [5, 7, 8], "ar": [5, 6, 7, 8, 10, 14, 15, 16, 18, 20, 21, 23, 28, 29, 30, 31, 32, 33, 35], "arag\u00f3": 14, "arbitrari": 28, "archiv": [26, 34, 35], "archive_nav_menu_widget": [34, 36], "area": 16, "arg": [29, 32, 33, 35, 36], "argument": [16, 28, 29, 30, 32, 33, 35, 36], "around": [14, 30, 32], "arrai": [14, 23, 28, 29, 30, 31, 32, 33, 35, 36], "arrow": [5, 10], "arxiu": 14, "ask": 14, "assign": [6, 16], "associ": [30, 31, 33], "assort": [1, 2], "assum": [33, 35], "async": 29, "atla": 6, "atom": 23, "att": [29, 30, 35], "attribut": [14, 28, 29, 30, 32, 33, 35], "augment": [30, 31, 33], "auth": 35, "authent": 21, "author": [16, 28, 29, 30, 31, 32, 33], "automag": 33, "automat": 33, "auxiliari": 18, "av": 14, "avail": [14, 23], "avoid": 14, "avranch": 14, "awai": 30, "await": 23, "awar": 32, "axio": 31, "b": [5, 11, 16, 26, 31, 33, 35], "ba": [14, 15], "ba2": 35, "babel": 29, "bacit": 15, "back": [15, 30, 31, 32, 33, 35], "backend": 5, "backref": 30, "backup": [2, 17, 18, 26], "bad": 14, "badia": 14, "bamberg": [14, 35], "bar": 33, "barcelona": [14, 35], "bare": 33, "base": [5, 7, 32, 33, 34, 35], "basi": 15, "basic": 28, "batch": [30, 33], "bav": [14, 28], "bc": 14, "bdb": 14, "becaus": [5, 6, 16, 20, 23, 27, 29, 30, 32, 33, 35], "becom": 29, "befor": [7, 15, 23, 28, 30, 32, 33], "before_titl": [32, 36], "before_widget": [32, 36], "begin": [6, 32], "behavior": 16, "being": [5, 30, 33], "below": 33, "besid": 30, "between": [5, 6, 7, 8, 10, 16, 35], "biblioteca": 14, "biblioth\u00e8qu": 14, "big": 28, "bigger": 14, "bin": [0, 15], "bind": 16, "bind_processor": 16, "biol": 5, "biolog": 5, "bitmask": 5, "bk": [14, 16, 28, 32, 35], "bk1": 31, "bk10": 31, "bk2": 31, "bk_042": 35, "bk_42": 35, "bk_id": [28, 32], "bk_to_permalink": [34, 35], "black": 14, "blank": 35, "block": [28, 35, 36], "blog": [30, 31, 33], "bm": 14, "bn": [14, 28, 31], "bodi": [7, 16, 19, 30, 31, 35, 36], "boilerpl": 23, "bookmark": 35, "bool": [30, 31, 32, 33, 35], "boost": 7, "bootstrap": [23, 35], "border": 14, "bore": 35, "both": [5, 26, 30, 31, 33], "bottom": 5, "boundless": 30, "box": [10, 14, 16, 23, 32], "break": 35, "bring": 5, "brixen": 14, "brown": 5, "browser": [7, 33, 35], "build": [0, 14, 23, 28, 29, 32, 33, 36], "build_pars": 14, "build_witness_url": 28, "built": [5, 7, 14, 19, 29, 30, 32], "bulk": [21, 33], "bulk_act": 33, "bundl": 31, "button": [31, 32, 33, 35], "c": [14, 16], "cach": [0, 5, 7, 8, 14, 16, 33, 35], "cache_dir": 10, "calcul": [5, 6, 28], "call": [5, 10, 15, 16, 23, 28, 30, 31, 32, 33], "callabl": [16, 36], "caller": 35, "came": 32, "can": [5, 6, 10, 14, 16, 19, 21, 22, 23, 27, 28, 30, 31, 32, 33, 35], "cancel": 32, "cannot": [25, 29, 30, 35], "canon": [33, 35], "canonic": 35, "cap": [5, 10, 14, 19, 21, 23, 34], "cap_collation_algorithm": 28, "cap_dynamic_menu": 29, "cap_fi_opt": 30, "cap_get_parent_id": 33, "cap_get_section_page_statu": 33, "cap_get_statu": 33, "cap_highlight_word": 32, "cap_id": [14, 16, 35], "cap_image_serv": 35, "cap_includ": 30, "cap_lib_nonc": 31, "cap_lib_opt": 31, "cap_lib_query_api": 31, "cap_login_menu": 35, "cap_make_path_relative_to": 33, "cap_page_gen": 33, "cap_page_gen_dashboard": 33, "cap_page_gen_opt": 33, "cap_rest_user_info": [34, 35], "cap_sanitize_capt": 33, "cap_sanitize_kei": 33, "cap_sanitize_key_list": 33, "cap_sanitize_noth": 33, "cap_sanitize_path": 33, "cap_sanitize_path_list": 33, "capabl": 31, "capit": [10, 33, 35], "capit_al": 10, "capit_dir": 10, "capitolar": 14, "capitula": 14, "capitular": [5, 14, 16, 18, 32, 35], "capitulari": [0, 6, 7, 14, 16, 18, 32, 33], "capitularia": [0, 4, 7, 8, 10, 11, 13, 14, 15, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33, 34], "capitularia_geo": [7, 16], "capitularia_prj": 0, "capitularies_csv": 14, "capitularies_json": 14, "capqueri": [34, 35], "caption": [29, 32, 33, 35, 36], "cat": 14, "catalogu": 16, "categori": [7, 19, 34], "categories_nav_menu_widget": [34, 36], "caught": 16, "cava": 14, "cceh": [21, 23, 26, 30, 31, 33, 35], "cd": [11, 19, 25, 26], "cdot": 6, "cell": 5, "central": 10, "certain": [11, 33], "chang": [23, 25, 31, 33], "chapter": [5, 7, 11, 14, 16, 18, 19, 32], "charact": 30, "charset": 14, "check": [8, 31, 33, 35], "check_ajax_referr": 31, "check_solr": 19, "checkbox": 33, "chigi": [14, 28], "children": [33, 35], "chokidar": 23, "choos": 33, "chosen": 5, "cite": 35, "cite_a": 35, "class": [14, 16, 28, 29, 34], "class_refer": 32, "claus": 35, "clean": 30, "clear": 11, "cli": [25, 26], "cli_group": 14, "click": [33, 35], "client": [5, 14, 15, 16], "close": 35, "cluster": 6, "code": [14, 23, 28, 29, 30, 33], "codex": 32, "coeffici": 5, "collat": [2, 7, 9, 12, 14, 16, 18, 27, 31, 32], "collatex_serv": 28, "collator_serv": 17, "collatorblueprint": 14, "collatorerror": 14, "collect": [2, 9, 29, 31], "color": [28, 32, 33], "coltyp": 16, "column": [5, 16, 33], "column_cb": 33, "column_nam": 33, "column_slug": 33, "column_statu": 33, "column_titl": 33, "com": [15, 23, 26, 30, 31, 33], "combin": 14, "come": 31, "command": [7, 10, 11, 15, 23, 25], "commandlin": [14, 26], "comment": 10, "common": [5, 23, 33], "commun": 5, "comparison": 9, "compil": 23, "complet": [5, 16, 20, 28, 32], "compliant": 31, "compon": [7, 10, 18, 23, 28, 35], "compos": [14, 32], "concat": 30, "concept": 16, "condit": 14, "config": [0, 22, 23, 28], "configur": [0, 15, 29, 30, 31, 33, 36], "conn": 14, "consid": 14, "consist": [5, 23, 33], "const": [23, 31], "constant": [28, 29, 30, 31, 32, 33, 35], "constructor": [30, 31, 32, 33, 36], "contain": [5, 6, 7, 11, 14, 16, 21, 23, 26, 28, 30, 31, 32, 33, 35, 36], "content": [7, 8, 14, 19, 23, 26, 28, 29, 30, 32, 33, 35], "content_len": 32, "context": [23, 32], "control": [8, 10, 23, 33, 35], "convers": 16, "convert": [8, 14, 18, 30, 32, 33], "cook": 16, "cooki": 35, "copi": [5, 6, 29, 30, 35], "core": [23, 24, 25, 26, 32, 33, 34], "corona": 14, "corpu": [7, 11], "correct": 5, "corrector": 16, "corresp": [14, 16, 28, 35], "correspond": 35, "cosin": 6, "count": [14, 16], "crazi": 5, "creat": [5, 14, 16, 21, 22, 32, 33, 35], "create_pag": 33, "createapp": 23, "critic": 5, "cron": [5, 7, 8, 10, 15, 19, 21, 28, 33], "cross": 33, "css": [23, 28, 29, 32, 33, 35], "csv": 14, "curli": 30, "current": [5, 6, 21, 28, 29, 30, 31, 32, 33, 35, 36], "current_d": 35, "cursor": 16, "custom": [5, 7, 16, 23, 29, 32, 35, 36], "customari": 30, "cut": [5, 14], "d": [5, 6, 14], "d_1": 6, "d_2": 6, "daili": 15, "danger": 30, "dashboard": [25, 28, 30, 31], "dashboard_pag": 33, "data": [5, 7, 8, 13, 14, 15, 16, 21, 26, 28, 29, 30, 32, 33, 36], "data_serv": [17, 32], "databas": [2, 5, 6, 7, 8, 10, 11, 14, 15, 17, 18, 19, 24, 28, 30, 31, 33], "datablueprint": 14, "date": [5, 7, 8, 14, 16, 30, 32, 35], "daten_speichern_teilen_verwalten": 15, "db": 17, "dbapi": 16, "de": [4, 11, 13, 14, 15, 18, 21, 22, 25, 26, 30, 35], "deactiv": 26, "deal": 10, "deb": 15, "debian": [18, 21], "debug": 35, "declar": [30, 35], "decod": 31, "decor": 32, "deep": 29, "def": 32, "default": [10, 14, 16, 26, 29, 30, 31, 32, 33, 35], "default_config_fil": 14, "defin": [5, 6, 16, 29, 35], "dei": 14, "del": 14, "del_capitularia_us": 21, "delet": [17, 33], "delete_pag": 33, "deleted_fil": 15, "deliv": 5, "deliveri": 9, "demand": 21, "denot": 6, "dep": 10, "deparam": 33, "depend": [5, 7, 8, 9, 17, 23, 31, 35], "depositum": 14, "depth": [29, 35], "der": 35, "deriv": [28, 32], "descendand": 36, "describ": 5, "descript": [6, 16, 22, 23, 28, 29, 30, 31, 32, 33, 35], "descriptor": 33, "design": 16, "desir": 5, "destin": [10, 35], "detect": 23, "dev": [0, 23], "develop": [17, 24, 26, 35], "develp": 0, "devhost": 23, "devmiddlewar": 23, "devport": 23, "devserv": 23, "devtool": 23, "df": 6, "di": 14, "dialect": 16, "dialog": 7, "dice": 5, "dict": [14, 32], "dictionari": 35, "did": [16, 30, 32], "die": 31, "differ": [5, 10, 15, 16, 18, 23, 28, 32, 33, 35, 36], "difficult": [30, 31, 33], "difficulti": 30, "dir": 21, "direct": [0, 23], "directli": [5, 7], "directori": [0, 5, 7, 8, 13, 15, 20, 21, 23, 25, 30, 31, 33, 36], "disabl": 30, "disk": 33, "dismiss": 33, "displai": [5, 7, 16, 30, 31, 32, 33, 35, 36], "display_sect": 33, "dist": 23, "distanc": 5, "distinct": 31, "distribut": 31, "div": [30, 32, 35], "dlcdn": 19, "dnb": 16, "do": [12, 16, 23, 28, 30, 32, 33, 36], "do_act": 33, "do_pars": 35, "do_parse_request": 35, "do_sav": 30, "do_settings_field": 33, "do_settings_sect": [30, 31], "doc": [15, 30], "doctor": 35, "doctyp": 30, "document": [6, 29, 30], "documentroot": 21, "doe": [5, 7, 16, 18, 21, 23, 30, 31, 33], "doesn": 35, "dog": 5, "dom": [28, 29, 30, 32], "domain": [23, 28, 29, 30, 31, 32, 33, 35], "domdocu": 30, "domel": 30, "domnod": 30, "domnodelist": 30, "don": 31, "done": [5, 7, 27, 28, 32, 35], "dot": [6, 10], "doubl": 30, "down": [23, 32, 33], "download": 0, "dp": 5, "dpkg": 15, "draft": 35, "draw": 10, "driven": [18, 20], "drop": [30, 32, 33], "dropcap": 30, "dropdown": [33, 35], "dropdown_arg": 35, "drum": 10, "dsm": 15, "dsmc": 15, "dsmcad": 15, "dsmerror": 15, "dsminstr": 15, "dummi": 35, "dummy_arg": [32, 36], "dummy_att": [28, 30, 35], "dummy_cont": [28, 35], "dummy_inst": 36, "dummy_messag": 32, "dummy_nav_menu": 36, "dummy_post": 35, "dump": [15, 18], "duplic": 31, "dure": [5, 7, 8, 26], "dyn": 29, "dynam": [23, 27, 35, 36], "e": [10, 29], "each": [5, 6, 14, 21, 29, 33, 35], "earli": [30, 33], "easier": 30, "easygettext": 23, "ecclesiasticum": 14, "echo": [32, 33, 35, 36], "echo_attribut": [34, 35], "echo_input": 32, "echo_opt": 32, "echo_places_tre": 32, "echo_select": 32, "edit": [21, 35, 36], "editor": [16, 18, 21, 30, 35], "editori": [7, 30], "effect": 35, "eg": [5, 14, 16, 29, 31, 32, 33, 35, 36], "either": [6, 14, 16, 30], "el": 23, "elem": 30, "element": [29, 30, 32, 33], "elig": [14, 35], "els": [31, 35], "elsewher": 31, "embed": 30, "embedd": 30, "emit": 33, "empti": [5, 28, 31, 35], "en": 15, "enabl": [19, 23], "encod": [18, 28], "encoderfc5987valuechar": 28, "end": [6, 28, 30, 32, 33, 35], "endpoint": [28, 31, 32, 33, 35], "engin": [7, 19, 30], "enhanc": 5, "enough": 30, "enqueu": [28, 29, 31, 32, 33, 35], "enqueue_from_manifest": [23, 31], "enqueue_script": [23, 28, 29, 32], "ensur": 36, "enter": [6, 30, 31, 33], "entri": [11, 29, 30, 31, 33, 35], "enum": 33, "environ": [0, 23, 27, 35], "equal": 5, "error": [4, 14, 33], "error_struct": 33, "escap": 32, "escape_search_term": 32, "et": 16, "etc": [14, 16, 19, 21, 30, 35], "euclidean": 6, "ev": 33, "eval": 23, "event": 33, "everi": [5, 18, 29, 31, 35], "everywher": 30, "exact": 7, "exactli": 31, "exampl": [5, 10, 14, 15, 21, 23, 31, 35], "except": [14, 32, 33], "excerpt": [32, 35], "excess": 31, "exclus": 27, "execut": [10, 31, 35], "exhaust": 35, "exist": [31, 35], "exit": 10, "explicitli": 16, "export": 23, "express": 29, "extend": 10, "extens": [5, 16, 33], "extensionpenalti": 5, "extent": 14, "extent_json": 14, "extern": 30, "extra": 35, "extra_query_var": 35, "extract": [5, 9, 16, 28, 32, 33], "extractor": 23, "f": [14, 28, 31, 32], "face": 16, "facet": 32, "factor": 5, "fail": 23, "failur": 31, "fallback": 23, "fals": [10, 14, 23, 30, 31, 32, 33], "fb": 35, "fd": 31, "feasibl": 16, "fend": 30, "ferrara": 14, "few": 32, "field": [6, 16, 29, 30, 31, 32, 33, 36], "field_capt": 33, "field_descript": 33, "field_id": 33, "figur": 35, "file": [0, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 25, 26, 27, 28, 31, 32, 35], "file_includ": 30, "file_list_t": 33, "fileincluderengin": 30, "filenam": [10, 14, 16, 28, 33], "filesystem": [15, 18, 33], "fill": 33, "filter": [14, 30, 32, 35], "filum": 8, "final": [5, 8], "find": [6, 7, 8, 35], "finer": 16, "first": [5, 10, 20, 30, 31, 35], "fit": [29, 31], "fix": [5, 28], "fix_bk_nr": [34, 35], "fix_wit": 28, "flask": 14, "flow": [5, 7, 8, 32], "follow": [5, 7, 10, 16, 19, 30, 32], "followsymlink": 23, "footer": [33, 34], "footnot": [8, 35], "footnote_ref": 30, "footnote_span": 30, "forc": [6, 30], "foreach": 33, "form": [14, 30, 31, 32, 33, 34, 35, 36], "format": [5, 7, 10, 14, 23, 30, 32, 33], "format_error_messag": 33, "formdata": 31, "formula": 5, "found": [5, 16, 22, 30, 31, 32, 33, 35], "fox": 5, "foxi": 5, "frac": [5, 6], "fragm": 14, "frequenc": 6, "fritz": 23, "from": [5, 7, 10, 14, 16, 20, 23, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36], "front": [19, 27, 34, 36], "frontend": 5, "frontpag": [31, 34], "frontpage_image_widget": [34, 36], "frontpage_logo_widget": [34, 36], "frontpage_text_widget": [34, 36], "frontpage_widget_bas": [34, 36], "fr\u00e4nkischen": 35, "fstat": 14, "ftp": 15, "fuck": 30, "full": [2, 9, 10, 15, 19, 32, 33], "fulltext": [7, 11, 14, 18, 32, 35], "function": [9, 16, 18, 23, 27, 34], "function_nam": [28, 29, 30, 31, 32, 33, 35], "futur": 35, "fuzzi": 32, "g": 21, "gap": 5, "gast": 21, "gather": 5, "gener": [2, 9, 10, 18, 20, 22, 23, 27, 28, 29, 30, 31, 32, 35], "geo": 14, "geo_serv": 17, "geoarea": 16, "geoblueprint": 14, "geodata": 9, "geograph": 16, "geojson": 14, "geometri": 14, "geonam": 16, "geoplac": [7, 16], "geoplacesnam": 16, "gephi": 6, "german": [7, 32], "get": [6, 7, 14, 15, 16, 29, 30, 31, 32, 33, 35], "get_api_entrypoint": 31, "get_bound": 32, "get_bulk_act": 33, "get_capitular": 32, "get_column": 33, "get_content_end": [34, 35], "get_content_start": [34, 35], "get_filenam": 33, "get_image_uri": 31, "get_main_end": [34, 35], "get_main_start": [34, 35], "get_manifest_uri": 31, "get_opt": [30, 31, 33], "get_opt_path": 33, "get_page_id": 33, "get_page_status_in_cach": [34, 35], "get_parent_path": [34, 35], "get_path": 33, "get_permalink_a": [34, 35], "get_published_id": 31, "get_root": 30, "get_section_id": 33, "get_sidebar_end": [34, 35], "get_sidebar_start": [34, 35], "get_slug": 33, "get_slug_root": [34, 35], "get_slug_with_link": 33, "get_slug_with_path": 33, "get_snippet": 32, "get_statu": 33, "get_table_class": 33, "get_titl": 33, "get_transcribed_in_cach": [34, 35], "get_url_paramet": 33, "get_url_search_param": 32, "get_xml_id": 33, "getfacl": [21, 26], "getter": 33, "gettext": 23, "gi": 17, "github": 26, "give": [5, 29], "given": [5, 6, 14, 31, 32], "global": [28, 29, 32, 33], "globalproperti": 23, "gnu": 23, "go": [26, 29, 32, 33], "goe": 32, "gotoh": 5, "gotoh1982": 5, "gplv2": [28, 29, 30, 31, 32, 33], "grab": 36, "grai": 5, "grain": 16, "granular": 16, "graph": [6, 10, 17], "graphviz": 10, "group": [10, 17, 26], "guarante": 35, "h": [10, 19], "h2": [23, 35], "h3": 29, "h4": 29, "h5": 29, "h6": 29, "ha": [25, 30, 31, 33, 35], "hack": [30, 31, 33, 35], "had": 30, "hand": [5, 14, 16], "handl": [30, 31, 33, 36], "handle_row_act": 33, "happen": 5, "happi": 35, "hardenberg": 14, "harvest": 19, "has_class": 30, "hash": 5, "have": [5, 14, 21, 26, 29, 30, 33, 35, 36], "he": 20, "head": [30, 35], "header": [5, 14, 23, 33, 34], "help": [10, 14, 26, 32, 33, 35], "help_init": 32, "here": [6, 16, 30, 35], "herrschererlass": 35, "hic": 35, "hidden": 36, "hide": 31, "hierarchi": [14, 16], "high": [5, 14], "highest": 5, "highlight": 14, "hint": 23, "hmr": 23, "hold": 18, "home": [15, 21], "hook": [30, 31, 32, 33, 35], "host": [14, 18, 23], "hot": 23, "hover": [33, 35], "how": [21, 30, 31, 33, 35], "href": 36, "hsa": 14, "html": [2, 9, 10, 18, 20, 21, 23, 28, 29, 30, 32, 33, 35, 36], "http": [5, 14, 15, 18, 19, 23, 26, 30, 31, 32, 33, 35, 36], "human": [28, 32], "hundr": 35, "hyphen": [5, 33], "i": [0, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36], "i1": 14, "i18n": [24, 28, 32], "ibm": 15, "icinga": 17, "icon": 33, "id": [5, 14, 16, 22, 28, 29, 30, 31, 32, 33, 35, 36], "ident": 5, "identifi": 6, "idf": 6, "ie": [7, 35], "if_any_vis": 35, "if_not_statu": 35, "if_not_vis": 35, "if_statu": [34, 35], "if_transcrib": 35, "if_vis": [34, 35], "iff": 33, "ignor": 6, "ignoreiniti": 23, "imag": [23, 31, 34, 35], "image_server_url": [34, 35], "images_dir_path": 31, "images_dir_uri": 31, "implement": [5, 7, 10, 14, 16, 18, 27, 28, 30, 31, 33, 35], "import": [3, 5, 6, 7, 10, 11, 19], "import_data": [5, 7, 10], "import_nam": 14, "import_solr": [7, 19], "import_xml": 0, "importload": 23, "improv": 5, "inarbeit": 21, "includ": [6, 8, 10, 16, 27, 31, 32, 33, 34, 36], "includendum": 8, "inclus": 30, "incom": 28, "incompet": 30, "inconveni": 18, "increas": 5, "increment": 15, "index": [2, 7, 16, 19, 34], "indic": 16, "infer": 16, "info": [14, 35], "info_json": 14, "inform": [14, 29, 32, 33, 35, 36], "init": [19, 33], "init_dynamic_menu": 29, "init_tab": 33, "initfootnotetooltip": [34, 35], "initi": [5, 16, 23, 28, 29, 30, 31, 32, 33, 35], "initlegend": [34, 35], "initresetform": [34, 35], "inject": 36, "innertext": 23, "innumer": 35, "input": [5, 6, 14, 30, 32, 35, 36], "insert": [8, 28, 29, 30, 32, 33], "insert_css_palett": [28, 32], "insert_footnote_backref": 30, "insert_footnote_ref": 30, "insid": [30, 33, 36], "instal": [17, 20, 21, 24, 26, 30], "installationsanleitung": 15, "instanc": [16, 28, 32, 35, 36], "instead": [6, 16, 30, 32, 33], "int": [29, 32, 33, 35], "integ": [5, 14, 16], "interfac": [14, 29, 33], "intermedi": [7, 11], "intern": [10, 21, 33], "internal_nam": 33, "internation": 23, "interv": [5, 7, 8, 10], "introduct": [2, 17], "invalid": 31, "invalidargumentexcept": 30, "invers": [6, 33], "invok": 31, "involv": 10, "io": 10, "is_highlight": 32, "is_meta_search": 32, "is_not": 30, "is_text_nod": 30, "issu": 26, "ist": 23, "item": [29, 31, 32, 33, 35], "its": [5, 6, 7, 18, 28, 30, 31, 32, 33, 35, 36], "iv": [14, 28], "ivrea": 14, "j": [5, 11, 34], "jalign": 5, "jan": 35, "java": [18, 30], "javascript": [5, 24, 27, 34], "jed": 23, "job": 21, "joe": 15, "join": 31, "jqueri": [23, 33, 35], "json": [5, 7, 14, 23, 28, 31, 32, 33], "jstree": 32, "jump": 5, "june": 20, "just": [14, 33], "k": [6, 11], "karl": 32, "kb": 28, "keep": [5, 7, 8], "kei": [23, 28, 30, 31, 32, 33], "kept": [15, 18], "kerbero": 21, "key_list": 33, "kick": 33, "kind": [16, 23], "kitten": 14, "know": [5, 7, 8], "known": 14, "koeln": [4, 11, 13, 14, 15, 18, 21, 22, 25, 26, 30, 35], "kopenhagen": 28, "kwarg": 16, "la": 14, "label": 14, "lack": 29, "laid": 6, "lang": [23, 28, 29, 33], "languag": [10, 28, 29, 30, 31, 32, 33], "languages_dir_path": 31, "last": 5, "lat": [14, 28, 31], "later": [5, 16, 28, 29, 30, 31, 32, 33], "later_hand": 16, "latest": [15, 26], "latin": 7, "layer": 14, "layout": 6, "lazi": 5, "ldf": [10, 33, 35], "lead": [35, 36], "leaf": 16, "left": 5, "legend": 35, "legibu": 14, "length": [5, 6, 28, 32], "leo1": 35, "leo2": 35, "leon": 35, "let": [28, 32, 33, 36], "letter": 5, "level": [5, 29, 35], "levenshtein": 5, "lib": [19, 23], "librari": [5, 23, 27, 28], "licens": [28, 29, 30, 31, 32, 33], "like": [5, 7, 14, 18, 23, 25, 32], "limit": 27, "line": 15, "link": [16, 29, 30, 31, 32, 33, 35, 36], "linux": 15, "linuxx86_deb": 15, "list": [7, 10, 14, 15, 16, 18, 28, 31, 32, 35, 36], "littl": 10, "live": 27, "livereload": 23, "ln": 19, "load": [10, 23, 29, 30, 31, 33, 35], "load_textdomain": [23, 31], "load_xml_or_html": 30, "loader": 23, "local": [0, 19, 28, 31, 32, 35], "localhost": [19, 23], "locat": [2, 3, 13, 14, 15, 26, 33], "loci": 16, "locu": [14, 16, 28], "locus_cook": 16, "locus_index": 16, "log": [4, 6, 7, 13, 15, 31, 35], "logfil": [2, 3, 13, 15], "logged_in": 35, "logged_out": 35, "logic": 35, "login": [26, 35], "login_redirect": 35, "logo": [34, 35], "long": [11, 35], "look": 29, "lose": 23, "lost": 29, "lucen": [7, 19], "m": [16, 21, 35], "machin": [0, 18, 26], "made": [23, 33], "magic": 29, "magic_login": [34, 35], "magic_menu": 29, "mai": [6, 16, 21, 23, 29, 30, 31, 32, 33, 35, 36], "main": [7, 10, 14, 18, 23, 30, 35], "maintain": 30, "mainten": [2, 17, 24], "mak": 0, "make": [0, 7, 10, 11, 15, 16, 18, 19, 23, 28, 29, 30, 31, 32, 33, 35, 36], "make_cb_select_al": 33, "make_link": [34, 36], "make_shortcode_around": 30, "make_sort_kei": 31, "makefil": [0, 2, 5, 7, 8, 9, 18, 20, 28, 33], "manag": [10, 15, 28, 30, 32, 33], "mani": [18, 35], "manifest": [23, 31], "manipul": 32, "manual": [15, 26], "manuscript": [0, 5, 7, 8, 10, 12, 14, 15, 16, 18, 19, 28, 30, 31, 32, 35], "map": [16, 23], "mapid": 14, "mapnik": 14, "marcello": [28, 29, 30, 31, 32, 33], "mark": [16, 32, 35], "markup": 10, "mask": [5, 26], "match": [5, 29, 32], "materi": [7, 16, 30], "mathcal": 5, "matrix": 6, "max": [5, 14, 32], "max_snippet": 32, "mayb": 5, "mbox": [5, 6], "mean": [5, 16], "meckhart": 21, "mediaev": 30, "member": [21, 28], "menu": [23, 27, 30, 31, 33, 34, 35], "menu_id": [34, 36], "merg": [23, 30, 32], "merge_not": 30, "messag": [10, 23, 32, 33], "meta": [7, 14, 19, 27], "metadata": [9, 10, 18, 24, 32, 33], "metasearch": 32, "metatil": 14, "method": [7, 16, 23, 32, 33], "middlewar": 23, "mikeseland": 23, "mileston": 16, "mime": 35, "minifi": 23, "misnom": 33, "mit": 21, "mix": [30, 33], "mkdir": 19, "mmmmmmm": 35, "mnmanuscriptsgeoplac": 16, "mnmspartsgeonam": 16, "mo": 31, "mode": 23, "modena": 14, "modifi": 35, "modul": [2, 14, 16, 21, 23, 29, 35], "mol": 5, "monitor": 19, "month": 35, "month_year": 35, "montli": 15, "monumento": 14, "mordek": [7, 14, 16, 35], "mordek_15": 35, "mordek_27": 35, "more": [5, 6, 7, 8, 16, 29, 30, 31, 33], "mount": [0, 23], "mous": 35, "move": 30, "mperatho": 15, "ms_id": [14, 16, 35], "mscap_n": 16, "msdesc": 16, "msg": [14, 23], "msitem": 16, "msp_part": [14, 16], "mspart": [14, 16], "msparts_csv": 14, "msparts_json": 14, "mss": [7, 14, 16, 33, 35], "mss_capitulari": 16, "mss_chapter": 16, "mss_chapters_text": 16, "mss_csv": 14, "mss_json": 14, "msscapitulari": 16, "msschapter": 16, "msschapterstext": 16, "much": 5, "multipart": 31, "multipl": [18, 30, 31, 35], "municipal": 14, "must": [14, 16, 21, 23, 26, 30, 33, 35], "my": [10, 23, 29, 33], "my_menu": 29, "mysql": [18, 22, 26, 35], "mysqldump": [15, 26], "mysqldump_copi": 15, "n": [5, 14, 16, 26, 28, 29, 30, 31, 32, 33, 34, 35], "n_th": 16, "nagio": 19, "naiv": 32, "name": [14, 15, 16, 23, 28, 29, 30, 31, 32, 33, 35, 36], "nameof": 32, "namespac": [28, 29, 30, 31, 32, 33, 35], "nav": 34, "nav_menu_arg": 36, "navig": [29, 36], "nazional": 14, "necessari": 16, "necessarili": 14, "need": [5, 18, 21, 23, 26, 27, 30, 31, 32, 33, 36], "needleman": 5, "nefari": 30, "nest": 29, "net": 5, "new": [15, 16, 17, 23, 26, 30, 31, 32, 33, 35, 36], "new_inst": [32, 36], "newer": 8, "newli": 33, "newlin": 10, "newstr": 14, "next": [18, 30], "ngettext": 23, "ngram": 14, "nightli": [7, 18, 19, 26], "nmessag": 23, "no_item": 33, "node": [15, 30, 32], "non": 31, "nonc": 31, "nonce_param_nam": 31, "nonce_special_str": 31, "none": [14, 16], "normal": [5, 14, 28, 32, 34, 36], "normalize_with_pattern": 14, "notaft": 14, "notat": 32, "notbefor": 14, "note": [7, 14, 16, 17, 24, 26, 29, 30, 33, 35], "noth": 33, "notic": 33, "nov": [8, 30], "now": [6, 27, 33], "nr": 35, "ntg": 0, "null": [33, 35, 36], "number": [5, 6, 16, 23, 28, 30, 31, 32, 33], "numer": 32, "o": [5, 14, 21], "obertext": [28, 32], "object": [14, 16, 28, 29, 32, 33, 35, 36], "obsolet": 24, "obtain": 5, "occur": 16, "occurr": 6, "off": 30, "offer": [5, 15, 18, 20, 32], "offici": 16, "offset": 32, "often": [6, 16], "ofth": 33, "ok": 14, "old": [26, 27, 29, 30, 31, 32, 33, 35, 36], "old_inst": [32, 36], "older": 14, "oldstr": 14, "on_admin_bar_menu": 33, "on_admin_enqueue_script": [31, 33, 34, 35], "on_admin_init": 31, "on_admin_menu": [30, 31, 33], "on_after_setup_them": [34, 35], "on_body_class": [34, 35], "on_cap_action_fil": 33, "on_cap_lib_current_user_can": 31, "on_cap_lib_get_api_endpoint": 31, "on_cap_lib_get_published_id": 31, "on_cap_lib_query_api": 31, "on_cap_load_sect": 33, "on_cap_meta_search_the_permalink": 32, "on_do_parse_request": [34, 35], "on_dropdown_pages_arg": [34, 35], "on_enqueue_script": [29, 31, 33, 34, 35], "on_get_search_queri": 32, "on_get_the_excerpt": 32, "on_init": [30, 31, 32, 33, 34, 35], "on_login_redirect": [34, 35], "on_nav_menu_link_attribut": [29, 34, 35], "on_options_field": 33, "on_options_field_af": 31, "on_options_field_api": 31, "on_options_field_root": 30, "on_options_field_shortcod": 30, "on_options_section_gener": [30, 31], "on_plugin_action_link": [30, 31, 33], "on_pre_get_post": [32, 34, 35], "on_query_var": [32, 33], "on_registered_post_typ": [34, 35], "on_shortcod": [28, 30], "on_shortcode_cap_image_serv": [34, 35], "on_shortcode_cite_a": [34, 35], "on_shortcode_current_d": [34, 35], "on_shortcode_earli": 30, "on_shortcode_if_not_statu": [34, 35], "on_shortcode_if_not_vis": [34, 35], "on_shortcode_if_statu": [34, 35], "on_shortcode_if_transcrib": [34, 35], "on_shortcode_if_vis": [34, 35], "on_shortcode_logged_in": [34, 35], "on_shortcode_logged_out": [34, 35], "on_shortcode_permalink": [34, 35], "on_template_includ": 32, "on_the_cont": 32, "on_the_content_earli": 30, "on_the_post": 30, "on_the_titl": [34, 35], "on_upload_mim": [34, 35], "on_valid": 33, "on_validate_opt": [30, 31], "on_widget_nav_menu_arg": [34, 36], "on_widgets_init": 32, "on_wp_get_nav_menu_item": [34, 35], "on_wp_titl": [34, 35], "onc": [5, 23], "one": [5, 6, 8, 10, 14, 16, 23, 28, 29, 30, 31, 32, 33, 35, 36], "ones": [14, 16], "onli": [5, 6, 10, 14, 16, 20, 28, 29, 30, 32, 33, 35], "onlin": 5, "onto": [5, 33], "open": [5, 23, 33, 35], "openingpenalti": 5, "openjdk": 18, "openstreetmap": 14, "oper": [5, 33], "opt": 15, "optim": 5, "option": [10, 14, 23, 29, 30, 31, 32, 33, 34, 35, 36], "option_nam": 33, "option_titl": 33, "options_page_id": [30, 31, 33], "order": 16, "org": [16, 19, 23, 32, 33, 35], "origin": [5, 14, 16, 18, 23, 32], "other": [5, 10, 26, 30, 31, 35], "otherwis": [5, 29, 31, 35], "our": [6, 18, 23, 30, 31, 32, 33, 35, 36], "out": [6, 14, 30, 35], "outdat": 30, "output": [10, 23, 28, 29, 30, 31, 32, 33, 35, 36], "outsid": 32, "over": [5, 6, 28, 29, 33, 35], "overlap": [5, 32], "overrid": [32, 33], "overview": [2, 19, 20, 28, 32, 33], "overwrit": 31, "own": [21, 28, 32, 35], "owner": [16, 26], "p": [5, 19, 30, 33, 35], "p_": 5, "pack": 29, "pad": [14, 29, 35], "page": [2, 7, 8, 14, 19, 22, 23, 26, 27, 28, 29, 32, 34, 36], "page_blank": 34, "page_gener": 33, "page_id": [33, 35], "page_no": 34, "pager": 33, "pagin": 33, "pagination_arg": 33, "pai": 35, "pair": [6, 35], "palett": [28, 32], "pam": 21, "pam_krb5": 21, "param": [30, 31, 32, 33], "paramet": [10, 14, 16, 22, 28, 29, 30, 31, 32, 33, 35, 36], "parent": [30, 33, 35], "pari": [14, 28, 31], "pars": [28, 31, 32, 35], "parse_locus_url": 28, "parse_search": [34, 35], "parse_str": 31, "parse_tei": 33, "parser": 14, "part": [5, 10, 14, 16, 32], "partial": [5, 16], "particular": [21, 32, 35], "pass": [8, 30, 31, 33, 35], "password": [16, 21], "past": 15, "patch": 15, "path": [10, 23, 28, 29, 30, 31, 32, 33, 35, 36], "path_id": 33, "path_list": 33, "pathlik": 14, "pattern": 14, "pdf": [5, 15], "penalti": 5, "pend": 35, "per": 14, "perathon": [28, 29, 30, 31, 32, 33], "perform": [14, 32, 33], "period": 7, "permalink": [32, 35], "permiss": [7, 21, 25, 35], "persist": 23, "person": 21, "pg_trgm": 16, "pgettext": 23, "php": [3, 8, 20, 22, 27, 34], "phpinfo": 34, "phrase": 35, "pick": 32, "pick_url_search_param": 32, "place": [7, 14, 16, 30, 32], "placehold": [29, 32, 36], "placement": 14, "places_capitularies_json": 14, "places_json": 14, "places_msparts_json": 14, "places_mss_json": 14, "places_tree_init": 32, "plain": 16, "plan": 8, "planetozh": [30, 31, 33], "pleas": 35, "plot": 6, "plu": 33, "plugin": [5, 7, 8, 17, 18, 19, 22, 23, 24, 25, 26, 35], "plural": [23, 32], "pmatrix": 6, "pmessag": 23, "png": [14, 36], "po": 23, "po2json": 23, "poedit": 23, "point": [5, 14, 33], "popup": 35, "port": [11, 23], "portion": [29, 30], "posit": [16, 30], "possibl": 5, "post": [7, 8, 14, 19, 31, 32, 33, 35, 36], "post840": [10, 35], "post_cont": 35, "post_excerpt": 35, "post_id": 35, "post_process": 30, "post_titl": 35, "post_typ": 35, "post_type_object": 35, "postgi": 16, "postgr": [2, 5, 7, 10, 17, 18, 28], "potenti": [6, 35], "pre": [7, 9, 18, 28, 30], "pre814": [10, 35], "preced": 16, "prefac": 7, "prefer": 35, "prefix": 5, "preg": 32, "preg_": 32, "preg_match": 32, "preg_replac": 32, "premium": 35, "prepar": 33, "prepare_item": 33, "preprocess": [5, 14, 16], "prerequisit": 35, "present": 19, "preserv": 23, "presort": 5, "previou": 35, "primari": 33, "print": [5, 35], "privat": [14, 16, 21, 31, 33, 35], "prj": [11, 14, 19, 20], "probabl": 14, "process": [7, 9, 16, 18, 28, 31, 33], "process_bind_param": 16, "process_bulk_act": 33, "process_result_valu": 16, "processor": [8, 20, 27], "prod": 23, "produc": [14, 20], "product": [6, 23, 26], "program": 32, "project": [10, 16, 18, 20, 21], "projekt": 30, "promis": [28, 32], "proper": 30, "properli": 29, "properti": [30, 32, 33, 36], "protect": [15, 30], "proveni": 30, "provid": [5, 7, 16, 28, 29, 30, 32, 33], "psql": 16, "psr": [30, 35], "publ": [5, 7, 14, 21], "public": [10, 16, 23, 27, 28, 31, 33, 35], "publicpath": 23, "publish": [14, 15, 16, 31, 33, 35], "punctuat": 30, "put": [23, 29, 30, 33], "py": [5, 6, 7, 17, 19, 20, 23], "python": [3, 5, 6, 8, 10, 14, 18, 19, 20, 23, 30, 31], "q": [5, 16, 32, 33, 35], "q_": 5, "qtranslat": [30, 33], "queri": [7, 14, 15, 19, 28, 29, 30, 31, 32, 34], "query_copi": 30, "query_manuscript": 14, "query_manuscript_part": 14, "quick": 5, "quietdep": 23, "quit": 31, "quot": 30, "r": [11, 21, 26], "rais": 30, "random": 35, "rang": [14, 16], "re": [11, 33], "reach": 5, "read": [6, 10, 16, 21, 28, 30, 31, 35], "read_private_pag": 31, "readabl": 28, "real": 29, "reason": 33, "rebuild": 11, "rebuild_db": 16, "receiv": 16, "recogn": [10, 23], "record": 16, "recurs": [10, 33], "redirect": 35, "redirect_to": 35, "redraw": 33, "ref": [30, 35], "refer": [6, 9, 16, 30, 32, 35], "referenc": 10, "referr": 32, "refresh": [8, 33], "reg": 14, "regex": 32, "regexp": 32, "regist": [30, 31, 32, 33, 35], "register_set": [30, 31, 33], "regular": [5, 7, 8], "rel": [6, 16, 28, 30, 31, 32, 33], "relat": [10, 16], "relationship": 16, "relev": 28, "reload": 23, "remain": 5, "remov": [21, 28, 30, 35], "remove_nod": 30, "render": 14, "replac": [5, 15, 26, 28, 29, 32, 33, 36], "repositori": 33, "repres": [6, 28, 33], "represent": [14, 35], "request": [7, 14, 28, 31, 32, 33, 35], "requested_redirect_to": 35, "requir": [23, 29, 31], "reset": 35, "resid": [14, 20, 25], "resolv": [28, 32], "respect": [5, 33, 35], "respons": [14, 31, 33], "responsibilti": 35, "rest": [14, 35], "restart": 15, "restor": 15, "restrict": 14, "result": [5, 6, 7, 16, 19, 30, 32, 33, 35], "result_processor": 16, "retriev": [5, 33, 35], "return": [5, 7, 14, 16, 23, 28, 29, 30, 31, 32, 33, 35, 36], "revers": 5, "rewrit": [8, 20], "rewrittem": 27, "rewritten": [27, 30], "rewrot": 20, "rid": 30, "right": [5, 28, 32], "rigmarol": 32, "ripol": [14, 35], "rm": 26, "roll": 28, "root": [6, 10, 15, 18, 21, 28, 30, 31, 32, 33, 35], "root_path": 14, "routin": 29, "row": [5, 16, 30, 31, 33], "rrzk": [15, 18, 20, 21, 27], "rule": [5, 23], "run": [5, 7, 8, 10, 11, 18, 19, 21, 26, 28, 32], "runtim": [23, 29], "rwx": [21, 26], "rx": 21, "s_": 5, "safe": 32, "sai": [10, 21], "same": [6, 7, 15, 16, 21, 30, 31, 33], "sane": 31, "sane_parse_str": 31, "sanit": [30, 31, 32, 33, 34, 36], "sanitize_path": [30, 31], "sass": 23, "sassopt": 23, "satisfi": 14, "save": [5, 10, 28, 30, 31, 32, 35, 36], "save_button": 31, "save_html": 30, "saxon": [18, 20, 27, 28], "sb": [14, 35], "scan": [7, 10, 33], "scandir_recurs": 33, "schema": 17, "score": 5, "scrape": [10, 16], "scrape_fulltext": 11, "scribenda": 14, "script": [3, 5, 6, 7, 10, 15, 21, 28, 29, 30, 31, 32, 33, 35], "se": 14, "search": [2, 9, 10, 14, 16, 18, 19, 27, 30, 34], "search_path": 16, "searchabl": [30, 35], "second": [5, 10, 16, 31], "secret": 35, "section": [5, 10, 14, 23, 28, 29, 30, 31, 33, 35], "section_can": 33, "section_id": 33, "secur": [17, 31], "see": [13, 14, 21, 22, 23, 28, 29, 30, 31, 32, 33, 35, 36], "select": [11, 15, 31, 32, 33, 35], "self": 30, "semi": 21, "send": [7, 14, 16, 23, 28, 31, 32, 33], "send_json": 33, "sendmessag": 23, "sensibl": [31, 32], "sent": [5, 8, 33], "sep": 35, "separ": [10, 29, 32, 33, 35], "sequenc": 5, "sequenti": 30, "seri": 32, "serv": [13, 14, 23, 28, 32], "server": [0, 2, 3, 5, 7, 15, 17, 18, 19, 21, 23, 25, 28, 30, 31, 32, 33, 35, 36], "servic": [14, 15, 17], "set": [5, 14, 16, 21, 26, 32, 36], "set_": 5, "set_a": 5, "set_b": 5, "setfacl": 21, "settings_pag": [30, 31, 33], "setup": [20, 32, 33], "setupmiddlewar": 23, "sh": [15, 21], "shall": 35, "she": 7, "shingl": 5, "short": [5, 35], "shortcod": [8, 28, 30, 33, 34], "shortcut": 30, "shortocd": 35, "should": [5, 16, 21, 28, 30, 31, 32], "show": [7, 10, 12, 33], "sick": 5, "sickfoxiscrazi": 5, "side": [31, 35], "sideabr": 35, "sidebar": [29, 34, 36], "sigla": 14, "siglum": [14, 35], "siglum_to_permalink": [34, 35], "sign": 29, "silent": 31, "sim": 6, "similar": [5, 6, 7, 28], "simpl": 14, "simpli": [6, 33], "sinc": [16, 35], "singl": [23, 33, 35], "single_row": 33, "singular": [23, 32], "site": [15, 21, 35], "size": 16, "skill": 23, "slash": [30, 31, 35], "slide": 35, "slug": [33, 35], "snippet": [14, 32, 33], "so": [5, 7, 23, 25, 26, 30, 31, 32, 33, 35], "socket": 23, "softwar": [6, 15], "sole": 16, "solo": 11, "solr": [2, 7, 17, 18, 31, 32], "solr_serv": 14, "some": [14, 23, 28, 30, 33, 35], "sometim": 5, "somewhat": [30, 31, 33], "somewher": [33, 36], "sort": [28, 31, 32], "sort_kei": [28, 32], "sortabl": 16, "sourc": [10, 19, 23, 29, 33], "sourceforg": 5, "space": [5, 33, 35], "span": [23, 30], "special": 10, "specif": 16, "specifi": 29, "spectrum": 15, "speed": 14, "split": 5, "sql": [15, 35], "sqlalchemi": 16, "sqrt": 6, "squar": 6, "src": 34, "ssh": [11, 21, 26], "sshf": 0, "staatsbibliothek": 14, "stabl": 18, "stai": 35, "standard": [16, 22, 29, 31, 33], "start": [5, 14, 15, 19, 29, 30, 32, 35], "stat": 14, "statal": 14, "state": 23, "statement": 10, "static": 23, "static_fold": 14, "static_url_path": 14, "statu": [14, 15, 16, 31, 33, 35], "status": [33, 35], "status_to_notice_class": 33, "stdclass": [29, 35], "stdin": 10, "stem": 7, "stemmer": 7, "step": [5, 23, 30], "sticki": 34, "sticky_nav_menu_widget": [34, 36], "still": [8, 21, 23, 33], "stock": [31, 32], "stolen": 33, "stop": 19, "storag": 15, "store": [5, 7, 8, 10, 18, 28, 30, 31, 33], "str": [14, 28, 30], "string": [5, 14, 23, 28, 29, 30, 31, 32, 33, 35, 36], "strip": [30, 36], "strip_pr": 30, "strip_tag": [34, 36], "strpo": 32, "struct": [28, 33], "structur": [2, 17, 24, 32], "stub": 30, "stupid": [23, 32], "style": [10, 14, 23, 33], "stylesheet": [10, 17, 31], "sub": [10, 35], "subclass": 16, "subdir": [15, 35], "subdirectori": [15, 21, 35], "subdomain": 14, "substitut": 30, "substr": 32, "success": [31, 33, 35], "sudo": [15, 16, 19, 21], "suffici": 35, "suffix": 5, "sum_": 6, "sunt": 35, "super": [5, 28], "superus": 16, "support": [23, 28, 32], "sure": 35, "surplu": 11, "surround": [10, 30], "svg": 35, "switch": 6, "sy": 15, "symbol": [30, 35], "system": [14, 19, 21, 25], "systemctl": [15, 19], "systemd": [14, 19], "s\u00f8rensen": 5, "t": [14, 23, 31, 32, 35], "tab": [33, 35], "tabl": [10, 14, 16, 22, 28], "tag": [23, 28, 29, 30, 32, 33, 35, 36], "take": [11, 28, 30], "taken": 29, "talk": 32, "tar": [15, 19], "target": [10, 35], "technic": 6, "tei": [0, 8, 9, 16, 18, 19, 20, 21, 22, 28, 30, 32, 33], "teihead": [7, 16], "tell": 0, "templat": [23, 32, 35], "template_fold": 14, "term": [6, 32, 35], "test": [23, 30], "text": [2, 5, 9, 10, 14, 16, 18, 19, 23, 28, 29, 30, 31, 32, 33, 34, 35], "text_nod": 30, "textcont": 29, "textzeug": [14, 28], "tf": 6, "tgz": 19, "than": [5, 6, 8, 14, 16, 30, 32, 33], "the_opt": [32, 34, 36], "the_post": 30, "the_widget_bodi": [34, 36], "the_widget_imag": [34, 36], "the_widget_titl": [34, 36], "thei": [7, 21, 32, 33], "them": [5, 7, 11, 19, 23, 28, 30, 31, 33], "theme": [17, 18, 23, 24, 25, 26, 31, 32], "themselv": 21, "thequickbrownfoxjumpsoverthelazydog": 5, "thi": [0, 5, 6, 7, 10, 11, 14, 15, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 32, 33, 35, 36], "thing": [14, 30, 35, 36], "those": [14, 30, 32, 33], "three": 5, "through": [19, 20, 21, 23, 29, 31, 32], "thru": [29, 33], "thu": 5, "tile": 14, "tile_png": 14, "tile_serv": 17, "tileblueprint": 14, "time": [5, 6, 11, 35], "tip": [1, 2], "tirreni": 14, "titl": [14, 16, 23, 28, 32, 33, 35, 36], "tiv": 15, "tivoli": 15, "tivsm": 15, "togeth": 6, "too": [18, 30, 33, 35], "tool": [2, 7, 8, 9, 10, 12, 16, 20, 23, 26, 27, 33], "toolbar": 33, "tooltip": [23, 32], "top": [5, 19, 33, 35], "topic": 15, "topmost": 30, "total": 5, "trac": 33, "tradit": [7, 23], "trail": [30, 31, 35], "transclud": 22, "transcrib": [16, 30, 33, 35], "transcript": [7, 14, 16, 33, 35], "transform": [2, 9, 10, 16, 17, 18, 21, 30, 33], "translat": [30, 31, 32, 33, 35], "translate_month_year": [34, 35], "transmogrifi": 29, "tree": [7, 32], "tri": 23, "trigram": [5, 7], "trim": 23, "tripl": 10, "troubleshoot": 2, "true": [23, 30, 31, 32, 33, 35], "try": 30, "tsm": [2, 17, 18], "tsm6": 15, "tsmbac": 15, "ttl": 10, "tunnel": 31, "turn": [28, 35], "turtl": 10, "twitter": 35, "two": [5, 6, 23, 31, 32], "txt": [7, 15], "type": [10, 14, 16, 28, 29, 30, 31, 32, 33, 35, 36], "type_": 16, "typedecor": 16, "typeengin": 16, "types_typedecor": 16, "u": [5, 16, 21, 29, 32], "ubuntu": 15, "ugli": 14, "ui": [33, 35], "unchang": [31, 35], "uncheck": 33, "undat": 10, "under": [21, 30, 31, 33], "unfortun": 16, "uni": [4, 11, 13, 14, 15, 18, 21, 22, 25, 26, 30, 35], "unikim": 21, "uniqu": [14, 33, 35], "unit": [5, 16, 32], "unless": 16, "unord": 32, "unrol": 28, "unroll_wit": 28, "until": 5, "untranscrib": 16, "untransl": [32, 35], "unus": [28, 30, 32, 33, 35, 36], "unwant": 30, "unzip": 26, "up": [5, 7, 8, 12, 14, 15, 30, 33], "updat": [7, 17, 23, 25, 26, 29, 31, 32, 33, 34, 35, 36], "upgrad": 24, "upload": 35, "upon": 33, "uri": [28, 29, 30, 31, 32, 33], "url": [10, 28, 29, 31, 32, 33, 35, 36], "url1": 31, "url2": 31, "url_default": 14, "url_prefix": 14, "urljoin": 31, "urlqueryparam": 32, "urlsearchparam": [28, 32], "us": [5, 6, 7, 10, 13, 14, 15, 16, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35], "usag": [10, 31], "usepol": 23, "user": [2, 5, 7, 9, 10, 16, 17, 19, 26, 28, 29, 30, 31, 32, 33, 35, 36], "userdefinedtyp": 16, "usernam": 21, "usr": 19, "usual": [30, 33], "utf": 14, "util": [23, 28, 32, 33], "v": [5, 6, 23], "v10": 14, "v5": 14, "v8115": 15, "v8r1": 15, "vagu": 6, "valid": [28, 30, 31, 33], "validation_callback": 33, "valu": [5, 16, 30, 31, 32, 33, 35], "value1": 31, "value2": 31, "vanilla": 35, "var": [4, 13, 14, 15, 22, 25, 26, 32, 33], "variabl": [0, 32, 35], "variou": [10, 14, 16, 27, 35], "vaticana": 14, "vatikan": [14, 28], "vec": 6, "vector": 6, "vendor": 31, "veri": [5, 6, 14, 30], "version": [5, 15, 18, 26, 28, 29, 30, 31, 32, 33], "vert": 6, "via": [32, 36], "viaf": 16, "view": [32, 35], "virtual": 18, "visibl": [10, 31], "visual": 6, "vm": [2, 7, 8, 15, 18, 20, 23, 25, 27, 30, 32], "voic": 21, "void": [28, 29, 30, 31, 32, 33, 35, 36], "vue": 5, "w": 28, "wa": [5, 16, 27, 35], "wai": [16, 23, 30, 31, 32, 33, 35], "want": [6, 30, 31, 33, 35], "warn": [11, 33], "watch": 23, "we": [5, 6, 7, 8, 14, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36], "web": [2, 7, 10, 17, 18, 21, 25, 30, 31], "webpack": [24, 28, 29, 31, 32, 35], "webprojekt": [20, 27], "websit": 35, "weekli": 15, "weight": 6, "weimar": 14, "were": [5, 16, 20, 27, 30, 32], "wflog": 26, "wget": [15, 19, 26], "when": [5, 8, 11, 14, 16, 22, 23, 28, 30, 31, 32, 33, 35], "whenev": 33, "where": [0, 6, 10, 23, 31, 35], "wherea": 5, "whether": [7, 16, 35], "which": [5, 6, 8, 14, 15, 16, 18, 29, 30, 32, 35], "while": [7, 27, 35], "white": 14, "whitespac": [30, 35], "whole": [15, 18, 23, 28, 32], "whole_word": 14, "wholesal": 30, "widet": 32, "widget": [24, 34, 35], "widget_op": 36, "wien": 35, "wiki": [21, 35], "wild": 35, "window": 35, "winscp": 21, "wit": [14, 28], "within": 28, "without": [28, 29, 30, 31, 32, 33, 35], "word": [9, 14, 30, 32, 35], "word_": 5, "word_end_po": 30, "wordpress": [2, 3, 5, 6, 7, 8, 13, 16, 17, 18, 19, 23, 28, 29, 30, 31, 32, 33], "work": [30, 32], "workaround": 29, "worpdress": 30, "would": [29, 31, 33], "wp": [22, 23, 25, 26, 33, 35], "wp_admin_bar": 33, "wp_ajax_": 31, "wp_error": 35, "wp_list_tabl": 33, "wp_nav_menu": [29, 35], "wp_post": [29, 30, 35], "wp_post_typ": 35, "wp_postmeta": 22, "wp_queri": [30, 32, 35], "wp_register_sidebar_widget": 36, "wp_rest_request": 35, "wp_set_script_transl": [23, 31], "wp_user": 35, "wp_widget": [32, 36], "wpautop": 30, "wptextur": 30, "wrap": [30, 35], "wrapper": [23, 30, 32, 36], "write": [6, 21, 23, 25, 26, 35], "writetodisk": 23, "written": [5, 8, 16, 18, 20], "wrote": [7, 18, 27], "wunsch": 5, "www": [13, 14, 15, 21, 22, 25, 26], "x": [21, 26, 30, 33], "xgettext": 23, "xml": [7, 10, 14, 16, 19, 22, 30, 31, 32, 33, 35], "xml_id": 33, "xml_path": 33, "xpath": [29, 30], "xpath_query_result": 30, "xsl": [7, 10, 27], "xslt": [0, 2, 9, 11, 17, 18, 21, 27, 28, 30], "xslt_dep": 20, "xsltproc": [20, 27], "xtile": 14, "xvf": 15, "xxxiv": 14, "xyz": 14, "xzf": 19, "ye": 15, "year": [14, 16], "yearli": 15, "yet": [5, 16], "yield": [5, 35], "you": [5, 10, 23, 25, 29, 31, 32, 33, 35], "younger": 14, "your": [0, 23], "ytile": 14, "yyyi": 35, "zip": 26, "zoom": 14, "zu": 21, "zugang": 21}, "titles": ["Assorted Development Tips", "Development", "Capitularia Documentation", "Maintenance", "Location of Logfiles", "Collation Tool Overview", "Collections", "Full-text Search Overview", "HTML Generation Overview", "Overviews", "Makefile Overview", "Troubleshooting the Collation Tool", "Troubleshooting", "Apache Web Server", "Application Server", "TSM Backup", "Postgres Database Structure", "Capitularia VM", "Introduction", "SOLR", "XSLT Transformations", "Users of the VM", "Wordpress Database Structure", "Developer Notes", "Wordpress", "Wordpress Installation", "Wordpress Maintenance", "Wordpress Plugins", "Collation Tool", "Dynamic Menu", "File Includer", "Library", "Meta Search", "Page Generator", "Wordpress Theme", "Wordpress Theme Core", "Wordpress Theme Widgets"], "titleterms": {"1": 5, "2": 5, "404": 35, "activ": 27, "ad": 21, "admin": [33, 35], "algorithm": [5, 6], "all": 20, "apach": [4, 13], "app": 4, "applic": 14, "archiv": 36, "assort": 0, "backtrack": 5, "backup": 15, "base": 36, "build": 5, "cap": [28, 29, 30, 31, 32, 33, 35, 36], "capitularia": [2, 16, 17, 35, 36], "categori": 36, "class": [30, 31, 32, 33, 35, 36], "cli": 30, "collat": [5, 11, 28], "collator_serv": 14, "collect": 6, "comparison": 5, "config": 33, "core": 35, "dashboard": 33, "data_serv": 14, "databas": [16, 22, 26], "db": 16, "delet": 21, "deliveri": 8, "depend": [10, 20], "develop": [0, 1, 2, 23], "do": 11, "document": 2, "dynam": 29, "endpoint": 14, "enqueu": 23, "extract": [7, 23], "file": [5, 23, 30, 33], "footer": 35, "footnot": 30, "front": [28, 29, 31, 32, 35], "frontpag": 36, "full": 7, "function": [5, 28, 29, 30, 31, 32, 33, 35], "gener": [8, 33], "geo_serv": 14, "geodata": 7, "gi": 16, "graph": 20, "group": 21, "header": 35, "highlight": 32, "html": 8, "i18n": 23, "icinga": 19, "imag": 36, "import": 4, "includ": [30, 35], "index": 35, "indic": 2, "instal": [19, 25], "introduct": 18, "j": [23, 28, 29, 31, 32, 33, 35], "javascript": [23, 28, 29, 30, 31, 32, 33, 35, 36], "lib": 31, "librari": 31, "list": 33, "locat": 4, "logfil": 4, "logo": 36, "main": [28, 32], "mainten": [3, 26], "makefil": 10, "manual": 2, "manuscript": [11, 33], "menu": [29, 36], "meta": 32, "metadata": [7, 22], "nav": 36, "new": 21, "note": 23, "obsolet": 27, "overview": [5, 7, 8, 9, 10], "page": [30, 31, 33, 35], "page_blank": 35, "page_no": 35, "pager": 32, "paramet": 5, "phase": 5, "php": [4, 23, 28, 29, 30, 31, 32, 33, 35, 36], "phpinfo": 35, "plugin": [27, 28, 29, 30, 31, 32, 33], "post": 30, "postgr": 16, "pre": 5, "process": [5, 30], "processor": 30, "py": [10, 16], "python": 4, "qtranslat": 26, "queri": 35, "refer": 5, "restor": 26, "result": 28, "schema": 16, "script": 4, "search": [7, 32, 35], "secur": 21, "selector": 28, "server": [4, 13, 14], "servic": 19, "set": [30, 31, 33], "shortcod": 35, "show": 11, "sidebar": 35, "solr": 19, "src": [28, 29, 31, 32, 33, 35], "sticki": 36, "structur": [16, 22], "stylesheet": 20, "tab": 32, "tabl": [2, 5, 33], "tei": 5, "text": [7, 36], "theme": [34, 35, 36], "tile_serv": 14, "tip": 0, "tool": [5, 11, 28, 32], "transform": [8, 20], "translat": 23, "troubleshoot": [11, 12], "tsm": 15, "up": 11, "updat": 15, "upgrad": 26, "user": [8, 21], "vm": [17, 21], "vue": [23, 28, 32], "web": 13, "webpack": 23, "widget": [32, 36], "word": 5, "wordfenc": 26, "wordpress": [22, 24, 25, 26, 27, 34, 35, 36], "xslt": [8, 10, 20], "xslt_dep": 10, "xt": 26}}) \ No newline at end of file diff --git a/docs/build/troubleshooting/collation_tool.html b/docs/build/troubleshooting/collation_tool.html deleted file mode 100644 index 26bb6695..00000000 --- a/docs/build/troubleshooting/collation_tool.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Troubleshooting the Collation Tool — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Troubleshooting the Collation Tool

-
-

Manuscripts do not show up

-

Manuscripts that contain a certain chapter do not show up in the collation tool -when that chapter is selected.

-

This command rebuilds all intermediate files and re-imports them into the -database. (But will not clear surplus entries in the database.)

-

Warning: Takes a long time to run.

-
ssh capitularia@capitularia.uni-koeln.de
-
-
-
cd ~/prj/capitularia/capitularia/xslt
-solo -port=6666 make -B -k -r -j 4 corpus fulltext scrape_fulltext
-
-
-
-
- - -
-
-
- -
- -
-

© Copyright 2018-24 CCeH - Licensed under the GNU GPL v3 or later.

-
- - Built with Sphinx using a - theme - provided by Read the Docs. - - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/troubleshooting/index.html b/docs/build/troubleshooting/index.html deleted file mode 100644 index 051a7988..00000000 --- a/docs/build/troubleshooting/index.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - Troubleshooting — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Troubleshooting

- -
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/apache.html b/docs/build/vm/apache.html deleted file mode 100644 index 1269a6b7..00000000 --- a/docs/build/vm/apache.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - Apache Web Server — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Apache Web Server

-

The Apache Web Server is used to serve Wordpress.

-

The data directory is /var/www/capitularia.uni-koeln.de.

-

Location of log files, see: Location of Logfiles.

-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/app_server.html b/docs/build/vm/app_server.html deleted file mode 100644 index 37d5ed11..00000000 --- a/docs/build/vm/app_server.html +++ /dev/null @@ -1,825 +0,0 @@ - - - - - - - Application Server — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Application Server

-

The application server is built with Python and Flask.

-

The application server resides at ~capitularia/prj/capitularia/capitularia/server/. -It is started as a systemd service by /etc/systemd/system/capitularia.service.

-

It is composed of these modules:

-
-

server

-

The main server module.

-

The API server for Capitularia.

-
-
-build_parser(default_config_file)
-

Build the commandline parser.

-
- -
-
-

data_server

-

Data API server for Capitularia.

-

REST Interface to perform various database queries.

-
-

Endpoints

-
-
-GET /data/manuscripts.json/
-

Return all manuscripts.

-

Example request:

-
GET /data/manuscripts.json/?status=publish HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/avranches-bm-145.xml",
-    "ms_id": "avranches-bm-145",
-    "title": "Avranches, Bibliothèque municipale, 145",
-    "siglum": "Av"
-  },
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/bamberg-sb-can-12.xml",
-    "ms_id": "bamberg-sb-can-12",
-    "title": "Bamberg, Staatsbibliothek, Can. 12"
-    "siglum": "Ba",
-  },
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/barcelona-aca-ripoll-40.xml",
-    "ms_id": "barcelona-aca-ripoll-40",
-    "title": "Barcelona, Arxiu de la Corona d'Aragó, Ripoll 40"
-    "siglum": "Bc",
-  }
-]
-
-
-
-
Query Parameters:
-
    -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
  • siglum (string) – Optional. Return only manuscripts that have the given siglum. -Note: sigla are not necessarily unique.

  • -
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-GET /data/capitularies.json/
-

Return all capitularies that have a transcription.

-

Example request:

-
GET /data/capitularies.json/?status=private HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {
-    "cap_id": "BK.138",
-    "title": "Capitulare ecclesiasticum",
-    "transcriptions": 17
-  },
-  {
-    "cap_id": "BK.139",
-    "title": "Capitula legibus addenda",
-    "transcriptions": 29
-  },
-  {
-    "cap_id": "BK.140",
-    "title": "Capitula per se scribenda",
-    "transcriptions": 24
-  }
-]
-
-
-
-
Query Parameters:
-
    -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-GET /data/capitulary/<cap_id>/chapters.json/
-

Return all chapters in capitulary cap_id.

-

Example request:

-
GET /data/capitulary/BK.168/chapters.json/ HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {
-    "cap_id": "BK.168",
-    "chapter": "1",
-    "transcriptions": 7
-  },
-  {
-    "cap_id": "BK.168",
-    "chapter": "1_inscriptio",
-    "transcriptions": 1
-  },
-  {
-    "cap_id": "BK.168",
-    "chapter": "2",
-    "transcriptions": 8
-  }
-]
-
-
-
-
Query Parameters:
-
    -
  • cap_id – The capitulary id, eg. ‘BK.123’ or ‘Mordek.4’

  • -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-GET /data/capitulary/<cap_id>/manuscripts.json/
-

Return all manuscripts containing capitulary cap_id.

-

Example request:

-
GET /data/capitulary/BK.40/manuscripts.json/ HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {"ms_id":"bk-textzeuge"},
-  {"ms_id":"vatikan-bav-chigi-f-iv-75"}
-]
-
-
-
-
Query Parameters:
-
    -
  • cap_id – The capitulary id, eg. ‘BK.123’ or ‘Mordek.4’

  • -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-GET /data/corresp/<corresp>/manuscripts.json/
-

Return all manuscripts containing corresp.

-

Example request:

-
GET /data/corresp/BK.40_1/manuscripts.json/ HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/cava-dei-tirreni-bdb-4.xml",
-    "locus": "cava-dei-tirreni-bdb-4-243v-1",
-    "ms_id": "cava-dei-tirreni-bdb-4",
-    "siglum": "C",
-    "n": 1,
-    "title": "Cava de' Tirreni, Biblioteca Statale del Monumento Nazionale Badia di Cava, 4",
-    "type": "original"
-  },
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/ivrea-bc-xxxiv.xml",
-    "locus": "ivrea-bc-xxxiv-53v-8",
-    "ms_id": "ivrea-bc-xxxiv",
-    "siglum": "I1",
-    "n": 1,
-    "title": "Ivrea, Biblioteca Capitolare, XXXIV",
-    "type": "original"
-  },
-  {
-    "filename": "file:/var/www/.../cap/publ/mss/vatikan-bav-chigi-f-iv-75.xml",
-    "locus": "vatikan-bav-chigi-f-iv-75-94r-6",
-    "ms_id": "vatikan-bav-chigi-f-iv-75",
-    "siglum": "V5",
-    "n": 1,
-    "title": "Vatikan, Biblioteca Apostolica Vaticana, Chigi F. IV. 75",
-    "type": "original"
-  }
-]
-
-
-
-
Query Parameters:
-
    -
  • corresp (string) – The @corresp, eg. ‘BK.123_4’

  • -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-GET /data/capitulary/<cap_id>/chapter/<chapter>/manuscripts.json/
-

Return all manuscripts containing chapter.

-

Example request:

-
GET /data/capitulary/BK.40/chapter/1/manuscripts.json/ HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-
-
-
-
Query Parameters:
-
    -
  • cap_id (string) – The capitulary id, eg. ‘BK.123’ or ‘Mordek.4’

  • -
  • chapter (string) – The chapter, eg. ‘1’ or ‘1_inscriptio’

  • -
  • status (string) – Optional. ‘private’ or ‘publish’. Default ‘publish’. -Consider all manuscripts or just the published ones.

  • -
-
-
-

Response format see above.

-
- -
-
-GET /data/query_manuscript_parts.json/
-

Return all manuscript parts that satisfy a set of conditions.

-

This endpoint can be use to query convert attributes like date range or place of -origin into a list of eligible manuscript parts. The solr_server can then be queried -restricted to those manuscript parts.

-
-
Query Parameters:
-
    -
  • status (string) – Optional. Return all or only published msparts, -must be either ‘publish’ or ‘private’, defaults to ‘publish’.

  • -
  • notbefore (integer) – Optional. The mspart must not be older than this year

  • -
  • notafter (integer) – Optional. The mspart must not be younger than this year

  • -
  • places (list[string]) – Optional. List of places, the mspart must originate from one of these places

  • -
-
-
-

Example request:

-
GET /data/query_manuscript_parts.json/?notbefore=1100&places[]=ferrara&places[]=brixen HTTP/1.1
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-[
-  {"ms_id":"modena-as-130","msp_part":""},
-  {"ms_id":"paris-bn-lat-3878","msp_part":""},
-  {"ms_id":"weimar-hsa-depositum-hardenberg-fragm-9","msp_part":""}
-]
-
-
-
- -
-
-
-class DataBlueprint(name: str, import_name: str, static_folder: str | ~os.PathLike[str] | None = None, static_url_path: str | None = None, template_folder: str | ~os.PathLike[str] | None = None, url_prefix: str | None = None, subdomain: str | None = None, url_defaults: dict[str, ~typing.Any] | None = None, root_path: str | None = None, cli_group: str | None = <object object>)
-
- -
-
-capitularies()
-

Return all capitularies with transcriptions.

-
- -
-
-chapters(cap_id)
-

Return all chapters in capitulary cap_id.

-
- -
-
-fstat()
-

Create a filter on page status.

-
- -
-
-highlight(conn, text, fulltext)
-

Snippet and highlight

-

Produce snippets out of the text around any of the words in fulltext and -highlight those words in the snippets.

-
- -
-
-manuscripts()
-

Return all manuscripts

-
- -
-
-places_json()
-

Return hierarchy of known places for the meta-search box.

-
- -
-
-query_manuscript_parts()
-

Returns a list of manuscript parts.

-
- -
-
-query_manuscripts()
-

Return manuscripts according to query.

-
- -
-
-stat()
-

Create a filter on page status.

-
- -
-
-

collator_server

-

This module implements the collator API for the Capitularia Application Server.

-
-

Endpoints

-
-
-POST /collator/collate
-

Collate sections of witnesses.

-

Example request:

-
POST /collator/collate HTTP/1.1
-Host: api.capitularia.uni-koeln.de
-Content-Type: application/json;charset=utf-8
-
-{
-    "collate": [
-        "BK.20a_3/bk-textzeuge",
-        "BK.20b_3/bk-textzeuge",
-        "BK.20b_3/vatikan-bav-reg-lat-263[V10]"
-        "BK.20b_3/vatikan-bav-reg-lat-263[V10]?hands=XYZ"
-        "BK.20b_3/vatikan-bav-reg-lat-263[V10]?hands=XYZ#2"
-    ]
-}
-
-
-
-
-

Example response:

-
HTTP/1.1 200 OK
-Content-Type: application/json;charset=utf-8
-
-{
-  "witnesses": [
-    "BK.20a_3/bk-textzeuge",
-    "BK.20b_3/bk-textzeuge",
-    "BK.20b_3/vatikan-bav-reg-lat-263[V10]"
-  ],
-  "table":[
-    [ [ {"t": "A",     "n": "a" } ],     [ {"t": "A",      "n": "a" } ] ],
-    [ [ {"t": "black", "n": "black" } ], [ {"t": "white",  "n": "white" } ] ],
-    [ [ {"t": "cat",   "n": "cat" } ],   [ {"t": "kitten", "n": "kitten" } ] ]
-  ]
-}
-
-
-
-
Response Headers:
-
-
-
Status Codes:
-
-
-
-
- -
-
-
-class CollatorBlueprint(name: str, import_name: str, static_folder: str | ~os.PathLike[str] | None = None, static_url_path: str | None = None, template_folder: str | ~os.PathLike[str] | None = None, url_prefix: str | None = None, subdomain: str | None = None, url_defaults: dict[str, ~typing.Any] | None = None, root_path: str | None = None, cli_group: str | None = <object object>)
-
- -
-
-exception CollatorError(msg)
-
- -
-
-collate() Response
-

Implements the /collator/collate endpoint.

-
- -
-
-normalize_with_patterns(patterns, text, whole_words=False)
-

Normalize text using a list of patterns

-
- -
-
-preprocess(text: str, normalizations: list[str] | None = None) list[list[NGrams]]
-

Preprocess the input to the collator

-

Builds the representation for one witness. Returns an object that must be -combined into the witnesses array.

-
-
Parameters:
-

normalizations (string[]) – List of string in the form: oldstring=newstring -Normalizations applied to each word.

-
-
Returns:
-

The representation of one witness.

-
-
-
- -
-
-

geo_server

-

Geo queries API server for Capitularia.

-
-
-class GeoBlueprint(name: str, import_name: str, static_folder: str | ~os.PathLike[str] | None = None, static_url_path: str | None = None, template_folder: str | ~os.PathLike[str] | None = None, url_prefix: str | None = None, subdomain: str | None = None, url_defaults: dict[str, ~typing.Any] | None = None, root_path: str | None = None, cli_group: str | None = <object object>)
-
- -
-
-capitularies_csv()
-

Return capitularies in geometry as CSV response.

-
- -
-
-capitularies_json()
-

Return capitularies in geometry as geojson response.

-
- -
-
-extent_json()
-

Return the max. extent of all data points.

-
- -
-
-info_json()
-

Info endpoint: send information about server and available layers.

-
- -
-
-msparts_csv()
-

Return location of manuscript parts as CSV response.

-
- -
-
-msparts_json()
-

Return location of manuscript parts as geojson response.

-
- -
-
-mss_csv()
-

Return location of manuscripts as CSV response.

-
- -
-
-mss_json()
-

Return location of manuscripts as geojson response.

-
- -
-
-places_capitularies_json()
-

Return all places along with capitularies count.

-
- -
-
-places_msparts_json()
-

Return all places along with msp_part count.

-
- -
-
-places_mss_json()
-

Return all places along with mss count.

-
- -
-
-

tile_server

-

A tile server for Capitularia.

-

This is a simple OpenStreetMap-style tile server using mapnik to render the -tiles.

-

The probability of the client requesting adjacent tiles is very high. To speed -things up, we ask mapnik to render a bigger “metatile”, which we cut into tiles -and then cache the tiles. We also add some padding around the metatile, which -helps avoiding ugly label placement when a label is near a metatile border.

-
-
-info_json()
-

Info endpoint: send information about server and available layers.

-
- -
-
-class tileBlueprint(name: str, import_name: str, static_folder: str | ~os.PathLike[str] | None = None, static_url_path: str | None = None, template_folder: str | ~os.PathLike[str] | None = None, url_prefix: str | None = None, subdomain: str | None = None, url_defaults: dict[str, ~typing.Any] | None = None, root_path: str | None = None, cli_group: str | None = <object object>)
-
- -
-
-tile_png(mapid, zoom, xtile, ytile)
-

Tile endpoint: serve a tile as PNG.

-
- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/backup.html b/docs/build/vm/backup.html deleted file mode 100644 index 76efe857..00000000 --- a/docs/build/vm/backup.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - TSM Backup — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

TSM Backup

-

The Capitularia VM is backed up to the TSM service offered by the RRZK. -The node name is: MPERATHO.CAPITULARIA on the server TSM6.

-

The full configuration data is in the directory /opt/tivoli/tsm/client/ba/bin/ -in the files dsm.opt and dsm.sys.

-

An incremental backup is started by cron.daily which calls -/root/backup.sh. This script makes a dump of the databases and of the -published manuscripts before backing up the whole filesystem. Past dumps are -kept on a daily, weekly, montly and yearly basis in subdirectories of /var/backup/.

-

Logfiles: /var/log/dsmerror.log and /var/log/dsminstr.log.

-

To manually start a backup:

-
sudo /root/backup.sh
-
-
-

To backup files or directories:

-
sudo dsmc selective /var/backup/mysqldump.sql
-sudo dsmc selective /var/backup/
-sudo dsmc selective /var/backup/ -subdir=yes
-
-
-

To get a list of backed up files:

-
sudo dsmc query backup /var/backup/
-
-
-

To restore a file to the same location:

-
sudo dsmc restore /var/backup/mysqldump.sql
-sudo dsmc restore /home/joe/deleted_file.txt -latest
-
-
-

To restore a file to a different location:

-
sudo dsmc restore /var/backup/mysqldump.sql /var/backup/mysqldump_copy.sql
-
-
-
-

Update

-

To manually update the TSM client (replace 8.1.15.1 with the new version):

-
wget http://ftp.software.ibm.com/storage/tivoli-storage-management/patches/client/v8r1/Linux/LinuxX86_DEB/v8115/8.1.15.1-TIV-TSMBAC-LinuxX86_DEB.tar
-tar -xvf 8.1.15.1-TIV-TSMBAC-LinuxX86_DEB.tar
-
-sudo dpkg -i tivsm-api64.amd64.deb
-sudo dpkg -i tivsm-ba.amd64.deb
-sudo dpkg -i tivsm-apicit.amd64.deb
-sudo dpkg -i tivsm-bacit.amd64.deb
-sudo systemctl restart dsmcad.service
-sudo systemctl status dsmcad.service
-
-
- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/database.html b/docs/build/vm/database.html deleted file mode 100644 index fe835c47..00000000 --- a/docs/build/vm/database.html +++ /dev/null @@ -1,1526 +0,0 @@ - - - - - - - Postgres Database Structure — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Postgres Database Structure

-
-

Schema capitularia:

-

The teiHeader contains in msDesc/msPart references to capitularies and loci but -no reference to chapters. The teiHeader includes capitularies not yet -transcribed. This relation is caught in table mss_capitularies. The map -client uses this relation.

-

The body contains finer grained references to chapters and loci in the @corresp -and @xml:id, but only for already transcribed material. This relation is caught -in table mss_chapters. The collation tool uses this relation.

-

The mss_chapters_text table contains the chapter’s text preprocessed for the -collation tool.

-

Note that the relation between the mss_chapters and msparts tables was -inferred using the loci, because there are no milestones for msParts/msItems in -the body.

-

Note that the mscap_n of the mss_capitularies and mss_chapters tables do not -indicate the same concept.

-
-
- - -G - - - -manuscripts - -             -manuscripts -           -ms_id - -VARCHAR -title - -VARCHAR -filename - -VARCHAR -status - -VARCHAR -siglum - -VARCHAR - - - - - -msparts - -             -msparts -           -ms_id - -VARCHAR -msp_part - -VARCHAR -locus_cooked - -ARRAY -date - -INT4RANGE -leaf - -ARRAY -written - -ARRAY - - - - - -msparts->manuscripts - - -ms_id - - - -capitularies - -             -capitularies -           -cap_id - -VARCHAR -title - -VARCHAR -date - -INT4RANGE - - - - - -chapters - -             -chapters -           -cap_id - -VARCHAR -chapter - -VARCHAR - - - - - -chapters->capitularies - - -cap_id - - - -mss_capitularies - -             -mss_capitularies -           -             -according to <msDesc> -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -msp_part - -VARCHAR -locus - -VARCHAR -locus_cooked - -ARRAY - - - - - - -mss_capitularies->msparts - - -ms_id, -msp_part - - - -mss_capitularies->capitularies - - -cap_id - - - -mss_chapters - -             -mss_chapters -           -             -according to <body> -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -chapter - -VARCHAR -msp_part - -VARCHAR -locus - -VARCHAR -locus_index - -INTEGER -locus_cooked - -INTEGER -transcribed - -INTEGER -xml - -NULL - - - - - - -mss_chapters->msparts - - -ms_id, -msp_part - - - -mss_chapters->chapters - - -cap_id, -chapter - - - -mss_chapters_text - -             -mss_chapters_text -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -chapter - -VARCHAR -type - -VARCHAR -text - -TEXT - - - - - -mss_chapters_text->mss_chapters - - -ms_id, -cap_id, -mscap_n, -chapter - - -
-
-

Schema capitularia

-
-
-
-
-

Schema gis:

-

Note: the gis.geonames table and relatives contain standard hierarchies of place -names, extracted from the geonames, dnb, and viaf databases.

-

Note: the gis.geoplaces table and relatives contain a different, custom hierarchy of -place names, which is the one displayed in the manuscript search box. This hierarchy is -extracted from the file mss/lists/capitularia_geo.xml. Unfortunately it is -linked to manuscripts and not to manuscript parts.

-
-
- - -G - - - -gis.mn_msparts_geonames - -             -gis.mn_msparts_geonames -           -ms_id - -VARCHAR -msp_part - -VARCHAR -geo_id - -VARCHAR -geo_source - -VARCHAR - - - - - -gis.geonames - -             -gis.geonames -           -geo_id - -VARCHAR -geo_source - -VARCHAR -parent_id - -VARCHAR -geo_name - -VARCHAR -geo_fcode - -VARCHAR -geom - -NULL -blob - -JSONB - - - - - -gis.mn_msparts_geonames->gis.geonames - - -geo_source, -geo_id - - - -msparts - -             -msparts -           -ms_id - -VARCHAR -msp_part - -VARCHAR -locus_cooked - -ARRAY -date - -INT4RANGE -leaf - -ARRAY -written - -ARRAY - - - - - -gis.mn_msparts_geonames->msparts - - -ms_id, -msp_part - - - -gis.geoplaces - -             -gis.geoplaces -           -geo_id - -VARCHAR -parent_id - -VARCHAR - - - - - -gis.geonames->gis.geoplaces - - -parent_id->geo_id - - - -gis.geoplaces->gis.geoplaces - - -parent_id->geo_id - - - -manuscripts - -             -manuscripts -           -ms_id - -VARCHAR -title - -VARCHAR -filename - -VARCHAR -status - -VARCHAR -siglum - -VARCHAR - - - - - -msparts->manuscripts - - -ms_id - - - -gis.geoareas - -             -gis.geoareas -           -geo_id - -VARCHAR -geo_source - -VARCHAR -geo_name - -VARCHAR -geo_fcode - -VARCHAR -geo_color - -VARCHAR -geo_label_x - -DOUBLE PRECISION -geo_label_y - -DOUBLE PRECISION -geom - -NULL - - - - - -gis.geoplaces_names - -             -gis.geoplaces_names -           -geo_id - -VARCHAR -geo_lang - -VARCHAR -geo_name - -VARCHAR - - - - - -gis.geoplaces_names->gis.geoplaces - - -geo_id - - - -gis.mn_mss_geoplaces - -             -gis.mn_mss_geoplaces -           -ms_id - -VARCHAR -geo_id - -VARCHAR - - - - - -gis.mn_mss_geoplaces->gis.geoplaces - - -geo_id - - - -gis.mn_mss_geoplaces->manuscripts - - -ms_id - - -
-
-

Schema gis

-
-
-
-
-

db.py

-

This module contains the sqlalchemy classes that initialize the database structure.

-

To create a new database: (must be database superuser)

-
sudo -u postgres psql
-
-
-
CREATE USER capitularia PASSWORD '<password>';
-CREATE DATABASE capitularia OWNER capitularia;
-
-\c capitularia
-CREATE EXTENSION pg_trgm WITH SCHEMA public;
-CREATE EXTENSION postgis WITH SCHEMA public;
-CREATE SCHEMA capitularia AUTHORIZATION capitularia;
-CREATE SCHEMA gis AUTHORIZATION capitularia;
-ALTER DATABASE capitularia SET search_path = capitularia, gis, public;
-\q
-
-
-
make rebuild_db
-
-
-
-
-class Capitularies(**kwargs)
-

All capitularies catalogued according to BK or Mordek.

-
- - -G - - - -capitularies - -             -capitularies -           -cap_id - -VARCHAR -title - -VARCHAR -date - -INT4RANGE - - - - -
-
-
-cap_id
-

The capitulary number, eg. “BK.42”

-
- -
-
-title
-

The capitulary title assigned by BK.

-
- -
- -
-
-class Chapters(**kwargs)
-

All chapters catalogued according to BK or Mordek.

-
- - -G - - - -chapters - -             -chapters -           -cap_id - -VARCHAR -chapter - -VARCHAR - - - - -
-
-
-chapter
-

The chapter number from 1 to N. Also: 1_inscription, etc.

-
- -
- -
-
-class GeoAreas(**kwargs)
-

Custom defined geographic areas

-
- - -G - - - -gis.geoareas - -             -gis.geoareas -           -geo_id - -VARCHAR -geo_source - -VARCHAR -geo_name - -VARCHAR -geo_fcode - -VARCHAR -geo_color - -VARCHAR -geo_label_x - -DOUBLE PRECISION -geo_label_y - -DOUBLE PRECISION -geom - -NULL - - - - -
-
- -
-
-class GeoPlaces(**kwargs)
-

Data extracted from capitularia_geo.xml

-
- - -G - - - -gis.geoplaces - -             -gis.geoplaces -           -geo_id - -VARCHAR -parent_id - -VARCHAR - - - - -
-
- -
-
-class GeoPlacesNames(**kwargs)
-

Data extracted from capitularia_geo.xml

-
- - -G - - - -gis.geoplaces_names - -             -gis.geoplaces_names -           -geo_id - -VARCHAR -geo_lang - -VARCHAR -geo_name - -VARCHAR - - - - -
-
- -
-
-class Geonames(**kwargs)
-

Data scraped from geonames.org et al. and cached here.

-
- - -G - - - -gis.geonames - -             -gis.geonames -           -geo_id - -VARCHAR -geo_source - -VARCHAR -parent_id - -VARCHAR -geo_name - -VARCHAR -geo_fcode - -VARCHAR -geom - -NULL -blob - -JSONB - - - - -
-
- -
-
-class Manuscripts(**kwargs)
-
- - -G - - - -manuscripts - -             -manuscripts -           -ms_id - -VARCHAR -title - -VARCHAR -filename - -VARCHAR -status - -VARCHAR -siglum - -VARCHAR - - - - -
-
-
-filename
-

The filename of the TEI file containing the transcription of the -manuscript.

-
- -
-
-ms_id
-

The manuscript id assigned by the Capitularia project.

-
- -
-
-status
-

The Wordpress publication status: either ‘publish’ or ‘private’

-
- -
-
-title
-

The official title of the manuscript.

-
- -
- -
-
-class MnManuscriptsGeoPlaces(**kwargs)
-

The M:N relationship between manuscripts and geoplaces

-
- - -G - - - -gis.mn_mss_geoplaces - -             -gis.mn_mss_geoplaces -           -ms_id - -VARCHAR -geo_id - -VARCHAR - - - - -
-
- -
-
-class MnMsPartsGeonames(**kwargs)
-

The M:N relationship between msparts and geonames

-
- - -G - - - -gis.mn_msparts_geonames - -             -gis.mn_msparts_geonames -           -ms_id - -VARCHAR -msp_part - -VARCHAR -geo_id - -VARCHAR -geo_source - -VARCHAR - - - - -
-
- -
-
-class MsParts(**kwargs)
-

The parts of a manuscript

-
- - -G - - - -msparts - -             -msparts -           -ms_id - -VARCHAR -msp_part - -VARCHAR -locus_cooked - -ARRAY -date - -INT4RANGE -leaf - -ARRAY -written - -ARRAY - - - - -
-
-
-date
-

When did the manuscript part originate? Range of years.

-
- -
-
-leaf
-

Size of the leaf.

-
- -
-
-locus_cooked
-

Ranges of cooked loci.

-
- -
-
-msp_part
-

The official designation of the manuscript part.

-
- -
-
-written
-

Size of the written area.

-
- -
- -
-
-class MssCapitularies(**kwargs)
-

A capitulary in a manuscript according to <msDesc>.

-

This table also contains capitularies that are not yet transcribed.

-

A finer granularity (chapters instead of capitularies) can be found in the -MssChapters table, albeit only already transcribed ones.

-
- - -G - - - -mss_capitularies - -             -mss_capitularies -           -             -according to <msDesc> -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -msp_part - -VARCHAR -locus - -VARCHAR -locus_cooked - -ARRAY - - - - - -
-
-
-locus
-

The locus of this capitulary instance in the ms as recorded -by the editor, eg. 42ra-45vb.

-
- -
-
-locus_cooked
-

Ranges of cooked loci.

-
- -
-
-mscap_n
-

The n_th occurence of the capitulary in the manuscript. Default is 1.

-

Since msItem does not contain milestones, this value is inferred by counting -the number of preceding loci that contain this capitulary.

-

N.B.: The value in the mss_chapters table is found in a different way.

-
- -
-
-msp_part
-

The official designation of the manuscript part.

-
- -
- -
-
-class MssChapters(**kwargs)
-

A chapter in a manuscript according to <body>.

-

This table contains only chapters that were already transcribed.

-

Note: The table MssCapitularies relates manuscripts to -capitularies yet untranscribed.

-
- - -G - - - -mss_chapters - -             -mss_chapters -           -             -according to <body> -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -chapter - -VARCHAR -msp_part - -VARCHAR -locus - -VARCHAR -locus_index - -INTEGER -locus_cooked - -INTEGER -transcribed - -INTEGER -xml - -NULL - - - - - -
-
-
-locus
-

The locus of the chapter in the manuscript. -As recorded by the editor, eg. 42ra

-
- -
-
-locus_cooked
-

The cooked locus. Locus transformed to a sortable integer.

-
- -
-
-locus_index
-

The index at the locus, eg. the ‘1’ in 42ra-1

-
- -
-
-mscap_n
-

This chapter was found in the n_th occurence of the capitulary in the -manuscript. Default is 1.

-

The value is read from the milestone, eg.:

-
-

<milestone unit=’capitulare’ n=’BK.139_2’ />

-
-

marks the second occurence of capitulary 139 in this manuscript. All -chapters of BK.139 following this milestone get a value of 2 in this field.

-

N.B.: The value in the mss_capitularies table is found in a different way.

-
- -
-
-msp_part
-

The official designation of the manuscript part.

-
- -
-
-transcribed
-

Is this chapter already transcribed? 0 == no, 1 == partially, 2 == completed

-
- -
-
-xml
-

The XML text of the chapter.

-
- -
- -
-
-class MssChaptersText(**kwargs)
-

Various kinds of preprocessed texts extracted from the chapter.

-

There may be more than one text extracted from the same chapter: the original -hand and later corrector hands.

-
- - -G - - - -mss_chapters_text - -             -mss_chapters_text -           -ms_id - -VARCHAR -cap_id - -VARCHAR -mscap_n - -INTEGER -chapter - -VARCHAR -type - -VARCHAR -text - -TEXT - - - - -
-
-
-text
-

The preprocessed plain text of the chapter.

-
- -
-
-type_
-

Either ‘original’ or ‘later_hands’. The type of preprocessing applied. -Whether the original hand was followed or a later corrector.

-
- -
- -
-
-class XML
-
-
-bind_processor(dialect)
-

Return a conversion function for processing bind values.

-

Returns a callable which will receive a bind parameter value -as the sole positional argument and will return a value to -send to the DB-API.

-

If processing is not necessary, the method should return None.

-
-

Note

-

This method is only called relative to a dialect specific type -object, which is often private to a dialect in use and is not -the same type object as the public facing one, which means it’s not -feasible to subclass a types.TypeEngine class in order to -provide an alternate _types.TypeEngine.bind_processor() -method, unless subclassing the _types.UserDefinedType -class explicitly.

-

To provide alternate behavior for -_types.TypeEngine.bind_processor(), implement a -_types.TypeDecorator class and provide an implementation -of _types.TypeDecorator.process_bind_param().

-
-

See also

-

types_typedecorator

-
-
-
-
Parameters:
-

dialect – Dialect instance in use.

-
-
-
- -
-
-result_processor(dialect, coltype)
-

Return a conversion function for processing result row values.

-

Returns a callable which will receive a result row column -value as the sole positional argument and will return a value -to return to the user.

-

If processing is not necessary, the method should return None.

-
-

Note

-

This method is only called relative to a dialect specific type -object, which is often private to a dialect in use and is not -the same type object as the public facing one, which means it’s not -feasible to subclass a types.TypeEngine class in order to -provide an alternate _types.TypeEngine.result_processor() -method, unless subclassing the _types.UserDefinedType -class explicitly.

-

To provide alternate behavior for -_types.TypeEngine.result_processor(), implement a -_types.TypeDecorator class and provide an implementation -of _types.TypeDecorator.process_result_value().

-
-

See also

-

types_typedecorator

-
-
-
-
Parameters:
-
    -
  • dialect – Dialect instance in use.

  • -
  • coltype – DBAPI coltype argument received in cursor.description.

  • -
-
-
-
- -
- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/index.html b/docs/build/vm/index.html deleted file mode 100644 index 5eaf91dc..00000000 --- a/docs/build/vm/index.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - Capitularia VM — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- - -
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/intro.html b/docs/build/vm/intro.html deleted file mode 100644 index fb60a0ae..00000000 --- a/docs/build/vm/intro.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - Introduction — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Introduction

-

The Capitularia VM is a root virtual machine offered by the RRZK. -It runs debian stable.

-

The VM hosts an Apache Web Server at https://capitularia.uni-koeln.de -which runs Wordpress.

-

The VM also hosts an application server written in Python. Next to -that it hosts Saxon and Solr with the Java OpenJDK 17.

-

The VM also hosts a Postgres database server for the -application server and a mysql database server for -Wordpress.

-

We wrote a Wordpress theme and many Wordpress plugins to add the functionality we needed for our project. We use the -application server (and its API at https://api.capitularia.uni-koeln.de) for all -functionality that is too inconvenient to implement in Wordpress plugins.

-
-
- - -Capitularia VM -Apache -Wordpress / PHP - -Capitularia Theme - -Library Plugin - -File Include Plugin - -Collation Plugin - -Meta Search Plugin - -Page Generator Plugin - -Dynamic Menu Plugin - - -Saxon - -XSLT - -XSLT - -XSLT - -... - -App Server / Python - -Collation Server - -Data Server - -Solr Server - -... - - -Makefile - -TSM backup - - - -mysql -Database - - - -Postgres -Database - - - -Files - - - -Solr -Database - -
-
-

Main Components of the Capitularia VM

-
-
-

Many different XSLT transformations are used to -generate the HTML files of the TEI manuscripts and also -many auxiliary files like lists of capitularies and manuscripts. -The transformations are driven by make and the Makefile.

-

The Postgres database holds manuscript metadata and the -pre-processed text of every chapter in every manuscript.

-

The app server does collations and offers -metadata and fulltext search in the Capitulars.

-

There is a nightly TSM backup of the whole VM. -The TEI files and the databases are dumped and kept in multiple versions.

-

The editors store the original manuscript files encoded in TEI in the VM filesystem. -The TEI files are then converted to HTML.

-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/solr.html b/docs/build/vm/solr.html deleted file mode 100644 index a3797350..00000000 --- a/docs/build/vm/solr.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - SOLR — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

SOLR

-

SOLR is a full-text search engine built on top of Apache Lucene. -We use it to search the manuscripts and the Wordpress content.

-

A nightly cron of server/import_solr.py harvests following sources and indexes -them into SOLR:

-
    -
  • the TEI XML files <front> (as category:front)

  • -
  • the TEI XML files <body> (as category:chapter)

  • -
  • the Wordpress pages (as category:post)

  • -
-

The wordpress cap-meta-search-plugin queries the SOLR database through the python -application server and presents the results to the user.

-
-

See also

- -
-
-

Installation

-
mkdir -p ~/solr
-cd ~/solr
-wget https://dlcdn.apache.org/solr/solr/9.6.1/solr-9.6.1.tgz
-tar -xzf *.tgz
-ln -s solr-9.6.1 solr
-
-sudo systemctl enable solr
-sudo systemctl start solr
-
-cd ~/prj/capitularia/capitularia
-make solr-init
-make solr-import
-
-
-
-
-

Service

-

SOLR runs as systemd service /etc/systemd/system/solr.service

-

Start with systemctl start solr

-

Stop with systemctl stop solr

-
-
-

Icinga

-

SOLR can be monitored through /usr/local/lib/nagios/plugins/check_solr.py -P -H localhost

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/transformations.html b/docs/build/vm/transformations.html deleted file mode 100644 index 09e1e1f9..00000000 --- a/docs/build/vm/transformations.html +++ /dev/null @@ -1,1788 +0,0 @@ - - - - - - - XSLT Transformations — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

XSLT Transformations

- -

The transformations used to produce HTML from TEI.

-

The xslt files reside at ~capitularia/prj/capitularia/capitularia/xslt/. -The transformations are driven by the Makefile in that directory.

-

The XSLT stylesheets were first written in XSLT 1 because the WebProjekt setup -by the RRZK offered only an XSLT 1 processor (xsltproc through PHP).

-

After adding a VM to the Capitularia project and installing Saxon-HE on it we -rewrote all the stylesheets in XSLT 3. (Rewrite completed in June 2020.)

- -

These graphs were generated by the tool python/xslt_dep.py.

-
-

Graph of All Transformations

-
- - -G - - -cluster_capits - -make capits - - -cluster_collation - -make collation - - -cluster_extraction - -make extraction - - -cluster_lists - -make lists - - -cluster_mss - -make mss - - -cluster_mss_priv - -make mss_priv - - - -$(CACHE_DIR)/lists/corpus.xml - -$(CACHE_DIR)/lists/corpus.xml - - - -changes.xsl - -changes.xsl - - - -$(CACHE_DIR)/lists/corpus.xml:e->changes.xsl - - - - - -downloads.xsl - -downloads.xsl - - - -$(CACHE_DIR)/lists/corpus.xml:e->downloads.xsl - - - - - -mss-idno.xsl - -mss-idno.xsl - - - -$(CACHE_DIR)/lists/corpus.xml:e->mss-idno.xsl - - - - - -mss - - -import_data.py --mss - - - -$(CACHE_DIR)/lists/corpus.xml:e->mss:w - - - - - -$(MSS_PRIV_DIR)/%-toc.xml - - - - -$(MSS_PRIV_DIR)/%-toc.xml - - - -$(CACHE_DIR)/internal/mss/%.transcript.phase-1.xml - - - - -$(CACHE_DIR)/internal/mss/%.transcript.phase-1.xml - - - -mss-transcript-phase-2.xsl - -mss-transcript-phase-2.xsl - - - -$(CACHE_DIR)/internal/mss/%.transcript.phase-1.xml:e->mss-transcript-phase-2.xsl - - - - - -$(CACHE_DIR)/mss/%.transcript.phase-1.xml - - - - -$(CACHE_DIR)/mss/%.transcript.phase-1.xml - - - -$(CACHE_DIR)/mss/%.transcript.phase-1.xml:e->mss-transcript-phase-2.xsl - - - - - -mss-transcript-with-comments.xsl - -mss-transcript-with-comments.xsl - - - -$(CACHE_DIR)/mss/%.transcript.phase-1.xml:e->mss-transcript-with-comments.xsl - - - - - -$(CACHE_DIR)/mss/cte-137-de.transcript.phase-1.xml - -$(CACHE_DIR)/mss/cte-137-de.transcript.phase-1.xml - - - -mss-transcript-cte.xsl - -mss-transcript-cte.xsl - - - -$(CACHE_DIR)/mss/cte-137-de.transcript.phase-1.xml:e->mss-transcript-cte.xsl - - - - - -$(CACHE_DIR)/mss/cte-137.transcript.phase-1.xml - -$(CACHE_DIR)/mss/cte-137.transcript.phase-1.xml - - - -$(CACHE_DIR)/mss/cte-137.transcript.phase-1.xml:e->mss-transcript-cte.xsl - - - - - -$(CACHE_DIR)/capits/ldf/%.html - - - - -$(CACHE_DIR)/capits/ldf/%.html - - - -capit/ldf/%/ - - - - -capit/ldf/%/ - - - -$(CACHE_DIR)/capits/ldf/%.html:e->capit/ldf/%/:w - - - - - -$(CACHE_DIR)/capits/post840/%.html - - - - -$(CACHE_DIR)/capits/post840/%.html - - - -capit/post840/%/ - - - - -capit/post840/%/ - - - -$(CACHE_DIR)/capits/post840/%.html:e->capit/post840/%/:w - - - - - -$(CACHE_DIR)/capits/pre814/%.html - - - - -$(CACHE_DIR)/capits/pre814/%.html - - - -capit/pre814/%/ - - - - -capit/pre814/%/ - - - -$(CACHE_DIR)/capits/pre814/%.html:e->capit/pre814/%/:w - - - - - -$(CACHE_DIR)/capits/undated/%.html - - - - -$(CACHE_DIR)/capits/undated/%.html - - - -capit/undated/%/ - - - - -capit/undated/%/ - - - -$(CACHE_DIR)/capits/undated/%.html:e->capit/undated/%/:w - - - - - -$(CACHE_DIR)/collation/%.xml - - - - -$(CACHE_DIR)/collation/%.xml - - - -fulltext - - -import_data.py --fulltext - - - -$(CACHE_DIR)/collation/%.xml:e->fulltext:w - - - - - -$(CACHE_DIR)/extracted/%.xml - - - - -$(CACHE_DIR)/extracted/%.xml - - - -mss-extract-chapters-txt.xsl - -mss-extract-chapters-txt.xsl - - - -$(CACHE_DIR)/extracted/%.xml:e->mss-extract-chapters-txt.xsl - - - - - -extracted - - -import_data.py --extracted - - - -$(CACHE_DIR)/extracted/%.xml:e->extracted:w - - - - - -$(CACHE_DIR)/lists/bib.html - -$(CACHE_DIR)/lists/bib.html - - - -resources/biblio/ - -resources/biblio/ - - - -$(CACHE_DIR)/lists/bib.html:e->resources/biblio/:w - - - - - -$(CACHE_DIR)/lists/capit-all.html - -$(CACHE_DIR)/lists/capit-all.html - - - -capit/list/ - -capit/list/ - - - -$(CACHE_DIR)/lists/capit-all.html:e->capit/list/:w - - - - - -$(CACHE_DIR)/lists/capit-ldf.html - -$(CACHE_DIR)/lists/capit-ldf.html - - - -capit/ldf/ - -capit/ldf/ - - - -$(CACHE_DIR)/lists/capit-ldf.html:e->capit/ldf/:w - - - - - -$(CACHE_DIR)/lists/capit-post840.html - -$(CACHE_DIR)/lists/capit-post840.html - - - -capit/post840/ - -capit/post840/ - - - -$(CACHE_DIR)/lists/capit-post840.html:e->capit/post840/:w - - - - - -$(CACHE_DIR)/lists/capit-pre814.html - -$(CACHE_DIR)/lists/capit-pre814.html - - - -capit/pre814/ - -capit/pre814/ - - - -$(CACHE_DIR)/lists/capit-pre814.html:e->capit/pre814/:w - - - - - -$(CACHE_DIR)/lists/capit-undated.html - -$(CACHE_DIR)/lists/capit-undated.html - - - -capit/undated/ - -capit/undated/ - - - -$(CACHE_DIR)/lists/capit-undated.html:e->capit/undated/:w - - - - - -$(CACHE_DIR)/lists/changes.html - -$(CACHE_DIR)/lists/changes.html - - - -mss/status/ - -mss/status/ - - - -$(CACHE_DIR)/lists/changes.html:e->mss/status/:w - - - - - -$(CACHE_DIR)/lists/changes90.html - -$(CACHE_DIR)/lists/changes90.html - - - -$(CACHE_DIR)/lists/changes90.html:e->mss/status/:w - - - - - -$(CACHE_DIR)/lists/downloads.html - -$(CACHE_DIR)/lists/downloads.html - - - -resources/downloads/ - -resources/downloads/ - - - -$(CACHE_DIR)/lists/downloads.html:e->resources/downloads/:w - - - - - -$(CACHE_DIR)/lists/mss-capit.html - -$(CACHE_DIR)/lists/mss-capit.html - - - -mss/capit/ - -mss/capit/ - - - -$(CACHE_DIR)/lists/mss-capit.html:e->mss/capit/:w - - - - - -$(CACHE_DIR)/lists/mss-idno.html - -$(CACHE_DIR)/lists/mss-idno.html - - - -mss/idno/ - -mss/idno/ - - - -$(CACHE_DIR)/lists/mss-idno.html:e->mss/idno/:w - - - - - -$(CACHE_DIR)/lists/mss-key.html - -$(CACHE_DIR)/lists/mss-key.html - - - -mss/key/ - -mss/key/ - - - -$(CACHE_DIR)/lists/mss-key.html:e->mss/key/:w - - - - - -$(CACHE_DIR)/lists/mss-table.html - -$(CACHE_DIR)/lists/mss-table.html - - - -mss/table/ - -mss/table/ - - - -$(CACHE_DIR)/lists/mss-table.html:e->mss/table/:w - - - - - -$(CACHE_DIR)/mss/%.footer.html - - - - -$(CACHE_DIR)/mss/%.footer.html - - - -mss/%/ - - - - -mss/%/ - - - -$(CACHE_DIR)/mss/%.footer.html:e->mss/%/:w - - - - - -$(CACHE_DIR)/mss/%.header.html - - - - -$(CACHE_DIR)/mss/%.header.html - - - -$(CACHE_DIR)/mss/%.header.html:e->mss/%/:w - - - - - -$(CACHE_DIR)/mss/cte-137-de.html - -$(CACHE_DIR)/mss/cte-137-de.html - - - -resources/texts/ldf-bk137/ - -resources/texts/ldf-bk137/ - - - -$(CACHE_DIR)/mss/cte-137-de.html:e->resources/texts/ldf-bk137/:w - - - - - -$(CACHE_DIR)/mss/cte-137.html - -$(CACHE_DIR)/mss/cte-137.html - - - -$(CACHE_DIR)/mss/cte-137.html:e->resources/texts/ldf-bk137/:w - - - - - -$(CACHE_DIR)/mss/%.transcript.commented.html - - - - -$(CACHE_DIR)/mss/%.transcript.commented.html - - - -internal/mss-comments/%/ - - - - -internal/mss-comments/%/ - - - -$(CACHE_DIR)/mss/%.transcript.commented.html:e->internal/mss-comments/%/:w - - - - - -$(CACHE_DIR)/mss/%.transcript.html - - - - -$(CACHE_DIR)/mss/%.transcript.html - - - -$(CACHE_DIR)/mss/%.transcript.html:e->mss/%/:w - - - - - -$(CACHE_DIR)/internal/mss/%.footer.html - - - - -$(CACHE_DIR)/internal/mss/%.footer.html - - - -internal/mss/%/ - - - - -internal/mss/%/ - - - -$(CACHE_DIR)/internal/mss/%.footer.html:e->internal/mss/%/:w - - - - - -$(CACHE_DIR)/internal/mss/%.header.html - - - - -$(CACHE_DIR)/internal/mss/%.header.html - - - -$(CACHE_DIR)/internal/mss/%.header.html:e->internal/mss/%/:w - - - - - -$(CACHE_DIR)/internal/mss/%.transcript.html - - - - -$(CACHE_DIR)/internal/mss/%.transcript.html - - - -$(CACHE_DIR)/internal/mss/%.transcript.html:e->internal/mss/%/:w - - - - - -$(CAPIT_DIR)/ldf/%.xml - - - - -$(CAPIT_DIR)/ldf/%.xml - - - -capit.xsl - -capit.xsl - - - -$(CAPIT_DIR)/ldf/%.xml:e->capit.xsl - - - - - -capit.xsl->$(CACHE_DIR)/capits/ldf/%.html:w - - - - - -capit.xsl->$(CACHE_DIR)/capits/post840/%.html:w - - - - - -capit.xsl->$(CACHE_DIR)/capits/pre814/%.html:w - - - - - -capit.xsl->$(CACHE_DIR)/capits/undated/%.html:w - - - - - -$(CAPIT_DIR)/post840/%.xml - - - - -$(CAPIT_DIR)/post840/%.xml - - - -$(CAPIT_DIR)/post840/%.xml:e->capit.xsl - - - - - -$(CAPIT_DIR)/pre814/%.xml - - - - -$(CAPIT_DIR)/pre814/%.xml - - - -$(CAPIT_DIR)/pre814/%.xml:e->capit.xsl - - - - - -$(CAPIT_DIR)/undated/%.xml - - - - -$(CAPIT_DIR)/undated/%.xml - - - -$(CAPIT_DIR)/undated/%.xml:e->capit.xsl - - - - - -mss-extract-chapters-txt.xsl->$(CACHE_DIR)/collation/%.xml:w - - - - - -$(MSS_DIR)/%.xml - - - - -$(MSS_DIR)/%.xml - - - -mss-extract-chapters.xsl - -mss-extract-chapters.xsl - - - -$(MSS_DIR)/%.xml:e->mss-extract-chapters.xsl - - - - - -mss-footer-3.xsl - -mss-footer-3.xsl - - - -$(MSS_DIR)/%.xml:e->mss-footer-3.xsl - - - - - -mss-header-3.xsl - -mss-header-3.xsl - - - -$(MSS_DIR)/%.xml:e->mss-header-3.xsl - - - - - -mss-transcript-phase-1.xsl - -mss-transcript-phase-1.xsl - - - -$(MSS_DIR)/%.xml:e->mss-transcript-phase-1.xsl - - - - - -corpus.xsl - -corpus.xsl - - - -$(MSS_DIR)/%.xml:e->corpus.xsl - - - - - -mss-extract-chapters.xsl->$(CACHE_DIR)/extracted/%.xml:w - - - - - -$(MSS_PRIV_DIR)/%.xml - - - - -$(MSS_PRIV_DIR)/%.xml - - - -$(MSS_PRIV_DIR)/%.xml:e->mss-footer-3.xsl - - - - - -$(MSS_PRIV_DIR)/%.xml:e->mss-header-3.xsl - - - - - -$(MSS_PRIV_DIR)/%.xml:e->mss-transcript-phase-1.xsl - - - - - -generate_toc.xsl - -generate_toc.xsl - - - -$(MSS_PRIV_DIR)/%.xml:e->generate_toc.xsl - - - - - -mss-footer-3.xsl->$(CACHE_DIR)/mss/%.footer.html:w - - - - - -mss-footer-3.xsl->$(CACHE_DIR)/internal/mss/%.footer.html:w - - - - - -mss-header-3.xsl->$(CACHE_DIR)/mss/%.header.html:w - - - - - -mss-header-3.xsl->$(CACHE_DIR)/internal/mss/%.header.html:w - - - - - -mss-transcript-phase-2.xsl->$(CACHE_DIR)/mss/%.transcript.html:w - - - - - -mss-transcript-phase-2.xsl->$(CACHE_DIR)/internal/mss/%.transcript.html:w - - - - - -mss-transcript-phase-1.xsl->$(CACHE_DIR)/internal/mss/%.transcript.phase-1.xml:w - - - - - -mss-transcript-phase-1.xsl->$(CACHE_DIR)/mss/%.transcript.phase-1.xml:w - - - - - -mss-transcript-phase-1.xsl->$(CACHE_DIR)/mss/cte-137-de.transcript.phase-1.xml:w - - - - - -mss-transcript-phase-1.xsl->$(CACHE_DIR)/mss/cte-137.transcript.phase-1.xml:w - - - - - -$(BIB_DIR)/Bibliographie_Capitularia.xml - -$(BIB_DIR)/Bibliographie_Capitularia.xml - - - -bib-bibliography.xsl - -bib-bibliography.xsl - - - -$(BIB_DIR)/Bibliographie_Capitularia.xml:e->bib-bibliography.xsl - - - - - -bib-bibliography.xsl->$(CACHE_DIR)/lists/bib.html:w - - - - - -$(CAPIT_DIR)/lists/capit_all.xml - -$(CAPIT_DIR)/lists/capit_all.xml - - - -capit-list.xsl - -capit-list.xsl - - - -$(CAPIT_DIR)/lists/capit_all.xml:e->capit-list.xsl - - - - - -cap-list - - -import_data.py --cap-list - - - -$(CAPIT_DIR)/lists/capit_all.xml:e->cap-list:w - - - - - -capit-list.xsl->$(CACHE_DIR)/lists/capit-all.html:w - - -type=all - - - -capit-list.xsl->$(CACHE_DIR)/lists/capit-ldf.html:w - - -type=ldf - - - -capit-list.xsl->$(CACHE_DIR)/lists/capit-post840.html:w - - -type=post840 - - - -capit-list.xsl->$(CACHE_DIR)/lists/capit-pre814.html:w - - -type=pre814 - - - -capit-list.xsl->$(CACHE_DIR)/lists/capit-undated.html:w - - -type=undated - - - -changes.xsl->$(CACHE_DIR)/lists/changes.html:w - - -prefix=A - - - -changes.xsl->$(CACHE_DIR)/lists/changes90.html:w - - -prefix=B scope=P90D - - - -corpus.xsl->$(CACHE_DIR)/lists/corpus.xml:w - - - - - -downloads.xsl->$(CACHE_DIR)/lists/downloads.html:w - - - - - -$(MSS_DIR)/lists/manuscripts.xml - -$(MSS_DIR)/lists/manuscripts.xml - - - -mss-capit.xsl - -mss-capit.xsl - - - -$(MSS_DIR)/lists/manuscripts.xml:e->mss-capit.xsl - - - - - -$(MSS_DIR)/lists/manuscripts.xml:e->mss-idno.xsl - - - - - -mss-key.xsl - -mss-key.xsl - - - -$(MSS_DIR)/lists/manuscripts.xml:e->mss-key.xsl - - - - - -mss-capit.xsl->$(CACHE_DIR)/lists/mss-capit.html:w - - -manuscripts=$(MSS_DIR)/lists/manuscripts.xml - - - -$(MSS_DIR)/lists/mss_by_cap.xml - -$(MSS_DIR)/lists/mss_by_cap.xml - - - -$(MSS_DIR)/lists/mss_by_cap.xml:e->mss-capit.xsl - - - - - -mss-idno.xsl->$(CACHE_DIR)/lists/mss-idno.html:w - - -corpus=$(CACHE_DIR)/lists/corpus.xml - - - -mss-key.xsl->$(CACHE_DIR)/lists/mss-key.html:w - - - - - -$(MSS_DIR)/lists/ueberblick_mordek.xml - -$(MSS_DIR)/lists/ueberblick_mordek.xml - - - -mss-table.xsl - -mss-table.xsl - - - -$(MSS_DIR)/lists/ueberblick_mordek.xml:e->mss-table.xsl - - - - - -mss-table.xsl->$(CACHE_DIR)/lists/mss-table.html:w - - - - - -mss-transcript-with-comments.xsl->$(CACHE_DIR)/mss/%.transcript.commented.html:w - - - - - -mss-transcript-cte.xsl->$(CACHE_DIR)/mss/cte-137-de.html:w - - -title=Übersetzung - - - -mss-transcript-cte.xsl->$(CACHE_DIR)/mss/cte-137.html:w - - -title=Edition - - - -$(MSS_DIR)/texts/137-de.xml - -$(MSS_DIR)/texts/137-de.xml - - - -$(MSS_DIR)/texts/137-de.xml:e->mss-transcript-phase-1.xsl - - - - - -$(MSS_DIR)/texts/137.xml - -$(MSS_DIR)/texts/137.xml - - - -$(MSS_DIR)/texts/137.xml:e->mss-transcript-phase-1.xsl - - - - - -generate_toc.xsl->$(MSS_PRIV_DIR)/%-toc.xml:w - - - - -
-
-
-

Graph of Stylesheet Dependencies

-
- - -G - - -cluster_3.0 - -XSLT 3.0 - - - -bib-bibliography.xsl - -bib-bibliography.xsl - - - -capit-list.xsl - -capit-list.xsl - - - -common-3.xsl - -common-3.xsl - - - -capit-list.xsl->common-3.xsl - - - - - -common-html.xsl - -common-html.xsl - - - -capit-list.xsl->common-html.xsl - - - - - -config-3.xsl - -config-3.xsl - - - -common-html.xsl->config-3.xsl - - - - - -capit.xsl - -capit.xsl - - - -capit.xsl->common-3.xsl - - - - - -capit.xsl->common-html.xsl - - - - - -changes.xsl - -changes.xsl - - - -corpus.xsl - -corpus.xsl - - - -corpus.xsl->common-3.xsl - - - - - -downloads.xsl - -downloads.xsl - - - -generate_toc.xsl - -generate_toc.xsl - - - -geo-places-to-jstree.xsl - -geo-places-to-jstree.xsl - - - -mss-capit.xsl - -mss-capit.xsl - - - -mss-capit.xsl->common-3.xsl - - - - - -mss-capit.xsl->common-html.xsl - - - - - -mss-extract-chapters-txt.xsl - -mss-extract-chapters-txt.xsl - - - -mss-transcript-phase-1.xsl - -mss-transcript-phase-1.xsl - - - -mss-extract-chapters-txt.xsl->mss-transcript-phase-1.xsl - - - - - -mss-transcript-phase-1.xsl->common-3.xsl - - - - - -mss-extract-chapters.xsl - -mss-extract-chapters.xsl - - - -mss-extract-chapters.xsl->common-3.xsl - - - - - -mss-footer-3.xsl - -mss-footer-3.xsl - - - -mss-footer-3.xsl->common-3.xsl - - - - - -mss-footer-3.xsl->common-html.xsl - - - - - -mss-header-3.xsl - -mss-header-3.xsl - - - -mss-header-3.xsl->common-3.xsl - - - - - -mss-header-3.xsl->common-html.xsl - - - - - -mss-idno.xsl - -mss-idno.xsl - - - -mss-idno.xsl->common-3.xsl - - - - - -mss-idno.xsl->common-html.xsl - - - - - -mss-key.xsl - -mss-key.xsl - - - -mss-key.xsl->common-3.xsl - - - - - -mss-key.xsl->common-html.xsl - - - - - -mss-table.xsl - -mss-table.xsl - - - -mss-table.xsl->common-3.xsl - - - - - -mss-table.xsl->common-html.xsl - - - - - -mss-transcript-cte.xsl - -mss-transcript-cte.xsl - - - -mss-transcript-phase-2.xsl - -mss-transcript-phase-2.xsl - - - -mss-transcript-cte.xsl->mss-transcript-phase-2.xsl - - - - - -mss-transcript-phase-2.xsl->common-3.xsl - - - - - -mss-transcript-phase-2.xsl->common-html.xsl - - - - - -mss-transcript-with-comments.xsl - -mss-transcript-with-comments.xsl - - - -mss-transcript-with-comments.xsl->mss-transcript-phase-2.xsl - - - - -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/user.html b/docs/build/vm/user.html deleted file mode 100644 index e69804b7..00000000 --- a/docs/build/vm/user.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - Users of the VM — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Users of the VM

-

Each editor is a user on the VM. -The username is the same as the username of the UniKim account.

-

Users must access the VM by SSH, WinSCP, etc. using their UniKim account’s username and -password.

-

Example:

-
ssh meckhart@capitularia.uni-koeln.de
-
-
-
-

Users and Groups

-
-
User capitularia

The admin user for this project. This user must have read/write access to all files.

-

The application server is installed under this user’s home directory. The XSLT -transformations are also there. This user

-
    -
  • owns the Apache DocumentRoot directory for the Capitularia web site,

  • -
  • runs the cron jobs to transform TEI files into HTML,

  • -
  • runs scripts on demand to bulk-edit TEI files (also in editors’ private directories)

  • -
-
-
Group capitularia

The group of the project admin user.

-
-
User <editor>

Personal user account for each editor.

-
-
Group capitularia-editors

All editors are members of this group.

-
-
User www-data

The web server. Must have read access to cap/publ/.

-
-
Directory cap/publ/

All editors have read/write access through group capitularia-editors.

-
-
Directory cap/intern/

All editors have read/write access through group capitularia-editors.

-
-
Directory cap/intern/InArbeit/<editor>

Semi-private directories owned by the the editor. -All editors have read/write access to all these directories -through group capitularia-editors.

-
-
-

Groups for user:

- - - - - - - - - - - - - - -

User

Groups

capitularia

capitularia, capitularia-editors

<editor>

<editor>, capitularia-editors

-

ACL permissions for users:

- - - - - - - - - - - - - - - - - - - - -

User

cap/publ

cap/intern

cap/intern/InArbeit/<editor>

capitularia

rwx

rwx

rwx

www-data

r-x

-

ACL permissions for groups:

- - - - - - - - - - - - - - - - - - - - -

Group

cap/publ

cap/intern

cap/intern/InArbeit/<editor>

capitularia

rwx

rwx

rwx

capitularia-editors

rwx

rwx

rwx

-

To see ACLs for the current directory, say:

-
getfacl .
-
-
-

An example of how to set ACLs:

-
setfacl -R -m u:www-data:rX,g:capitularia-editors:rwX,o::- <dir>
-
-
-
-
-

Adding a New User

-

To add a new user to the VM (needs root):

-
sudo ~root/add_capitularia_user.sh <username>
-
-
-

Each user should also have a semi-personal subdirectory in: cap/intern/InArbeit/. -They can create that themselves.

-
-
-

Deleting a New User

-

To delete a user (needs root):

-
sudo ~root/del_capitularia_user.sh <username>
-
-
-

Each user should also have a semi-personal subdirectory in: cap/intern/InArbeit/. -The script does not remove that directory as it may still contain data.

-
-
-

Security

-

The users are authenticated by the RRZK Kerberos system through PAM and the pam_krb5 -module. For particulars see the voice: “Zugang zu Gast-VM (debian) mit UniKim-Account” -in the internal CCeH wiki.

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/database.html b/docs/build/vm/wordpress/database.html deleted file mode 100644 index f5013747..00000000 --- a/docs/build/vm/wordpress/database.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - Wordpress Database Structure — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Database Structure

-

The Wordpress mysql Database for Capitularia.

-

This is a standard Wordpress database. See the Wordpress database description.

-

The access parameters can be found in -/var/www/capitularia.uni-koeln.de/wp-config.php.

-
-

Metadata

-

Metadata we add to the wp_postmeta table:

-
-
tei-xml-id

The xml:id of the TEI file transcluded into the page.

-

The Page Generator plugin adds this metadata when it -creates a page.

-
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/development.html b/docs/build/vm/wordpress/development.html deleted file mode 100644 index bf5fe24e..00000000 --- a/docs/build/vm/wordpress/development.html +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - - Developer Notes — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Developer Notes

-

Description of our development environment for Wordpress customizations.

-

Skills needed: Wordpress, PHP, Javascript, Sass, Vue.js, jQuery, Bootstrap, Webpack, -GNU Make.

- -
-

webpack

-

We use webpack to compile all our JS and CSS modules.

-

Webpack generates a manifest file in dist/manifest.json -that contains the public path to all compiled modules.

-

The theme and plugins load all JS code through the function:

-
\cceh\capitularia\lib\enqueue_from_manifest ($key, $dependencies = array ())
-
-
-

where $key ist the key in the manifest file.

-

To build production files compile with:

-
webpack --config webpack.prod.js
-
-
-

To build development files and enable hot module reloading (HMR) compile with:

-
webpack serve --config webpack.dev.js
-
-
-

webpack serve adds some code to your JS to enable HMR. Once loaded into -Wordpress this code opens a socket to the webpack-dev-server and awaits -commands. When webpack-dev-server detects a source code change it compiles the -changed modules into hot-update.js files and sends a reload command down the -socket. The HMR code in your app then tries to reload the changed modules -preserving application state. If it fails to do so it will fallback on -reloading the whole page (and will lose application state).

-

Example webpack config:

-
const { merge } = require ('webpack-merge');
-const chokidar = require ('chokidar');
-const common = require ('./webpack.common.js');
-
-const host    = 'capitularia.fritz.box';
-const devHost = 'localhost';
-const devPort = 8081;
-
-module.exports = merge (common, {
-    'mode'    : 'development',
-    'devtool' : 'eval-source-map',
-    'output'  : {
-        'publicPath' : `http://${devHost}:${devPort}/`,
-    },
-    'module' : {
-        'rules' : [
-            {
-                'test' : /\.s?css$/,
-                'use'  : [
-                    'style-loader',
-                    {
-                        'loader'  : 'css-loader',
-                        'options' : {
-                            'importLoaders' : 2,
-                        },
-                    },
-                    {
-                        'loader'  : 'sass-loader',
-                        'options' : {
-                            'sassOptions' : {
-                                'quietDeps' : true,
-                            },
-                        },
-                    },
-                ],
-            },
-        ],
-    },
-    'devServer' : {
-        'host'       : devHost,
-        'port'       : devPort,
-        // Enable hot module reloading (HMR).
-        'hot'        : true,
-        'liveReload' : false,
-        'static'     : {
-            'directory' : './dist',
-        },
-        'devMiddleware' : {
-            // write images because we still load them the traditional way
-            'writeToDisk' : true,
-        },
-
-        // Needed because we access port devPort from port 80.
-        'allowedHosts' : [host],
-        'headers'      : { 'Access-Control-Allow-Origin' : `http://${host}` },
-
-        // Watch for changes to PHP files and reload the page when one changes.
-        // See: https://mikeselander.com/hot-reloading-using-webpack-with-php-file-changes/
-        setupMiddlewares (middlewares, devServer) {
-            chokidar
-                .watch (['themes/**/*.php', 'plugins/*/*.php'], {
-                    'alwaysStat'     : true,
-                    'atomic'         : false,
-                    'followSymlinks' : false,
-                    'ignoreInitial'  : true,
-                    'persistent'     : true,
-                    'usePolling'     : true,
-                })
-                .on ('all', () => {
-                    devServer.sendMessage (devServer.sockets, 'content-changed');
-                });
-            return middlewares;
-        },
-    },
-});
-
-
-
-
-

i18n of Javascript

-

Internationalization consists of these steps:

-
    -
  1. Extract the strings to translate from the source files.

  2. -
  3. Translate the strings and compile them into a .json file (in jed format).

  4. -
  5. Make the .json file available to your JS module.

  6. -
  7. Use the Wordpress wp-i18n.js library to translate the strings at -runtime.

  8. -
-
-

Extract

-

There are 3 kinds of source files: PHP files, JS files and Vue single component -files. PHP files can be extracted using the GNU xgettext utility. JS and Vue -files can be extracted using the easygettext utility.

-
-

PHP Files

-

In PHP files use the __ (), _x (), and _n () functions.

-
-
-

JS Files

-

In JS files, add this boilerplate to the file:

-
/** The Wordpress Text Domain of the plugin. */
-const LANG = 'cap-dynamic-menu';
-
-function $gettext (msg) {
-    return wp.i18n.__ (msg, LANG);
-}
-function $pgettext (context, msg) {
-    return wp.i18n._x (msg, context, LANG);
-}
-function $ngettext (singular, plural, number) {
-    return wp.i18n._n (singular, plural, number, LANG);
-}
-
-
-

Then use like this:

-
const message  = $gettext  ('Message to translate');
-const pmessage = $pgettext ('Hint to translators', 'Message to translate');
-const nmessage = $ngettext ('Singular', 'Plural', number);
-
-
-

We must use the $gettext() names for our functions, or the stupid -easygettext tool will not recognize the function. The functions used like this -tag the message for the string extractor and also translate the string at -runtime.

-
-
-

Vue Files

-

Vue single component files contain 3 sections: HTML, JS, and CSS. The CSS -section does not need to be translated.

-

In the JS section of Vue files, use the $t () function:

-
const message = $t ('Message to translate');
-
-
-

This function tags the message for the string extractor and also translates -the string at runtime.

-

In the HTML template section of Vue files, you may use two different methods to -tag translatable strings:

-
<h2 v-translate>Header to translate</h2>
-<span title="$t ('Tooltip to translate')"></span>
-
-
-

This is the Vue 3 boilerplate that enables translations in Vue files: Put this -in main.js before initializing your Vue app.

-
-
Vue.js 3 boilerplate
-
const DOMAIN = 'my-text-domain';
-const app    = createApp (App);
-
-// wrapper to call the Wordpress translate function
-function $t (text) {
-    return wp.i18n.__ (text, DOMAIN);
-}
-
-// the vm.$t function
-app.config.globalProperties.$t = $t;
-
-// the v-translate directive
-app.directive ('translate', (el) => {
-    el.innerText = $t (el.innerText.trim ());
-});
-
-app.mount ('...');
-
-
-
-
-
-
-

Translate

-

Use poedit to translate the extracted strings.

-

To compile .po files into .json files we use a custom made -python/po2json.py.

-
-
-

Enqueue Translations

-

Wordpress boilerplate to make translations available in PHP and JS files:

-
-
Wordpress boilerplate
-
use cceh\capitularia\lib;
-
-const DOMAIN = 'my-text-domain';
-
-function enqueue_scripts ()
-{
-    $key = 'my-module'; // key from webpack.common.js
-
-    // enqueue webpacked JS module
-    lib\enqueue_from_manifest ("$key.js", [
-        'another-module.js',
-    ]);
-
-    // enqueue extracted (minified) CSS
-    lib\enqueue_from_manifest ("$key.css", [
-        'another-module.css'
-    ]);
-
-    // translations in PHP files
-    lib\load_textdomain (DOMAIN);
-
-    // translations in JS files
-    lib\wp_set_script_translations ("$key.js", DOMAIN);
-}
-
-
-
-

See also: -https://make.wordpress.org/core/2018/11/09/new-javascript-i18n-support-in-wordpress/

-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/index.html b/docs/build/vm/wordpress/index.html deleted file mode 100644 index 9b2ff640..00000000 --- a/docs/build/vm/wordpress/index.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - Wordpress — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/installation.html b/docs/build/vm/wordpress/installation.html deleted file mode 100644 index a7a52614..00000000 --- a/docs/build/vm/wordpress/installation.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - Wordpress Installation — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Installation

-

The Wordpress installation in the Capitularia VM.

-

The installation resides in the directory: -/var/www/capitularia.uni-koeln.de/.

-

The web server has no write permission to the file system, so you cannot update -Wordpress from the dashboard. To update Wordpress, change into the installation -directory and use the command wp like this:

-
cd /var/www/capitularia.uni-koeln.de
-./wp cli update
-./wp core update
-./wp theme update --all
-./wp plugin update --all
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/maintenance.html b/docs/build/vm/wordpress/maintenance.html deleted file mode 100644 index a47b5e72..00000000 --- a/docs/build/vm/wordpress/maintenance.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - Wordpress Maintenance — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Maintenance

-
-

Wordpress Upgrades

-

We use the Wordpress cli tool to upgrade Wordpress.

-

N.B.: There already is a nightly database backup running.

-

Login:

-
ssh capitularia@capitularia.uni-koeln.de
-cd /var/www/capitularia.uni-koeln.de
-./wp help
-
-
-

Upgrade the cli tool:

-
./wp cli update
-
-
-

Upgrade Wordpress:

-
./wp core update
-./wp theme update --all
-./wp plugin update --all
-
-
-
-

qtranslate-xt

-

The plugin qtranslate-xt needs manual -update:

-
cd /var/www/capitularia.uni-koeln.de/wp-content/plugins/
-wget https://github.com/qtranslate/qtranslate-xt/archive/3.6.2.zip
-unzip 3.6.2.zip
-rm 3.6.2.zip
-
-
-

Replace “3.6.2” with the latest version.

-

Then go to the Wordpress admin page and -then to Plugins ‣ Installed Plugins, deactivate the old version and -activate the new version of the plugin.

- -
-
-

wordfence

-

The plugin Wordfence needs write access to the location -/var/www/capitularia.uni-koeln.de/wp-content/wflogs. The wp commandline update -tool also needs access to that location during plugin update. So both users www-data -and capitularia have write access to that location.

-
getfacl wflogs
-# file: wflogs
-# owner: capitularia
-# group: capitularia
-user::rwx
-user:www-data:rwx
-user:capitularia:rwx
-group::r-x
-mask::rwx
-other::r-x
-default:user::rwx
-default:user:www-data:rwx
-default:user:capitularia:rwx
-default:group::r-x
-default:mask::rwx
-default:other::r-x
-
-
-
-
-

Restore Database

-

Restore the Wordpress database from the backup.

-
mysql < /var/backups/mysqldump.backup
-
-
-

Note: The database contains all Wordpress settings. After restoring the production -database on a developer machine, the Wordpress settings must be adjusted.

-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins.html b/docs/build/vm/wordpress/plugins.html deleted file mode 100644 index 0fc0a675..00000000 --- a/docs/build/vm/wordpress/plugins.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - Wordpress Plugins — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Plugins

-
-

Active Plugins

-

We wrote various Wordpress plugins to implement functionality we needed.

- -
-
-

Obsolete Plugins

-
    -
  • Collation tool The old collation tool that lived on a Wordpress admin -page. Was rewritten for the front, because the admin page was not accessible -by the general public.

  • -
  • XSL processor This plugin was rewrittem as the File Includer plugin. XSLT -is now done exclusively on the VM because we can use Saxon there while we were -limited to xsltproc in the old RRZK-Webprojekt environment.

  • -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/collation-tool.html b/docs/build/vm/wordpress/plugins/collation-tool.html deleted file mode 100644 index b31cea46..00000000 --- a/docs/build/vm/wordpress/plugins/collation-tool.html +++ /dev/null @@ -1,547 +0,0 @@ - - - - - - - Collation Tool — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Collation Tool

- -
-

PHP

-
-

plugins/cap-collation/cap-collation.php

-

Plugin Name: Capitularia Collation Tool -Plugin URI: -Description: Collates TEI files.

-

Version: 0.2.2 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-collation -Domain Path: /languages

-

Capitularia Collation Tool plugin.

-

The Collation Tool plugin lets any member of the general public do -collations of arbitrary sections from different manuscripts.

-

This plugin provides a shortcode that inserts a dashboard on the page. -Within the dashboard the user can request collations of sections of -manuscripts. The dashboard is implemented in javascript with Vue.js. The -PHP code of this plugin basically only serves the Javascript code to the -user.

-

The actual collation is done on the Capitularia API Server with the super collator library.

-

A big Makefile, run by cron on the API server, uses XSLT and Saxon to -extract the relevant sections from the TEI files and pre-processes them for -collation. In the end all TEI tags are removed and only the normalized text is -stored into the Postgres database. On an incoming collation request the API server -reads the pre-processed texts from the database and sends them to the super collator.

-

See: collatex_server, collation overview.

-
-
-constant NAME
-

‘Capitularia Collation Tool’

-

The name of the plugin.

-
- -
-
-constant DOMAIN
-

‘cap-collation’

-

The Text Domain of the plugin.

-
- -
-
-

plugins/cap-collation/functions.php

-

Capitularia Collation Tool global functions.

-
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

The name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-enqueue_scripts()
-

Enqueue the front page script and localize it.

-

The script is a webpacked Vue.js application containing its own css.

-
-
Return type:
-

void

-
-
-
- -
-
-on_shortcode(dummy_atts, dummy_content)
-

Replace the shortcode with the collation dashboard.

-

Insert a Vue.js component. Vue.js takes over from that and builds the -collation dashboard.

-
-
Parameters:
-
    -
  • dummy_atts (array) – (unused) The shortcode attributes

  • -
  • dummy_content (array) – (unused) The shortcode content (should be empty)

  • -
-
-
Returns:
-

The Vue.js component as HTML.

-
-
Return type:
-

string

-
-
-
- -
-
-
-

Javascript

-
-

plugins/cap-collation/src/js/front.js

-

Initializes the collation applet.

-
-
-

plugins/cap-collation/src/js/main.vue

-
-
-class plugins/cap-collation/main.Main()
-

The vue.js instance that manages the whole page.

-
- -
-
-

plugins/cap-collation/src/js/results.vue

-
-
-class plugins/cap-collation/results.Results()
-

The vue.js instance that manages the collation output table.

-
- -
-
-

plugins/cap-collation/src/js/selector.vue

-
-
-class plugins/cap-collation/selector.Selector()
-

The vue.js instance that manages the section selector(s).

-
- -
-
-

plugins/cap-collation/src/js/tools.js

-

Utility functions for the collation applet.

-
-
-plugins/cap-collation/tools.LANG
-
cap-collation
-
-
-

The Wordpress Text Domain of the plugin.

-
- -
-
-plugins/cap-collation/tools.bk_id
-

(string) -The id of the “Obertext”.

-
- -
-
-plugins/cap-collation/tools.cap_collation_algorithms
-

The collation algorithms we support.

-
- -
-
-plugins/cap-collation/tools.Palette
-

A color palette.

-
- -
-
-plugins/cap-collation/tools.insert_css_palette(css)
-

Insert a CSS color palette into the DOM making it active.

-
-
Arguments:
-
    -
  • css (string()) – The color palette as string.

  • -
-
-
-
- -
-
-plugins/cap-collation/tools.api(endpoint, data)
-

This calls the API on the API server

-
-
Arguments:
-
    -
  • endpoint (string()) – The endpoint relative to the API root.

  • -
  • data (URLSearchParams()) – The query to send.

  • -
-
-
Returns:
-

Promise resolved when call completed.

-
-
Return type:
-

Promise

-
-
-
- -
-
-plugins/cap-collation/tools.encodeRFC5987ValueChars(str)
-

Build a valid filename to save the config.

-
-
Arguments:
-
    -
  • str (string()) – The string to encode.

  • -
-
-
Returns:
-

The encoded string.

-
-
Return type:
-

string

-
-
-
- -
-
-plugins/cap-collation/tools.sort_key(s)
-

A key that sorts numbers right

-
-
Arguments:
-
    -
  • s (string()) – Any string.

  • -
-
-
Returns:
-

A key derived from the string that sorts numbers right.

-
-
Return type:
-

string

-
-
-
- -
-
-plugins/cap-collation/tools.build_witness_url(w)
-

Build an URL that represents one witness to be collated.

-
-
Arguments:
-
    -
  • w (Object()) – The witness object

  • -
-
-
Returns:
-

The url

-
-
Return type:
-

string

-
-
-
- -
-
-plugins/cap-collation/tools.fix_witness(w)
-

Calculate some attributes for a witness object: a human-readable title, i18n, sort key.

-
-
Arguments:
-
    -
  • w (Object()) – The witness object to fix

  • -
-
-
Returns:
-

The fixed witness object

-
-
Return type:
-

Object

-
-
-
- -
-
-plugins/cap-collation/tools.parse_locus_url(url)
-

Parse a locus url into a witness object similar to one returned by the data server. Currently used only to calculate the title length in the results table.

-
-
Arguments:
-
    -
  • url (string()) – The witness url

  • -
-
-
Returns:
-

The witness object

-
-
Return type:
-

Object

-
-
-
- -
-
-plugins/cap-collation/tools.unroll_witnesses(rolled)
-

Unroll collate struct Unrolls the witness list before sending it to the collation server. Turns this: .. code-block:: json [ { “corresp”: “BK.40_4”, “witnesses”: [ “bk-textzeuge”, “vatikan-bav-chigi-f-iv-75” ] }, { “corresp”: “BK.137”, “witnesses”: [ “bk-textzeuge”, “kopenhagen-kb-1943-4”, “paris-bn-lat-2718” ] } ] into this: .. code-block: json [ “BK.40_4/bk-textzeuge”, “BK.40_4/vatikan-bav-chigi-f-iv-75”, “BK.137/bk-textzeuge”, “BK.137/kopenhagen-kb-1943-4”, “BK.137/paris-bn-lat-2718”, ]

-
-
Arguments:
-
    -
  • rolled (Array()) – The collate struct

  • -
-
-
Returns:
-

The unrolled witness array

-
-
Return type:
-

Array

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/dynamic-menu.html b/docs/build/vm/wordpress/plugins/dynamic-menu.html deleted file mode 100644 index 254c8179..00000000 --- a/docs/build/vm/wordpress/plugins/dynamic-menu.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - Dynamic Menu — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Dynamic Menu

- -
-

PHP

-
-

plugins/cap-dynamic-menu/cap-dynamic-menu.php

-

Plugin Name: Capitularia Dynamic Menu -Plugin URI: -Description: Build navigation menus from user-specified HTML-tags.

-

Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-dynamic-menu -Domain Path: /languages

-

Capitularia Dynamic Menu plugin.

-

The Dynamic Menu plugin provides a navigation menu for the sidebar. The -menu entries are collected from DOM elements and attributes of the HTML page -and allow the user to navigate to portions of the document. The menu entries -may be nested.

-

You may configure the menu with xpath expressions, eg.to build a menu from -all <h3>, <h4>, and <h5> tags on the page. The menu entries will be properly -nested.

-

The PHP code only outputs a placeholder tag. The Javascript code will build -the actual menu using the DOM of the page.

-
-
-constant DOMAIN
-

‘cap-dynamic-menu’

-

The Text Domain

-
- -
-
-

plugins/cap-dynamic-menu/functions.php

-

Capitularia Dynamic Menu global functions.

-
-
-constant MAGIC_MENU
-

‘#cap_dynamic_menu#’

-
- -
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

Name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-on_enqueue_scripts()
-

Enqueue Javascript and CSS for the front page.

-
-
Return type:
-

void

-
-
-
- -
- -

Add attribute data-cap-dynamic-menu.

-

Puts the item description into the HTML attribute -data-cap-dynamic-menu. Otherwise it would get lost.

-

See: src/js/front.js for more information.

-
-
Parameters:
-
    -
  • atts (array) – The old HTML attributes.

  • -
  • item (WP_Post) – The current menu item.

  • -
  • args (stdClass) – An object of wp_nav_menu() arguments.

  • -
  • depth (int) – Depth of menu item. Used for padding.

  • -
-
-
Returns:
-

The updated HTML attributes.

-
-
Return type:
-

array

-
-
-
- -
-
-
-

Javascript

-
-

plugins/cap-dynamic-menu/src/js/front.js

-

The dynamic menu applet. The dynamic menu is generated from xpath expressions that query the page content. There is one xpath expression for every level of the menu. Use the standard wordpress admin interface to define the xpath expressions: To make a dynamic menu, insert a Custom Link item into any Wordpress menu and give it a magic url of: #cap_dynamic_menu#. The Custom Link item will be replaced by the generated menu. Put all the xpath expressions for each level of the menu into the Description field. Separate each level with a § (section sign). The default xpath expressions are: //h3[@id]§//h4[@id]§//h5[@id]§//h6[@id], which generate a 4 level deep menu built from all <h3>-<h6> elements that have an id attribute. The caption of a generated menu item is taken from the data-cap-dyn-menu-caption attribute on the source element or from the source element’s textContent. All classes in the CSS Classes field in the Wordpress admin interface are copied over to each generated menu item along with a class $class-level-$level. Eg. a class of my-menu would become my_menu and my-menu-level-1. All classes on the elements matched with the xpath expressions, that start with dynamic-menu-, are copied to each generated menu item. Additionally classes named menu-item, dynamic-menu-item, and dynamic-menu-item-level-$level are added to each generated menu item. .. note:: We use webpack as a workaround to load javascript modules in Wordpress. Wordpress cannot load javascript modules thru enqueue_script () because it lacks an option to specify type=”module” on the <script> element. Webpack also packs babel-runtime for us. babel-runtime is required for async functions.

-
-
-plugins/cap-dynamic-menu/front.LANG
-
cap-dynamic-menu
-
-
-

The Wordpress Text Domain of the plugin.

-
- -
-
-plugins/cap-dynamic-menu/front.init_dynamic_menues()
-

Initialize all dynamic menus on the page. This routine looks for an <a> with the data-cap-dynamic-menu attribute and transmogrifies it into the real menu by going through the DOM of the page and adding all elements that fit the xpath’es in the attribute.

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/file-includer.html b/docs/build/vm/wordpress/plugins/file-includer.html deleted file mode 100644 index cc0b2fbd..00000000 --- a/docs/build/vm/wordpress/plugins/file-includer.html +++ /dev/null @@ -1,963 +0,0 @@ - - - - - - - File Includer — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

File Includer

- -
-

PHP

-
-

plugins/cap-file-includer/cap-file-includer.php

-

Plugin Name: Capitularia File Includer -Plugin URI: -Description: Includes external HTML files in Wordpress pages.

-

Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-file-includer -Domain Path: /languages

-

Capitularia File Includer plugin.

-

The File Includer plugin registers a Wordpress shortcode that allows to -include any external HTML file in a Worpdress page. We use this shortcode to -put the transcribed manuscripts into Wordpress.

-

The TEI files are transformed into HTML files on -the Capitularia VM. On that server we maintain up-to-date python and java -installations. A customary Web Projekt at uni-koeln.de does not include those or -includes outdated versions of them.

-

This plugin also stores the included text into the Wordpress database. This -makes the built-in Wordpress search function work with the included material.

-
-

Note

-

Currently (Nov. 2019) the plugin also does some post-processing of -the HTML files. This code will also be rewritten and moved to the VM.

-
-

The format of the shortcode is:

-
[cap_include path="path/to/file.html" post="true"]
-
-
-
-
param str path:
-

Path of the file to include, relative to the root on the -settings page.

-
-
param str post:
-

Optional. If the included file should be post-processed by the -footnotes-post-processor then set this parameter to true.

-
-
-

See also: the Page Generator plugin, which generates -batches of page stubs from directories of TEI files. Those stubs usually -contain the shortcodes for this plugin.

-
-
-constant NAME
-

‘Capitularia File Includer’

-

The name of the plugin.

-
- -
-
-constant DOMAIN
-

‘cap-file-includer’

-

The Text Domain of the plugin.

-
- -
-
-constant OPTIONS
-

‘cap_fi_options’

-

The Wordpress ID of the settings (option) page.

-
- -
-
-

plugins/cap-file-includer/class-file-includer.php

-

Capitularia File Includer Main Class

-
-
-class FileIncluderEngine
-

Implements the inclusion engine.

-

One difficulty is to get in early enough so that the qtranslate-x plugin has -not translated away the unwanted languages. We need all languages to be -there when we have to save the page. qtranslate-x hooks into ‘the_posts’ so -we must too.

-

The other difficulty is to protect the included content from the wpautop and -wptexturizer filters, which were implemented with boundless incompetence and -try to put <p>’s around the included content everywhere and fuck up the HTML -attributes with curly quotes.

-

To get around those filters we insert <pre> tags around the included content, -which is the only way to fend those filters off for some portion of a page, -instead of disabling them wholesale. We double the <pre> tags in this way: -<pre><pre>…</pre></pre> so that we can filter them out again later without -danger of removing tags of other provenience.

-

We have to save the included content to the database to make it searchable by -the built-in Wordpress search engine.

-
-
-property do_save
-

(bool) -Do we have to save the post?

-
- -
-
-property post
-

(\WP_Post) -A ref to the post being processed.

-
- -
-
-on_shortcode_early(atts, content)
-

Process our shortcodes. Step 1: Include the file.

-

Called very early from on_the_posts ().

-

See: \cceh\capitularia\file_includer\on_the_content_early()

-
-
Parameters:
-
    -
  • atts (array) – The shortcode attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The content to insert into the shortcode.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode(dummy_atts, content)
-

Process our shortcodes. Step 2.

-

Called after wpautop and wptexturizer did their nefarious work. Clean up -the <pre> tags we inserted only to protect against them.

-
-
Parameters:
-
    -
  • dummy_atts (array) – (unused) The shortcode attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The content with <pre> tags stripped.

-
-
Return type:
-

string

-
-
-
- -
-
-on_the_posts(posts, query)
-

Process our shortcodes. Step 1.

-

We are forced to hook into ‘the_posts’ because the qtranslate-x plugin -does it this way and we must get in before qtranslate-x has translated -away the unwanted languages.

-

We cannot save inside the on_shortcode_early hook because there -may be more than one shortcode on the page and besides there may -be other content too.

-
-
Parameters:
-
    -
  • posts (WP_Post[]) – The array of posts.

  • -
  • query (WP_Query) – The query.

  • -
-
-
Returns:
-

The array of posts with our shortcode processed.

-
-
Return type:
-

WP_Post[]

-
-
-
- -
- -
-
-

plugins/cap-file-includer/class-settings-page.php

-

Capitularia File Includer Settings Page

-
-
-class Settings_Page
-

Implements the settings (options) page.

-

Found in Wordpress admin under Settings | Capitularia File -Includer.

-
-
-__construct()
-

Constructor

-

Add option fields so we can use the Wordpress function -do_settings_sections() to output them.

-

Also register one POST parameter to be handled and validated by -Wordpress. We want all user entries to be returned into PHP as one -string array called OPTIONS_PAGE_ID. This array will be passed by -Wordpress to the validation function and stored in the database all in -one row.

-

See: http://planetozh.com/blog/2009/05/handling-plugins-options-in-wordpress-28-with-register_setting/ Blog post: how to store all plugin options into one database row.

-
-
Return type:
-

self

-
-
-
- -
-
-display()
-

Output the Settings page.

-
-
Return type:
-

void

-
-
Raises \cceh\capitularia\file_includer\InvalidArgumentException:
-

if the provided argument is not of type ‘array’.

-
-
-
- -
-
-on_options_section_general()
-

Output the ‘general’ section.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_field_root()
-

Output the root option field with its description.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_field_shortcode()
-

Output the shortcode option field with its description.

-
-
Return type:
-

void

-
-
-
- -
-
-sanitize_path(path)
-

Sanitize a field that should contain a path.

-
-
Parameters:
-
    -
  • path (string) – The path to sanitize

  • -
-
-
Returns:
-

Sanitized path without trailing slash.

-
-
Return type:
-

string

-
-
-
- -
-
-on_validate_options(options)
-

Validate options entered by user

-

We get all user entries back in one associative array so that we can -store them in one database row. This makes validation somewhat more -difficult.

-

See: \cceh\capitularia\file_includer\__construct()

-
-
Parameters:
-
    -
  • options (array) – Array of key, value: the options as entered on the form.

  • -
-
-
Returns:
-

Array containing the validated options

-
-
Return type:
-

array

-
-
-
- -
- -
-
-

plugins/cap-file-includer/footnotes-post-processor-include.php

-

Capitularia Footnotes Post-Processor Include File

-

This script processes the output of the xslt transformation. Here we do -those things that are easier in PHP than in XSLT:

-
    -
  • Merge adjacent footnotes and move footnotes to the end of the word.

  • -
  • Drop footnotes followed by an editorial note in the same word.

  • -
  • Insert footnote refs and backrefs and numbers them sequentially.

  • -
  • Wrap initials (dropcaps) and the following word into a span.

  • -
  • Substitute editors’ shortcuts with proper mediaeval punctuation.

  • -
  • Accept XML or HTML input, always output HTML.

  • -
-

This file only declares symbols (classes, functions, constants) in accordance -with PSR-2.

-
-
-constant \cceh\capitularia\file_includer\Settings_Page::FOOTNOTE_SPAN
-

‘//span[@data-note-id][not (ancestor::div[@class=”footnotes-wrapper”])]’

-
- -
-
-constant \cceh\capitularia\file_includer\Settings_Page::FOOTNOTE_REF
-

‘a[contains (concat (” “, @class, “ “), “ annotation-ref “)]’

-
- -
-
-is_note(node)
-

Is the node a note?

-
-
Parameters:
-
    -
  • node (DOMNode) – The node to test.

  • -
-
-
Returns:
-

true if the node is a note.

-
-
Return type:
-

bool

-
-
-
- -
-
-add_class(node, class)
-

Add a class to a node.

-

Manages multiple classes .

-
-
Parameters:
-
    -
  • node (DOMElement) – The node.

  • -
  • class (string) – The class to add.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-has_class(node, class)
-

Test if node has class.

-
-
Parameters:
-
    -
  • node (DOMElement) – The node.

  • -
  • class (string) – The class to test.

  • -
-
-
Returns:
-

True if the node has the class.

-
-
Return type:
-

bool

-
-
-
- -
-
-is_text_node(node)
-

Test if node is a text node.

-
-
Parameters:
-
    -
  • node (DOMElement) – The node.

  • -
-
-
Returns:
-

True if the node is a text node.

-
-
Return type:
-

bool

-
-
-
- -
-
-remove_node(node)
-

Remove node from parent.

-
-
Parameters:
-
    -
  • node (DOMElement) – The node to remove.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-merge_notes(note, next)
-

Merge $note into $next.

-
-
Parameters:
-
    -
  • note (DOMNode) – The note to merge.

  • -
  • next (DOMNode) – The note to merge into.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-wrap(nodes)
-

Wrap $nodes into a span.

-
-
Parameters:
-
    -
  • nodes (array) – Nodes to wrap.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-word_end_pos(text_node)
-

Return the position of the character after the first word in $text_node.

-

$text_node must be a text node.

-
-
Parameters:
-
    -
  • text_node (DOMNode) – The text node.

  • -
-
-
Returns:
-

Position of first whitespace or false.

-
-
Return type:
-

mixed

-
-
-
- -
-
-query_copy(xpath_query_result)
-

Copies the result of an XPath query into an array.

-
-
Parameters:
-
    -
  • xpath_query_result (DOMNodeList) – The XPath result.

  • -
-
-
Returns:
-

An array of nodes.

-
-
Return type:
-

array

-
-
-
- -
-
-insert_footnote_ref(elem, id)
-

Insert a footnote reference into the document.

-
-
Parameters:
-
    -
  • elem (DOMElement) – The element after which insertion should take place.

  • -
  • id (string) – The id of the footnote.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-insert_footnote_backref(elem, id)
-

Insert a footnote back reference into the document.

-
-
Parameters:
-
    -
  • elem (DOMElement) – The element after which insertion should take place.

  • -
  • id (string) – The id of the footnote.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-post_process(doc)
-

Post process the footnotes, etc.

-
-
Parameters:
-
    -
  • doc (DOMDocument) – The document to process.

  • -
-
-
Returns:
-

The processed document.

-
-
Return type:
-

DOMDocument

-
-
-
- -
-
-load_xml_or_html(in)
-

Load XML or HTML.

-

We have (had) a mix of transformation scripts outputting -either XML or HTML so we must read both formats.

-
-
Parameters:
-
    -
  • in (string) – The XML or HTML as string.

  • -
-
-
Returns:
-

The new document.

-
-
Return type:
-

DOMDocument

-
-
-
- -
-
-save_html(doc)
-

Convert the document to HTML.

-

We need the document as HTML because it gets embedded into a wordpress page. -Also we need to get rid of <DOCTYPE>, <html>, <head>, and <body>. We do this -by starting output at the topmost <div>.

-
-
Parameters:
-
    -
  • doc (DOMDocument) – The document as DOM.

  • -
-
-
Returns:
-

The document as embeddable HTML.

-
-
Return type:
-

string

-
-
-
- -
-
-

plugins/cap-file-includer/functions.php

-

Capitularia File Includer functions.

-

The main difficulty here is to get around the wpautop and wptexturizer -filters that were implemented with boundless incompetence.

-
-
-make_shortcode_around(atts, content)
-

Put shortcodes and <pre> tags around the content.

-
-
Parameters:
-
    -
  • atts (array) – The shortcode attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The content surrounded by shortcodes and <pre> tags.

-
-
Return type:
-

string

-
-
-
- -
-
-strip_pre(content)
-

Strip <pre> tags from around the content.

-
-
Parameters:
-
    -
  • content (string) – The content to strip.

  • -
-
-
Returns:
-

The stripped content.

-
-
Return type:
-

string

-
-
-
- -
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

Name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-get_opt(name, default)
-

Get an option from Wordpress.

-
-
Parameters:
-
    -
  • name (string) – The name of the option.

  • -
  • default (string) – The default value.

  • -
-
-
Returns:
-

The option value

-
-
Return type:
-

string

-
-
-
- -
-
-get_root()
-

Get the configured root directory.

-
-
Returns:
-

The root directory

-
-
Return type:
-

string

-
-
-
- -
-
-on_init()
-

Initialize the plugin.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_menu()
-

Add menu entry to the Wordpress admin menu.

-

Add a menu entry for the settings (options) page to the Wordpress -settings menu.

-
-
Return type:
-

void

-
-
-
- -
- -

Add a link to our settings page to the plugins admin dashboard.

-

Adds hack value.

-
-
Parameters:
-
    -
  • links (array) – The old links

  • -
-
-
Returns:
-

The augmented links

-
-
Return type:
-

array

-
-
-
- -
-
-

plugins/cap-file-includer/post-process-cli.php

-

Capitularia File Includer Main Class

-
-
-
-

Javascript

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/lib.html b/docs/build/vm/wordpress/plugins/lib.html deleted file mode 100644 index 0a0181d8..00000000 --- a/docs/build/vm/wordpress/plugins/lib.html +++ /dev/null @@ -1,891 +0,0 @@ - - - - - - - Library — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
- -
-
- -
-

Library

- -
-

PHP

-
-

plugins/cap-lib/cap-lib.php

-

Plugin Name: Capitularia Library -Plugin URI: -Description: Library of functions for Capitularia plugins. (REQUIRED) -Version: 0.1.0 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-lib -Domain Path: /languages

-

Capitularia Library plugin.

-

The Library plugin contains a collection of useful functions. This plugin -bundles all functions that don’t quite fit elsewhere or would be excessively -duplicated.

-

This plugin is required by the other Capitularia plugins.

-
-
-constant NAME
-

‘Capitularia Library’

-

The name of the plugin.

-
- -
-
-constant DOMAIN
-

‘cap-lib’

-

The Text Domain of the plugin.

-
- -
-
-constant OPTIONS
-

‘cap_lib_options’

-

The Wordpress ID of the settings (option) page.

-
- -
-
-

plugins/cap-lib/class-settings-page.php

-

Capitularia Library Settings Page

-
-
-class Settings_Page
-

Implements the settings (options) page.

-

Found in Wordpress admin under _Settings | Capitularia Library.

-
-
-__construct()
-

Constructor

-

Add option fields so we can use the Wordpress function -do_settings_sections() to output them.

-

Also register one POST parameter to be handled and validated by -Wordpress. We want all user entries to be returned into PHP as one -string[] called OPTIONS_PAGE_ID. This array will be passed by -Wordpress to the validation function and stored in the database all in -one row.

-

See: http://planetozh.com/blog/2009/05/handling-plugins-options-in-wordpress-28-with-register_setting/ Blog post: how to store all plugin options into one database row.

-
- -
-
-display()
-

Output the Settings page.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_section_general()
-

Output the ‘general’ section.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_field_afs()
-

Output the FS option field with its description.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_field_api()
-

Output the API option field with its description.

-
-
Return type:
-

void

-
-
-
- -
-
-sanitize_path(path)
-

Sanitize a field that should contain a path.

-
-
Parameters:
-
    -
  • path (string) – The path to sanitize

  • -
-
-
Returns:
-

Sanitized path without trailing slash.

-
-
Return type:
-

string

-
-
-
- -
-
-on_validate_options(options)
-

Validate options entered by user

-

We get all user entries back in one string[] so we can store them in one -database row. This makes validation somewhat more difficult.

-

See: \cceh\capitularia\lib\__construct()

-
-
Parameters:
-
    -
  • options (array) – Array of key, value: the options as entered on the form.

  • -
-
-
Returns:
-

Array containing the validated options

-
-
Return type:
-

array

-
-
-
- -
- -
-
-

plugins/cap-lib/functions.php

-

Capitularia Library functions.

-
-
-constant \cceh\capitularia\lib\Settings_Page::NONCE_SPECIAL_STRING
-

‘cap_lib_nonce’

-

AJAX security

-
- -
-
-constant \cceh\capitularia\lib\Settings_Page::NONCE_PARAM_NAME
-

‘_ajax_nonce’

-

AJAX security

-
- -
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

Name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-add_nopriv_action(action)
-

Add an AJAX action on both the admin and the front side.

-
-
Parameters:
-
    -
  • action (string) – The ajax wp_ajax_$action

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-make_sort_key(s)
-

Make a key that sorts in a sensible way.

-

Make a key that sorts the numbers in strings in a sensible way, eg. (BK1, BK2, -BK10), or (paris-bn-lat-4626, paris-bn-lat-18238).

-
-
Parameters:
-
    -
  • s (string) – Any string

  • -
-
-
Returns:
-

The key to sort with

-
-
Return type:
-

string

-
-
-
- -
-
-sane_parse_str(query)
-

Parse a query string in a standard-compliant way.

-

PHP’s parse_str function does not process query strings in the standard way, when it -comes to duplicate fields. If multiple fields of the same name exist in a query -string, every other web processing language would read them into an array, but PHP -silently overwrites them. This function handles them in a sane way.

-
-
Parameters:
-
    -
  • query (string) – A standard query string, eg. a=1&b=2&a=3

  • -
-
-
Returns:
-

An associative array of name => value or name => [value1, value2]

-
-
Return type:
-

array

-
-
-
- -
-
-on_cap_lib_query_api()
-

AJAX tunnel to the API server

-

Usage example: if you need to hide private posts for non-logged in users.

-

This function is invoked through a POST call to Wordpress and executes a GET call on -the API. The endpoint on the API side is given by the ‘endpoint’ parameter in the -POST multipart body. The query string is given by the POST query string. This -function adds a ‘status’ parameter to the query string but otherwise passes it on -unchanged.

-

Call example:

-
-

const fd = new FormData (); -fd.set (‘action’, ‘cap_lib_query_api’); -fd.set (‘endpoint’, ‘/solr/select.json/’); -return axios.post (get_api_entrypoint (), fd, { ‘params’ : query });

-
-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_lib_get_api_endpoint()
-

AJAX endpoint to get the API server endpoint

-

Answers with the configured URL of the API server.

-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_lib_current_user_can(cap)
-

AJAX endpoint to query user capabilities

-

Answers true if the user has a given capability.

-
-
Parameters:
-
    -
  • cap (string) – The capability to query, eg. ‘read_private_pages’.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_lib_get_published_ids()
-

AJAX endpoint get list of visible xml:ids

-

Get a list of the xml:ids of all published or privately published files. The -API server calls this function to update its database.

-

Output: JSON list of visible xml:ids

-
-
Return type:
-

void

-
-
-
- -
-
-get_published_ids(status)
-

Get a list of the xml:ids of all published or privately published -manuscripts.

-

If $status == ‘publish’ return all published manuscripts, if $status == -‘private’ return all privately published manuscripts. These two sets are -distinct.

-
-
Parameters:
-
    -
  • status (string) –

      -
    • Include all manuscripts with this visibility.

    • -
    -

  • -
-
-
Returns:
-

A list of xml:id

-
-
Return type:
-

string[]

-
-
-
- -
-
-api_json_request(endpoint, params, add_status)
-

Make a json request to the configured API.

-

Use this function to query the python application server.

-

Optionally adds a ‘status’ parameter that is ‘private’ if the user is allowed to see -private posts, else ‘publish’.

-
-
Parameters:
-
    -
  • endpoint (string) – Endpoint relative to configured root.

  • -
  • params (array) – URL parameters to send.

  • -
  • add_status (bool) – If true adds a status param to the query.

  • -
-
-
Returns:
-

The decoded JSON response.

-
-
Return type:
-

string

-
-
-
- -
-
-save_button()
-

Output a localized ‘save changes’ button

-
-
Return type:
-

void

-
-
-
- -
-
-get_opt(name, default)
-

Get an option from Wordpress.

-
-
Parameters:
-
    -
  • name (string) – The name of the option.

  • -
  • default (string) – The default value.

  • -
-
-
Returns:
-

The option value

-
-
Return type:
-

string

-
-
-
- -
-
-urljoin(url1, url2)
-

Join two paths. The second one may be absolute or relative.

-
-
Parameters:
-
    -
  • url1 (string) – The first path.

  • -
  • url2 (string) – The second path.

  • -
-
-
Returns:
-

url1 and url2 joined by exactly one slash.

-
-
Return type:
-

string

-
-
-
- -
-
-get_manifest_uri(key)
-

Return the public uri of a manifest item.

-

Return the public uri where manifest items distributed by the Capitularia -theme an plugins are found.

-
-
Parameters:
-
    -
  • key (string) – The manifest key.

  • -
-
-
Returns:
-

The uri

-
-
Return type:
-

string

-
-
-
- -
-
-images_dir_uri()
-

Return the public uri of the images directory.

-

Return the public uri where the stock images distributed by the Capitularia -theme an plugins are found.

-
-
Returns:
-

The uri

-
-
Return type:
-

string

-
-
-
- -
-
-images_dir_path()
-

Return the local path to the images directory.

-

Return the local path where the stock images distributed by the Capitularia -theme an plugins are found.

-
-
Returns:
-

The path

-
-
Return type:
-

string

-
-
-
- -
-
-get_image_uri(key)
-

Get the url of an image from a manifest key.

-
-
Parameters:
-
    -
  • key (string) – The image key in manifest.

  • -
-
-
Returns:
-

The public url of the image.

-
-
Return type:
-

string

-
-
-
- -
-
-languages_dir_path()
-

Return the local path the languages directory.

-

Return the local path where the language files distributed by the Capitularia -theme an plugins are found.

-
-
Returns:
-

The path

-
-
Return type:
-

string

-
-
-
- -
-
-load_textdomain(domain)
-

Load the PHP translations for a text domain.

-

Load a .mo file into the text domain $domain.

-
-
Parameters:
-
    -
  • domain (string) – The text domain.

  • -
-
-
Returns:
-

True on success, false on failure.

-
-
Return type:
-

bool

-
-
-
- -
-
-wp_set_script_translations(key, domain)
-

Load the Javascript translations for a text domain.

-

Load a .json file into the Javascript text domain $domain.

-
-
Parameters:
-
    -
  • key (string) – The manifest key used to register the script.

  • -
  • domain (string) – The text domain.

  • -
-
-
Returns:
-

True on success, false on failure.

-
-
Return type:
-

bool

-
-
-
- -
-
-enqueue_from_manifest(key, dependencies)
-

Enqueue scripts or stylesheets from the webpack manifest.

-
-
Parameters:
-
    -
  • key (string) – The manifest key, eg. ‘cap-collation-front.js’.

  • -
  • dependencies (string[]) – The dependencies, eg. [‘vendor.js’].

  • -
-
-
Returns:
-

True on success.

-
-
Return type:
-

bool

-
-
-
- -
-
-on_enqueue_scripts()
-

Enqueue the frontpage script.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_enqueue_scripts()
-

Enqueue the admin page script.

-
-
Return type:
-

void

-
-
-
- -
-
-check_ajax_referrer()
-

Check the AJAX nonce. Die if invalid.

-
-
Return type:
-

void

-
-
-
- -
-
-on_init()
-

Initialize the plugin.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_init()
-

Initialize the settings page.

-

First hook called on every admin page.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_menu()
-

Add menu entry to the Wordpress admin menu.

-

Add a menu entry for the settings (options) page to the Wordpress -settings menu.

-
-
Return type:
-

void

-
-
-
- -
- -

Add a link to our settings page to the plugins admin dashboard.

-

Adds hack value.

-
-
Parameters:
-
    -
  • links (array) – The old links

  • -
-
-
Returns:
-

The augmented links

-
-
Return type:
-

array

-
-
-
- -
-
-
-

Javascript

-
-

plugins/cap-lib/src/js/front.js

-

An empty script for Wordpress to localize.

-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/meta-search.html b/docs/build/vm/wordpress/plugins/meta-search.html deleted file mode 100644 index 4fdb1c81..00000000 --- a/docs/build/vm/wordpress/plugins/meta-search.html +++ /dev/null @@ -1,1064 +0,0 @@ - - - - - - - Meta Search — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- - - - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/plugins/page-generator.html b/docs/build/vm/wordpress/plugins/page-generator.html deleted file mode 100644 index 57ee487f..00000000 --- a/docs/build/vm/wordpress/plugins/page-generator.html +++ /dev/null @@ -1,1649 +0,0 @@ - - - - - - - Page Generator — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Page Generator

- -
-

PHP

-
-

plugins/cap-page-generator/cap-page-generator.php

-

Plugin Name: Capitularia Page Generator -Plugin URI: -Description: Generate Wordpress pages for our TEI files.

-

Version: 0.1.1 -Author: Marcello Perathoner -Author URI: -License: GPLv2 or later -Text Domain: cap-page-generator -Domain Path: /languages

-

Capitularia Page Generator plugin.

-

The Page Generator plugin helps managing the publication of manuscript pages. -Whenever a new manuscript is transcribed and its file is put into the file -repository, a new Wordpress page needs to be made for the manuscript to actually -appear in Wordpress.

-

This plugin lets you choose among a configurable set of source directories. -Then it displays a list of the TEI files in that directory and lets you -create and manage the page for each file. Bulk actions allow you to manage -the pages in batches.

-

The plugin can be configured to automatically put some text on newly created -pages. Usually this text consists in one or more shortcodes for the -Capitularia File Includer plugin. It is the File -Includer plugin that actually puts the content onto the page.

-

Note that this plugin does nothing on the public pages (except displaying a -button on the admin toolbar).

-

How do the TEI files get to the user?

-

A cron process on the API server converts all the TEI files into HTML files -and stores them in the filesystem. See also: Makefile Overview.

-

The Capitularia File Includer plugin then includes -those files from the filesystem when outputting a Wordpress page to the -user.

-
-
-constant NAME
-

‘Capitularia Page Generator’

-

The name of the plugin.

-
- -
-
-constant DOMAIN
-

‘cap-page-generator’

-

The Text Domain ofthe plugin.

-
- -
-
-constant OPTIONS
-

‘cap_page_gen_options’

-

The Wordpress ID of the settings (option) page.

-
- -
-
-constant DASHBOARD
-

‘cap_page_gen_dashboard’

-

The Wordpress ID of the dashboard page.

-
- -
-
-

plugins/cap-page-generator/class-config.php

-

Capitularia Page Generator Configuration Class

-
-
-class Config
-

Contains configuration parameters.

-
-
-property sections
-

The configured sections and fields

-

Array of arrays of arrays: sections / fields / properties

-
foreach ($this->sections as $section) {
-     $section_id      = $section[0];
-     $fields          = $section[1];
-     foreach ($fields as $field) {
-         $field_id            = $field[0];
-         $field_caption       = $field[1];
-         $field_description   = $field[2];
-         $validation_callback = $field[3];
-     }
-}
-
-
-
- -
-
-property options
-

(string[]|null) -Array of options retrieved from database and cached.

-
- -
-
-__construct()
-

Constructor

-
- -
-
-init()
-

Set up the options

-

If we setup the options in the constructor it will be too early for -translation to kick in.

-
-
Return type:
-

void

-
-
-
- -
-
-get_opt(section_id, field_id, default)
-

Get an option

-
-
Parameters:
-
    -
  • section_id (string) – The section @see $this->sections

  • -
  • field_id (string) – The field (or option) name

  • -
  • default (string) – The default value

  • -
-
-
Returns:
-

The option

-
-
Return type:
-

string

-
-
-
- -
-
-get_opt_path(section_id, path_id)
-

Get a path

-
-
Parameters:
-
    -
  • section_id (string) – The section @see $this->sections

  • -
  • path_id (string) – The path option name

  • -
-
-
Returns:
-

The path ending in ‘/’

-
-
Return type:
-

string

-
-
-
- -
-
-section_can(section_id, status)
-

Check if a certain page status is allowed in this section.

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
  • status (string) – The status to check

  • -
-
-
Returns:
-

True if section can $status

-
-
Return type:
-

bool

-
-
-
- -
- -
-
-

plugins/cap-page-generator/class-dashboard-page.php

-

Capitularia Page Generator Dashboard Page

-
-
-class Dashboard_Page
-

Implements the dashboard page.

-

The dashboard page controls the plugin.

-

You open the dashboard page by clicking on Dashboard | -Capitularia Page Generator in the Wordpress admin page.

-
-
-property pagination_args
-

(array) -The standard pagination args.

-
- -
-
-__construct()
-

Constructor

-
- -
-
-display()
-

Output dashboard page.

-

Outputs bare jQuery-UI tabs. They get filled by AJAX. Also outputs -messages we get thru AJAX.

-
-
Return type:
-

void

-
-
-
- -
-
-display_section(section, paged)
-

Output one section

-
-
Parameters:
-
    -
  • section (array) – Section descriptor

  • -
  • paged (int) – The page to go to

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-format_error_message(error_struct)
-

Format error message as HTML snippet.

-

These notices get inserted at the top of the dashboard page. The user -can click on the cross icon to dismiss the notice.

-
-
Parameters:
-
    -
  • error_struct (array) – The error struct

  • -
-
-
Returns:
-

The HTML-formatted message

-
-
Return type:
-

string

-
-
-
- -
-
-process_bulk_actions(action, section_id, filenames)
-

Handle bulk actions

-

Handles user actions performed on one or more files using the file -checkboxes and the bulk actions dropdown menu.

-

See: \cceh\capitularia\page_generator\on_cap_action_file

-
-
Parameters:
-
    -
  • action (string) – The action to perform

  • -
  • section_id (string) – The section id

  • -
  • filenames (array) – The filenames of the files to perform the action on

  • -
-
-
Returns:
-

Error messages formatted as HTML

-
-
Return type:
-

string

-
-
-
- -
-
-on_cap_action_file()
-

Ajax endpoint

-

Handles user actions performed on one file using the links inside a table -row.

-

See: \cceh\capitularia\page_generator\process_bulk_actions()

-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_load_section()
-

Ajax endpoint

-

Load a section (represented by a jquery tab) in response to the user -clicking on a tab or using the table pager.

-
-
Return type:
-

void

-
-
-
- -
-
-send_json(section_id, error_struct)
-

Send the result of an Ajax action back to the user.

-

The reason we use JSON instead of just sending HTML is that we want to -send both, HTML and success / error messages. A table update is sent as -a JSON string of HTML table rows that simply replace the old table rows. -We assume for now that the user dashboard changes only on successful -operations.

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
  • error_struct (array) – The error messages

  • -
-
-
Return type:
-

void

-
-
-
- -
- -
-
-

plugins/cap-page-generator/class-file-list-table.php

-

Capitularia Page Generator File List Table class.

-
-
-class File_List_Table
-

The file list table on the dashboard page.

-

Lists all the files in a directory plus status information.

-

See: https://core.trac.wordpress.org/browser/tags/4.4/src/wp-admin/includes/class-wp-list-table.php WP_list_Table source code in Trac.

-
-
-property status_to_notice_class
-

HTML classes for table rows.

-

Classes set according to current page status. To colorize our table rows -in the canonical way we use the same classes as Wordpress admin notices.

-
- -
-
-property bulk_actions
-

Enum bulk actions

-

An associative array of bulk actions and relative captions for the action -links and the drop-down menus above and below the table.

-
- -
-
-property statuses
-

Enum statuses of manuscripts

-

An associative array of statuses and relative captions. A manuscript can -have a public page, a private page, or not have any page at all.

-
- -
-
-property section_id
-

The section id

-
- -
-
-property directory
-

The directory to scan

-
- -
-
-property paths
-

The scanned files

-
- -
-
-property xml_path
-

The URI path to the xml file.

-
- -
-
-__construct(section_id, directory, args)
-

Constructor.

-

See: \WP_List_Table::__construct() for more information on default arguments.

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
  • directory (string) – The directory to scan

  • -
  • args (array) – An associative array of arguments.

  • -
-
-
-
- -
-
-get_table_classes()
-

Get a list of CSS classes for the list table table tag.

-

Overrides method in base class.

-
-
Returns:
-

List of CSS classes for the table tag.

-
-
Return type:
-

array

-
-
-
- -
-
-scandir_recursive(root, paths)
-

Recursively scan a directory.

-
-
Parameters:
-
    -
  • root (string) – The root directory

  • -
  • paths (array) – Array of strings: the paths still to scan

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-prepare_items()
-

Prepare the items to show in the table.

-

Overrides abstract method in base class.

-
-
Return type:
-

void

-
-
-
- -
-
-no_items()
-

Message to be displayed when there are no items

-

Overrides method in base class.

-
-
Returns:
-

The message

-
-
Return type:
-

string

-
-
-
- -
-
-get_bulk_actions()
-

Get the list of bulk actions.

-

Overrides method in base class.

-
-
Returns:
-

(option_name => option_title)

-
-
Return type:
-

array

-
-
-
- -
-
-get_columns()
-

Get a list of table columns.

-

Overrides abstract method in base class.

-
-
Returns:
-

(internal_name => HTML content)

-
-
Return type:
-

array

-
-
-
- -
-
-single_row(manuscript)
-

Generates content for a single row of the table

-
-
Parameters:
-
    -
  • manuscript (object) – The current file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-column_cb(manuscript)
-

Generates contents of the _cb_ column.

-

Called by the base class.

-
-
Parameters:
-
    -
  • manuscript (object) – The current file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-column_status(manuscript)
-

Generates contents of the _status_ column.

-

Called by the base class.

-
-
Parameters:
-
    -
  • manuscript (object) – The current file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-column_slug(manuscript)
-

Generates contents of the _slug_ column.

-

Called by the base class.

-
-
Parameters:
-
    -
  • manuscript (object) – The current file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-column_title(manuscript)
-

Generates contents of the _title_ column.

-

Called by the base class.

-
-
Parameters:
-
    -
  • manuscript (object) – The current file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-handle_row_actions(manuscript, column_name, primary)
-

Generates and displays row action links.

-

These are the links that appear when hovering over the table row. -Clicking on the link initiates an Ajax request that performs the action -and automagically redraws the table.

-
-
Parameters:
-
    -
  • manuscript (object) – File being acted upon.

  • -
  • column_name (string) – Current column name.

  • -
  • primary (string) – Primary column name.

  • -
-
-
Returns:
-

Row action output for links.

-
-
Return type:
-

string

-
-
-
- -
- -
-
-

plugins/cap-page-generator/class-manuscript.php

-

Capitularia Page Generator Manuscript class.

-
-
-class Manuscript
-

Represents a manuscript file.

-

This class represents TEI manuscripts stored in a directory on disk. It also -manages manuscripts in Wordpress.

-

N.B. The class name is somewhat a misnomer because it can also represent a -Capitulary file.

-
-
-property path
-

(string) -The filesystem path to the manuscript file.

-
- -
-
-property section_id
-

(string) -The section of the manuscript, eg. ‘mss’, ‘capit/ldf’, .

-
- -
-
-property xml_id
-

(string|null) -The xml:id of the manuscript. Cached.

-
- -
-
-property title
-

(string|null) -The title of the manuscript. Cached.

-
- -
-
-__construct(section_id, path)
-

Constructor

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
  • path (string) – The full path to the manuscript file

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-get_path()
-

Getter for $path

-
-
Returns:
-

The path

-
-
Return type:
-

string

-
-
-
- -
-
-get_section_id()
-

Getter for $section_id

-
-
Returns:
-

The section id

-
-
Return type:
-

string

-
-
-
- -
-
-get_filename()
-

Return the filename

-
-
Returns:
-

The filename and extension (without directories)

-
-
Return type:
-

string

-
-
-
- -
-
-get_slug()
-

Generate a slug (without path).

-
-
Returns:
-

The slug

-
-
Return type:
-

string

-
-
-
- -
-
-get_slug_with_path()
-

Generate a slug with path.

-
-
Returns:
-

The slug with path, eg. capit/ldf/slug

-
-
Return type:
-

string

-
-
-
- -
- -

Generate a HTML link that points to the page.

-

A link the user can click to get to the relative page.

-
-
Returns:
-

The link pointing to slug

-
-
Return type:
-

string

-
-
-
- -
-
-get_xml_id()
-

Get the xml:id of this manuscript.

-
-
Returns:
-

The xml:id.

-
-
Return type:
-

string

-
-
-
- -
-
-get_title()
-

Get the title of this manuscript.

-
-
Returns:
-

The title.

-
-
Return type:
-

string

-
-
-
- -
-
-get_page_id()
-

Get ID of page

-
-
Returns:
-

The page ID or false

-
-
Return type:
-

mixed

-
-
-
- -
-
-get_status()
-

Get the current status of a manuscript page.

-
-
Returns:
-

The current status

-
-
Return type:
-

string

-
-
-
- -
-
-parse_tei()
-

Extract the manuscript id and title.

-

Extracts the manuscript id and title from the TEI file. We need the id -for the post metadata. We need the title for the file list table.

-

Also puts qTranslate-X tags into the title iff the title has an xml:lang -attribute.

-
-
Return type:
-

void

-
-
-
- -
-
-delete_pages()
-

Delete all pages with our slug

-

Slugs must be unique for all children of one page, but the same slug may -be used by more than one page provided each has a different parent -page. Eg. /mss and /internal/mss both have the slug ‘mss’ but a -different parent page, so we must account for that.

-

We also delete all pages that have the same slug with a hyphen and number -appended. Eg. deleting the page /mss/my-slug would also delete the pages -/mss/my-slug-1 and /mss/my-slug-42, but not the page -/internal/mss/my-slug.

-
-
Returns:
-

Success or error messages

-
-
Return type:
-

array

-
-
-
- -
-
-create_page(status)
-

Create a page containing one or more shortcodes.

-

Build the content for the new page. Some pages are made of more than one -transformation, eg. the transcription pages have a header, transcription -and footer.

-
-
Parameters:
-
    -
  • status (string) – Status to set on the newly created page.

  • -
-
-
Returns:
-

Success or error messages

-
-
Return type:
-

array

-
-
-
- -
-
-do_action(action)
-

Perform an action on the manuscript.

-

Actions: -publish: create the page with publish status -private: create the page with private status -refresh: re-create the page with the same status as before -delete: delete the page

-
-
Parameters:
-
    -
  • action (string) – The action to perform with the manuscript.

  • -
-
-
Returns:
-

{ 0 => int error code: 0 = success, 1 = warning, 2 = error, 1 => string success or error message, 2 => array optionally more error messages }

-
-
Return type:
-

array

-
-
-
- -
- -
-
-

plugins/cap-page-generator/class-settings-page.php

-

Capitularia Page Generator Settings Page

-
-
-class Settings_Page
-

Implements the settings (options) page.

-

Found in Wordpress admin under Settings | Capitularia Page -Generator.

-
-
-__construct()
-

Constructor

-

Add option fields so we can use the Wordpress function -do_settings_fields() to output them. All field descriptions are stored -in the Config class.

-

Also register _one_ POST parameter to be handled and validated by -Wordpress.

-
- -
-
-display()
-

Output the Settings page.

-
-
Return type:
-

void

-
-
-
- -
-
-on_options_field(args)
-

Output an option field.

-

Output (echo) an option field with its description.

-

We want all user entries to be returned into PHP as one string[] called -OPTIONS_PAGE_ID. This array will be passed by Wordpress to the -validation function and stored in the database all in one row.

-

See: http://planetozh.com/blog/2009/05/handling-plugins-options-in-wordpress-28-with-register_setting/ Blog post: how to store all plugin options into one database row.

-
-
Parameters:
-
    -
  • args (array) – The arguments registered with add_settings_field ()

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-on_validate(options)
-

Validate options entered by user

-

We get all user entries back in one string[] so we can store them in one -database row. This makes validation somewhat more difficult.

-

See: \cceh\capitularia\page_generator\on_options_field()

-
-
Parameters:
-
    -
  • options (array) – Array of key, value: the options as entered on the form.

  • -
-
-
Returns:
-

Array containing the validated options

-
-
Return type:
-

array

-
-
-
- -
- -
-
-

plugins/cap-page-generator/functions.php

-

Capitularia Page Generator global functions.

-
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

Name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-cap_get_parent_id(section_id)
-

Get ID of the parent page of a section

-

Returns the ID of the parent page of a section.

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
-
-
Returns:
-

The parent page ID or false

-
-
Return type:
-

mixed

-
-
-
- -
-
-cap_get_status(page_id)
-

Get the current status of a page.

-
-
Parameters:
-
    -
  • page_id (int) – The Wordpress page id

  • -
-
-
Returns:
-

The current status

-
-
Return type:
-

string

-
-
-
- -
-
-cap_get_section_page_status(section_id)
-

Get the current status of a section’s parent page.

-

We need to check this so as not to make public children of private pages.

-
-
Parameters:
-
    -
  • section_id (string) – The section id

  • -
-
-
Returns:
-

The current status

-
-
Return type:
-

string

-
-
-
- -
-
-cap_make_path_relative_to(path, base)
-

Returns a path relative to base

-
-
Parameters:
-
    -
  • path (string) – The path

  • -
  • base (string) – The base

  • -
-
-
Returns:
-

The path relative to base

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_nothing(s)
-

Do nothing

-
-
Parameters:
-
    -
  • s (string) – The string to do nothing with

  • -
-
-
Returns:
-

The same string

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_caption(caption)
-

Sanitize a caption

-
-
Parameters:
-
    -
  • caption (string) – The caption to sanitize

  • -
-
-
Returns:
-

The sanitized caption

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_path(path)
-

Sanitize a path

-
-
Parameters:
-
    -
  • path (string) – The path to sanitize

  • -
-
-
Returns:
-

The sanitized path

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_path_list(path_list)
-

Sanitize a space-separated list of paths

-
-
Parameters:
-
    -
  • path_list (string) – The space-separated list of paths to sanitize

  • -
-
-
Returns:
-

The space-separated list of sanitized paths

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_key(key)
-

Sanitize a key

-
-
Parameters:
-
    -
  • key (string) – The key to sanitize

  • -
-
-
Returns:
-

The sanitized key

-
-
Return type:
-

string

-
-
-
- -
-
-cap_sanitize_key_list(key_list)
-

Sanitize a space-separated list of keys

-
-
Parameters:
-
    -
  • key_list (string) – The space-separated list of keys to sanitize

  • -
-
-
Returns:
-

The space-separated list of sanitized keys

-
-
Return type:
-

string

-
-
-
- -
-
-on_init()
-

Initialize the plugin.

-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_action_file()
-

AJAX hook

-
-
Return type:
-

void

-
-
-
- -
-
-on_cap_load_section()
-

AJAX hook

-
-
Return type:
-

void

-
-
-
- -
-
-on_enqueue_scripts()
-

Enqueue the public pages scripts and styles

-
-
Return type:
-

void

-
-
-
- -
-
-on_query_vars(vars)
-

Register cap_page_gen as valid HTTP GET parameter

-

We use the cap_page_gen parameter to call the dashboard from the -Page Generator button on the user’s tool bar on the public pages.

-
-
Parameters:
-
    -
  • vars (string[]) – Already registered parameter names

  • -
-
-
Returns:
-

Augmented registered parameter names.

-
-
Return type:
-

string[]

-
-
-
- -
-
-on_admin_enqueue_scripts()
-

Enqueue the admin page scripts and styles

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_menu()
-

Add menu entries to the Wordpress admin menu.

-

Adds menu entries for the settings (options) and the dashboard pages to -the Wordpress settings and dashboard admin page menus respectively.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_bar_menu(wp_admin_bar)
-

Add a dashboard button to the Wordpress toolbar.

-
-
Parameters:
-
    -
  • wp_admin_bar (WP_Admin_Bar) – The WP_Admin_Bar object

  • -
-
-
Return type:
-

void

-
-
-
- -
- -

Add a link to our settings page to the plugins admin dashboard.

-

Adds hack value.

-
-
Parameters:
-
    -
  • links (array) – The old links

  • -
-
-
Returns:
-

The augmented links

-
-
Return type:
-

array

-
-
-
- -
-
-
-

Javascript

-
-

plugins/cap-page-generator/src/js/admin.js

-

Some utility function for the Page Generator admin interface.

-
-
-plugins/cap-page-generator/admin.deparam(s)
-

The inverse of the jQuery.param () function.

-
-
Arguments:
-
    -
  • s (string()) – A string in the form “p=1&q=2”

  • -
-
-
Returns:
-

{ p : 1, q : 2 }

-
-
Return type:
-

Object

-
-
-
- -
-
-plugins/cap-page-generator/admin.add_ajax_action(data, action)
-

Add action parameters to AJAX request data.

-
-
Arguments:
-
    -
  • data (Object()) – The AJAX request data.

  • -
  • action (Object()) – The AJAX action.

  • -
-
-
Returns:
-

The AJAX request data augmented.

-
-
Return type:
-

Object

-
-
-
- -
-
-plugins/cap-page-generator/admin.on_cap_action_file(event)
-

Perform an action on a TEI file. The user clicked somewhere inside the table row listing that file.

-
-
Arguments:
-
    -
  • event (Event()) – The click event

  • -
-
-
-
- -
-
-plugins/cap-page-generator/admin.on_cap_load_section(event)
-

Perform an action on a tab. The user clicked on a tab. The tab contents must now be loaded.

-
-
Arguments:
-
    -
  • event (Event()) – The click event

  • -
-
-
-
- -
-
-plugins/cap-page-generator/admin.make_cb_select_all(ev, ui)
-

Activate the ‘select all’ checkboxes on the tables. Check or uncheck all checkboxes when the user clicks on the “select all” checkbox. Stolen from wp-admin/js/common.js

-
-
Arguments:
-
    -
  • ev (Event()) – (unused) The tab loaded event emited by jQuery-ui

  • -
  • ui (Element()) – The tab element

  • -
-
-
-
- -
-
-plugins/cap-page-generator/admin.get_url_parameter(name)
-

Get a parameter from the URL in the browser location bar.

-
-
Arguments:
-
    -
  • name (string()) – The name of the parameter

  • -
-
-
Returns:
-

The value of the parameter or null

-
-
Return type:
-

string

-
-
-
- -
-
-plugins/cap-page-generator/admin.init_tabs()
-

Initialize the jQuery tab interface.

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/theme.html b/docs/build/vm/wordpress/theme.html deleted file mode 100644 index e4fdd5d8..00000000 --- a/docs/build/vm/wordpress/theme.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - Wordpress Theme — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Theme

-

The Wordpress theme for Capitularia.

-
- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/theme/main.html b/docs/build/vm/wordpress/theme/main.html deleted file mode 100644 index f817cce7..00000000 --- a/docs/build/vm/wordpress/theme/main.html +++ /dev/null @@ -1,1313 +0,0 @@ - - - - - - - Wordpress Theme Core — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Theme Core

-

The Wordpress theme for Capitularia.

- -
-

PHP

-
-

themes/Capitularia/404.php

-

Template for 404 Page not found.

-
-
-

themes/Capitularia/class-cap-query.php

-

The template for displaying Search Results pages.

-
-
-class CapQuery
-
- -

Generates SQL for the WHERE clause based on passed search terms.

-

Copied from class-wp-query.php and doctored to accept any amount of whitespace -between each word in phrase searches.

-

Prerequisite:

-

mysql> create fulltext index post_content on wp_posts(post_content); -mysql> create fulltext index post_title on wp_posts(post_title); -mysql> create fulltext index post_excerpt on wp_posts(post_excerpt);

-

Since: 3.7.0

-
-
Parameters:
-
    -
  • q (array) – Query variables.

  • -
-
-
Returns:
-

WHERE clause.

-
-
Return type:
-

string

-
-
-
- -
- -
- -
-

themes/Capitularia/front-page.php

-

Capitularia Theme front-page.php file

-
-
-

themes/Capitularia/functions-include.php

-

Capitularia Theme functions-include.php file

-

This file only declares symbols (classes, functions, constants) in accordance -with PSR-2.

-
-
-constant \cceh\capitularia\theme\CapQuery::MAGIC_LOGIN
-

‘#cap_login_menu#’

-
- -
-
-ns(function_name)
-

Add current namespace

-
-
Parameters:
-
    -
  • function_name (string) – The class or function name without namespace

  • -
-
-
Returns:
-

Name with namespace

-
-
Return type:
-

string

-
-
-
- -
-
-get_slug_root(page_id)
-

Get the first path component of the slug.

-

If a page has a slug of: “top/sub/current” this function returns “top”.

-
-
Parameters:
-
    -
  • page_id (int) – Wordpress Page ID.

  • -
-
-
Returns:
-

The slug root.

-
-
Return type:
-

string

-
-
-
- -
-
-get_parent_path(path)
-

Get the path of the parent page.

-
-
Parameters:
-
    -
  • path (string) – The path of the page.

  • -
-
-
Returns:
-

The path of the parent page.

-
-
Return type:
-

string

-
-
-
- -
-
-echo_attribute(name, value)
-

Echo a name=”value” pair.

-
-
Parameters:
-
    -
  • name (string) – The name of the attribute.

  • -
  • value (string) – The value of the attribute.

  • -
-
-
Return type:
-

void

-
-
-
- -
- -

Returns an opening <a> containing a permalink to the current page.

-

It is the responsibilty of the caller to close the <a> tag.

-
-
Returns:
-

An opening <a> tag.

-
-
Return type:
-

string

-
-
-
- -
-
-get_main_start(class)
-

Echo the tag to start the main section.

-
-
Parameters:
-
    -
  • class (string) – CSS classes to add to the tag.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-get_main_end()
-

Echo the tag to end the main section.

-
-
Return type:
-

void

-
-
-
- -
-
-get_sidebar_start()
-

Echo the tag to start the sideabr section.

-
-
Return type:
-

void

-
-
-
- -
-
-get_sidebar_end()
-

Echo the tag to end the sidebar section.

-
-
Return type:
-

void

-
-
-
- -
-
-get_content_start()
-

Echo the tag to start the content section.

-
-
Return type:
-

void

-
-
-
- -
-
-get_content_end()
-

Echo the tag to end the content section.

-
-
Return type:
-

void

-
-
-
- -
-
-on_enqueue_scripts()
-

Enqueue scripts and CSS

-

Add JS and CSS the wordpress way.

-

N.B. We use our own copy of jquery and bootstrap on the front.

-
-
Return type:
-

void

-
-
-
- -
-
-on_admin_enqueue_scripts()
-

Enqueue admin scripts and CSS

-

Add JS and CSS the wordpress way.

-

N.B. We use wordpress’ copy of jquery and jquery-ui on the admin pages, and -no bootstrap because it breaks too many things.

-
-
Return type:
-

void

-
-
-
- -
-
-on_wp_title(title, sep)
-

Customize <head> <title>

-

Customize the title displayed in the browser window caption and used if you -bookmark the page.

-

if root: “Capitularia | Edition der fränkischen Herrschererlasse” -else: “[Name of page] | Capitularia”

-
-
Parameters:
-
    -
  • title (string) – Default title text for current view.

  • -
  • sep (string) – Optional separator.

  • -
-
-
Returns:
-

The customized title.

-
-
Return type:
-

string

-
-
-
- -
-
-on_the_title(title, post_ID)
-

Mark wiki post titles with “Wiki:”

-
-
Parameters:
-
    -
  • title (string) – The post title

  • -
  • post_ID (int) – The post ID

  • -
-
-
Returns:
-

The edited post title

-
-
Return type:
-

string

-
-
-
- -
-
-on_body_class(classes)
-

Add a <body> class.

-

Add a class to the HTML <body> tag depending on which section of the website -we are in. Eg.: adds class=”cap-slug-mss” in the /mss/ section of the site.

-
-
Parameters:
-
    -
  • classes (array) – Old classes added by Wordpress or other plugins.

  • -
-
-
Returns:
-

New classes

-
-
Return type:
-

array

-
-
-
- -
-
-on_init()
-

Initialize the theme.

-
-
Return type:
-

void

-
-
-
- -
-
-on_dropdown_pages_args(dropdown_args, dummy_post)
-

Add private/draft/future/pending pages to page parent dropdown.

-

Only public pages are eligible for parenting in vanilla Wordpress. We want -other pages also.

-
-
Parameters:
-
    -
  • dropdown_args (array) – The previous args.

  • -
  • dummy_post (int) – (unused) The post ID.

  • -
-
-
Returns:
-

The new args.

-
-
Return type:
-

array

-
-
-
- -
-
-translate_month_year(month_year)
-

Translate the archive widget month names

-
-
Parameters:
-
    -
  • month_year (string) – Link containing untranslated MMMMMMM YYYY

  • -
-
-
Returns:
-

Link containing translated MMMMMMM YYYY

-
-
Return type:
-

string

-
-
-
- -
-
-fix_bk_nr(corresp)
-

Canonicalize the innumerable different ways the editors write a BK or Mordek no.

-

Accepts (not exhaustive list of examples found in the wild):

-

BK.42 -BK.042 -BK_42 -BK_042 -bk-nr-42 -bk-nr-042 -Mordek.27 -Mordek_27 -mordek-nr-27 -ldf/all-of-the-above

-

Returns:

-

bk-nr-042 -mordek-nr-27

-
-
Parameters:
-
    -
  • corresp (string) – eg. “BK.42a” or “Mordek_15”

  • -
-
-
Returns:
-

The canonical BK no.

-
-
Return type:
-

string

-
-
-
- -
- -

Get the Capitular page url corresponding to a BK or Mordek No.

-

This function figures out which subdirectory the Capitular page is in, -eg. pre814/ or ldf/ or post840/ …

-
-
Parameters:
-
    -
  • corresp (string) – eg. “BK.42a” or “Mordek_15”

  • -
-
-
Returns:
-

The url to the page, eg. “http://…/capit/pre814/bk-nr-042a” or null

-
-
Return type:
-

string

-
-
-
- -
- -

Get the manuscript page url corresponding to a manuscript siglum.

-

Note: If the siglum is not unique, a random manuscript with that siglum will be -returned.

-
-
Parameters:
-
    -
  • siglum (string) – eg. “Ba2”

  • -
-
-
Returns:
-

The path to the page, eg. “/mss/bamberg-sb-can-7” or null

-
-
Return type:
-

string

-
-
-
- -
-
-on_do_parse_request(do_parse, wp, extra_query_vars)
-

Implements URL-Redirects

-

Examples of implemented redirects:

-

/capit/BK.42a => /capit/<subdir>/bk-nr-042a/ -/capit/Mordek_27 => /capit/<subdir>/mordek-nr-27/ -/bk/42a => /capit/<subdir>/bk-nr-042a/ -/mordek/27 => /capit/<subdir>/mordek-nr-27/ -/siglum/Ba2 => /mss/bamberg-sb-can-7

-

See: https://developer.wordpress.org/reference/hooks/do_parse_request/

-
-
Parameters:
-
    -
  • do_parse (bool) – (unused) Whether or not to parse the request.

  • -
  • wp (WP) – (unused) The current WordPress environment instance.

  • -
  • extra_query_vars (array|string) – (unused) Extra passed query variables.

  • -
-
-
Returns:
-

The $do_parse parameter unchanged.

-
-
Return type:
-

bool

-
-
-
- -
-
-on_wp_get_nav_menu_items(items, menu, args)
-

Removes the login menu if already logged in.

-

This assumes the menu entry is a top-level one with an URL of: #cap_login_menu#

-
-
Parameters:
-
    -
  • items (array) – An array of menu item post objects.

  • -
  • menu (object) – The menu object.

  • -
  • args (array) – An array of arguments used to retrieve menu item objects.

  • -
-
-
Returns:
-

The modified array of menu item post objects.

-
-
Return type:
-

array

-
-
-
- -
- -

Add dynamic url to login menu. Remove text from twitter and fb logos.

-
-
Parameters:
-
    -
  • atts (array) – The old HTML attributes.

  • -
  • item (WP_Post) – The current menu item.

  • -
  • args (stdClass) – An object of wp_nav_menu() arguments.

  • -
  • depth (int) – Depth of menu item. Used for padding.

  • -
-
-
Returns:
-

The updated HTML attributes.

-
-
Return type:
-

array

-
-
-
- -
-
-on_upload_mimes(mimes)
-

Allow upload of SVG files.

-
-
Parameters:
-
    -
  • mimes (array) – The old list of allowed mime types.

  • -
-
-
Returns:
-

The updated list of allowed mime types.

-
-
Return type:
-

array

-
-
-
- -
-
-on_login_redirect(redirect_to, requested_redirect_to, user)
-

Redirect the user to the current page after login

-

See: https://developer.wordpress.org/reference/hooks/login_redirect/

-
-
Parameters:
-
    -
  • redirect_to (string) – The redirect destination URL.

  • -
  • requested_redirect_to (string) – The requested redirect destination URL passed as a parameter.

  • -
  • user (WP_User|\WP_Error) – WP_User object if login was successful, WP_Error object otherwise.

  • -
-
-
Returns:
-

The target URL of the redirection.

-
-
Return type:
-

string

-
-
-
- -
-
-on_registered_post_type(post_type, post_type_object)
-

HACK! make the “WP Help” wiki plugin’s post type searchable

-
-
Parameters:
-
    -
  • post_type (string) – The post type

  • -
  • post_type_object (WP_Post_Type) – The post object

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-on_pre_get_posts(query)
-

Search only wiki pages if search string contains ‘wiki:’

-
-
Parameters:
-
    -
  • query (WP_Query) – The query

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-cap_rest_user_info(request)
-

REST endpoint to get user information from auth cookie

-
-
Parameters:
-
    -
  • request (WP_REST_Request) – The request

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-on_after_setup_theme()
-

Remove widget-block-editor

-
-
Return type:
-

void

-
-
-
- -
-
-

themes/Capitularia/functions.php

-

Capitularia Theme functions.php file

-

Loads the text domain and adds all actions, filters and shortcodes.

-

This file executes only logic with side-effects in accordance with PSR-2. -The functions are defined in -function-includes.php.

-
-
-constant \cceh\capitularia\theme\CapQuery::IMAGE_SERVER_URL
-

http://images.cceh.uni-koeln.de/capitularia/

-

The URL to the Capitularia image server.

-
- -
-
-

themes/Capitularia/header.php

-

The HTML header.

-

This is the HTML header that is output on every page.

-
-
-

themes/Capitularia/index.php

-

Template for single posts or multiple excerpts.

-
-
-

themes/Capitularia/page.php

-

Capitularia Theme page.php file

-
-
-

themes/Capitularia/page_blank.php

-

Template Name: Blank Page (only header and footer)

-

Capitularia Theme page_blank.php file

-
-
-

themes/Capitularia/page_no-sidebar.php

-

Template Name: Page Without Sidebar

-

Capitularia Theme page_no-sidebar.php file

-
-
-

themes/Capitularia/phpinfo.php

-

Print server info (for debug use only).

-
-
-

themes/Capitularia/search.php

-

The template for displaying Search Results pages.

-
-
-

themes/Capitularia/shortcodes.php

-

Capitularia Theme shortcodes.php file

-

Define actions for various shortcodes.

-
-
-on_shortcode_logged_in(dummy_atts, content)
-

Add the logged_in shortcode.

-

This shortcode outputs its content only to logged-in users.

-
[logged_in]You are logged in![/logged_in]
-
-
-
-
Parameters:
-
    -
  • dummy_atts (array) – (unused) The shortocde attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if logged in else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_logged_out(dummy_atts, content)
-

Add the logged_out shortcode.

-

This shortcode outputs its content only to logged-out users.

-
[logged_out]Please log in![/logged_out]
-
-
-
-
Parameters:
-
    -
  • dummy_atts (array) – (unused) The shortocde attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if logged out else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_cap_image_server(atts, content)
-

Add the cap_image_server shortcode.

-

This shortcode wraps the content in a link to the image server if the user is -logged in.

-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content wrapped in a link.

-
-
Return type:
-

string

-
-
-
- -
-
-get_page_status_in_cache(path)
-

Make sure the status of a page is in the cache.

-

Some pages with long lists must check the status of hundreds of other pages. -Wordpress turns each status check into one SQL query. This function reads -the statuses of all children of a parent page in one SQL query, potentially -saving hundreds of queries.

-
-
Parameters:
-
    -
  • path (string) – The path of the page without leading or trailing slashes.

  • -
-
-
Returns:
-

A dictionary of path => status which is guaranteed to contain the page’s status if the page exists.

-
-
Return type:
-

array

-
-
-
- -
-
-if_status(atts)
-

Find out the status of a page.

-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes. status = status, path = path of page

  • -
-
-
Returns:
-

if page has that status.

-
-
Return type:
-

true

-
-
-
- -
-
-get_transcribed_in_cache(cap_id)
-

Cache a list of all manuscripts with a transcription of capitular cap_id

-
-
Parameters:
-
    -
  • cap_id (array) – The BK-no of the capitular.

  • -
-
-
Returns:
-

List of manuscripts.

-
-
Return type:
-

array

-
-
-
- -
-
-on_shortcode_if_status(atts, content)
-

Add the if_status shortcode.

-

This shortcode outputs its content if the ms. has that status.

-
[if_status path="/mss/wien" status="publish"]
-  <p>Wien is published!</p>
-[/if_status]
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes. status = status, path = path of page

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if the ms. has that status else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_if_not_status(atts, content)
-

Add the if_not_status shortcode.

-

This shortcode outputs its content if the ms. doesn’t have that status.

-
[if_not_status path="/mss/wien" status="publish"]
-  <p>Wien is not published!</p>
-[/if_not_status]
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes. status = status, path = path of page

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if the ms. doesn’t have that status else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-if_visible(path)
-

Check if the current user can see a page.

-

Check if the user’s permissions are sufficient to see a particular page.

-
-
Parameters:
-
    -
  • path (string) – The path of the page.

  • -
-
-
Returns:
-

if the current user can see the page.

-
-
Return type:
-

true

-
-
-
- -
-
-on_shortcode_if_visible(atts, content)
-

Add the if_visible shortcode.

-

This shortcode outputs its content if the current user can see any one of -the pages in the path attribute.

-
[if_visible path="/mss/secret.html"]
-  <div>The secret manuscript.</div>
-[/if_visible]
-
-
-

Use this with multiple pages to find out when to print headers, etc.

-
[if_any_visible path="/mss/leo1.html /mss/leo2.html"]
-  <h2>Hic sunt leones</h2>
-[/if_any_visible]
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes. path = space separated paths of pages

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if the user can see the page in path or else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_if_not_visible(atts, content)
-

Add the if_not_visible shortcode.

-

This shortcode outputs its content if the current user cannot see any one -of the pages in the path attribute.

-
[if_not_visible path="/premium.html"]
-  <p>Pay to see our boring premium content!</p>
-[/if_not_visible]
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes. path = space separated paths of pages

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if the current user cannot see the page in path else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_if_transcribed(atts, content)
-

Add the if_transcribed shortcode.

-

This shortcode outputs its content if the capitular was already transcribed -in the manuscript with the xml:id.

-
[if_transcribed ms_id="barcelona-aca-ripoll" cap_id="BK.42"] and <a>here</a>[/if_transcribed]
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes.

  • -
  • content (string) – The shortcode content.

  • -
-
-
Returns:
-

The shortcode content if the corresp is transcribed, else the empty string.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_current_date(atts, dummy_content)
-

Add the current_date shortcode.

-

This shortcode outputs the current date using the preferred date -representation for the current locale without the time.

-
<p>Accessed on: [current_date]</p>
-
-
-

yields:

-
<p>Accessed on: Jan 1, 1970</p>
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes.

  • -
  • dummy_content (string) – The shortcode content. (empty)

  • -
-
-
Returns:
-

The current date.

-
-
Return type:
-

string

-
-
-
- -
- -

Add the permalink shortcode.

-

This shortcode outputs the permalink for the current page.

-
<p>URL: [permalink]</p>
-
-
-

yields:

-
<p>URL: https://example.org/post/123</p>
-
-
-
-
Parameters:
-
    -
  • dummy_atts (array) – (unused) The shortocde attributes.

  • -
  • dummy_content (string) – (unused) The shortcode content.

  • -
-
-
Returns:
-

The page permalink.

-
-
Return type:
-

string

-
-
-
- -
-
-on_shortcode_cite_as(atts, dummy_content)
-

Add the cite_as shortcode.

-

This shortcode outputs a short description of how to cite the post.

-
<p>[cite_as]</p>
-
-
-
-
Parameters:
-
    -
  • atts (array) – The shortocde attributes.

  • -
  • dummy_content (string) – The shortcode content. (empty)

  • -
-
-
Returns:
-

A description of how to cite.

-
-
Return type:
-

string

-
-
-
- -
-
-

themes/Capitularia/sidebars.php

-

Capitularia Theme sidebars.php file

-

Register the sidebars for various page types.

-
-
-
-

Javascript

-
-

themes/Capitularia/src/js/admin.js

-

A dummy file to make webpack happy.

-
-
-

themes/Capitularia/src/js/front.js

-

This module contains the Javascript for the Capitularia theme.

-
-
-themes/Capitularia/front.initResetForm()
-

Initialize reset buttons to reset input and select controls on the parent form.

-
- -
-
-themes/Capitularia/front.initFootnoteTooltips()
-

Initialize the footnote refs, ie. the ‘*’, to open a popup on mouse hover. The popup contains the footnote text. The popup shall also stay open while the user hovers over the content, so that the user may click on links in the content. Footnotes are done with bootstrap 5.

-
- -
-
-themes/Capitularia/front.initLegend()
-

Initialize the legend slide-out. Make the legend slide out (and back in) if the user clicks on the respective tab.

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/vm/wordpress/theme/widgets.html b/docs/build/vm/wordpress/theme/widgets.html deleted file mode 100644 index 8f01807c..00000000 --- a/docs/build/vm/wordpress/theme/widgets.html +++ /dev/null @@ -1,1341 +0,0 @@ - - - - - - - Wordpress Theme Widgets — Capitularia 0.2.1 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Wordpress Theme Widgets

-

The Widgets in the Wordpress theme for Capitularia.

- -
-

PHP

-
-

themes/Capitularia/widgets/cap-widgets.php

-

Capitularia Theme Widgets

-
-
-

themes/Capitularia/widgets/class-archive-nav-menu-widget.php

-

Capitularia Theme Archive Navigation Menu Widget

-
-
-class Archive_Nav_Menu_Widget
-

A navigation menu widget for a custom archives menu.

-

To display the post archives with our custom dynamic menu we need to have the -list of archives somewhere in the HTML page for the menu to grab. This wrapper -injects that list into the HTML page inside a hidden block and then -lets the menu do its thing.

-
-
-property menu_id
-
- -
-
-__construct()
-
- -
-
-widget(args, instance)
-
- -
- -
-
-

themes/Capitularia/widgets/class-categories-nav-menu-widget.php

-

Capitularia Theme Categories Navigation Menu Widget

-
-
-class Categories_Nav_Menu_Widget
-

A navigation menu widget for a custom categories menu.

-

To display the post categories with our custom dynamic menu we need to have the -list of categories somewhere in the HTML page for the menu to grab. This wrapper -injects that list into the HTML page inside a hidden block and then -lets the menu do its thing.

-
-
-property menu_id
-
- -
-
-__construct()
-
- -
-
-widget(args, instance)
-
- -
- -
-
-

themes/Capitularia/widgets/class-frontpage-image-widget.php

-

Capitularia Front Page Image Widget

-
-
-class Frontpage_Image_Widget
-

An image widget for the front page.

-
-
-property class
-

(string) -HTML class of widget container and body.

-
- -
-
-property options
-

((callable|string)[]) -Contains data to build the fields in the ‘settings’ form.

-

May be edited in descendand classes to output different fields.

-
- -
-
-__construct()
-

Constructor

-
- -
-
-__construct(id, name, widget_ops)
-

Constructor

-
-
Parameters:
-
    -
  • id (string) – The widget’s id.

  • -
  • name (string) – Name for the widget displayed on the configuration page.

  • -
  • widget_ops (array) – Widget options. See wp_register_sidebar_widget () for information on accepted arguments.

  • -
-
-
-
- -
-
-normalize(text)
-

Ensure text is a string.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The text or ‘’

-
-
Return type:
-

string

-
-
-
- -
-
-strip_tags(text)
-

Strip HTML tags from text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The stripped input.

-
-
Return type:
-

string

-
-
-
- -
-
-sanitize(text)
-

Sanitize HTML text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The sanitized input.

-
-
Return type:
-

string

-
-
-
- -
- -

Make an HTML <a>

-
-
Parameters:
-
    -
  • text (string) – The link text.

  • -
  • href (string) – The link href.

  • -
  • classes (string) – The link classes.

  • -
-
-
Returns:
-

The HTML link.

-
-
Return type:
-

string

-
-
-
- -
-
-the_widget_title(args, instance)
-

Echo the widget title.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_body(args, instance)
-

Echo the widget body.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_image(dummy_args, instance)
-

Output the widget image.

-

Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png

-
-
Parameters:
-
    -
  • dummy_args (array) – (unused) Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-widget(args, instance)
-

Output the widget.

-
-
Parameters:
-
    -
  • args (array) – Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_option(instance, name, caption, placeholder)
-

Output one option field on the admin page.

-
-
Parameters:
-
    -
  • instance (object) – The instance

  • -
  • name (string) – Option field name

  • -
  • caption (string) – Option field caption

  • -
  • placeholder (string) – Option field placeholder

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-update(new_instance, old_instance)
-

Handles updating settings for the current widget instance.

-
-
Parameters:
-
    -
  • new_instance (array) – New settings for this instance as input by the user via WP_Widget::form ().

  • -
  • old_instance (array) – Old settings for this instance.

  • -
-
-
Returns:
-

Settings to save.

-
-
Return type:
-

array

-
-
-
- -
-
-form(instance)
-

Outputs the widget settings form.

-
-
Parameters:
-
    -
  • instance (array) – Current settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
- -
-
-

themes/Capitularia/widgets/class-frontpage-logo-widget.php

-

Capitularia Front Page Logo Widget

-
-
-class Frontpage_Logo_Widget
-

A logo widget for the front page.

-
-
-property class
-

(string) -HTML class of widget container and body.

-
- -
-
-property options
-

((callable|string)[]) -Contains data to build the fields in the ‘settings’ form.

-

May be edited in descendand classes to output different fields.

-
- -
-
-__construct()
-

Constructor

-
- -
- -

Make an HTML <a>

-
- -
-
-the_widget_title(dummy_args, dummy_instance)
-

Echo the widget title.

-
- -
-
-the_widget_body(dummy_args, dummy_instance)
-

Echo the widget body.

-
- -
-
-__construct(id, name, widget_ops)
-

Constructor

-
-
Parameters:
-
    -
  • id (string) – The widget’s id.

  • -
  • name (string) – Name for the widget displayed on the configuration page.

  • -
  • widget_ops (array) – Widget options. See wp_register_sidebar_widget () for information on accepted arguments.

  • -
-
-
-
- -
-
-normalize(text)
-

Ensure text is a string.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The text or ‘’

-
-
Return type:
-

string

-
-
-
- -
-
-strip_tags(text)
-

Strip HTML tags from text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The stripped input.

-
-
Return type:
-

string

-
-
-
- -
-
-sanitize(text)
-

Sanitize HTML text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The sanitized input.

-
-
Return type:
-

string

-
-
-
- -
-
-make_link(text, href, classes)
-

Make an HTML <a>

-
-
Parameters:
-
    -
  • text (string) – The link text.

  • -
  • href (string) – The link href.

  • -
  • classes (string) – The link classes.

  • -
-
-
Returns:
-

The HTML link.

-
-
Return type:
-

string

-
-
-
- -
-
-the_widget_title(args, instance)
-

Echo the widget title.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_body(args, instance)
-

Echo the widget body.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_image(dummy_args, instance)
-

Output the widget image.

-

Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png

-
-
Parameters:
-
    -
  • dummy_args (array) – (unused) Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-widget(args, instance)
-

Output the widget.

-
-
Parameters:
-
    -
  • args (array) – Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_option(instance, name, caption, placeholder)
-

Output one option field on the admin page.

-
-
Parameters:
-
    -
  • instance (object) – The instance

  • -
  • name (string) – Option field name

  • -
  • caption (string) – Option field caption

  • -
  • placeholder (string) – Option field placeholder

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-update(new_instance, old_instance)
-

Handles updating settings for the current widget instance.

-
-
Parameters:
-
    -
  • new_instance (array) – New settings for this instance as input by the user via WP_Widget::form ().

  • -
  • old_instance (array) – Old settings for this instance.

  • -
-
-
Returns:
-

Settings to save.

-
-
Return type:
-

array

-
-
-
- -
-
-form(instance)
-

Outputs the widget settings form.

-
-
Parameters:
-
    -
  • instance (array) – Current settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
- -
-
-

themes/Capitularia/widgets/class-frontpage-text-widget.php

-

Capitularia Front Page Text Widget

-
-
-class Frontpage_Text_Widget
-

A text widget for the front page.

-
-
-property class
-

(string) -HTML class of widget container and body.

-
- -
-
-property options
-

((callable|string)[]) -Contains data to build the fields in the ‘settings’ form.

-

May be edited in descendand classes to output different fields.

-
- -
-
-__construct()
-

Constructor

-
- -
-
-the_widget_image(dummy_args, dummy_instance)
-

Output the widget image.

-

Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png

-
- -
-
-__construct(id, name, widget_ops)
-

Constructor

-
-
Parameters:
-
    -
  • id (string) – The widget’s id.

  • -
  • name (string) – Name for the widget displayed on the configuration page.

  • -
  • widget_ops (array) – Widget options. See wp_register_sidebar_widget () for information on accepted arguments.

  • -
-
-
-
- -
-
-normalize(text)
-

Ensure text is a string.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The text or ‘’

-
-
Return type:
-

string

-
-
-
- -
-
-strip_tags(text)
-

Strip HTML tags from text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The stripped input.

-
-
Return type:
-

string

-
-
-
- -
-
-sanitize(text)
-

Sanitize HTML text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The sanitized input.

-
-
Return type:
-

string

-
-
-
- -
- -

Make an HTML <a>

-
-
Parameters:
-
    -
  • text (string) – The link text.

  • -
  • href (string) – The link href.

  • -
  • classes (string) – The link classes.

  • -
-
-
Returns:
-

The HTML link.

-
-
Return type:
-

string

-
-
-
- -
-
-the_widget_title(args, instance)
-

Echo the widget title.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_body(args, instance)
-

Echo the widget body.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_image(dummy_args, instance)
-

Output the widget image.

-

Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png

-
-
Parameters:
-
    -
  • dummy_args (array) – (unused) Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-widget(args, instance)
-

Output the widget.

-
-
Parameters:
-
    -
  • args (array) – Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_option(instance, name, caption, placeholder)
-

Output one option field on the admin page.

-
-
Parameters:
-
    -
  • instance (object) – The instance

  • -
  • name (string) – Option field name

  • -
  • caption (string) – Option field caption

  • -
  • placeholder (string) – Option field placeholder

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-update(new_instance, old_instance)
-

Handles updating settings for the current widget instance.

-
-
Parameters:
-
    -
  • new_instance (array) – New settings for this instance as input by the user via WP_Widget::form ().

  • -
  • old_instance (array) – Old settings for this instance.

  • -
-
-
Returns:
-

Settings to save.

-
-
Return type:
-

array

-
-
-
- -
-
-form(instance)
-

Outputs the widget settings form.

-
-
Parameters:
-
    -
  • instance (array) – Current settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
- -
-
-

themes/Capitularia/widgets/class-frontpage-widget-base.php

-

Capitularia Theme Widgets

-
-
-class Frontpage_Widget_Base
-

Base class for the front page widgets.

-
-
-property class
-

(string) -HTML class of widget container and body.

-
- -
-
-property options
-

((callable|string)[]) -Contains data to build the fields in the ‘settings’ form.

-

May be edited in descendand classes to output different fields.

-
- -
-
-__construct(id, name, widget_ops)
-

Constructor

-
-
Parameters:
-
    -
  • id (string) – The widget’s id.

  • -
  • name (string) – Name for the widget displayed on the configuration page.

  • -
  • widget_ops (array) – Widget options. See wp_register_sidebar_widget () for information on accepted arguments.

  • -
-
-
-
- -
-
-normalize(text)
-

Ensure text is a string.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The text or ‘’

-
-
Return type:
-

string

-
-
-
- -
-
-strip_tags(text)
-

Strip HTML tags from text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The stripped input.

-
-
Return type:
-

string

-
-
-
- -
-
-sanitize(text)
-

Sanitize HTML text.

-
-
Parameters:
-
    -
  • text (string|null) – The input.

  • -
-
-
Returns:
-

The sanitized input.

-
-
Return type:
-

string

-
-
-
- -
- -

Make an HTML <a>

-
-
Parameters:
-
    -
  • text (string) – The link text.

  • -
  • href (string) – The link href.

  • -
  • classes (string) – The link classes.

  • -
-
-
Returns:
-

The HTML link.

-
-
Return type:
-

string

-
-
-
- -
-
-the_widget_title(args, instance)
-

Echo the widget title.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_body(args, instance)
-

Echo the widget body.

-
-
Parameters:
-
    -
  • args (array) – Array of arguments to configure the display of the widget.

  • -
  • instance (array) – The widget’s instance settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_widget_image(dummy_args, instance)
-

Output the widget image.

-

Replaces a leading ~ with the theme image directory url, -eg. ~/logo.png => https://server/path/to/images/logo.png

-
-
Parameters:
-
    -
  • dummy_args (array) – (unused) Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-widget(args, instance)
-

Output the widget.

-
-
Parameters:
-
    -
  • args (array) – Display arguments including ‘before_title’, ‘after_title’, ‘before_widget’, and ‘after_widget’.

  • -
  • instance (array) – Settings for the current widget instance.

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-the_option(instance, name, caption, placeholder)
-

Output one option field on the admin page.

-
-
Parameters:
-
    -
  • instance (object) – The instance

  • -
  • name (string) – Option field name

  • -
  • caption (string) – Option field caption

  • -
  • placeholder (string) – Option field placeholder

  • -
-
-
Return type:
-

void

-
-
-
- -
-
-update(new_instance, old_instance)
-

Handles updating settings for the current widget instance.

-
-
Parameters:
-
    -
  • new_instance (array) – New settings for this instance as input by the user via WP_Widget::form ().

  • -
  • old_instance (array) – Old settings for this instance.

  • -
-
-
Returns:
-

Settings to save.

-
-
Return type:
-

array

-
-
-
- -
-
-form(instance)
-

Outputs the widget settings form.

-
-
Parameters:
-
    -
  • instance (array) – Current settings.

  • -
-
-
Return type:
-

void

-
-
-
- -
- -
-
-

themes/Capitularia/widgets/class-sticky-nav-menu-widget.php

-

Capitularia Theme Sticky Navigation Menu Widget

-
-
-class Sticky_Nav_Menu_Widget
-

A sticky navigation menu widget for the sidebar.

-
-
-__construct()
-
- -
-
-widget(args, instance)
-
- -
-
-on_widget_nav_menu_args(nav_menu_args, dummy_nav_menu, args)
-
- -
- -
-
-
-

Javascript

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build/xsltdoc/structure.ttl b/docs/build/xsltdoc/structure.ttl deleted file mode 100644 index b2c2f395..00000000 --- a/docs/build/xsltdoc/structure.ttl +++ /dev/null @@ -1,424 +0,0 @@ -@prefix cap: . - - a cap:xsl ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:scrapes ; - cap:scrapes . - - a cap:xsl ; - cap:depends , - ; - cap:inputs ; - cap:outputs , - , - , - , - ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - , - , - ; - cap:outputs , - , - , - ; - cap:version "3.0" . - - a cap:target ; - cap:target , - , - , - . - - a cap:xsl ; - cap:inputs ; - cap:outputs , - ; - cap:version "3.0" . - - a cap:target ; - cap:target . - - a cap:xsl ; - cap:depends ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:scrapes ; - cap:scrapes . - - a cap:target ; - cap:target . - - a cap:scrapes ; - cap:scrapes . - - a cap:xsl ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:version "3.0" . - - a cap:target ; - cap:target , - , - , - , - , - , - , - , - , - , - , - , - . - - a cap:scrapes, - cap:target ; - cap:scrapes ; - cap:target , - , - , - , - , - . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - ; - cap:outputs , - ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - ; - cap:outputs , - ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends , - ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends ; - cap:inputs , - ; - cap:outputs , - ; - cap:version "3.0" . - - a cap:xsl ; - cap:depends ; - cap:inputs ; - cap:outputs ; - cap:version "3.0" . - - a cap:target ; - cap:target , - , - . - - a cap:xml ; - cap:depends ; - cap:nomake "true" . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:xsl ; - cap:version "3.0" . - - a cap:urls . - - a cap:xsl ; - cap:depends ; - cap:inputs , - , - , - ; - cap:outputs , - , - , - ; - cap:version "3.0" . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:urls . - - a cap:xml . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "type=all" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "type=ldf" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "type=post840" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "type=pre814" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "type=undated" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "prefix=A" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "prefix=B", - "scope=P90D" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends , - ; - cap:nomake "true" ; - cap:params "manuscripts=$(MSS_DIR)/lists/manuscripts.xml" ; - cap:urls . - - a cap:html ; - cap:depends , - ; - cap:nomake "true" ; - cap:params "corpus=$(CACHE_DIR)/lists/corpus.xml" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "title=Übersetzung" ; - cap:urls . - - a cap:html ; - cap:depends ; - cap:params "title=Edition" ; - cap:urls . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xsl ; - cap:depends , - ; - cap:inputs , - ; - cap:outputs , - ; - cap:version "3.0" . - - a cap:urls . - - a cap:urls . - - a cap:xml ; - cap:depends . - - a cap:xml ; - cap:depends . - - a cap:xml ; - cap:depends . - - a cap:xml ; - cap:depends . - - a cap:urls . - - a cap:urls . - - a cap:xml ; - cap:depends . - - a cap:xml ; - cap:depends . - - a cap:xml . - - a cap:xml . - - a cap:xml . - - a cap:xml ; - cap:depends ; - cap:nomake "true" . - - a cap:xsl ; - cap:depends ; - cap:version "3.0" . - - a cap:xml . - - a cap:xsl ; - cap:version "3.0" . -