From 4fd53e3bfec956d9cd769837f9bada985ae36576 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 14:21:20 +0100 Subject: [PATCH 01/16] removed documentation folder --- documentation/_static/css/custom.css | 151 - documentation/_static/css/sanitize.css | 551 ---- documentation/_static/css/style.css | 2569 ----------------- .../_static/images/360-giving-logo-white.svg | 1 - .../images/360-logos/360giving-challenge.svg | 1 - .../images/360-logos/360giving-grantnav.svg | 1 - .../images/360-logos/360giving-insights.svg | 1 - .../images/360-logos/360giving-main.svg | 1 - .../images/360-logos/360giving-map.svg | 1 - .../images/360-logos/360giving-registry.svg | 1 - .../images/360-logos/360giving-resources.svg | 1 - .../images/360-logos/360giving-standard.svg | 1 - .../_static/images/360-resources-logo.svg | 27 - .../_static/images/creative-commons.svg | 1 - .../images/favicon/android-icon-144x144.png | Bin 6674 -> 0 bytes .../images/favicon/android-icon-192x192.png | Bin 7363 -> 0 bytes .../images/favicon/android-icon-36x36.png | Bin 1840 -> 0 bytes .../images/favicon/android-icon-48x48.png | Bin 2343 -> 0 bytes .../images/favicon/android-icon-72x72.png | Bin 3203 -> 0 bytes .../images/favicon/android-icon-96x96.png | Bin 4314 -> 0 bytes .../images/favicon/apple-icon-114x114.png | Bin 5190 -> 0 bytes .../images/favicon/apple-icon-120x120.png | Bin 5457 -> 0 bytes .../images/favicon/apple-icon-144x144.png | Bin 6674 -> 0 bytes .../images/favicon/apple-icon-152x152.png | Bin 7054 -> 0 bytes .../images/favicon/apple-icon-180x180.png | Bin 8729 -> 0 bytes .../images/favicon/apple-icon-57x57.png | Bin 2632 -> 0 bytes .../images/favicon/apple-icon-60x60.png | Bin 2694 -> 0 bytes .../images/favicon/apple-icon-72x72.png | Bin 3203 -> 0 bytes .../images/favicon/apple-icon-76x76.png | Bin 3343 -> 0 bytes .../images/favicon/apple-icon-precomposed.png | Bin 7937 -> 0 bytes .../_static/images/favicon/apple-icon.png | Bin 7937 -> 0 bytes .../_static/images/favicon/browserconfig.xml | 2 - .../_static/images/favicon/favicon-16x16.png | Bin 1404 -> 0 bytes .../_static/images/favicon/favicon-32x32.png | Bin 1658 -> 0 bytes .../_static/images/favicon/favicon-96x96.png | Bin 4314 -> 0 bytes .../_static/images/favicon/favicon.ico | Bin 1086 -> 0 bytes .../_static/images/favicon/manifest.json | 41 - .../images/favicon/ms-icon-144x144.png | Bin 6674 -> 0 bytes .../images/favicon/ms-icon-150x150.png | Bin 7016 -> 0 bytes .../images/favicon/ms-icon-310x310.png | Bin 18498 -> 0 bytes .../_static/images/favicon/ms-icon-70x70.png | Bin 3117 -> 0 bytes documentation/_static/images/github-logo.svg | 1 - documentation/_static/images/icon-json.svg | 1 - .../_static/images/icon-spreadsheet.svg | 1 - .../_static/images/licenses/Cc-nc.svg | 9 - .../_static/images/licenses/Cc-nd.svg | 5 - .../licenses/Cc-public_domain_mark_white.svg | 59 - .../_static/images/licenses/Cc-sa.svg | 16 - .../_static/images/licenses/Cc-zero.svg | 5 - .../licenses/UKOpenGovernmentLicence.svg | 12 - .../images/licenses/creative-commons-main.svg | 14 - .../_static/images/licenses/logo-ogl.png | Bin 889 -> 0 bytes .../_static/images/licenses/pddl.svg | 1 - documentation/_static/images/twitter-logo.svg | 1 - documentation/_static/js/form-in-docs.js | 139 - documentation/_static/js/index.js | 27 - documentation/_templates/_parts/footer.html | 44 - documentation/_templates/_parts/hero.html | 17 - .../_templates/_parts/pagination.html | 16 - .../_templates/_parts/sourcelink.html | 56 - documentation/_templates/_parts/top-bar.html | 7 - documentation/_templates/base.html | 199 -- documentation/_templates/footer.html | 52 - documentation/_templates/layout.html | 51 - documentation/_templates/searchbox.html | 9 - documentation/_templates/versions.html | 18 - documentation/conf.py | 58 - documentation/form.rst | 151 - documentation/index.rst | 17 - documentation/schema.rst | 109 - documentation/spreadsheet.rst | 42 - documentation/taxonomy.rst | 116 - 72 files changed, 4604 deletions(-) delete mode 100644 documentation/_static/css/custom.css delete mode 100644 documentation/_static/css/sanitize.css delete mode 100644 documentation/_static/css/style.css delete mode 100644 documentation/_static/images/360-giving-logo-white.svg delete mode 100644 documentation/_static/images/360-logos/360giving-challenge.svg delete mode 100644 documentation/_static/images/360-logos/360giving-grantnav.svg delete mode 100644 documentation/_static/images/360-logos/360giving-insights.svg delete mode 100644 documentation/_static/images/360-logos/360giving-main.svg delete mode 100644 documentation/_static/images/360-logos/360giving-map.svg delete mode 100644 documentation/_static/images/360-logos/360giving-registry.svg delete mode 100644 documentation/_static/images/360-logos/360giving-resources.svg delete mode 100644 documentation/_static/images/360-logos/360giving-standard.svg delete mode 100644 documentation/_static/images/360-resources-logo.svg delete mode 100644 documentation/_static/images/creative-commons.svg delete mode 100644 documentation/_static/images/favicon/android-icon-144x144.png delete mode 100644 documentation/_static/images/favicon/android-icon-192x192.png delete mode 100644 documentation/_static/images/favicon/android-icon-36x36.png delete mode 100644 documentation/_static/images/favicon/android-icon-48x48.png delete mode 100644 documentation/_static/images/favicon/android-icon-72x72.png delete mode 100644 documentation/_static/images/favicon/android-icon-96x96.png delete mode 100644 documentation/_static/images/favicon/apple-icon-114x114.png delete mode 100644 documentation/_static/images/favicon/apple-icon-120x120.png delete mode 100644 documentation/_static/images/favicon/apple-icon-144x144.png delete mode 100644 documentation/_static/images/favicon/apple-icon-152x152.png delete mode 100644 documentation/_static/images/favicon/apple-icon-180x180.png delete mode 100644 documentation/_static/images/favicon/apple-icon-57x57.png delete mode 100644 documentation/_static/images/favicon/apple-icon-60x60.png delete mode 100644 documentation/_static/images/favicon/apple-icon-72x72.png delete mode 100644 documentation/_static/images/favicon/apple-icon-76x76.png delete mode 100644 documentation/_static/images/favicon/apple-icon-precomposed.png delete mode 100644 documentation/_static/images/favicon/apple-icon.png delete mode 100644 documentation/_static/images/favicon/browserconfig.xml delete mode 100644 documentation/_static/images/favicon/favicon-16x16.png delete mode 100644 documentation/_static/images/favicon/favicon-32x32.png delete mode 100644 documentation/_static/images/favicon/favicon-96x96.png delete mode 100644 documentation/_static/images/favicon/favicon.ico delete mode 100644 documentation/_static/images/favicon/manifest.json delete mode 100644 documentation/_static/images/favicon/ms-icon-144x144.png delete mode 100644 documentation/_static/images/favicon/ms-icon-150x150.png delete mode 100644 documentation/_static/images/favicon/ms-icon-310x310.png delete mode 100644 documentation/_static/images/favicon/ms-icon-70x70.png delete mode 100644 documentation/_static/images/github-logo.svg delete mode 100644 documentation/_static/images/icon-json.svg delete mode 100644 documentation/_static/images/icon-spreadsheet.svg delete mode 100644 documentation/_static/images/licenses/Cc-nc.svg delete mode 100644 documentation/_static/images/licenses/Cc-nd.svg delete mode 100644 documentation/_static/images/licenses/Cc-public_domain_mark_white.svg delete mode 100644 documentation/_static/images/licenses/Cc-sa.svg delete mode 100644 documentation/_static/images/licenses/Cc-zero.svg delete mode 100644 documentation/_static/images/licenses/UKOpenGovernmentLicence.svg delete mode 100644 documentation/_static/images/licenses/creative-commons-main.svg delete mode 100644 documentation/_static/images/licenses/logo-ogl.png delete mode 100644 documentation/_static/images/licenses/pddl.svg delete mode 100644 documentation/_static/images/twitter-logo.svg delete mode 100644 documentation/_static/js/form-in-docs.js delete mode 100644 documentation/_static/js/index.js delete mode 100644 documentation/_templates/_parts/footer.html delete mode 100644 documentation/_templates/_parts/hero.html delete mode 100644 documentation/_templates/_parts/pagination.html delete mode 100644 documentation/_templates/_parts/sourcelink.html delete mode 100644 documentation/_templates/_parts/top-bar.html delete mode 100644 documentation/_templates/base.html delete mode 100644 documentation/_templates/footer.html delete mode 100644 documentation/_templates/layout.html delete mode 100644 documentation/_templates/searchbox.html delete mode 100644 documentation/_templates/versions.html delete mode 100644 documentation/conf.py delete mode 100644 documentation/form.rst delete mode 100644 documentation/index.rst delete mode 100644 documentation/schema.rst delete mode 100644 documentation/spreadsheet.rst delete mode 100644 documentation/taxonomy.rst diff --git a/documentation/_static/css/custom.css b/documentation/_static/css/custom.css deleted file mode 100644 index be5dd84..0000000 --- a/documentation/_static/css/custom.css +++ /dev/null @@ -1,151 +0,0 @@ -/* boxes */ -.prose .admonition, -.admonition { - background-color: rgba(77, 172, 182, 0.1); - position: relative; - padding: 24px 24px 24px 24px; } - .prose .admonition:before, - .admonition:before { - background-color: #4DACB6; - content: ""; - position: absolute; - height: 100%; - width: 4px; - left: 0; - top: 0; } - .prose .admonition h3, .prose .admonition-title, - .admonition h3, - .admonition-title { - margin: 0 0 4px 0; - font-size: 1rem; - font-weight: 600; - color: #4DACB6; } - -.prose .admonition.admonition-for-example, -.admonition-for-example { - background-color: rgba(222, 110, 38, 0.1); } - .prose .admonition.admonition-for-example:before, - .admonition-for-example:before { - background-color: #DE6E26; } - .prose .admonition.admonition-for-example .admonition-title, - .admonition-for-example .admonition-title { - color: #DE6E26; } - -.prose .admonition.admonition--orange, -.admonition--orange { - background-color: rgba(222, 110, 38, 0.1); } - .prose .admonition.admonition--orange:before, - .admonition--orange:before { - background-color: #DE6E26; } - .prose .admonition.admonition--orange .admonition-title, - .admonition--orange .admonition-title { - color: #DE6E26; } - -.prose .admonition.admonition--yellow, -.admonition--yellow { - background-color: rgba(239, 195, 41, 0.1); } - .prose .admonition.admonition--yellow:before, - .admonition--yellow:before { - background-color: #EFC329; } - .prose .admonition.admonition--yellow .admonition-title, - .admonition--yellow .admonition-title { - color: #EFC329; } - -.prose .admonition.admonition--red, -.admonition--red { - background-color: rgba(188, 44, 38, 0.1); } - .prose .admonition.admonition--red:before, - .admonition--red:before { - background-color: #BC2C26; } - .prose .admonition.admonition--red .admonition-title, - .admonition--red .admonition-title { - color: #BC2C26; } - -/* headerlink */ -.headerlink { - visibility: hidden; - font-size: 18px; -} -h1:hover .headerlink::after, -h2:hover .headerlink::after, -h3:hover .headerlink::after, -h4:hover .headerlink::after, -h5:hover .headerlink::after, -h6:hover .headerlink::after { - visibility: visible; - content: "link"; - font-family: "Material Icons"; -} - -/* table */ -table.docutils { - font-size: .9rem; - border: 1px solid rgba(21, 54, 52, 0.2); - border-radius: 3px; } - table.docutils table { - margin: 0; } - table.docutils th, table.docutils td { - border: 0px solid rgba(21, 54, 52, 0.2); - padding: 8px; - vertical-align: top; - color: #153634; - display: block; } - @media (min-width: 36em) { - table.docutils th, table.docutils td { - display: table-cell; - padding: 8px 16px; } } - table.docutils th { - background-color: rgba(21, 54, 52, 0.1); } - table.docutils tr + tr { - border-top: 1px solid rgba(21, 54, 52, 0.2); } - table.docutils th { - display: none; } - @media (min-width: 36em) { - table.docutils th { - display: table-cell; } } - table.docutils td { - display: block; } - @media (min-width: 36em) { - table.docutils td { - display: table-cell; } } - -@media (max-width: 35.98em) { - table.docutils td:before { - content: attr(data-header); - display: block; - font-weight: 400; - background-color: rgba(21, 54, 52, 0.1); - margin: -8px -8px 4px -8px; - padding: 4px 8px; } } - -table.docutils tr:nth-of-type(even) { - background-color: rgba(21, 54, 52, 0.04); } - -table.docutils__lead-cell { - font-weight: 500; - min-width: 180px; } - -@media (min-width: 36em) { - table.docutils__checks { - text-align: center; } } - -table.docutils--true { - color: #4DACB6; } - -table.docutils--false { - color: #BC2C26; } - -/* code blocks */ - -.highlight { - padding: 0 16px; - margin-top: 24px; - background-color: rgba(21, 54, 52, 0.03); - border: 1px solid rgba(21, 54, 52, 0.1); } - .highlight pre, .highlight code { - white-space: pre-wrap; } - -#custom-docson-container iframe { - height:400px !important; - border:1px solid grey !important; -} diff --git a/documentation/_static/css/sanitize.css b/documentation/_static/css/sanitize.css deleted file mode 100644 index b5026c2..0000000 --- a/documentation/_static/css/sanitize.css +++ /dev/null @@ -1,551 +0,0 @@ -/*! sanitize.css v6.0.0 | CC0 License | github.com/csstools/sanitize.css */ - -/* Document - * ========================================================================== */ - -/** - * 1. Remove repeating backgrounds in all browsers (opinionated). - * 2. Add border box sizing in all browsers (opinionated). - */ - -*, -::before, -::after { - background-repeat: no-repeat; /* 1 */ - box-sizing: border-box; /* 2 */ -} - -/** - * 1. Add text decoration inheritance in all browsers (opinionated). - * 2. Add vertical alignment inheritance in all browsers (opinionated). - */ - -::before, -::after { - text-decoration: inherit; /* 1 */ - vertical-align: inherit; /* 2 */ -} - -/** - * 1. Correct the line height in all browsers. - * 2. Add the default cursor in all browsers (opinionated). - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - * 4. Breaks words to prevent prevent overflow in all browsers (opinionated). - */ - -html { - line-height: 1.15; /* 1 */ - cursor: default; /* 2 */ - -ms-text-size-adjust: 100%; /* 3 */ - -webkit-text-size-adjust: 100%; /* 3 */ - word-break: break-word; /* 4 */ -} - -/* Sections - * ========================================================================== */ - -/** - * Remove the margin in all browsers (opinionated). - */ - -body { - margin: 0; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - * ========================================================================== */ - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * Add the correct display in IE. - */ - -main { - display: block; -} - -/** - * Remove the list style on navigation lists in all browsers (opinionated). - */ - -nav ol, -nav ul { - list-style: none; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - * ========================================================================== */ - -/** - * Remove the gray background on active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Add the correct text decoration in Edge, IE, Opera, and Safari. - */ - -abbr[title] { - text-decoration: underline; - text-decoration: underline dotted; -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/* - * Remove the text shadow on text selections in Firefox 61- (opinionated). - * 1. Restore the coloring undone by defining the text shadow - * in all browsers (opinionated). - */ - -::-moz-selection { - background-color: #b3d4fc; /* 1 */ - color: #000; /* 1 */ - text-shadow: none; -} - -::selection { - background-color: #b3d4fc; /* 1 */ - color: #000; /* 1 */ - text-shadow: none; -} - -/* Embedded content - * ========================================================================== */ - -/* - * Change the alignment on media elements in all browers (opinionated). - */ - -audio, -canvas, -iframe, -img, -svg, -video { - vertical-align: middle; -} - -/** - * Add the correct display in IE 9-. - */ - -audio, -video { - display: inline-block; -} - -/** - * Add the correct display in iOS 4-7. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Remove the border on images inside links in IE 10-. - */ - -img { - border-style: none; -} - -/** - * Change the fill color to match the text color in all browsers (opinionated). - */ - -svg { - fill: currentColor; -} - -/** - * Hide the overflow in IE. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Tabular data - * ========================================================================== */ - -/** - * Collapse border spacing in all browsers (opinionated). - */ - -table { - border-collapse: collapse; -} - -/* Forms - * ========================================================================== */ - -/** - * Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - margin: 0; -} - -/** - * Inherit styling in all browsers (opinionated). - */ - -button, -input, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -/** - * 1. Show the overflow in IE. - * 2. Remove the inheritance of text transform in Edge, Firefox, and IE. - */ - -button { - overflow: visible; /* 1 */ - text-transform: none; /* 2 */ -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -/** - * Restore the focus styles unset by the previous rule in Firefox. - */ - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Remove the inner border and padding in Firefox. - */ - -::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Correct the padding in Firefox. - */ - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * Show the overflow in Edge and IE. - */ - -input { - overflow: visible; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * 1. Add the correct display in Edge and IE. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Remove the inheritance of text transform in Firefox. - */ - -select { - text-transform: none; -} - -/** - * 1. Remove the default vertical scrollbar in IE. - * 2. Change the resize direction on textareas in all browsers (opinionated). - */ - -textarea { - overflow: auto; /* 1 */ - resize: vertical; /* 2 */ -} - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - * ========================================================================== */ - -/* - * Add the correct display in Edge and IE. - */ - -details { - display: block; -} - -/* - * Add the correct styles in Edge, IE, and Safari. - */ - -dialog { - background-color: white; - border: solid; - color: black; - display: block; - height: -moz-fit-content; - height: -webkit-fit-content; - height: fit-content; - left: 0; - margin: auto; - padding: 1em; - position: absolute; - right: 0; - width: -moz-fit-content; - width: -webkit-fit-content; - width: fit-content; -} - -dialog:not([open]) { - display: none; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; -} - -/* Scripting - * ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -canvas { - display: inline-block; -} - -/** - * Add the correct display in IE. - */ - -template { - display: none; -} - -/* User interaction - * ========================================================================== */ - -/* - * 1. Remove the tapping delay on clickable elements in all browsers (opinionated). - * 2. Remove the tapping delay in IE 10. - */ - -a, -area, -button, -input, -label, -select, -summary, -textarea, -[tabindex] { - -ms-touch-action: manipulation; /* 1 */ - touch-action: manipulation; /* 2 */ -} - -/** - * Add the correct display in IE 10-. - */ - -[hidden] { - display: none; -} - -/* Accessibility - * ========================================================================== */ - -/** - * Change the cursor on busy elements in all browsers (opinionated). - */ - -[aria-busy="true"] { - cursor: progress; -} - -/* - * Change the cursor on control elements in all browsers (opinionated). - */ - -[aria-controls] { - cursor: pointer; -} - -/* - * Change the cursor on disabled, not-editable, or otherwise - * inoperable elements in all browsers (opinionated). - */ - -[aria-disabled], -[disabled] { - cursor: disabled; -} - -/* - * Change the display on visually hidden accessible elements - * in all browsers (opinionated). - */ - -[aria-hidden="false"][hidden]:not(:focus) { - clip: rect(0, 0, 0, 0); - display: inherit; - position: absolute; -} diff --git a/documentation/_static/css/style.css b/documentation/_static/css/style.css deleted file mode 100644 index 2e9ee41..0000000 --- a/documentation/_static/css/style.css +++ /dev/null @@ -1,2569 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:200,200i,300,300i,400,400i,500,500i,600,600i,700,700i&display=swap"); -/* - * HSL(A) NOT TRANSFORMED TO RGB(A) - * - * Is now an accepted proposal: https://github.com/sass/sass/blob/master/accepted/color-4-rgb-hsl.md - * But without implementation, yet. - * - * Use: - * `color: hsl(15deg, 100%, 50%);` - * `--flashy-pink: hsl(15deg, 100%, 50%);` - * `$flashy-pink: hsl(15deg 100% 50%);` - * `--transparent-flashy-pink: hsl(15deg, 100%, 50%, .7);` - * `$transparent-flashy-pink: hsla(15deg, 100%, 50%, .7);` - * `$transparent-flashy-pink: hsla(15deg 100% 50% / .7);` - * - * Parameters: - * parameter 1 (angle | 0): the hue of the color - * parameter 2 (0-100% | 0): the saturation of the color - * parameter 3 (0-100% | 0): the luminosity of the color - * parameter 4 (optional, 1 by default): the alpha channel of the color - */ -:root { - --text-base-size: 1rem; - --text-base-line-height: 1.62; - --fonts-primary: 'Roboto', sans-serif; - --colors-default: $black; - --colors-white: #FFFFFF; - --colors-orange: $orange; - --colors-teal: $teal; - --colors-yellow: $yellow; - --colors-red: $red; - --colors-alt: --colors-teal; - --colors-black: --colors-default; } - @media (min-width: 60em) { - :root { - --text-base-size: 1rem; } } - -:root { - --gray-05-hsl: 0, 0%, 95%; - --gray-10-hsl: 0, 0%, 90%; - --gray-20-hsl: 0, 0%, 80%; - --gray-30-hsl: 0, 0%, 70%; - --gray-70-hsl: 0, 0%, 30%; - --gray-80-hsl: 0, 0%, 20%; - --black-hsl: 0, 0%, 10%; - --success-green-hsl: 140, 100%, 17%; - --error-red-hsl: 5, 81%, 95%; - --warning-yellow-hsl: 45, 78%, 98%; - --black-hsl: 243, 75%, 6%; - --orange-hsl: 23, 74%, 51%; - --teal-hsl: 186, 42%, 51%; - --yellow-hsl: 47, 86%, 55%; - --red-hsl: 2, 66%, 44%; - --default-hsl: var(--black-hsl); - --primary-hsl: var(--orange-hsl); - --accent-hsl: var(--teal-hsl); - --color-error: hsla(var(--red-hsl), 1); - --color-warning: hsla(var(--yellow-hsl), 1); - --color-success: hsla(var(--success-green-hsl), 1); - --color-black: hsla(var(--black-hsl), 1); - --color-orange: hsla(var(--orange-hsl), 1); - --color-teal: hsla(var(--teal-hsl), 1); - --color-yellow: hsla(var(--yellow-hsl), 1); - --color-red: hsla(var(--red-hsl), 1); - --color-default: hsla(var(--black-hsl), 1); - --color-primary: hsla(var(--orange-hsl), 1); - --color-accent: hsla(var(--teal-hsl), 1); - --base-hsl: var(--default-hsl); - --color-base: var(--color-default); } - -.clearfix:after { - content: " "; - /* Older browser do not support empty content */ - visibility: hidden; - display: block; - height: 0; - clear: both; } - -.u-material-icons, .breadcrumbs__arrow, .modal__close:after, .accordion-list--no-numbers .accordion:before, .prose blockquote:before, -.prose blockquote p:before { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; } - -.u-transition { - transition: all .4s ease; } - -@media (min-width: 36em) { - .small-only { - display: none !important; } } - -@media (max-width: 35.98em) { - .medium-up { - display: none !important; } } - -*, -*::before, -*::after { - box-sizing: inherit; } - -html { - box-sizing: border-box; - font-family: sans-serif; - line-height: 1.62; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -body { - color: var(--colors-default); - font-family: var(--fonts-primary); - font-size: var(--text-base-size); - font-weight: 300; - position: relative; - margin: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -@-ms-viewport { - width: device-width; } - -article, -aside, -dialog, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section { - display: block; } - -[tabindex="-1"]:focus { - outline: none !important; } - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; - margin: 1rem 0; } - -dd, -p, -label { - margin: 0 0 1.62ex 0; } - -ol, -ul, -dl, -table, -p, -pre, -address, -figure { - margin: 0 0 1.62ex 0; } - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; } - -address { - font-style: normal; - line-height: inherit; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -blockquote { - margin: 0 0 1.62ex 0; } - -dfn { - font-style: italic; } - -b, -strong { - font-weight: bolder; } - -small { - font-size: 80%; } - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -0.25ex; } - -sup { - top: -0.5ex; } - -a { - color: var(--colors-alt); - text-decoration: none; - -webkit-text-decoration-skip: objects; } - a:hover, a:focus { - color: var(--colors-alt); - text-decoration: none; } - a:active { - color: var(--colors-orange); - text-decoration: none; } - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; } - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; } - -a:not([href]):not([tabindex]):focus { - outline: 0; } - -pre, -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -pre { - overflow: auto; - -ms-overflow-style: scrollbar; } - -img { - vertical-align: middle; - border-style: none; - max-width: 100%; } - -svg:not(:root) { - overflow: hidden; } - -a, -area, -button, -[role="button"], -input:not([type="range"]), -label, -select, -summary, -textarea { - touch-action: manipulation; } - -table { - border-collapse: collapse; } - -caption { - padding-top: 1ex; - padding-bottom: 1ex; - color: #868e96; - text-align: left; - caption-side: bottom; } - -th { - text-align: inherit; } - -button { - border-radius: 0; } - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -input { - overflow: visible; } - -button, -select { - text-transform: none; } - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; } - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; } - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; } - -textarea { - overflow: auto; - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - font-size: 1.72em; - margin-bottom: 0.5ex; - line-height: inherit; - color: inherit; - white-space: normal; } - -progress { - vertical-align: baseline; } - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; } - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; } - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; } - -label, output { - display: inline-block; } - -summary { - display: list-item; } - -template, [hidden] { - display: none !important; } - -.wrapper { - margin-left: 8px; - margin-right: 8px; } - @media (min-width: 36em) { - .wrapper { - max-width: 960px; - margin-left: auto; - margin-right: auto; } } - -.clearfix:after { - content: " "; - /* Older browser do not support empty content */ - visibility: hidden; - display: block; - height: 0; - clear: both; } - -.u-material-icons, .breadcrumbs__arrow, .modal__close:after, .accordion-list--no-numbers .accordion:before, .prose blockquote:before, -.prose blockquote p:before { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; } - -.u-transition { - transition: all .4s ease; } - -@media (min-width: 36em) { - .small-only { - display: none !important; } } - -@media (max-width: 35.98em) { - .medium-up { - display: none !important; } } - -@media (max-width: 59.98em) { - .wrapper { - margin-left: 8px; - margin-right: 8px; } } - -@media (min-width: 85em) { - .wrapper { - max-width: 960px; - margin-left: auto; - margin-right: auto; } } - -.align-left { - text-align: left; } - -.align-right { - text-align: right; } - -.align-center { - text-align: center; } - -a { - font-weight: 400; - color: #4DACB6; } - a:hover { - color: #DE6E26; } - a:active { - color: #EFC329; } - -.breadcrumbs { - padding: 8px 0; } - .breadcrumbs__item, .breadcrumbs__arrow { - vertical-align: middle; - margin-top: -16px; - margin-right: 6px; } - .breadcrumbs__item { - color: rgba(21, 54, 52, 0.6); } - .breadcrumbs__arrow { - margin-bottom: -18px; - color: rgba(21, 54, 52, 0.4); } - .breadcrumbs__item:last-of-type { - color: #153634; } - -.button { - border: 2px solid currentColor; - color: #153634; - display: inline-block; - border-radius: 3px; - padding: 6px 24px 8px; - font-size: 1rem; - font-weight: 400; } - .button.button--small { - padding: 2px 16px 2px; - border-width: 1px; - font-size: .9rem; } - .button.button--large { - padding: 10px 32px 12px; - border-width: 3px; - font-size: 1.3rem; } - .button.button--unstyled { - border: 0; - padding: 0; } - .button.button--white { - color: white; } - .button.button--orange { - color: #DE6E26; } - .button.button--teal { - color: #4DACB6; } - .button.button--yellow { - color: #EFC329; } - .button.button--red { - color: #BC2C26; } - .button.button--disabled { - opacity: .3; - pointer-events: none; } - -.code-block { - padding: 0 16px; - margin-top: 24px; - background-color: rgba(21, 54, 52, 0.03); - border: 1px solid rgba(21, 54, 52, 0.1); } - .code-block--wrap pre, .code-block--wrap code { - white-space: pre-wrap; } - -.hljs.bash { - background-color: transparent !important; } - -.filter { - color: #153634; - border: 1px solid #153634; - display: inline-block; - border-radius: 24px; - font-size: 1rem; - padding: 4px 24px 6px; - font-weight: 600; - letter-spacing: .3px; } - .filter:hover { - cursor: pointer; - background-color: #153634; - color: white; } - .filter.filter--data-wrangling:hover { - background-color: #4DACB6; } - .filter.filter--data-literacy:hover { - background-color: #DE6E26; } - .filter.filter--human-centered-design:hover { - background-color: #BC2C26; } - -.filter--selected { - cursor: pointer; - background-color: #153634; - color: white; } - .filter--selected.filter--data-wrangling { - background-color: #4DACB6; - color: white; } - .filter--selected.filter--data-literacy { - background-color: #DE6E26; - color: white; } - .filter--selected.filter--human-centered-design { - background-color: #BC2C26; - color: white; } - -.filter--data-wrangling { - color: #4DACB6; - border-color: #4DACB6; } - -.filter--data-literacy { - color: #DE6E26; - border-color: #DE6E26; } - -.filter--human-centered-design { - color: #BC2C26; - border-color: #BC2C26; } - -.h1 { - font-size: 2rem; - font-weight: 300; - color: #153634; - line-height: 1.3; } - @media (min-width: 36em) { - .h1 { - font-size: 1.7rem; } } - @media (min-width: 85em) { - .h1 { - font-size: 3rem; } } - -.intro { - font-size: 1.1rem; - font-weight: 300; - color: rgba(21, 54, 52, 0.6); } - @media (min-width: 36em) { - .intro { - font-size: 1.2rem; } } - @media (min-width: 85em) { - .intro { - font-size: 1.5rem; } } - -.h2 { - font-size: 1.3rem; - font-weight: 400; - color: #153634; - line-height: 1.3; } - @media (min-width: 36em) { - .h2 { - font-size: 1.5rem; } } - @media (min-width: 85em) { - .h2 { - font-size: 2.2rem; } } - -.h3 { - font-size: 1.1rem; - font-weight: 400; - color: #153634; - line-height: 1.3; - line-height: 1.3; } - @media (min-width: 36em) { - .h3 { - font-size: 1.2rem; } } - @media (min-width: 85em) { - .h3 { - font-size: 1.7rem; } } - -.h4 { - font-size: 1rem; - font-weight: 600; - line-height: 1.3; - color: #153634; } - @media (min-width: 36em) { - .h4 { - font-size: 1.1rem; } } - @media (min-width: 85em) { - .h4 { - font-size: 1.3rem; } } - -.h5 { - font-size: 1rem; - font-weight: 600; - line-height: 1.3; - color: #153634; } - @media (min-width: 36em) { - .h5 { - font-size: 1.1rem; } } - @media (min-width: 85em) { - .h5 { - font-size: 1.1rem; } } - -.h6 { - font-size: 1rem; - font-weight: 300; - line-height: 1.3; - color: #153634; - text-decoration: underline; } - @media (min-width: 36em) { - .h6 { - font-size: 1rem; } } - @media (min-width: 85em) { - .h6 { - font-size: 1rem; } } - -.p { - font-size: 1rem; - font-weight: 300; - color: #153634; - margin-bottom: 0; } - .p + .p { - margin-top: 12px; } - @media (min-width: 36em) { - .p { - font-size: .9rem; } } - @media (min-width: 85em) { - .p { - font-size: 1rem; } } - .p > a { - font-weight: 400; - color: #4DACB6; } - -p { - line-height: 1.62; - margin: 0 0 1.62ex 0; } - p.intro { - font-size: 1.5em; - font-weight: 300; - margin-bottom: 2ex; - line-height: 1.5; } - @media (min-width: 60em) { - p { - line-height: 1.65; - margin-bottom: 1.65ex; } - p.intro { - font-size: 1.6em; - margin-bottom: 3ex; - line-height: 1.37; } } - -.spacer-1 { - padding-bottom: 8px; } - -.spacer-2 { - padding-bottom: 16px; } - -.spacer-3 { - padding-bottom: 24px; } - -.spacer-4 { - padding-bottom: 32px; } - -.spacer-5 { - padding-bottom: 40px; } - -.spacer-10 { - padding-bottom: 80px; } - -.tag { - color: #153634; - border: 2px solid #153634; - display: inline-block; - padding: 2px 24px 4px; - border-radius: 24px; - font-size: 1rem; - font-weight: 400; } - -.tag--large { - padding: 4px 24px 6px; - font-weight: 600; } - .tag--large:hover { - cursor: pointer; - background-color: #153634; - color: white; } - .tag--large.tag--data-wrangling:hover { - background-color: #4DACB6; } - .tag--large.tag--data-literacy:hover { - background-color: #DE6E26; } - .tag--large.tag--human-centered-design:hover { - background-color: #BC2C26; } - -.tag--selected { - cursor: pointer; - background-color: #153634; - color: white; } - .tag--selected.tag--data-wrangling { - background-color: #4DACB6; - color: white; } - .tag--selected.tag--data-literacy { - background-color: #DE6E26; - color: white; } - .tag--selected.tag--human-centered-design { - background-color: #BC2C26; - color: white; } - -.tag--data-wrangling { - color: #4DACB6; - border-color: #4DACB6; } - -.tag--data-literacy { - color: #DE6E26; - border-color: #DE6E26; } - -.tag--human-centered-design { - color: #BC2C26; - border-color: #BC2C26; } - -.accordion__trigger { - cursor: pointer; } - -.accordion__extra { - max-height: 0; - overflow: hidden; - transition: all .5s ease; } - -.accordion--expanded .accordion__extra { - height: auto; - max-height: 4000px; } - -.bar-chart { - list-style-type: none; - padding: 0; - margin: 0; - --scale: 127; } - .bar-chart__item { - --value: 0; - display: flex; - padding-bottom: 8px; } - .bar-chart__bar { - flex: 4; - position: relative; - margin-right: 40px; } - .bar-chart__bar > span { - display: inline-block; - position: absolute; - left: 0; - top: 0; - bottom: 0; - background-color: #EFC329; - width: var(--width); } - .bar-chart__bar > span:after { - counter-reset: value var(--value); - content: counter(value); - position: absolute; - left: calc(100% + 8px); } - .bar-chart__label { - flex: 0; - min-width: 136px; - font-size: 1rem; - padding-right: 16px; - text-align: right; } - -.prose .box, -.box { - background-color: rgba(21, 54, 52, 0.1); - position: relative; - padding: 24px 24px 24px 24px; } - .prose .box:before, - .box:before { - background-color: #153634; - content: ""; - position: absolute; - height: 100%; - width: 4px; - left: 0; - top: 0; } - .prose .box h3, .prose .box__heading, - .box h3, - .box__heading { - margin: 0 0 4px 0; - font-size: 1rem; - font-weight: 600; - color: #4DACB6; } - -.prose .box:only-child { - margin-top: 0; } - -.prose .box.box--teal, -.box--teal { - background-color: rgba(77, 172, 182, 0.1); } - .prose .box.box--teal:before, - .box--teal:before { - background-color: #4DACB6; } - .prose .box.box--teal .box__heading, - .box--teal .box__heading { - color: #4DACB6; } - -.prose .box.box--orange, -.box--orange { - background-color: rgba(222, 110, 38, 0.1); } - .prose .box.box--orange:before, - .box--orange:before { - background-color: #DE6E26; } - .prose .box.box--orange .box__heading, - .box--orange .box__heading { - color: #DE6E26; } - -.prose .box.box--yellow, -.box--yellow { - background-color: rgba(239, 195, 41, 0.1); } - .prose .box.box--yellow:before, - .box--yellow:before { - background-color: #EFC329; } - .prose .box.box--yellow .box__heading, - .box--yellow .box__heading { - color: #EFC329; } - -.prose .box.box--red, -.box--red { - background-color: rgba(188, 44, 38, 0.1); } - .prose .box.box--red:before, - .box--red:before { - background-color: #BC2C26; } - .prose .box.box--red .box__heading, - .box--red .box__heading { - color: #BC2C26; } - -.header-group__brow { - color: rgba(222, 110, 38, 0.5); - font-size: 1.4rem; - margin-bottom: 0; - text-transform: uppercase; } - -.header-group__title { - color: #153634; - font-size: 3.2em; - font-weight: 200; - line-height: 1.2; - margin: 0 0 0.8rem 0; } - .header-group__title > small { - font-size: 50%; } - -.header-group__subtitle { - color: var(--colors-dark-blue); - font-size: 1.6em; - font-weight: 500; - line-height: 1.375; - margin: 0 0 5.5rem 0; } - -.header-group__excerpt { - color: var(--colors-gray); - font-weight: 300; - line-height: 1.65; - margin: 1ex 0; } - -@media (max-width: 59.98em) { - .header-group br { - display: none; } } - -.modal { - transition: all .4s ease; - align-items: center; - justify-content: center; - display: none; - position: fixed; - top: 0; - left: 0; - z-index: 10000; - width: 100vw; - height: 100vh; } - .modal__overlay { - top: 0; - left: 0; - right: 0; - bottom: 0; - position: fixed; - background-color: rgba(255, 255, 255, 0.95); } - .modal__trigger { - cursor: pointer; } - .modal__close { - all: unset; - float: right; } - .modal__close:after { - content: 'close'; } - .modal__window { - position: relative; - padding: 40px; - max-height: 90vh; - max-width: 80vw; - overflow-y: scroll; - background-color: white; - box-shadow: 8px 8px 32px rgba(21, 54, 52, 0.1); } - -.modal.modal--shown { - display: flex; } - -body.modal--shown { - overflow: hidden; } - -.progress-bar { - position: relative; - display: inline-block; - width: 400px; - height: 43px; - background-color: red; - border: 2px solid currentColor; - border-radius: 3px; - vertical-align: bottom; } - .progress-bar > progress { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - padding: 0; - width: 100%; - height: 100%; - color: #153634; - font-size: 1rem; - font-weight: 400; - text-align: left; } - .progress-bar > progress[value]::-webkit-progress-bar { - background-color: white; } - .progress-bar > progress[value]::-webkit-progress-value { - background-color: rgba(21, 54, 52, 0.1); } - .progress-bar > progress:before, .progress-bar > progress:after, - .progress-bar > progress label { - position: absolute; - top: 6px; } - .progress-bar > progress:before { - content: '%'; - right: 16px; } - .progress-bar > progress:after { - content: attr(value); - right: 30px; } - .progress-bar > label { - position: absolute; - top: 6px; - left: 16px; } - -.table { - font-size: .9rem; - border: 1px solid rgba(21, 54, 52, 0.2); - border-radius: 3px; } - .table table { - margin: 0; } - .table th, .table td { - padding: 8px; - vertical-align: top; - color: #153634; - display: block; } - @media (min-width: 36em) { - .table th, .table td { - display: table-cell; - padding: 8px 16px; } } - .table th { - background-color: rgba(21, 54, 52, 0.1); } - .table tr + tr { - border-top: 1px solid rgba(21, 54, 52, 0.2); } - .table th { - display: none; } - @media (min-width: 36em) { - .table th { - display: table-cell; } } - .table td { - display: block; } - @media (min-width: 36em) { - .table td { - display: table-cell; } } - -@media (max-width: 35.98em) { - .table td:before { - content: attr(data-header); - display: block; - font-weight: 400; - background-color: rgba(21, 54, 52, 0.1); - margin: -8px -8px 4px -8px; - padding: 4px 8px; } } - -.table--zebra tr:nth-of-type(even) { - background-color: rgba(21, 54, 52, 0.04); } - -.table__lead-cell { - font-weight: 500; - min-width: 180px; } - -@media (min-width: 36em) { - .table__checks { - text-align: center; } } - -.table--true { - color: #4DACB6; } - -.table--false { - color: #BC2C26; } - -.upload-file { - text-align: left; - background-color: rgba(21, 54, 52, 0.02); - padding: 64px; - margin-top: 64px; - border: 1px solid rgba(21, 54, 52, 0.2); - box-shadow: inset 0 0 8px rgba(21, 54, 52, 0.1); } - .upload-file h3 { - font-size: 3rem; - margin: 0 0 64px 0; - text-align: center; - color: rgba(21, 54, 52, 0.2); } - .upload-file h4 { - margin: 24px 0 0 0; - font-size: 1.2rem; } - .upload-file p { - margin: 0; } - -.accordion-list { - list-style: none; } - .accordion-list .accordion-list__heading { - padding: 0; - margin: 0; } - .accordion-list__item { - padding-bottom: 24px; - counter-increment: items; - position: relative; } - .accordion-list__item .accordion:before { - content: counter(items); - position: absolute; - top: 4px; - right: calc(100% + 32px); - padding: 4px; - width: 48px; - height: 48px; - border-radius: 100px; - font-weight: 600; - font-size: 1.4rem; - text-align: center; - border: 2px solid #4DACB6; - color: #4DACB6; - background-color: white; - z-index: 1; - transition: all .3s ease; } - .accordion-list__item .accordion--expanded:before { - background-color: #4DACB6; - color: white; } - .accordion-list__item .accordion:after { - content: ''; - position: absolute; - top: 44px; - right: calc(100% + 54px); - width: 0; - height: 100%; - border: 2px solid #4DACB6; } - .accordion-list__item:last-of-type .accordion:after { - border: 0; } - -.accordion-list--no-numbers .accordion:before { - content: 'add'; - font-size: 1.8rem; - padding: 8px; } - -.accordion-list--no-numbers .accordion--expanded:before { - transform: rotate(45deg); } - -.base-card { - background: white; - box-shadow: 0px 4px 8px rgba(21, 54, 52, 0.15); - position: relative; - text-align: center; } - @media (max-width: 59.98em) { - .base-card { - margin-bottom: 16px; } } - .base-card:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-color: #153634; } - -.base-card__content { - padding: 16px; } - @media (min-width: 85em) { - .base-card__content { - padding: 32px; } } - -.base-card__header { - text-align: left; - padding-bottom: 24px; - padding-left: 24px; } - -.base-card__heading { - font-size: 1.5rem; - font-weight: 400; - margin: 0; } - -.base-card__subheading { - font-size: 1rem; - font-weight: 200; - margin: 0; } - -.base-card__title { - font-size: 2rem; - line-height: 1.3; - font-weight: 100; - margin: 0; } - -.base-card__text { - font-size: 1rem; - font-weight: 100; } - -.base-card--orange:before { - background-color: #DE6E26; } - -.base-card--yellow:before { - background-color: #EFC329; } - -.base-card--teal:before { - background-color: #4DACB6; } - -.base-card--red:before { - background-color: #BC2C26; } - -.base-card--none:before { - background-color: transparent; } - -@media (min-width: 85em) { - .base-card--spacious { - padding: 24px 16px; } } - -.card-list { - list-style-type: none; - padding: 0 8px 0 0; } - .card-list__item + .card-list__item { - margin-top: 24px; } - -.card-list--linked { - margin-left: 40px; } - .card-list--linked .card-list__item { - position: relative; } - .card-list--linked .card-list__item:before { - content: ''; - width: 4px; - height: calc(100% + 32px); - position: absolute; - top: 48px; - left: -40px; - background-color: rgba(21, 54, 52, 0.2); } - .card-list--linked .card-list__item:last-of-type::before { - height: 0; } - .card-list--linked .card-list__item:after { - content: ''; - width: 24px; - height: 24px; - border-radius: 50%; - position: absolute; - top: 48px; - left: -50px; - background-color: #153634; } - -.filter-panel { - border-top: 1px solid rgba(21, 54, 52, 0.2); - border-bottom: 1px solid rgba(21, 54, 52, 0.2); - padding: 24px 0; } - .filter-panel h4 { - margin: 0; } - .filter-panel__item { - padding: 8px 0; } - -.range-filter input[type="checkbox"] { - display: none; } - -.range-filter label { - clear: right; } - -.range-filter label:after { - content: attr(data-value); } - -.filter-section { - border-top: 1px solid rgba(21, 54, 52, 0.2); - border-bottom: 1px solid rgba(21, 54, 52, 0.2); } - @media (max-width: 35.98em) { - .filter-section { - overflow-x: scroll; - scroll-snap-align: center; - scroll-snap-type: x proximity; } } - .filter-section__panel { - display: flex; } - .filter-section__search { - flex: 1; - display: flex; - align-items: center; } - .filter-section__buttons { - flex: 3; - text-align: right; } - -.search-field { - padding: 8px 16px; - width: 100%; - border: 1px solid rgba(21, 54, 52, 0.2); - color: rgba(21, 54, 52, 0.7); - background-color: transparent; } - .search-field::-webkit-input-placeholder { - color: rgba(21, 54, 52, 0.4); } - .search-field:-moz-placeholder { - color: rgba(21, 54, 52, 0.4); } - .search-field::-moz-placeholder { - color: rgba(21, 54, 52, 0.4); } - .search-field:-ms-input-placeholder { - color: rgba(21, 54, 52, 0.4); } - .search-field:focus { - border: 1px solid #DE6E26; } - -.filters { - padding-top: 24px; - padding-bottom: 24px; } - @media (max-width: 35.98em) { - .filters { - width: max-content; - padding-right: 20px; } - .filters .filter + .filter { - margin-left: 8px; } } - @media (min-width: 36em) { - .filters .filter + .filter { - margin-left: 24px; } } - -.filter { - color: #153634; - border: 2px solid #153634; - display: inline-block; - padding: 8px 24px 10px; - border-radius: 24px; - font-size: .8rem; } - .filter:hover { - cursor: pointer; - background-color: #153634; - color: white; } - .filter.filter--data-wrangling:hover { - background-color: #4DACB6; } - .filter.filter--data-literacy:hover { - background-color: #DE6E26; } - .filter.filter--human-centered-design:hover { - background-color: #BC2C26; } - -.filter--selected { - cursor: pointer; - background-color: #153634; - color: white; } - .filter--selected.filter--data-wrangling { - background-color: #4DACB6; - color: white; } - .filter--selected.filter--data-literacy { - background-color: #DE6E26; - color: white; } - .filter--selected.filter--human-centered-design { - background-color: #BC2C26; - color: white; } - -.filter--data-wrangling { - color: #4DACB6; - border-color: #4DACB6; } - -.filter--data-literacy { - color: #DE6E26; - border-color: #DE6E26; } - -.filter--human-centered-design { - color: #BC2C26; - border-color: #BC2C26; } - -.footer__row { - display: flex; } - @media (max-width: 35.98em) { - .footer__row { - flex-direction: column; } } - -.footer__column-0 { - flex: 0; } - -.footer__column-1 { - flex: 1; } - @media (max-width: 35.98em) { - .footer__column-1 { - min-width: 100px; } } - -.footer__column-2 { - flex: 2; } - @media (max-width: 35.98em) { - .footer__column-2 { - min-width: 200px; } } - -.footer__column-3 { - flex: 3; } - -.footer { - padding-top: 24px; - background-color: #153634; } - .footer ul { - list-style-type: none; - padding: 0; } - .footer ul a { - text-decoration: none; } - .footer a { - color: rgba(255, 255, 255, 0.7); } - .footer a:hover { - color: white; - text-decoration: underline; } - @media (min-width: 85em) { - .footer { - padding-top: 48px; } } - .footer__row:first-of-type { - padding-bottom: 36px; - border-bottom: 1px solid rgba(255, 255, 255, 0.2); } - .footer__row { - padding: 16px 0; } - .footer__section { - font-size: 0.75rem; - font-weight: 300; - color: rgba(21, 54, 52, 0.8); - color: rgba(255, 255, 255, 0.7); - padding: 24px 0 16px; } - @media (min-width: 36em) { - .footer__section + .footer__section { - margin-left: 48px; } } - .footer__section li { - margin-top: 8px; } - .footer__heading { - font-size: 1rem; - font-weight: 600; - line-height: 1.3; - color: #153634; - font-weight: bold; - letter-spacing: 1px; - color: #EFC329; - margin-bottom: 16px; } - @media (min-width: 36em) { - .footer__heading { - font-size: 1.1rem; } } - @media (min-width: 85em) { - .footer__heading { - font-size: 1.3rem; } } - .footer__branding, .footer__social { - display: flex; - align-items: center; } - @media (max-width: 35.98em) { - .footer__branding { - flex-direction: column; - text-align: center; } } - .footer__logo { - opacity: .3; } - @media (max-width: 35.98em) { - .footer__logo { - margin-bottom: 16px; } } - .footer__tagline { - padding-bottom: 4px; - color: white; - font-weight: 300; - letter-spacing: 1px; - font-size: 1rem; } - @media (max-width: 35.98em) { - .footer__tagline { - margin-bottom: 16px; } } - @media (min-width: 36em) { - .footer__tagline { - margin-left: 48px; } } - @media (min-width: 85em) { - .footer__tagline { - font-size: 1.3rem; } } - .footer__social { - justify-content: flex-end; } - @media (max-width: 35.98em) { - .footer__social { - justify-content: center; } } - .footer__social * + * { - margin-left: 24px; } - .footer__social .github-icon { - line-height: 3px; } - .footer__social .twitter-icon { - line-height: 8px; } - .footer__small-print { - font-size: 0.75rem; - font-weight: 300; - color: rgba(21, 54, 52, 0.8); - border-top: 1px solid rgba(255, 255, 255, 0.2); - padding-top: 16px; - padding-bottom: 12px; - color: rgba(255, 255, 255, 0.4); } - .footer .edit-github { - float: right; } - .footer__policy-links a { - display: inline-block; } - @media (min-width: 36em) { - .footer__policy-links { - text-align: right; } } - -.footer p a:hover { - color: white; } - -@media (max-width: 59.98em) { - .grid { - margin-left: 8px; - margin-right: 8px; } } - -@media (min-width: 85em) { - .grid { - max-width: 960px; - margin-left: auto; - margin-right: auto; } } - -@media (min-width: 36em) { - .grid { - display: grid; - grid-gap: 16px; - grid-auto-rows: auto; - grid-auto-flow: row; - grid-gap: 32px; } } - -@media (min-width: 36em) { - .grid--two-columns { - grid-template-columns: repeat(2, 1fr); } } - -@media (min-width: 36em) { - .grid--three-columns { - grid-template-columns: repeat(3, 1fr); } } - -@media (min-width: 36em) { - .grid--four-columns { - grid-template-columns: repeat(4, 1fr); } } - -.grid__2 { - grid-column: auto / span 2; } - -.grid__3 { - grid-column: auto / span 3; } - -.grid__all { - grid-column: 1 / -1; } - -.hero-section { - border-bottom: 1px solid rgba(21, 54, 52, 0.2); } - -.hero { - padding-top: 36px; - padding-bottom: 40px; } - @media (min-width: 36em) { - .hero { - padding-top: 88px; - padding-bottom: 88px; } } - .hero__logo img { - max-width: 320px; } - .hero__lead { - font-size: 1.1rem; - font-weight: 300; - color: rgba(21, 54, 52, 0.6); - border-left: 4px solid #153634; - padding-left: 32px; } - @media (min-width: 36em) { - .hero__lead { - font-size: 1.2rem; } } - @media (min-width: 85em) { - .hero__lead { - font-size: 1.5rem; } } - @media (min-width: 36em) { - .hero__lead { - margin: 0; } } - .hero__title { - font-size: 1.5rem; - font-weight: bold; } - .hero__blurb { - font-size: 1.25rem; } - .hero__title + .hero__blurb { - margin-top: 16px; } - -.hero { - display: flex; - flex-direction: column; - align-items: center; } - @media (min-width: 36em) { - .hero { - flex-direction: row; } - .hero__logo { - flex: 3; } - .hero__lead { - margin-left: 40px; - flex: 4; } } - -.hero--orange .hero__lead { - border-left-color: #DE6E26; } - -.hero--orange .hero__title { - color: #DE6E26; } - -.hero--teal .hero__lead { - border-left-color: #4DACB6; } - -.hero--teal .hero__title { - color: #4DACB6; } - -.hero--yellow .hero__lead { - border-left-color: #EFC329; } - -.hero--yellow .hero__title { - color: #EFC329; } - -.hero--red .hero__lead { - border-left-color: #BC2C26; } - -.hero--red .hero__title { - color: #BC2C26; } - -.insights-card { - display: flex; } - .insights-card__content { - flex: 1; } - -.insights-card { - background: white; - box-shadow: 0px 4px 8px rgba(21, 54, 52, 0.1); - position: relative; - padding: 16px 24px 16px 24px; } - @media (min-width: 85em) { - .insights-card { - padding: 32px 40px 16px 40px; } } - .insights-card:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-color: #4DACB6; } - .insights-card__pub-logo { - width: 132px; } - .insights-card__pub-name { - font-size: 1.5rem; - color: #153634; - font-weight: 300; - padding: 0 16px; } - .insights-card__content { - margin-left: 32px; } - .insights-card__list { - list-style: none; - padding-left: 0; } - .insights-card__item > a { - color: #153634; - display: block; - padding: 8px 16px; } - .insights-card__item > a:hover { - background-color: rgba(21, 54, 52, 0.05); } - -.grant { - width: 100%; - cursor: pointer; } - .grant, .grant td { - border: 0; } - .grant td { - padding: 0; - vertical-align: bottom; - cursor: pointer; } - .grant__line { - font-style: normal; - font-weight: 300; } - .grant--title-line td { - padding-top: 4px; - font-weight: 400; - padding-bottom: 4px; } - .grant--amounts-line td { - line-height: 1.3; - border-bottom: 0; } - .grant--data-line { - border-bottom: 1px solid rgba(21, 54, 52, 0.1); } - .grant--data-line td { - padding: 0 0 8px; } - .grant--data-line:last-child { - border-bottom: 0; } - .grant__records { - width: 35%; } - .grant__spacer { - padding-left: 24px; } - .grant__pub-date { - width: 40%; } - .grant__title { - width: 100%; } - .grant__amount { - width: 100%; - text-align: right; } - .grant__amount { - margin-bottom: 8; } - .grant__grant-n, .grant__amount-n { - font-size: 1.6rem; } - .grant__grant-n { - font-weight: 300; } - .grant__amount-n { - font-weight: 400; } - -.media-card { - background: white; - box-shadow: 0px 4px 8px rgba(21, 54, 52, 0.15); - display: flex; - position: relative; } - .media-card:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - left: 0; } - .media-card__header { - display: flex; - padding-bottom: 16px; - flex-direction: column; } - @media (min-width: 36em) { - .media-card__header { - flex-direction: row; - align-items: flex-end; } } - .media-card__heading, .media-card__subtitle, .media-card__links { - line-height: 1; - margin: 0; } - @media (max-width: 59.98em) { - .media-card__heading, .media-card__subtitle, .media-card__links { - margin-bottom: 8px; } } - .media-card__heading { - padding-right: 16px; - font-size: 1.5rem; - font-weight: 400; - line-height: 1.4; } - .media-card__subtitle { - flex: 1; - color: #4DACB6; - font-weight: 400; } - .media-card__links { - margin-bottom: -4px; } - .media-card__link, - .media-card__link > svg { - max-height: 24px; - max-width: 24px; - fill: rgba(21, 54, 52, 0.4); } - .media-card__link:hover, - .media-card__link > svg:hover { - fill: #de6e26; } - .media-card__link + .media-card__link { - margin-left: 12px; } - .media-card__content { - display: flex; - flex-direction: column; - justify-content: center; - flex: 1; - padding: 48px; } - @media (min-width: 85em) { - .media-card__content { - padding: 32px 48px 32px 48px; } } - .media-card__image-wrapper { - width: 30%; - max-width: 320px; } - .media-card__image { - height: 0; - width: 100%; - padding-bottom: 100%; - background-position: center; - background-size: cover; } - .media-card__byline { - font-size: .8rem; - font-style: italic; - font-weight: 400; - color: rgba(21, 54, 52, 0.6); } - -.media-card--teal:before { - background-color: #4DACB6; } - -.media-card--orange:before { - background-color: #DE6E26; } - -.media-card--yellow:before { - background-color: #EFC329; } - -.media-card--red:before { - background-color: #BC2C26; } - -.media-card--self-contained { - margin-right: 8px; } - -.prose .prose-card { - background: white; - box-shadow: 0px 4px 8px #1536341A; - position: relative; - text-align: center; } - .prose .prose-card:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-color: #153634; } - -.prose .prose-card__content { - padding: 16px 24px 16px 24px; } - @media (min-width: 85em) { - .prose .prose-card__content { - padding: 48px 64px 48px 64px; } } - -.prose .prose-card__image { - padding-bottom: 32px; } - -.prose .prose-card__title { - font-size: 1.2rem; - font-weight: 400; - margin: 0; } - -.prose .prose-card__text { - font-size: 1rem; - font-weight: 100; } - -.prose .prose-card--orange:before { - background-color: #DE6E26; } - -.prose .prose-card--yellow:before { - background-color: #EFC329; } - -.prose .prose-card--teal:before { - background-color: #4DACB6; } - -.prose .prose-card--red:before { - background-color: #BC2C26; } - -.prose__section * + * { - margin-top: 8px; } - -.prose__section .grid > * + * { - margin-top: 0; } - -.prose__section .media-card { - margin-top: 32px; - margin-bottom: 32px; } - .prose__section .media-card__content { - padding-top: 24px; - padding-bottom: 24px; } - .prose__section .media-card h3 { - margin: 0; } - -.prose p, -.prose li, -.p { - font-size: 1rem; - font-weight: 300; - color: #153634; - margin-bottom: 0; } - .prose p + .prose p, - .prose li + .prose p, - .p + .prose p, .prose p + - .prose li, - .prose li + - .prose li, - .p + - .prose li, .prose p + - .p, - .prose li + - .p, - .p + - .p { - margin-top: 12px; } - @media (min-width: 36em) { - .prose p, - .prose li, - .p { - font-size: .9rem; } } - @media (min-width: 85em) { - .prose p, - .prose li, - .p { - font-size: 1rem; } } - .prose p > a, - .prose li > a, - .p > a { - font-weight: 400; - color: #4DACB6; } - -.prose h1, -.h1 { - font-size: 2rem; - font-weight: 300; - color: #153634; } - @media (min-width: 36em) { - .prose h1, - .h1 { - font-size: 1.7rem; } } - @media (min-width: 85em) { - .prose h1, - .h1 { - font-size: 3rem; } } - -.prose .intro, -.intro { - font-size: 1.1rem; - font-weight: 300; - color: rgba(21, 54, 52, 0.6); } - @media (min-width: 36em) { - .prose .intro, - .intro { - font-size: 1.2rem; } } - @media (min-width: 85em) { - .prose .intro, - .intro { - font-size: 1.5rem; } } - -.prose h2, -.h2 { - font-size: 1.3rem; - font-weight: 400; - color: #153634; } - @media (min-width: 36em) { - .prose h2, - .h2 { - font-size: 1.5rem; } } - @media (min-width: 85em) { - .prose h2, - .h2 { - font-size: 2.2rem; } } - -.prose h3, -.h3 { - font-size: 1.1rem; - font-weight: 400; - color: #153634; - line-height: 1.3; } - @media (min-width: 36em) { - .prose h3, - .h3 { - font-size: 1.2rem; } } - @media (min-width: 85em) { - .prose h3, - .h3 { - font-size: 1.7rem; } } - -.prose h4, -.h4 { - font-size: 1rem; - font-weight: 600; - line-height: 1.3; - color: #153634; } - @media (min-width: 36em) { - .prose h4, - .h4 { - font-size: 1.1rem; } } - @media (min-width: 85em) { - .prose h4, - .h4 { - font-size: 1.3rem; } } - -.prose h5, -.h5 { - font-size: 1rem; - font-weight: 600; - line-height: 1.3; - color: #153634; } - @media (min-width: 36em) { - .prose h5, - .h5 { - font-size: 1.1rem; } } - @media (min-width: 85em) { - .prose h5, - .h5 { - font-size: 1.1rem; } } - -.prose h6, -.h6 { - font-size: 1rem; - font-weight: 300; - line-height: 1.3; - color: #153634; - text-decoration: underline; } - @media (min-width: 36em) { - .prose h6, - .h6 { - font-size: 1rem; } } - @media (min-width: 85em) { - .prose h6, - .h6 { - font-size: 1rem; } } - -.prose ul { - margin-left: 0; - padding-left: 0; } - .prose ul li { - list-style-type: none; - padding-bottom: 0; - padding-left: 16px; - position: relative; } - .prose ul li:before { - content: ""; - width: 10px; - height: 10px; - border-left: 6px solid #4DACB6; - border-bottom: 6px solid transparent; - border-top: 6px solid transparent; - position: absolute; - left: 0; - top: 6px; } - -.prose ol { - margin-left: 16px; - padding-left: 0; } - .prose ol li { - padding-bottom: 12px; } - -.prose { - max-width: 800px; - margin: 0 auto; } - .prose h1 { - margin-bottom: 32px; } - .prose h2, .prose h3, .prose h4, .prose .intro { - margin-top: 40px; - margin-bottom: 16px; } - .prose__intro { - margin-bottom: 56px; } - .prose__section + .prose__section { - padding-top: 16px; } - .prose .box { - margin-bottom: 16px; - margin-top: 16px; } - -.prose blockquote, -.prose blockquote p { - font-size: 1.4rem; - line-height: 1.6; - color: #de6e26; - position: relative; - z-index: 1; } - .prose blockquote:before, - .prose blockquote p:before { - content: "format_quote"; - font-size: 10rem; - position: absolute; - left: -50px; - top: -50px; - color: rgba(222, 110, 38, 0.12); - z-index: -1; } - -.prose--wp { - /* = WordPress Core -------------------------------------------------------------- */ - /* Text meant only for screen readers. */ } - .prose--wp .alignnone { - margin: 5px 20px 20px 0; } - .prose--wp .aligncenter, - .prose--wp div.aligncenter { - display: block; - margin: 5px auto 5px auto; } - .prose--wp .alignright { - float: right; - margin: 5px 0 20px 20px; } - .prose--wp .alignleft { - float: left; - margin: 5px 20px 20px 0; } - .prose--wp a img.alignright { - float: right; - margin: 5px 0 20px 20px; } - .prose--wp a img.alignnone { - margin: 5px 20px 20px 0; } - .prose--wp a img.alignleft { - float: left; - margin: 5px 20px 20px 0; } - .prose--wp a img.aligncenter { - display: block; - margin-left: auto; - margin-right: auto; } - .prose--wp .wp-caption { - background: #fff; - border: 1px solid #f0f0f0; - max-width: 96%; - /* Image does not overflow the content area */ - padding: 5px 3px 10px; - text-align: center; } - .prose--wp .wp-caption.alignnone { - margin: 5px 20px 20px 0; } - .prose--wp .wp-caption.alignleft { - margin: 5px 20px 20px 0; } - .prose--wp .wp-caption.alignright { - margin: 5px 0 20px 20px; } - .prose--wp .wp-caption img { - border: 0 none; - height: auto; - margin: 0; - max-width: 98.5%; - padding: 0; - width: auto; } - .prose--wp .wp-caption p.wp-caption-text { - font-size: 11px; - line-height: 17px; - margin: 0; - padding: 0 4px 5px; } - .prose--wp .screen-reader-text { - border: 0; - clip: rect(1px, 1px, 1px, 1px); - clip-path: inset(50%); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute !important; - width: 1px; - word-wrap: normal !important; - /* Many screen reader and browser combinations announce broken words as they would appear visually. */ } - .prose--wp .screen-reader-text:focus { - background-color: #eee; - clip: auto !important; - clip-path: none; - color: #444; - display: block; - font-size: 1em; - height: auto; - left: 5px; - line-height: normal; - padding: 15px 23px 14px; - text-decoration: none; - top: 5px; - width: auto; - z-index: 100000; - /* Above WP toolbar. */ } - -.registry-card { - display: flex; } - .registry-card__content { - flex: 1; } - -.registry-card { - background: white; - box-shadow: 0px 4px 8px #1536341A; - position: relative; - padding: 16px 24px 16px 24px; } - @media (min-width: 85em) { - .registry-card { - padding: 32px 40px 16px 40px; } } - .registry-card:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - left: 0; - background-color: #4DACB6; } - .registry-card__pub-logo { - width: 132px; } - .registry-card__pub-name { - font-size: 1.5rem; - color: #153634; - font-weight: 300; } - .registry-card__content { - margin-left: 32px; } - .registry-card__list { - list-style: none; - padding-left: 0; } - -.registry-grant { - width: 100%; } - .registry-grant, .registry-grant td { - border: 0; } - .registry-grant td { - padding: 0; - vertical-align: top; } - .registry-grant__line { - font-style: normal; - font-weight: 300; } - .registry-grant--title-line td { - padding-top: 12px; - font-weight: 400; - padding-bottom: 4px; } - .registry-grant--amounts-line td { - line-height: 1.3; - border-bottom: 0; } - .registry-grant--data-line { - border-bottom: 1px solid rgba(21, 54, 52, 0.1); } - .registry-grant--data-line td { - padding: 8px 0 16px; } - .registry-grant--data-line:last-child { - border-bottom: 0; } - .registry-grant__records, .registry-grant__validation { - width: 35%; } - .registry-grant__spacer { - padding-left: 24px; } - .registry-grant__pub-date, .registry-grant__download { - width: 40%; } - .registry-grant__title { - width: 100%; } - .registry-grant__amount, .registry-grant__license { - width: 100%; - text-align: right; } - .registry-grant__amount { - margin-bottom: 8; } - .registry-grant__license a { - margin-left: 32px; } - .registry-grant__validation > i { - vertical-align: -7px; } - .registry-grant--validated > i { - color: #4DACB6; } - .registry-grant--invalid > i { - color: #BC2C26; } - .registry-grant__grant-n, .registry-grant__amount-n { - font-size: 1.6rem; } - .registry-grant__grant-n { - font-weight: 300; } - .registry-grant__amount-n { - font-weight: 400; } - .registry-grant__file { - padding: 0 12px 0; - border-radius: 20px; - border: 1px solid currentColor; - font-weight: 400; - text-align: center; - display: inline-block; } - .registry-grant--xls { - color: #DE6E26; } - .registry-grant--csv { - color: #4DACB6; } - .registry-grant--json { - color: #EFC329; } - .registry-grant--ods { - color: #BC2C26; } - -.license { - opacity: .4; } - .license--cc { - max-width: 20px; } - .license--ogl { - max-width: 32px; } - .license--pddl { - max-width: 32px; } - -.search-breadcrumbs-section { - border-bottom: 1px solid rgba(21, 54, 52, 0.2); - padding: 16px 0; } - @media (max-width: 35.98em) { - .search-breadcrumbs-section { - overflow-x: scroll; - scroll-snap-align: center; - scroll-snap-type: x proximity; } } - .search-breadcrumbs-section__panel { - display: flex; } - .search-breadcrumbs-section__search { - flex: 1; - display: flex; - align-items: center; } - .search-breadcrumbs-section__breadcrumbs { - flex: 2; } - -.sidebar-blog { - text-align: right; - padding-top: 0px; } - .sidebar-blog__heading { - padding: 0 32px 8px; - margin: 0; - font-weight: 400; } - -.categories-list { - list-style: none; } - -.category { - padding: 8px 32px; - display: block; - color: rgba(21, 54, 52, 0.6); } - .category:hover { - background-color: rgba(21, 54, 52, 0.1); - background: linear-gradient(90deg, rgba(21, 54, 52, 0) 0%, rgba(21, 54, 52, 0.1) 100%); } - .category--active { - background-color: rgba(77, 172, 182, 0.1); - background: linear-gradient(90deg, rgba(77, 172, 182, 0) 0%, rgba(77, 172, 182, 0.3) 100%); } - -.sidebar-content { - padding: 16px 32px; - text-align: right; } - .sidebar-content__heading { - font-size: 1rem; - font-weight: bold; - color: currentColor; } - .sidebar-content__text { - font-size: .9rem; - color: #153634; } - .sidebar-content__image { - padding: 16px 0; } - .sidebar-content__image figcaption { - padding-top: 8px; - font-size: .8rem; - color: #153634; - font-size: italic; } - -.sidebar-content--orange .sidebar-content__heading { - color: #DE6E26; } - -.sidebar-content--teal .sidebar-content__heading { - color: #4DACB6; } - -.sidebar-content--yellow .sidebar-content__heading { - color: #EFC329; } - -.sidebar-content--red .sidebar-content__heading { - color: #BC2C26; } - -.sidebar-list { - text-align: right; - padding-left: 0; } - .sidebar-list__item { - list-style-type: none; - position: relative; } - .sidebar-list__item > .sidebar-list { - max-height: 0; - overflow: hidden; } - .sidebar-list__trigger { - position: absolute; - right: 0; } - -.sidebar-list__trigger { - cursor: pointer; - padding: 12px 16px; } - -.sidebar-list__item > a { - display: block; - padding: 8px 4px; - margin-right: 40px; - color: #153634; } - -.sidebar-list__item.sidebar-list--expanded > .sidebar-list { - height: auto; - max-height: 1000px; } - -.sidebar-list__item > .sidebar-list { - background-color: rgba(77, 172, 182, 0.075); - transition: max-height .4s ease; } - -.sidebar-list__item .material-icons { - font-size: 1.2rem; - transition: transform .1s ease; - transform: rotate(0); - color: #4DACB6; } - -.sidebar-list__item.sidebar-list--expanded > .sidebar-list { - box-shadow: inset 0 0 4px rgba(77, 172, 182, 0.1); } - -.sidebar-list__item.sidebar-list--expanded > .sidebar-list__trigger > .material-icons { - transform: rotate(45deg); } - -.subscribe-section { - background-color: #EFC329; - padding: 24px; } - @media (max-width: 59.98em) { - .subscribe-section__wrapper { - margin-left: 8px; - margin-right: 8px; } } - @media (min-width: 85em) { - .subscribe-section__wrapper { - max-width: 960px; - margin-left: auto; - margin-right: auto; } } - @media (min-width: 85em) { - .subscribe-section__wrapper { - max-width: 700px; } } - .subscribe-section__form { - display: flex; - flex-direction: column; - width: 100%; } - @media (min-width: 36em) { - .subscribe-section__form { - flex-direction: row; } } - .subscribe-section__form input[type="email"] { - border-radius: 3px 0 0 3px; - flex: 1; - padding: 12px 24px; - width: 100%; - border: 0; - letter-spacing: .3px; - color: white; - background-color: rgba(21, 54, 52, 0.1); } - .subscribe-section__form input[type="email"]::-webkit-input-placeholder { - color: rgba(21, 54, 52, 0.9); } - .subscribe-section__form input[type="email"]:-moz-placeholder { - color: rgba(21, 54, 52, 0.9); } - .subscribe-section__form input[type="email"]::-moz-placeholder { - color: rgba(21, 54, 52, 0.9); } - .subscribe-section__form input[type="email"]:-ms-input-placeholder { - color: rgba(21, 54, 52, 0.9); } - .subscribe-section__form input[type="email"]:focus { - background-color: rgba(21, 54, 52, 0.2); } - .subscribe-section__form input[type="email"]:hover { - background-color: rgba(21, 54, 52, 0.3); } - .subscribe-section__form input[type="submit"] { - all: inherit; - color: #153634; - display: inline-block; - width: 100%; - margin-top: 8px; - padding: 12px 24px; - background-color: rgba(21, 54, 52, 0.15); - border-radius: 0 3px 3px 0; - text-align: center; } - @media (min-width: 36em) { - .subscribe-section__form input[type="submit"] { - max-width: 90px; - margin-top: 0; } } - .subscribe-section__form input[type="submit"]:focus { - background-color: rgba(21, 54, 52, 0.2); } - .subscribe-section__form input[type="submit"]:hover { - background-color: rgba(21, 54, 52, 0.3); } - -.top-bar ul { - padding: 0; - margin: 0; } - -.top-bar li { - list-style: none; - margin: 0; } - -.top-bar a { - text-decoration: none; } - -.top-bar { - --panel-width: 280px; } - @media (min-width: 36em) { - .top-bar { - --panel-width: 350px; } } - -.top-bar { - display: flex; - position: relative; - z-index: 1000; } - .top-bar__menu { - flex: 1; } - .top-bar__menu-trigger { - flex: 0; - line-height: 1; } - -@media (max-width: 35.98em) { - .contextual-menu { - display: none; } } - -.contextual-menu__item { - display: inline-block; - vertical-align: -webkit-baseline-middle; - vertical-align: -moz-middle-with-baseline; } - -.contextual-menu__item + .contextual-menu__item { - margin-left: -5px; } - -.contextual-menu--disabled { - opacity: .4; - pointer-events: none; } - -.off-canvas-menu { - top: 0; - bottom: 0; - z-index: 1000; - display: block; - position: fixed; - box-sizing: border-box; - width: var(--panel-width); - left: calc(-1 * var(--panel-width) - 20px); } - .off-canvas-menu__list { - list-style-type: none; } - .off-canvas-menu__heading { - margin-bottom: 0; } - .off-canvas-menu__trigger { - cursor: pointer; - position: absolute; - top: 0; - right: 0; - border: 0; } - .off-canvas-menu--disabled { - pointer-events: none; } - .off-canvas-menu__submenu .submenu__list { - padding-left: 16px; - display: block; - position: static; } - -@media (min-width: 36em) { - .off-canvas-menu__contextual { - display: none; } } - -.off-canvas-menu--expanded { - left: 0; } - -.submenu { - position: relative; } - .submenu__list { - width: auto; - display: none; - text-align: left; - position: absolute; - white-space: nowrap; } - .submenu__item { - display: block; } - .submenu__button { - display: inline-block; - box-sizing: border-box; } - .submenu__item:not(:first-child) .submenu__button { - margin-top: -1px; } - .submenu:hover .submenu__list { - display: block; } - -.top-bar { - --bg-color: var(--teal-hsl); - --text-color: var(--black-hsl); - --active-color: var(--orange-hsl); - border-bottom: 1px solid hsl(var(--black-hsl), 0.2); } - .top-bar__menu-trigger { - border: 0; - padding: 4px 8px 2px; } - .top-bar__menu { - text-align: right; } - -.submenu__list { - width: auto; } - -.submenu__item { - background-color: white; } - -.submenu__button { - width: 100%; - padding: 8px 24px 8px; - border: 1px solid hsl(var(--black-hsl), 0.1); - color: hsl(var(--text-color), 1); } - .submenu__button:hover { - background-color: hsl(var(--bg-color), 0.1); } - -.contextual-menu__button { - display: inline-block; - padding: 8px 24px 8px; - transition: all .5s; - color: hsl(var(--text-color), 1); } - .contextual-menu__button:hover { - color: hsl(var(--text-color), 1); - background-color: hsl(var(--bg-color), 0.8); } - -.contextual-menu--active { - background-color: hsl(var(--active-color), 0.1); } - -.off-canvas-menu { - padding: 48px 32px; - transition: all .4s ease; - background-color: hsl(var(--bg-color), 1); - box-shadow: 4px 4px 16px hsl(var(--bg-color), 0.2); } - .off-canvas-menu__list { - padding: 0 0 24px 0; - margin-bottom: 24px; - border-bottom: 1px solid hsl(var(--text-color), 0.2); } - .off-canvas-menu__trigger { - padding: 8px; - background-color: transparent; - color: hsl(var(--text-color), 0.4); } - .off-canvas-menu__item a { - display: inline-block; - padding-bottom: 8px; - color: hsl(var(--black-hsl), 0.6); } - .off-canvas-menu__item a:hover { - color: hsl(var(--black-hsl), 1); } - .off-canvas-menu__heading { - color: var(--colors-white); - font-weight: 400; - margin-bottom: 8px; } - .off-canvas-menu__contextual { - padding-bottom: 24px; } - .off-canvas-menu--disabled { - opacity: .4; } - -.base-section { - padding: 48px 0; } - .base-section--narrow { - max-width: 700px; - margin: 0 auto; } - -.cards-section { - padding: 32px 0; } - .cards-section__heading, .cards-section__tagline { - text-align: center; - font-size: 2rem; } - .cards-section__tagline { - font-weight: 200; } - .cards-section__tagline > a { - color: #DE6E26; - font-weight: 200; } - -.intro-section { - padding: 48px 0; - text-align: center; } - .intro-section h2 { - font-weight: 200; } - -.layout { - min-height: 100vh; } - .layout__content { - width: 100%; } - .layout__content-inner { - padding-top: 54px; - padding-bottom: 64px; } - .layout--single-column { - display: grid; - grid-template-areas: "header" "content" "footer"; } - .layout--single-column .layout__content { - max-width: 960px; - margin-left: auto; - margin-right: auto; } - .layout--narrow .layout__content { - max-width: 700px; } - .layout--full .layout__content { - max-width: 100vw; - width: 100vw; } - .layout--two-columns { - display: grid; - grid-template-areas: "header" "content" "footer"; } - @media (min-width: 36em) { - .layout--two-columns { - grid-template-columns: 320px 1fr; - grid-template-rows: auto 1fr auto; - grid-template-areas: "header header" "sidebar content" "footer footer"; } } - .layout--two-columns .layout__header { - grid-area: header; } - .layout--two-columns .layout__content { - grid-area: content; } - .layout--two-columns .layout__sidebar { - grid-area: sidebar; } - @media (max-width: 35.98em) { - .layout--two-columns .layout__sidebar { - display: none; } } - .layout--two-columns .layout__footer { - grid-area: footer; } - -.sidebar-section { - margin-top: 88px; - box-shadow: 4px 0 8px rgba(21, 54, 52, 0.1); - padding-top: 0; - padding-bottom: 0; - position: relative; } - .sidebar-section:before { - content: ''; - width: 4px; - height: 100%; - position: absolute; - top: 0; - right: 0; - background-color: #153634; } - -.sidebar-section--orange:before { - background-color: #DE6E26; } - -.sidebar-section--teal:before { - background-color: #4DACB6; } - -.sidebar-section--yellow:before { - background-color: #EFC329; } - -.sidebar-section--red:before { - background-color: #BC2C26; } diff --git a/documentation/_static/images/360-giving-logo-white.svg b/documentation/_static/images/360-giving-logo-white.svg deleted file mode 100644 index 35800a1..0000000 --- a/documentation/_static/images/360-giving-logo-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-challenge.svg b/documentation/_static/images/360-logos/360giving-challenge.svg deleted file mode 100644 index 2c317ee..0000000 --- a/documentation/_static/images/360-logos/360giving-challenge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-grantnav.svg b/documentation/_static/images/360-logos/360giving-grantnav.svg deleted file mode 100644 index 96179fc..0000000 --- a/documentation/_static/images/360-logos/360giving-grantnav.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-insights.svg b/documentation/_static/images/360-logos/360giving-insights.svg deleted file mode 100644 index ae81c96..0000000 --- a/documentation/_static/images/360-logos/360giving-insights.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-main.svg b/documentation/_static/images/360-logos/360giving-main.svg deleted file mode 100644 index 764bef7..0000000 --- a/documentation/_static/images/360-logos/360giving-main.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-map.svg b/documentation/_static/images/360-logos/360giving-map.svg deleted file mode 100644 index e3d3bda..0000000 --- a/documentation/_static/images/360-logos/360giving-map.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-registry.svg b/documentation/_static/images/360-logos/360giving-registry.svg deleted file mode 100644 index ddc4aeb..0000000 --- a/documentation/_static/images/360-logos/360giving-registry.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-resources.svg b/documentation/_static/images/360-logos/360giving-resources.svg deleted file mode 100644 index c7b351d..0000000 --- a/documentation/_static/images/360-logos/360giving-resources.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-logos/360giving-standard.svg b/documentation/_static/images/360-logos/360giving-standard.svg deleted file mode 100644 index a4cb7a4..0000000 --- a/documentation/_static/images/360-logos/360giving-standard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/360-resources-logo.svg b/documentation/_static/images/360-resources-logo.svg deleted file mode 100644 index 0e311d3..0000000 --- a/documentation/_static/images/360-resources-logo.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/_static/images/creative-commons.svg b/documentation/_static/images/creative-commons.svg deleted file mode 100644 index f994e28..0000000 --- a/documentation/_static/images/creative-commons.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/favicon/android-icon-144x144.png b/documentation/_static/images/favicon/android-icon-144x144.png deleted file mode 100644 index eecdfa3780917e2325d2f4157d2d0e450466b2b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6674 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 diff --git a/documentation/_static/images/favicon/android-icon-192x192.png b/documentation/_static/images/favicon/android-icon-192x192.png deleted file mode 100644 index 0af5bd890e36aa55206c24e38375f0d5e6c85c80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7363 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%0AN;! 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 diff --git a/documentation/_static/images/favicon/android-icon-48x48.png b/documentation/_static/images/favicon/android-icon-48x48.png deleted file mode 100644 index b185061e9c3cce8eb840f425e7c975ce08851f39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2343 zcmZ{m2T&917RMJU8W3qhK)F0FA_zzdNiYNu;e`?~l!%mwKp-JO3?K=;2wVk`VxudH z6lo$&K&2^F^a>)hx$|b8@6Np0J$vT+&hP&}-_FjryHVz*hJyS@_yGVA zBpBgIU`Fi40Y30*y>C4dOgwa5qAmcG+!ENL@PcD57RgW#c-AI84Gv_TjYvcQ2v7ik z&}#s&0ZxTZ0f0B?GUEsUxMTo;dOmn%p#>KBoJsm4fIel(1@pSS13qx~%!iw$QWee<6y>84Xz%%u$vls^zz8E)|U^*BD z;YmXLS;V6xxAHD4CWef`U# zsb*P~Waa~^TFPqh;H360Yg>o@LKZr)r`RUaAw0&T0C*+|dyW?3$AHS(l*pyO((24Wv;kxcCkt;<|q^7wwzS|)K+Q_{BdyqE+<`(T%t zxWBBDj>u5s_XXkF$n$H;%{iFyz`F9Y{>j%gA_#muw-2if9|{r`e4EpLSVZ)ZZtX!l z+oGUOD_7%net+a1zmu-^9J6@U3mfadLS{;CL*-J4u<4W`wL z(yNujXBG_`w*0U8wwQ&KDcQO>B}%2d*8tCc#8vxa?kJF`09es z=T)t*q~uVVO}GhPZ{2>)g%zHxV1#TwlZqh!;KBBPPSGs)Tei_o$;&XShL)e7@+AF8 zfIluL3;%mUPie3vy7?#9ADN12ezIXxxqSHA(S%8>TE5C}=ak|6!P8e_(~o~OFnjcb zGyM3bjP#s<2~EL1%J5T2&kcE)VCErR= zJwE%9+pOO&c)GM<4Q-l@`F7>L(ZoLc*B94f(}h>#0h?otw=yDa-#%K!uC%3a6V~t8 z#2m$=Hl?~V0tdEz#ltSjuXUs`L>{=x?S$rq-`UXXMGUIBzE7vzVK1B;)BXUZR91X=V<+~Lo`g0D^llbMCXp;5C?oIBG*Csb# z)bh6A$Z^8NTtVv_4Ihf|$w49)(jefbdR0O~*B7>;nnukxq^tl33GocW_?N^{o^GER zBQcR>6VFFRV+BaA4|0k0oSH*7_>t_1Iosn<+bW$s~_^t+uZO6zQA$WCs8mh6(ucObXEp6L+v*SR7T!T zjY(w`wY~8QODfKq-w`{Z7rDS~L82!qIiNpfQ3s^jT=G|5*u{57TKW(FOEkqz)9>xn zbmxJ}N&Te42xDlrROJoxeC$qicb?Iw;(Swfzf=Z~SQEeVI z*YYmLLA`LOwU3UbD3m_Vb>$;Sq&e$WT+HXmRi<;=?h;*bjfKo*{)~VR0~TpFuQa zrg-K~dHHyY8udxn?vQ<#mY4BR%aV#pUCyVG7H7P@&5^0vD)r(Gc7;ePu& z>a!}-NAcQMe@^gTEL53ayC1Q>oZ56?X*%Z0Z#6HG+9^Ry*ld1bM{4wwt_v|MTm79a zU8LX{Wu#{|V4u1BqE^keCILn0WvxD)PYvq!8fE-G+vc@$Y^krr0`=7lOS)af@>rK) z%Ha(aJO(oNxsY9@IG=UQriqU_O9T6)H&fjN0*}llqP@Gdx;`ab*mMf~@GY>S2j1Ul zV~vwH7nN(j(Y9@xCnp%+m=NG7W-r>>mvmY9r6+k^Uf|w&xM>|d%AmqV8u?zAnqX67 zsl4*qbj!SN4bdtSWD;LPY8}}={tim3I6w%F87oNS;>wbuS4sxN5J%;y1MxPe}Uut;U}QLV6Owq z!-efj@uC3)CWTHTQs}PEZnEmIQ!uQmhO8O_iB?5mRFP`37D#nj2Al1PgTsA&ePOP9 zG#DTa^YEhgM{qzxKyuH~lHtvC!r|~9&fZL#I~#{H2T>M)%-OAi|AYCvCl1G;xzZVI z0I8uS1bAHs8R#!Q|6#0Mscgm`()slF10W*x3qo{d(%Alo|L`GN zf)s$nU{NR(7K28=XnMT&eXM06iow*a>8o3V38Cg#YtU_f<>RAIy)hdG#IFWf$Qro R=0SrU0D`_L{+XU*_+R842;=|& diff --git a/documentation/_static/images/favicon/android-icon-72x72.png b/documentation/_static/images/favicon/android-icon-72x72.png deleted file mode 100644 index a67982cebff2a2b3c6c89002f4f370ab6d3871b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3203 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 diff --git a/documentation/_static/images/favicon/android-icon-96x96.png b/documentation/_static/images/favicon/android-icon-96x96.png deleted file mode 100644 index 1eab35bb23edb84f1a4a33b859ebeb8ce9299805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4314 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 m-dZ>>9Sv2d~3o0 diff --git a/documentation/_static/images/favicon/apple-icon-114x114.png b/documentation/_static/images/favicon/apple-icon-114x114.png deleted file mode 100644 index 63654e514b424de59d0a9ff3e4b2463d8f044168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5190 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 diff --git a/documentation/_static/images/favicon/apple-icon-144x144.png b/documentation/_static/images/favicon/apple-icon-144x144.png deleted file mode 100644 index eecdfa3780917e2325d2f4157d2d0e450466b2b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6674 zcmZ{J2T)Vpw{Hk7bPOG(_uhL8A&^j|Nl`y~=uLWu0Fh8lAoN}oR1i>_A`p=hdKEzh z`J{6sGthF=0ssI8V+72aq_KYm zL`Ax98GY#@DGD!rbA14y^#R?5Df=0Faal0GyM$ zlD+}};qm~$Hx~dvvj_m-2rheNrA;zWxtYRYfIok)s-F5hQV&fq!Z8#8pkw(fWPp+~ zP7)k#4AZxb`mk3X9d~0ReyH#1$J_v6=_R9ng@|Oxpr!l}3RC)s02U*Noca zjZ_hU$1Tm>mKYIBszss_-zn?iJr`Nakwq`HEX)u3VCqBl=}3M=brHnJMQEy(aEstb zU}bWS=jq})rJ1(b70$Q-FLX3UuWy}o21@?eW+Hz^Rq*A~vFCah_$zq=6+PQ|4P83I zgkQ@?Q2+rAZ}u++#<6wXka1l4BCs%u4qF!Avx&P+Zj^JSKowK~*_3#=F$7Q1+<$ zq~Ro0mxchx7nQ=2lq+=OWA0gstCs|(iJ$BuP%&(_b{f!&e2WY&=$v_dlZ+1M^qlcj zB3Q5G9UN>NyM83hEYQnvHz?uR$>C4mRf<)r)jNcHkp8Dv z>#n=Sx>-t;GH(nsr$HX2U(tkY!tiuyrOYGpEr1%?u-4Ed+rv|#au(0V8p8%K$eZdJ zrG-!*b-?y@`%;DD!35R{B8LH_nQ0BiUd>EIV0;K@!nW=|@N}*nB|@9_!)d2g2L9qH zexg>-U|MXZbUz-Fm^%JRl5e=oZAe>U>fSkOE9sf`up{;B&9zHIM%QZ%RA&w=Y=p(o ziA9y@EFAP+6G^qwod&IUO5SEIgLwKBr(HrV zC)W!kGXnPr2T5r&v+o$GjqKbwDI^UStg*#_0&=yPD_e_MyNHCQE=M73MesF zid*U%GHuS#08hj11FL}nR z5J)v1orbb~rI3MhAeDjXly7y)a-q61>Rr}yW#ALdqU!6VDwg7tC?HU;B-InF*|jQrs~>AOtZ9 zG4@2(MKTHFSh*=q0C!M@6YRZSnc>|V1hEv;yE1vb!rX8={x88`{EC5q*2X9WkF}?f578lNA3sirNyo zG$c*5Auq#NLo5t%7gf>*(~7^eSRW=b-jF;<=?8 z$8rmORKBG-$LmkD$;sX91I1C^Ld|omM%xPH_A<%fXxip~&MT|Tc8A{~)c@kE=3xII zxEW3;CcH#QDtmPG3Xi^sX78eoV(nS>d8+7dUC+Bg_fJwmll)JDEUVsc-BBIx)De+v z(k`aFgEkUs0U@P%Q(n0^n4IVe-*bY}ILj6NsaKS_b6=aL?QX&~8Aql5Uau6_I{!b{ zkFxjBBL+1@X3)?r8{4XlMs`YP8^rr1H1APTcop>#USQ+&srZ@hj~I21u&PPk&T3?U zHCEi3B6-&|L>pUwBYdHY+eVB1M8}h$+a{byS36}`4zo%qihd&+Jqe{fv2u0JgZ~hM zf7NpXAJv-G)JVrDtxFhI?2o{BnYWuN0DWW;@Fh(tP2dvirU>CZjjYRcVG~@xGg;e$ zvdW23KFknaRr1Iv=`AiTmL@Ntwk3PcZ5wK7gNlujgv4;d z7D}lmM$S+O`IT^M)rz78N4{wXQ#|RcWII8hVkjj0wK*Cl zMO&Mg#YKVU`b=l3EpoyD+v+UzpsO>6CGXao8|24!6`%`FHko~BJZraQ++zx~!MB+Z z%eA$hU$sexj4o=UG@7guM@tPLgUy)ETHv6-59|5bU<-yrp;bkfo3?QVR$<#)$-b*^ z#RtAmHQawXagoT0dq}%+sw}j#Ys-2$Wk}0Zi(h(2m?KDGAiu{y>!QIMua%=X6+b5~ zX0`o{1jh1;5`m{^sHg3Ic!fxguK zRUP8x_k8bb{~a52JfVlsCj@@jz28nSAV`RtR_9{E5@gg-1+vZxN5?5%l^gF{_AuH` zyuP&NpXS7?cX(D0iqxATm`@W|yAiI%a%;K~%rs`H|r?zB+15IB$?d#g1i7^v>*tR76UoAQG$GPT0aa>e1oCb-t~?>c99b z+q6)!6D%}+EZ*amx2DCPTY&*}G2_~Y;%3{MjjPQ@Z!JW1#1>~;`|Bk;bxa^kF7X%L zSro}tg)I^Y;~wVr)uvF5O@oG)UHKng25uj*NjwlXDGF6DteCR|5iBqw4MtDdN+(@G zt=Em~e`yVE1AD1oe-$KS)HgYGuH_hbI?~G*1^ybARV=^t=laLcCx&wU-|i1)s=};j zDWUvA@sFxsugO&(m4}JLt+xg75%<_)40^;fvI%ToCpvd{j%Tb_Q`_q_^6mWknpxeu z124Es2a*-W#`6hh9-lK?>7sDoW2{9?IwE^L;QU)(?@LeFFrQlR8&sIAYxLacdF<4@ z!8*^dJNt0VzVVnJy;=L{<_nz)p>!<;Q_cWRq$|g4{Hq&530%Gz3A}<+fZFYLWY*`b z$@B=9rK%^^g;KRCFu4_F%C=7Hv<0#s_@k{r+x=vkiot$0* zzEvh7)>2|x3Nq_ym|t~Noyny&6OY*X8m_S=g;5W@tjyc&_Ok;2;Z^GR$K(X;AKH{G z2m($BJ>Z?_*wLhNbl3*jW{3_2a3%1{h^&c@dfvAes&Ph{1#893SZ~d1SbH3DYn9=7 z5ML(X;H7qv6%RNwMTz0nZ-11VuFdqFvi%QADmyohV~4G6lZnUSw%^uZdM&ZQ7cbcz z%?uFSFWd8?uWN|kge^GF2!KR15B3{6{KmrK)BPvsTB2~vWJS=i>0g${tv1#SRS$^_ z`2=b!(0U*YE0q)-G5jby&JPQdmK<>x00H-g_?owM6{+EAGq7&+aed-1<>5F_H|@8c zxi;cu!D7J@Ewc(1if?r;XpX%9$b?u_+2voX@m``uo?^$FX0H270x7(w$Tvfj8 zjs%bM3l?8T>E?)j=$Bo8-Ob_fvGvirZ=9-GzPo)W;FDvqu4f@I?)s4+#|o(=_}zUZ z`Ry-~m z|6Co1IF7~QwWx+oeI{q#G#J_&!s0bw@{=Z{&->{_dnk&k_>g6rVK3^}WC2i2$xhLc z<&)Q>*PgY5{(1Zz8?K?sbS;hDgvZ-mrdMH3Ax|H}gu@&7K^_~gKEXX{av7Uz0}47k zXpu$fiR4I7ulw&^V(Hk@WGWBW8Q@pRzMo!o`>BmtA>;Z%rUyskKd=1H<#$ zj~d;Wh67?Gu-NzjdKtJcrUmZFjtIJ9TUqJiuxdMp9-q-mN}6@1K0-7XeH0p|_x4ojNH+@nao|1ZJK#yd7Y|dJth4 zGQ8(^l~plF<#1R|pzt2AVr3d`Jr)qD^qSlewk@sZxAX)uImji;(!>5Mel;=WsHxn& zu&O0z<9aFT++C}cZ`*BBed(j;E<#WqxsQ2JPFFj6IEJ7WH>_FwFwyn)VlNPX{enV% zRi%1-{!RD4=0Ap}jI8VUZuxx5!DXD#PL(_wQuHv4Pns!wLWSE4-&tH~`q<#(yK6MN zxr_-WZ@9PFiMqw(cN-4!Ail?h%w4jOiX>vh zACsG|HPEwBemC|o8EaW(@zEB0r*-?%>3$i?V(ckP`(QU6=eXe6^7*?~LQ~dfz6eg^ ze$&?W7h`Up$TK1ApD^oi!T7gd43UfY)i9R5qu;mj&~vugE!iHbyP3Wt=Z*KYv*KBU z$xXJyl|IH=w)_-@&1b#e!#3)W-i44AhaIca4CzeY6ck&@?1ImfH$XFXqX`;aVsjtA zQ~4%EGlk$ixf3;S)5__;Yu@0>*)ux-%p;DH$$RXSZGCeS@GG*>XW4+ll9hLcQ~_E% z*_m;jmP1gSLnSRRORb3VbQF z#v;iMbYx?FP@VeA=$Hn0i#VQ8IJIV1bK}5Z?xKgq5&f~Y24aBwLH+!p`6qO@TI6#f zwD4{-2KxggD1gp%MQW_fabEZECFtQt`IqfX>tj59azfpnQ zVI3hiMDPotbH&}9GA^VOY|~l668PK@22lY$-@SMlRvwf~D(tt_H5V@0xXoAPo}5uM zw|aGH=;61{A*lvjB!*%3swr?J=B9hm=?p!dDgN5b`}ADI(cSFv6A%0d`87c-oonOd zll-iRM~e?k6M{9N8bIt;?d!6auAlw5=>=~dXA^l8){QEL*}D$vBhJT))wmgHar~su zaT?Y@ha_%m9@O14HjMTjqSMDP-MgGq5t(b!VZHf~P>6G4eYg>;CJF1}lIfOUT5r88 zFO)MVk6_hA`L7qJ#|TuW5JTnHb{ZO!`(*LDF>*(f5y@iU{3`yfEtH;@vOG6?uK3Iz zW7}3db=TH8=aH~w!!) zL#SvQ5(xWZU(!@+7?RzKX%tpTmiCpZ`IC(MJ5& zqb>Yd@>uf(UoP zjP0F)vO7*o&yj*Qp9@4alQ3;$+qT2CWtD4|8|e0Si0W(%=io+1(Y;E8cO5&ytV}V= za~w5DKf!Us<%J5-&YH=_YXuZfAkkW0Un*5>lNIUhYkR~*ckln}4N}Rn)?a}#fIX{y zvxR0RwGN;fM(r5Og5;oZnr(e+q?Dw<2Mp^+8Ffk17eDs!CC7a0-xq~&7WQQninCif z4SgXUG9hC9VQudJ3XztaYD~C#e^=^>u5HY*=}>tN$6OzneJg9`<%P_@74?f&F2 z60O&pH_gEr8YlE2TVc*ZCxzG_TLu)JLkpn3(IkX4h5CQ@Bak?Rik#9!KmM!2OYgV& zj~nPlZVdHabTdZ>0zc4gBj{5g?}*7X;DY>hx*O|{q3koZ%ITK~wQpqiKNhI`wy2qN zUKwzwE73w7RH?6WiCZ}2IOWz`{5zfnaoVY%HSPt&-%IM53A)XC(vw|dNkkpnKOMgp$<0ET*Hlhe_sax$cYT7!S$9He%oyPkl z-!(b@GVw(HYgDN78SY-Gs_&8f4;8)advUsRxWUj6MuYj9@~WFhzCGr4B#KJ(bqg&e zX9_{-^hG=2J7Q}jytp#0Uos)hPY~TAY4Z{Hd^@sf)N?+mN~cu4h;9_8_Ip};NL=6U zBW(FVOr>AY5_~3;V79qO|6HHR_t_!EnQ5gDVr1%lp)%dC0O?Gszf@bAj(F^TA5rgT z71Jr#hj_1`idky2+IxI~?HLy*^y%7Azh^F@(Ml$Umt-$XU-O8Iom07VlTMyh`$pLx z{b>GcXeyf^0h==R z5_wR0KP1l&2Q7ufOz@jHI;7n_f8f@^acFf!@Q!j5pYobV*ZI!~(t=&kP znreQ{i+9wxB3*bEa3tSZZT7~(tfXOT9W@g`9f6H~`kIwCuGg+h%rOd<43UQlPT%Q! z8z=gMjS|93H&wIV7)ms^_lHjmyqI(=GZXivl;dlY@w2FE8V+*5U_`T2^Esxz2gCw1 z#^FH2xi7MSI;_Qsx$Qsyvc)%;ov~+>X*08k%Zv{&RU^NSHBjl_sjH4Lfg9)ct( zfTFyjyo|h(jJ&d~f~uy1il(x%l)SvAy!^EnjokmuAt1=Z$20nWcW~KfeME9F`kNs% z$TKX`H3SJT4si8Cn!9@Wxcl*|%Bsn#%V_W`$}1?#$g9XGDDqn=sPcP-(M+A{}IQ=Ck6?SheGi+y1OKk-G7*F zSsMd9ef*K6>B|KKhWQ71$$7d)__zlJhRXfF!pJG8xGEymkQ(YrZt5DI>I$w3u5PM| kuIkEa9`0`P3P@R!hb(D)3oR7NqznLKLkrk5s7vzy0qb4pUH||9 diff --git a/documentation/_static/images/favicon/apple-icon-152x152.png b/documentation/_static/images/favicon/apple-icon-152x152.png deleted file mode 100644 index 74ff946e3af10f098612d015ae084caecc3a4954..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7054 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 diff --git a/documentation/_static/images/favicon/apple-icon-180x180.png b/documentation/_static/images/favicon/apple-icon-180x180.png deleted file mode 100644 index 09659b4fc1eaac9d890b3d7d861be755b7daaf44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8729 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 diff --git a/documentation/_static/images/favicon/apple-icon-72x72.png b/documentation/_static/images/favicon/apple-icon-72x72.png deleted file mode 100644 index a67982cebff2a2b3c6c89002f4f370ab6d3871b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3203 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 diff --git a/documentation/_static/images/favicon/apple-icon-76x76.png b/documentation/_static/images/favicon/apple-icon-76x76.png deleted file mode 100644 index 29545cef45c2cfc60a103ffa646edc6d448f967b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3343 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 diff --git a/documentation/_static/images/favicon/apple-icon.png b/documentation/_static/images/favicon/apple-icon.png deleted file mode 100644 index b4addc1fb11f396de64f03f2ffb1ac877f971577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7937 zcma)hcTiKo_wP+0gx-6XF499YB7_nU6ig76CejJL_mNV8s>y;JE<6<@2l_twC;}vcGPi2b}+V@J%ltk!xstu37j403F*u0Ref>xB-Aa z#ZXV%EM#o0AoQ8_?VPTbg8r|DE|LWg)^i7O%9Iqbrq$gKuqnh()EUI-lnfC+60d~N(A=oxqH}6ghPJ1H~*>twlL2+q{ z5rdd$noYDVCu=NM1NI8`5AG#SP%^I77fj94b8rr-+6lSZ=Ts$?z(=j4}*6-}~o#{HZzO`Ou-qe9g_BL(cnDjN_>3oh?U{Jq=cNc;_%V0y;wD&{a(?=_B znoP5i+;KAyo7Vy%^anI4FKe=OC_5oxsdX;55jAyG2mI=4Qe5xyKr(aB8BWwTZ<4x2 z;A%tZ8FM)0aBc$8qjBgUI?-8+NHt^Vjk(`IBA%GEe4| z&DaGw9dNh6jb~xgw@9}r8v8+xC&4j%r*sz{f-4I>?{p8Ka5POvO^lUkJHFF%q*!*Y zhAH|8s)GxI3u!G1MKV}vyy|KqP|Av$%y4@92JP1M16MX*WB5_%Kz37be!pRz8Oglh zSUW>P+i6iMo!L=V`{pQ(l`d2T1NT8uv3nYegcmKzJDhvfc$Ra;=}gS&;0k?92$}f; zOSI;FMg56i)e(DDq$&~<))2$YO%YI3YJQA582O;Rg_Ghlm-JCsO+-Y6e*WtwQ|yIY zAN*d~g7uU5;*Jd(Sr_%l^9kK`x}FUg1T}K+>EhczbhCfEaw1NiUD}$fSX||@9t*F* zQ&vNexrTOa$1f{X7_Rt6ay{@7=+SLFkJW2q@Tb&sEJna8th&hmN&#sDb;tSDEs?$a z@Zcx2&MN6NgZ7oLEF{^2*3Tgo7o3%E((cU0#Xxk;-n7o=8bzK z+Rc{haf(4G?KAdibF*+CdN)sX2zO@6_;7S_+m2xNJBCr~;oQ-*htnUyeTW)1WK_F0 zP)5Y9{>j2+$1sr2XB`fPxlfr#y8k$ChnncB^cxU{n$4e7Gl;i)>VLD%{H81+XdpLl z2S_IM>NP7q&WYQTC)!4uk!mz3t*K7vsZ@`wL{CE;SG|#vE&PcYS7}#{Hz;kilY{nw zo(J5|8nX50A%KA%DxS9`Dq%X$C=i&Ul7o(=szmiXe@@#du=_`Yp+q@5Pfod5R@*(V z1tefXEy4-Lii&Wj!&~nqoO?p7P-lI&5&nvu-suO!gLw;)M0{!XZm&&a%)@0by(--$ zTP__BO0p3JT8_8Tg6Wk}l>!G6J`|lUa%Mp1LD%qj#g2+z&6RNzvy4OC5!nWpO4(BbHYuI#6-g{`MysF-mFk~}UP-P2(aqKV~5Pc;K## z;r#rL69Ly}ZW|<8r&|{bvj1|`7L80~BJ|PDuSCS!rY>IZi<)PR%-5b}&B*~`I=Rmk z%v!=ZwgN)^hGek88mNnSOOp5>Z{1Jf?0eJ}Rf;9*L4$?p-o7q><4Km1!12Ax z=a(v({&Z{SZQYM=Em*h#aWe>Im2RA}Di`qqcjFY#2vQt#Mqj25JXg?X-~8}DX>1?Z zA;TvVCkll#RMO!Lm^NRFzdbtb5yfaWhizYT8jtIgz9=W1r9O zte-Ox{F4Nl8fn)!Z_*rVpS1P?oR7Djr=)nhwMLavD+xIDYFgjBJI=OmLFxleU+E*& zv;&4-+0ql^i>TS>ac;Ra%M% z>pFKS8V&eX+V{aL$w#y+TFU%uvAud1Sp$h0yQb4oH?AW2eShNlc|J)HMD_pR#?ge{ zsjQh``!7^wLtauV<1hw{p4Twnrq=Buo^J{#ECuHcpya9o8*LL{9dX;QV-S1-;po#! znLSZ^$h&TFUPh;GKAdarJ{f(< zM^!rYSr5k%iIUGsYBcApE^Qa#Pq5u+0IIebURBBc#|pJS6qWi?a{lKiz{3 z^3U%7b$K^dID#){Gh`R|y!^GF<%j5C;KByhGfuT$^iQ(LGddpONB%{1-%XGyMsIhs7OZ@KX55%18Yw~4a$s;{vX zdEq6R+w``Kc}~rDhI6Iz_x=#pDEa1uQlbVsh>#-<H$f@h@2{jyL>eYO45e~~cuBMs{rKB4fIQrf;?}}! zHH#0QS5gK)?3%hOd>2D4uA!lE%}5&Pxpx_QKzsIrK?Wh$zSO;a?OV0#;-kNZ`7+9n zoOWu~ePy0PHiH|PfM?VZd6Q?lzc7^E#liYKhIW!YtNJ3{`YLs)_ew9!)G$qlr_$Ti zB2h2>Kb+MVYb!-sS0O{dqp-4}XTW(sB%F|jQ?;pQ!Y>%aygoH99KYb)9r`dG} zUV-$nyF9!?TMgaNwimM;4^hlgl71om6!?z^N*H(|lxY3hiH=kLvKf|7ITF~95Io@Y zb2@sk*y@-9d=M_~Up&5xx18tbHjc=qcZnqLz2A#>()k8sPW?mnrLV@-{4v#D9}H1( z%GSTX!eh(+cRW^o79%G;W|Osae5w1_f(F&Hxvb;rR z6+fT5zeDu6_(5JR-4>}9f0BtV6R83IwsKGUjA-oy&9{Ufer=#8alDH=axt5j>(+kd zg7r}JZ6S(9qnE0tFU1KeAITYXsfHqNF^1mj_A7afCiMT73i~J!!d;>e>}HD<*uWjoaSE*ukDBWz-rQRO{k&_~M$rj^D@c zcI=Zsm8anP&qtW7s5`G(GS$&;pi#wD;n7$cu0?Gt!3_b5vYt;fF04JI_kJ2D-ERZ(+Ph{rn#nr#4A79;<+Wv_?SOP_&)4y# z1u6N{Ow&n)t`2CD%}#6hopoQP&uK($q2`VgimOEJy;Y8$M!@}*=6 zC&`)pHC>GE^4qD1ZJcRWNfX4 zzDdm;D{L2w?^$a}{d{7V{-vfElJ}fnpTqK)wwEf>6}vBxTJr`htvQvoH`RH(`SenE zfqtPNJ9q59ccEUsla2DyR^cdfC#I6a^M~4TNZ%DSI)vb1H?8GNF}eQ5=E%kN`|Rnj z;D=Yn-zUo4cI4Fkx(?&nh^yoDYluINIOrGAH7rI1-&fblVXxsv8l0u#mLO#amPd^c zr?tFNKNnNUFE5w1*IN(gCuMqePk!x8J=LVDL;XyX73ZzElURUJ*s|x3WQbz@(%Kg^ zb?0c{&TkLJeK|TKO$u(V5`o>mL%G95S=bi!rZ@44lj1#5RS_0BN=?@$&Z6wKzEEoi zwn_Iqqa!9|*p}+Lgjm1zz?nzJzVcv=Rr?T8lOXiHHB#m0zG;20e~z&xT8d7@ftZNu z?{yi>wCH{k#=KB(9itNo;X7aNdVa0x;cxlv$DTx3{ty2(1GHepe%j0EA!CLwQv(Oq zi(xI2;nW}aY8f_G$_b=D%Y3^$pp)X=!W$ZTdmn}*ZhZ8-oUN;q!~$}tEW=bSN0{+9 z7q0rA2+s3P#HX}#f%!I?eVR8;V|p{k-m)mh|6DfvhANE9Bo{+%Sse zvvPL%M8e6}CG^fR&kZ@_2eN3HHVxW9!w|lvE{dy(d2MoS4e}`Q&8uSH11tyWAHTbj ze|S73RW>Wo?F0uV5}jKL1f!v2#kF~7u@iP9zdrqGF2<(zE|nvzX3DOGB=$J%BqmXl zI^7=T{4IEdQ8q~!3aBS?o6hh^iU z?IX`ieUWOw09W{8#bIO4Vousza#m~m6#U6x6qu#xKkU;FL&?paR$Pev5>+hY3{}><)Axa14;Lb56$b_ zB1bP6eIKVwdj_z=MIi zYH&7+){P~UL?c|9EA)Xe(612px_%v*uVaPU5zmo)^cwy~M_?htfY71#=!&d}(4Hu0 zB7Th93u%9?M98d2s*ireW-)?&oxl6@V?*VXsr0Wc&kgc@e|>i;*K3%Q#6KJeF0xoM zHH#DKX#zZr{cPMjO6PzOSvoUVfEYSuR6aCAU^L%wkTaDSas4JU=gx+L)R#=6jub0BQH% zfj;3Y?C-(2)XN;%Q1$9|JEfFu#j=rD-U@B0j?@fi6-ZY1}N;_(vB9M1t9VeL_gmvP|jmEHGW>>dwC{)nw~E%EStaO1FL< zV=7UUkq>%r>kJx{8O-PxqJCX`Z^R-c!#!m!;jSv#xhsfVD-z5X9rQII6qfOWFX5u0 z-=E}@$B!^cqprtxJ)mZ#7i4*>XACVgiR4;HU_%IUvjpJ#2SiZ~?S5RJin|Yv1t@Nt zsDtK{#ba`$Zo{<~w_9dSSaWX3wFgW{-JMHRGD>i_)Z`OeR+KW(%ppA0OSbBhDywyA zo%n#9>Vh*Yii~`B5|%X9PiM>?JGni*;HP@R{*Du?cw~pETA`obC88XpjV#I$@e<+a zihLDfMW1x`x>Yv!TanyQ;?5TRtdQws{K}(>u7IEZ;3VPBW$lD$s!h9*_l+4R*7d3* z$BV&>yCMjJPNf^QO?-V%WNx!$U3a+lvAYCmck9!`t11Cn0Bds(TJq(pczi zRf)PPpMp9$4E%I8QVG_Q%ec` zEOe+BZnU2mHLnt*S9q1bp0lhie$?I?5`Z1u)QdzfaU3iqKJZx&gdyzGD4MUirU}gt zYcihHx*o0;SrgdryxD$2KFYKpQrDgmqX(>~*{d@Z5^#NthSi%B>1k0MZe{PO;<2Zz zzeD-q_zILhg^TE2n3CQd;QR8q&2%F<=qR>%abEgB)vScE?~UsXjl{6c6L36(3s9A1 z_pMl^&2gJwcPPQet#n-{|MnU&dN6224I{d;P{o+z_tAWRC!dFXDi$MwstYjDb<`=& z;=tNTyESHeztL(@2d(YcXbxHk3-m}eC|pe>4>U9XT$P_Eg2NJ%p>Td9{x*~7U6H^e z2P66t8Pu!N1LGEHlDW707sCXW^Vi{59DLoA`WW_t?J~%G zUH_^jknowkmCKIZB3AY2HP(_6)5wJJ?Fpu^fC9c@M> zhLRuNM>LT7(6A_Sw5xuG^2v1Q9&}09HZQh3~hh$|&*Y z4MW9FxS%#(R1FG#@)<$6s~FWo-6pdGTw+JrBUuhEh$p%cguL%V3??%QVPSj%F6@PX9X8I?bdsq|OZjJ6oWc8h(6 z9aRmeiE`E|JskrT1jQRX))h|9Kh;ytKgOD&7cyyFB@aZZD0 zKx;9imN(FRGd7l_7ST9~C!cI6-wuT`!0*dE-xIN^7M^PnUpva+C+EB3oL)rhB>HI} zeZwglh8XvPaX~I8@iSv*@o71gs&uvVYuD%fH}CUR^4D_u*B8Ui$a%0NYJKW9H2MUB zx$i&)k5S&e@&WG*dV{WBio(-88^0xE00m^2Is&GXWxU%vk1qHZ* z0!!6f-v6V6r?;c4bLjuOgY7zdDY=9GKMVfe&H=%8eola)r=5$Fv7L*ngS)V*oSK}v z>}6pk1x0091r=FEC1JFpsxT%Xzy~fb9~>Mk=lTy#7BX7S+s|bpVU0`(aQ|a8!vuQT z!{K_~4uPIdUIB18iVXD!6knb<$o~(_e{90x7$;X3OaP#)q)xknZ6IT~{)^{-WA3^- z24Ma{zUvRGk|8|*1u=H@bP5RdaRUA`DtR9-7p?bqO#TOtu^AZ!D5|K#U@&zRW#!rq z!oPen(|_^Yat(6=6m)d5i!@isO^E+$x@~F*IJC&fsWil6Fh&0hF*RhTHU;jQ?l>h($ diff --git a/documentation/_static/images/favicon/browserconfig.xml b/documentation/_static/images/favicon/browserconfig.xml deleted file mode 100644 index c554148..0000000 --- a/documentation/_static/images/favicon/browserconfig.xml +++ /dev/null @@ -1,2 +0,0 @@ - -#ffffff \ No newline at end of file diff --git a/documentation/_static/images/favicon/favicon-16x16.png b/documentation/_static/images/favicon/favicon-16x16.png deleted file mode 100644 index ef6c58fa9e6dfb316abeb7d63803e90df9a746fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1404 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 diff --git a/documentation/_static/images/favicon/favicon-96x96.png b/documentation/_static/images/favicon/favicon-96x96.png deleted file mode 100644 index 1eab35bb23edb84f1a4a33b859ebeb8ce9299805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4314 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 m-dZ>>9Sv2d~3o0 diff --git a/documentation/_static/images/favicon/favicon.ico b/documentation/_static/images/favicon/favicon.ico deleted file mode 100644 index ea8261d8cf7fc1fe875e44d738b9e878e2362c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcmcK3T}V@590u^eomOJu=02oSYtec=$2KVUo}*S&LN`T|!ssIEB4UZFwZOuH5#0n` zhc}^i(?y7`2uc$Icjg#fNYrHnWB8FqK}B^D#7@tDZNs#$o6h*1cjw*n>^+Pn(oB2vK)Uf_A&k_wS)%@2i%|Fje5vjkP(feJqU)uv6pry@VbW8hNz=eZk) zDG-0@)}S*97R1$|1ro8DUJ;v4iwm>9tyznN|A_+>D4zndye@Y$U}@Ewe{thkk>BRO(c&F6ekEG%GDh;=V@pVvd=xGc* zXcc~Q?c(nE$Uzz(KA>cV_bNxiZG`-BCwkAog2AQ~?%Bkf{o2GrTr=O*Xy)6W)+-$# z%j>RyGw=}F#ibnI?_2N@nxPb5HX_e`e&%f=nkCIFJZt=XABCzvb(j6wKTKG8qWm7B dX-EmYOx| diff --git a/documentation/_static/images/favicon/manifest.json b/documentation/_static/images/favicon/manifest.json deleted file mode 100644 index 013d4a6..0000000 --- a/documentation/_static/images/favicon/manifest.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file diff --git a/documentation/_static/images/favicon/ms-icon-144x144.png b/documentation/_static/images/favicon/ms-icon-144x144.png deleted file mode 100644 index eecdfa3780917e2325d2f4157d2d0e450466b2b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6674 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 diff --git a/documentation/_static/images/favicon/ms-icon-150x150.png b/documentation/_static/images/favicon/ms-icon-150x150.png deleted file mode 100644 index 811d9116a1f9cfaaf197482001247706c2b936d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7016 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 IYPK=|1u_V$8~^|S diff --git a/documentation/_static/images/favicon/ms-icon-310x310.png b/documentation/_static/images/favicon/ms-icon-310x310.png deleted file mode 100644 index 1350ace3676ccf03836e3e9bc3763ae66380aba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18498 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 T_0${)RKN*>BZE%zlXw0J$KQc^ diff --git a/documentation/_static/images/favicon/ms-icon-70x70.png b/documentation/_static/images/favicon/ms-icon-70x70.png deleted file mode 100644 index 2ef31d39b663e193f3c614404fcb2d5ed4f41fec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3117 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 \ No newline at end of file diff --git a/documentation/_static/images/icon-json.svg b/documentation/_static/images/icon-json.svg deleted file mode 100644 index 71ec8a9..0000000 --- a/documentation/_static/images/icon-json.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/icon-spreadsheet.svg b/documentation/_static/images/icon-spreadsheet.svg deleted file mode 100644 index ffd4faa..0000000 --- a/documentation/_static/images/icon-spreadsheet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/licenses/Cc-nc.svg b/documentation/_static/images/licenses/Cc-nc.svg deleted file mode 100644 index 4983852..0000000 --- a/documentation/_static/images/licenses/Cc-nc.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/documentation/_static/images/licenses/Cc-nd.svg b/documentation/_static/images/licenses/Cc-nd.svg deleted file mode 100644 index 137a957..0000000 --- a/documentation/_static/images/licenses/Cc-nd.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/documentation/_static/images/licenses/Cc-public_domain_mark_white.svg b/documentation/_static/images/licenses/Cc-public_domain_mark_white.svg deleted file mode 100644 index 94b4582..0000000 --- a/documentation/_static/images/licenses/Cc-public_domain_mark_white.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - -image/svg+xml - - \ No newline at end of file diff --git a/documentation/_static/images/licenses/Cc-sa.svg b/documentation/_static/images/licenses/Cc-sa.svg deleted file mode 100644 index 412fbd3..0000000 --- a/documentation/_static/images/licenses/Cc-sa.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - diff --git a/documentation/_static/images/licenses/Cc-zero.svg b/documentation/_static/images/licenses/Cc-zero.svg deleted file mode 100644 index 6ed7c18..0000000 --- a/documentation/_static/images/licenses/Cc-zero.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/documentation/_static/images/licenses/UKOpenGovernmentLicence.svg b/documentation/_static/images/licenses/UKOpenGovernmentLicence.svg deleted file mode 100644 index 03f7c89..0000000 --- a/documentation/_static/images/licenses/UKOpenGovernmentLicence.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/documentation/_static/images/licenses/creative-commons-main.svg b/documentation/_static/images/licenses/creative-commons-main.svg deleted file mode 100644 index 3aa226d..0000000 --- a/documentation/_static/images/licenses/creative-commons-main.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/documentation/_static/images/licenses/logo-ogl.png b/documentation/_static/images/licenses/logo-ogl.png deleted file mode 100644 index 808a598b503f1107ce93bd6c395d825429ab23d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 889 zcmV-<1BU#GP))FOp@2WbD|6yOBl+De>p|Jej{F zzFaO5SI*~iLO&_#1F2}abh)FbjpJVavnX0ypEV)kz>NC=FQ~8luaNbVZvf83wq*TbOtx4sDBrYs8*F zEGP|`M{cBoQM(QUT;t_!1jKP%|2B5x(6%ih!j3=~vnNd=_aaFwZi&|rcsiW~h)b{B z%OY?T&=@IO#M7JLY4W>+JhqIq|7(xNs756>!c%4HV)2m{z~@mI`G9AH!rS^&dsamNNPCw&~!%Gnb5#Cdd07e*s)8-Hx@%1~aX6WABaY;mX^Dl>$Zb zQFZ|ExCAlJM@Db(>erXb>&~Ug6p8N542B63^AC$ac+Ng@Fyb~Wm_rk{u=^4lPEnd)B9r#X;+@`!V{>F=rTsh znD=;XxPakl?iw#djX3HkQf2S>jdU~63v$kg9WRZX;=vI%J_+Q0oh8tp{$SR5l8pCj z-@-8Q=A_?U;L&>Z7gs*YnAqg|Ky0RYC!4mMzVm4^$P_ks4Ou?ruK)u8zrKo8m1w9v P00000NkvXXu0mjfQ-+$V diff --git a/documentation/_static/images/licenses/pddl.svg b/documentation/_static/images/licenses/pddl.svg deleted file mode 100644 index 532f646..0000000 --- a/documentation/_static/images/licenses/pddl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/images/twitter-logo.svg b/documentation/_static/images/twitter-logo.svg deleted file mode 100644 index 8f6f49a..0000000 --- a/documentation/_static/images/twitter-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_static/js/form-in-docs.js b/documentation/_static/js/form-in-docs.js deleted file mode 100644 index d54fdf5..0000000 --- a/documentation/_static/js/form-in-docs.js +++ /dev/null @@ -1,139 +0,0 @@ -class question { - constructor(form, reasonForFormMissing) { - this.form = form; - this.reasonForFormMissing = reasonForFormMissing; - } - getData() { - if (this.form) { - return this.form.getData(); - } else { - return {'asked_status': this.reasonForFormMissing } - } - } -} - -let q1 = null; -let q2 = null; -let q3 = null; -let codes = null; - -function setup() { - // Change screen - $('#screenSetup').hide(); - $('#screenForm').show(); - // Common options - let PreferNotToSayAvailable = $('#setupForm [name="PreferNotToSay"]').val() == "1"; - let GeneralAvailable = $('#setupForm [name="General"]').val() == "1"; - let LivedExperienceAvailable = $('#setupForm [name="LivedExperience"]').val() == "1"; - let GeographyAvailable = $('#setupForm [name="Geography"]').val() == "1"; - let selectedAnswers = $('#setupForm [name="selected_answers"]').val(); - let answers = codes.getAnswers(); - for(let idx in answers) { - codes.setPopulationGroup( - answers[idx]['prefix'], - $('#screenSetupClassificationOptions [value="'+answers[idx]['prefix']+'"]').is(':checked') - ); - } - if (selectedAnswers == 'population_groups') { - codes.deselectAllCategoriesAndSubCategories(); - } else if (selectedAnswers == 'categories') { - codes.deselectAllSubCategories(); - } - // Q1 - let q1option = $('#setupForm [name="Q1"]').val(); - if (q1option.substring(0, 5) == "ASKED") { - $('#Q1FormWrapper').show(); - q1 = new question( - new form(codes, '#Q1Form', 'Q1-', 'formQ1-', questionCallback, PreferNotToSayAvailable, LivedExperienceAvailable, GeographyAvailable, GeneralAvailable, q1option), - null - ); - q1.form.start(); - } else { - $('#Q1FormWrapper').hide(); - q1 = new question(null, q1option); - } - // Q2 - let q2option = $('#setupForm [name="Q2"]').val(); - if (q2option.substring(0, 5) == "ASKED") { - $('#Q2FormWrapper').show(); - q2 = new question( - new form(codes, '#Q2Form', 'Q2-', 'formQ2-', questionCallback, PreferNotToSayAvailable, LivedExperienceAvailable, GeographyAvailable, GeneralAvailable, q2option), - null - ); - q2.form.start(); - } else { - $('#Q2FormWrapper').hide(); - q2 = new question(null, q2option); - } - // Q3 - let q3option = $('#setupForm [name="Q3"]').val(); - if (q3option.substring(0, 5) == "ASKED") { - $('#Q3FormWrapper').show(); - q3 = new question( - new form(codes, '#Q3Form', 'Q3-', 'formQ3-', questionCallback, PreferNotToSayAvailable, LivedExperienceAvailable, GeographyAvailable, GeneralAvailable, q3option), - null - ); - q3.form.start(); - } else { - $('#Q3FormWrapper').hide(); - q3 = new question(null, q3option); - } - // Update JSON to initial state - questionCallback(); -} - -$( document ).ready(function() { - codes = new selected_possible_answers_data("taxonomy.json"); - codes.start( - function() { - // Hand change some taxonomy names for this form - for (let idx in codes.data['population_groups']) { - if (codes.data['population_groups'][idx]['prefix'] == 'DEI80') { - codes.data['population_groups'][idx]['name'] = "Northern Ireland: Community Background"; - } - } - // Add population groups to setup form - let answers = codes.getAnswers(); - for(let idx in answers) { - let checked = answers[idx]['prefix'] != 'DEI70' && answers[idx]['prefix'] != 'DEI80' ? ' checked' : ''; - $('#screenSetupClassificationOptions').append( - '

' - ); - } - // Show setup form - $('#screenSetup').show(); - } - ) -}); - -function questionCallback() { - let data = { - 'project': [ q1.getData() ], - 'recipientOrganization': [ - { - 'mission': [ q2.getData() ], - 'leadership': [ q3.getData() ], - } - ] - }; - data['project'][0]['dei_purposes'] = "A demo form"; - data['recipientOrganization'][0]['mission'][0]['dei_purposes'] = "A demo form"; - data['recipientOrganization'][0]['leadership'][0]['dei_purposes'] = "A demo form"; - $('#JSONOut').val( - JSON.stringify( - data, - null, - 5 - ) - ); - delete data['project'][0]['dei_classification_available_options']; - delete data['recipientOrganization'][0]['mission'][0]['dei_classification_available_options']; - delete data['recipientOrganization'][0]['leadership'][0]['dei_classification_available_options']; - $('#JSONOutSmaller').val( - JSON.stringify( - data, - null, - 5 - ) - ); -} \ No newline at end of file diff --git a/documentation/_static/js/index.js b/documentation/_static/js/index.js deleted file mode 100644 index db75a66..0000000 --- a/documentation/_static/js/index.js +++ /dev/null @@ -1,27 +0,0 @@ -/* Top bar */ -document.querySelectorAll('.top-bar__menu-trigger, .off-canvas-menu__trigger').forEach(function (el) { - el.onclick = function () { - const offCanvasMenu = document.querySelector('.off-canvas-menu'); - offCanvasMenu.classList.toggle('off-canvas-menu--expanded'); - if (offCanvasMenu.hasAttribute('aria-hidden')) { - offCanvasMenu.removeAttribute('aria-hidden') - } else { - offCanvasMenu.setAttribute('aria-hidden', '') - } - }; -}); - -/* sidebar list */ -document.querySelectorAll('.sidebar-list__trigger').forEach(function (el) { - el.onclick = function () { - - var target = this.parentNode; - console.log(target); - target.classList.toggle('sidebar-list--expanded'); - if (target.hasAttribute('aria-hidden')) { - target.removeAttribute('aria-hidden') - } else { - target.setAttribute('aria-hidden', '') - } - }; -}); \ No newline at end of file diff --git a/documentation/_templates/_parts/footer.html b/documentation/_templates/_parts/footer.html deleted file mode 100644 index 4dd13a9..0000000 --- a/documentation/_templates/_parts/footer.html +++ /dev/null @@ -1,44 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_templates/_parts/hero.html b/documentation/_templates/_parts/hero.html deleted file mode 100644 index 50cfe2c..0000000 --- a/documentation/_templates/_parts/hero.html +++ /dev/null @@ -1,17 +0,0 @@ -
-
-
- -
-

- ThreeSixtyGiving Standard Extension for DEI -

-

- Extend ThreeSixtyGiving data with information about Diversity, Equity and Inclusion -

-
-
-
-
\ No newline at end of file diff --git a/documentation/_templates/_parts/pagination.html b/documentation/_templates/_parts/pagination.html deleted file mode 100644 index 23c34c0..0000000 --- a/documentation/_templates/_parts/pagination.html +++ /dev/null @@ -1,16 +0,0 @@ -{% if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %} - -{% endif %} \ No newline at end of file diff --git a/documentation/_templates/_parts/sourcelink.html b/documentation/_templates/_parts/sourcelink.html deleted file mode 100644 index 538660f..0000000 --- a/documentation/_templates/_parts/sourcelink.html +++ /dev/null @@ -1,56 +0,0 @@ -{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #} - -{% set link_class = 'edit-github button button--small button--yellow' %} - -{% if page_source_suffix %} -{% set suffix = page_source_suffix %} -{% else %} -{% set suffix = source_suffix %} -{% endif %} - -{% if meta is defined and meta is not none %} -{% set check_meta = True %} -{% else %} -{% set check_meta = False %} -{% endif %} - -{% if check_meta and 'github_url' in meta %} -{% set display_github = True %} -{% endif %} - -{% if check_meta and 'bitbucket_url' in meta %} -{% set display_bitbucket = True %} -{% endif %} - -{% if check_meta and 'gitlab_url' in meta %} -{% set display_gitlab = True %} -{% endif %} - -{% if hasdoc(pagename) %} - {% if display_github %} - {% if check_meta and 'github_url' in meta %} - - {{ _('Edit on GitHub') }} - {% else %} - {{ _('Edit on GitHub') }} - {% endif %} - {% elif display_bitbucket %} - {% if check_meta and 'bitbucket_url' in meta %} - - {{ _('Edit on Bitbucket') }} - {% else %} - {{ _('Edit on Bitbucket') }} - {% endif %} - {% elif display_gitlab %} - {% if check_meta and 'gitlab_url' in meta %} - - {{ _('Edit on GitLab') }} - {% else %} - {{ _('Edit on GitLab') }} - {% endif %} - {% elif show_source and source_url_prefix %} - {{ _('View page source') }} - {% elif show_source and has_source and sourcename %} - {{ _('View page source') }} - {% endif %} -{% endif %} diff --git a/documentation/_templates/_parts/top-bar.html b/documentation/_templates/_parts/top-bar.html deleted file mode 100644 index 7f5d4ef..0000000 --- a/documentation/_templates/_parts/top-bar.html +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/documentation/_templates/base.html b/documentation/_templates/base.html deleted file mode 100644 index 5fa9823..0000000 --- a/documentation/_templates/base.html +++ /dev/null @@ -1,199 +0,0 @@ -{# TEMPLATE VAR SETTINGS #} -{%- set url_root = pathto('', 1) %} -{%- if url_root == '#' %}{% set url_root = '' %}{% endif %} -{%- if not embedded and docstitle %} - {%- set titlesuffix = " — "|safe + docstitle|e %} -{%- else %} - {%- set titlesuffix = "" %} -{%- endif %} -{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %} - - - - - - {{ metatags }} - - {% block htmltitle %} - {{ title|striptags|e }}{{ titlesuffix }} - {% endblock %} - - {# FAVICON #} - - - - - - - - - - - - - - - - - - - {# CANONICAL URL #} - {% if theme_canonical_url %} - - {% endif %} - - {# JAVASCRIPTS #} - {%- block scripts %} - - {%- if not embedded %} - {# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #} - {% if sphinx_version >= "1.8.0" %} - - {%- for scriptfile in script_files %} - {{ js_tag(scriptfile) }} - {%- endfor %} - {% else %} - - {%- for scriptfile in script_files %} - - {%- endfor %} - {% endif %} - - - {# OPENSEARCH #} - {%- if use_opensearch %} - - {%- endif %} - {%- endif %} - {%- endblock %} - - {# CSS #} - {%- for css in css_files %} - {%- if css|attr("rel") %} - - {%- else %} - - {%- endif %} - {%- endfor %} - - {%- for cssfile in extra_css_files %} - - {%- endfor %} - - {%- block linktags %} - {%- if hasdoc('about') %} - - {%- endif %} - {%- if hasdoc('genindex') %} - - {%- endif %} - {%- if hasdoc('search') %} - - {%- endif %} - {%- if hasdoc('copyright') %} - - {%- endif %} - {%- if next %} - - {%- endif %} - {%- if prev %} - - {%- endif %} - {%- endblock %} - {%- block extrahead %} {% endblock %} - - -{% set home_link = pathto(master_doc) %} -{% set logo_url = pathto('_static/images/360-logos/360giving-standard.svg', 1) %} -{% set title = 'A standard for sharing grants data' %} -{% set blurb = 'A uniform and consistent way to describe grantmaking data. Find and compare grantmaking across the UK.' %} - - - {% include '_parts/top-bar.html' %} -
-
- {% block header %} - {% include '_parts/hero.html' %} - {% endblock %} -
- -
-
-
-
- {% block body %}{% endblock %} -
- {% include '_parts/pagination.html' %} -
-
-
- - - -
- {% include '_parts/footer.html' %} -
-
- - - - {# Do not conflict with RTD insertion of analytics script #} - {% if not READTHEDOCS %} - {% if theme_analytics_id %} - - - - {% endif %} - {% endif %} - - {%- block footer %} {% endblock %} - - - \ No newline at end of file diff --git a/documentation/_templates/footer.html b/documentation/_templates/footer.html deleted file mode 100644 index 7e1c7cc..0000000 --- a/documentation/_templates/footer.html +++ /dev/null @@ -1,52 +0,0 @@ -
- {% if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %} - - {% endif %} - -
- -
-

- - © Copyright 2016-2017, 360Giving, licensed under a Creative Commons Attribution 4.0 International License. - - {% if pagename == 'index' %} - Icons from the Noun Project: Document by Jamison Wieser and JSON File by useiconic.com. - {% endif %} - - {%- if build_id and build_url %} - {% trans build_url=build_url, build_id=build_id %} - - Build - {{ build_id }}. - - {% endtrans %} - {%- elif commit %} - {% trans commit=commit %} - - Revision {{ commit }}. - - {% endtrans %} - {%- elif last_updated %} - {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} - {%- endif %} - -

-
- - {%- if show_sphinx %} - {% trans %}Built with Sphinx using a theme provided by Read the Docs{% endtrans %}. - {%- endif %} - - Privacy Notice. - - {%- block extrafooter %} {% endblock %} - -
diff --git a/documentation/_templates/layout.html b/documentation/_templates/layout.html deleted file mode 100644 index 5c8737b..0000000 --- a/documentation/_templates/layout.html +++ /dev/null @@ -1,51 +0,0 @@ -{% extends "base.html" %} - -{% set css_files = [ - "_static/css/sanitize.css", - "_static/css/style.css", - '_static/css/custom.css', - "https://fonts.googleapis.com/icon?family=Material+Icons", -] %} - -{% block htmltitle %} -360Giving DEI Extension documentation -{% endblock %} - -{% block body %} -

Test

-{% endblock %} - -{% block menu %} -{% include "searchbox.html" %} -{{ super() }} - - -{% endblock %} - -{% block footer %} - - - - - -{% endblock %} diff --git a/documentation/_templates/searchbox.html b/documentation/_templates/searchbox.html deleted file mode 100644 index 3572fe5..0000000 --- a/documentation/_templates/searchbox.html +++ /dev/null @@ -1,9 +0,0 @@ -{%- if builder != 'singlehtml' %} - -{%- endif %} \ No newline at end of file diff --git a/documentation/_templates/versions.html b/documentation/_templates/versions.html deleted file mode 100644 index 66f14d8..0000000 --- a/documentation/_templates/versions.html +++ /dev/null @@ -1,18 +0,0 @@ -{% if READTHEDOCS %} - -{% endif %} \ No newline at end of file diff --git a/documentation/conf.py b/documentation/conf.py deleted file mode 100644 index 50732ec..0000000 --- a/documentation/conf.py +++ /dev/null @@ -1,58 +0,0 @@ -import os -import sys -import datetime -import flattentool -import sphinx_rtd_theme - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)),"..","python")) - -from threesixtygivingdei.utils import compile - -master_doc = 'index' - -project = 'ThreeSixtyGiving Standard Extension for DEI' -copyright = '2021, 360Giving' -author = '360Giving' - -extensions = ['threesixtygivingdei.sphinx.taxonomy', 'sphinxcontrib.jsonschema', 'sphinxcontrib.opendataservices'] - -html_static_path = [ - '_static', -] - - -html_extra_path = [ - '../_compiled', - '../taxonomy/taxonomy.json', - '../form/form.js', - '../form/form.css', -] - -templates_path = ['_templates'] - -html_context = { - 'now': datetime.datetime.now(), - 'theme_navigation_depth': 2 -} - -html_theme = 'sphinx_rtd_theme' -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org -#import os -#on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -# -#if not on_rtd: # only import and set the theme if we're building docs locally -# import sphinx_rtd_theme -# html_theme = 'sphinx_rtd_theme' -# html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] -# otherwise, readthedocs.org uses their theme by default, so no need to specify it - -compile() diff --git a/documentation/form.rst b/documentation/form.rst deleted file mode 100644 index d51ca87..0000000 --- a/documentation/form.rst +++ /dev/null @@ -1,151 +0,0 @@ -Form -==== - - - -.. warning:: - This is a work in progress. It has not been approved yet. - - - -Demo ----- - -.. raw:: html - - - - - - - - diff --git a/documentation/index.rst b/documentation/index.rst deleted file mode 100644 index b68692a..0000000 --- a/documentation/index.rst +++ /dev/null @@ -1,17 +0,0 @@ -ThreeSixtyGiving Standard Extension for DEI -------------------------------------------- - - -.. warning:: - This is a work in progress. It has not been approved yet. - - -.. toctree:: - :maxdepth: 2 - - schema - taxonomy - form - spreadsheet - - diff --git a/documentation/schema.rst b/documentation/schema.rst deleted file mode 100644 index 2dadba5..0000000 --- a/documentation/schema.rst +++ /dev/null @@ -1,109 +0,0 @@ -Schema -====== - - -.. warning:: - This is a work in progress. It has not been approved yet. - - -Schema ------- - -Overall schema -~~~~~~~~~~~~~~ - -For each grant, there is a new property `deiDetails`. This contains three properties: `leadership`, `mission`, and `project` which are all instances of `DEI Application Area`. - -The `DEI Application Area` object contains some question-level metadata about how a question was asked (if it was asked), the reply status, and the options available to the respondant as well as some other fields. Each `DEI Application Area` also contains a `response` property containing the details of the response, taking the format of a `DEI Response`. - -Each `DEI Response` contains fields for containing the answers given to that application area. There are spaces for a list of `taxonomyCodes`, as well as for the free-text entry fields for `livedExperience` and `geography`. - -Reference -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -These is an overview of the extension schema structures. - -.. jsonschema:: ../_compiled/360-giving-schema-only-extension.json - -asked_status values -~~~~~~~~~~~~~~~~~~~ - -The values in the `asked_status` property are: - -.. csv-table:: askedStatus options - :file: ../codelists/askedStatus.csv - :header-rows: 1 - -Note every option starts with either: - -- `NOT_ASKED` to indicate the question was not asked for some reason -- `ASKED` to indicate the question was asked at some point - -This should make it easy to filter the data for only one of these 2 options. - -available_options values -~~~~~~~~~~~~~~~~~~~~~~~~ - - -The values in the `available_options` list property are: - -.. csv-table:: availableOptions options - :file: ../codelists/availableOptions.csv - :header-rows: 1 - -reply_status values -~~~~~~~~~~~~~~~~~~~ - -The values in the `reply_status` property are: - -.. csv-table:: reply_status options - :file: ../codelists/replyStatus.csv - :header-rows: 1 - -Note every option starts with either: - -- `NO_REPLY` to indicate a reply was not received for some reason -- `REPLY` to indicate a reply was received at some point - -This should make it easy to filter the data for only one of these 2 options. - -codes values -~~~~~~~~~~~~ - -The values in the codes array are from the taxonomy, and must follow the rules explained there. :ref:`taxonomy` - -Examples --------- - -Not asked because not applicable -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A funder has decided that these questions are not applicable and has not asked them at all. - -.. jsoninclude:: ../examples/not-asked-not-applicable.json - :jsonpointer: - - -Asked after grant was made and no reply was received -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A funder has asked people it recently made grants to to answer the DEI questions, but no reply has been received from the organisation. - -.. jsoninclude:: ../examples/asked-after-no-reply-received.json - :jsonpointer: - -A simple example -~~~~~~~~~~~~~~~~ - -A funder has asked people it recently made grants to to answer the DEI questions, and got a reply. The "dei_classification_available_options" field is missing. - -.. jsoninclude:: ../examples/simple.json - :jsonpointer: - - -JSON Schema ------------ - -You can download `the JSON Schema merge file for the 360-giving-schema.json standard file <360-giving-schema-only-extension.json>`_. - -You can download `the JSON Schema file 360-giving-schema.json with both elements from the standard and the extension <360-giving-schema-including-extension.json>`_. diff --git a/documentation/spreadsheet.rst b/documentation/spreadsheet.rst deleted file mode 100644 index 80e7f42..0000000 --- a/documentation/spreadsheet.rst +++ /dev/null @@ -1,42 +0,0 @@ -Spreadsheet -=========== - - -.. warning:: - This is a work in progress. It has not been approved yet. - - -Templates ---------- - -You can download `a spreadsheet template with field names <360-giving-schema-fields.xlsx>`_. - -You can download `a spreadsheet template with titles <360-giving-schema-titles.xlsx>`_. - - - -Unflattening ------------- - -**EXAMPLE IN PROGRESS** - -Open the spreadsheet template including field names. - -In the `grants` tab, add a row with: - -* `id`=`grant1` -* `project/0/dei_asked_status`=`ASKED_DURING_APPLICATION` -* `project/0/dei_available_options`=`TAXONOMY,GEOGRAPHY,LIVED_EXPERIENCE` -* `project/0/dei_reply_status`=`REPLY_GOT` -* `project/0/classification_entered`=`Specifically people with Autism` -* `project/0/location/0/description`=`Everywhere` - -In the `pro_classification` tab, add a row with: - -* `id`=`grant1` -* `project/0/classification/0/vocabulary`=`DEI` -* `project/0/classification/0/code`=`DEI020330` - -Then run: `flatten-tool unflatten -o data.json -f xlsx spreadsheet.xlsx` - -**EXAMPLE IN PROGRESS** diff --git a/documentation/taxonomy.rst b/documentation/taxonomy.rst deleted file mode 100644 index 19cd8ee..0000000 --- a/documentation/taxonomy.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. warning:: - This is a work in progress. It has not been approved yet. - -.. _taxonomy: - - -Taxonomy --------- - -This is the `DEI` taxonomy for use with this extension. The `vocabulary` value should be `DEI` when this is used. - -It is possible to use other taxonomies with this extension. - -Machine Readable -================ - -You can get `this Taxonomy data in JSON format here `_. - -DEI01 - Communities experiencing racial inequity -================================================ - -.. dei_taxonomy_population_group_description:: DEI01 - :prefix: DEI01 - -.. dei_taxonomy:: DEI01 - :prefix: DEI01 - -DEI02 - Disabled people -======================= - -.. dei_taxonomy_population_group_description:: DEI02 - :prefix: DEI02 - -.. dei_taxonomy:: DEI02 - :prefix: DEI02 - -DEI03 - Faith communities -========================= - -.. dei_taxonomy_population_group_description:: DEI03 - :prefix: DEI03 - -.. dei_taxonomy:: DEI03 - :prefix: DEI03 - -DEI04 - LGBT+ People -==================== - -.. dei_taxonomy_population_group_description:: DEI04 - :prefix: DEI04 - -.. dei_taxonomy:: DEI04 - :prefix: DEI04 - -DEI05 - Migrants -================ - -.. dei_taxonomy_population_group_description:: DEI05 - :prefix: DEI05 - -.. dei_taxonomy:: DEI05 - :prefix: DEI05 - -DEI06 - Older people -==================== - -.. dei_taxonomy_population_group_description:: DEI06 - :prefix: DEI06 - -.. dei_taxonomy:: DEI06 - :prefix: DEI06 - -DEI07 - Children and Young People -================================= - -.. dei_taxonomy_population_group_description:: DEI07 - :prefix: DEI07 - -.. dei_taxonomy:: DEI07 - :prefix: DEI07 - -DEI08 - People who are educationally or economically disadvantaged -================================================================== - -.. dei_taxonomy_population_group_description:: DEI08 - :prefix: DEI08 - -.. dei_taxonomy:: DEI08 - :prefix: DEI08 - -DEI09 - Women and girls -======================= - -.. dei_taxonomy_population_group_description:: DEI09 - :prefix: DEI09 - -.. dei_taxonomy:: DEI09 - :prefix: DEI09 - -DEI70 - Welsh Language Speaking -=============================== - -.. dei_taxonomy_population_group_description:: DEI70 - :prefix: DEI70 - -.. dei_taxonomy:: DEI70 - :prefix: DEI70 - -DEI80 - Community background -============================ - -.. dei_taxonomy_population_group_description:: DEI80 - :prefix: DEI80 - -.. dei_taxonomy:: DEI80 - :prefix: DEI80 From b48d2551b1410f2d683c1e7e2eb0a4ff14b0a4b0 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 14:22:47 +0100 Subject: [PATCH 02/16] Removed python requirements as no longer needed for docs --- requirements.in | 8 -- requirements.txt | 186 ----------------------------------------------- 2 files changed, 194 deletions(-) delete mode 100644 requirements.in delete mode 100644 requirements.txt diff --git a/requirements.in b/requirements.in deleted file mode 100644 index 88a1ad4..0000000 --- a/requirements.in +++ /dev/null @@ -1,8 +0,0 @@ -myst-parser<0.19.0 -sphinx-rtd-theme -sphinxcontrib-opendataservices -sphinxcontrib-opendataservices-jsonschema -jsonmerge -flattentool -compiletojsonschema>=0.4.0 -jsonschema diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 3f84246..0000000 --- a/requirements.txt +++ /dev/null @@ -1,186 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.7 -# by the following command: -# -# pip-compile requirements.in -# -alabaster==0.7.13 - # via sphinx -attrs==22.2.0 - # via jsonschema -babel==2.12.1 - # via sphinx -backports-datetime-fromisoformat==2.0.0 - # via flattentool -btrees==5.0 - # via zodb -certifi==2022.12.7 - # via requests -cffi==1.15.1 - # via persistent -charset-normalizer==3.1.0 - # via requests -compiletojsonschema==0.4.0 - # via -r requirements.in -contextlib2==21.6.0 - # via schema -defusedxml==0.7.1 - # via odfpy -docutils==0.18.1 - # via - # myst-parser - # sphinx - # sphinx-rtd-theme - # sphinxcontrib-opendataservices - # sphinxcontrib-opendataservices-jsonschema -et-xmlfile==1.1.0 - # via openpyxl -flattentool==0.20.1 - # via -r requirements.in -idna==3.4 - # via requests -ijson==3.2.0.post0 - # via flattentool -imagesize==1.4.1 - # via sphinx -importlib-metadata==6.1.0 - # via - # jsonschema - # sphinx -importlib-resources==5.12.0 - # via jsonschema -jinja2==3.1.2 - # via - # myst-parser - # sphinx -jsonmerge==1.9.0 - # via -r requirements.in -jsonpointer==2.3 - # via - # sphinxcontrib-opendataservices - # sphinxcontrib-opendataservices-jsonschema -jsonref==1.1.0 - # via - # compiletojsonschema - # flattentool - # sphinxcontrib-opendataservices-jsonschema -jsonschema==4.17.3 - # via - # -r requirements.in - # compiletojsonschema - # jsonmerge -lxml==4.9.2 - # via flattentool -markdown-it-py==2.2.0 - # via - # mdit-py-plugins - # myst-parser -markupsafe==2.1.2 - # via jinja2 -mdit-py-plugins==0.3.5 - # via myst-parser -mdurl==0.1.2 - # via markdown-it-py -myst-parser==0.18.1 - # via - # -r requirements.in - # sphinxcontrib-opendataservices - # sphinxcontrib-opendataservices-jsonschema -odfpy==1.4.1 - # via flattentool -openpyxl==3.1.2 - # via flattentool -packaging==23.0 - # via sphinx -persistent==5.0 - # via - # btrees - # zodb -pkgutil-resolve-name==1.3.10 - # via jsonschema -pycparser==2.21 - # via cffi -pygments==2.14.0 - # via sphinx -pyrsistent==0.19.3 - # via jsonschema -pytz==2023.3 - # via - # babel - # flattentool -pyyaml==6.0 - # via myst-parser -requests==2.28.2 - # via sphinx -schema==0.7.5 - # via flattentool -six==1.16.0 - # via zodb -snowballstemmer==2.2.0 - # via sphinx -sphinx==5.3.0 - # via - # myst-parser - # sphinx-rtd-theme - # sphinxcontrib-jquery - # sphinxcontrib-opendataservices -sphinx-rtd-theme==1.2.0 - # via -r requirements.in -sphinxcontrib-applehelp==1.0.2 - # via sphinx -sphinxcontrib-devhelp==1.0.2 - # via sphinx -sphinxcontrib-htmlhelp==2.0.0 - # via sphinx -sphinxcontrib-jquery==4.1 - # via sphinx-rtd-theme -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-opendataservices==0.5.0 - # via -r requirements.in -sphinxcontrib-opendataservices-jsonschema==0.5.1 - # via - # -r requirements.in - # sphinxcontrib-opendataservices -sphinxcontrib-qthelp==1.0.3 - # via sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via sphinx -transaction==3.1.0 - # via zodb -typing-extensions==4.5.0 - # via - # importlib-metadata - # jsonschema - # markdown-it-py - # myst-parser -urllib3==1.26.15 - # via requests -xmltodict==0.13.0 - # via flattentool -zc-lockfile==3.0.post1 - # via zodb -zc-zlibstorage==1.2.0 - # via flattentool -zconfig==3.6.1 - # via zodb -zipp==3.15.0 - # via - # importlib-metadata - # importlib-resources -zodb==5.8.0 - # via - # flattentool - # zc-zlibstorage -zodbpickle==3.0.1 - # via zodb -zope-interface==6.0 - # via - # btrees - # persistent - # transaction - # zc-zlibstorage - # zodb - -# The following packages are considered to be unsafe in a requirements file: -# setuptools From 31819c9915e729793c4cc3fdd711a4c27639214a Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 14:26:27 +0100 Subject: [PATCH 03/16] Removed _compiled folder as won't be compiling automatically as part of this repo any longer --- _compiled/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 100644 _compiled/.gitkeep diff --git a/_compiled/.gitkeep b/_compiled/.gitkeep deleted file mode 100644 index 31099e6..0000000 --- a/_compiled/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -When you build docs or compile files, various files will appear in this directory. They should not be checked into git. \ No newline at end of file From ce84c3f675646b5a49a053625c450ef3ea530f2c Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 17:23:10 +0100 Subject: [PATCH 04/16] Removed python directory and replaced with scripts --- python/threesixtygivingdei/__init__.py | 0 python/threesixtygivingdei/sphinx/__init__.py | 0 python/threesixtygivingdei/sphinx/taxonomy.py | 118 ------------------ python/threesixtygivingdei/taxonomy.py | 19 --- python/threesixtygivingdei/utils.py | 67 ---------- ...nerate_taxonomy_codelist_from_json_file.py | 0 6 files changed, 204 deletions(-) delete mode 100644 python/threesixtygivingdei/__init__.py delete mode 100644 python/threesixtygivingdei/sphinx/__init__.py delete mode 100644 python/threesixtygivingdei/sphinx/taxonomy.py delete mode 100644 python/threesixtygivingdei/taxonomy.py delete mode 100644 python/threesixtygivingdei/utils.py rename {python => scripts}/generate_taxonomy_codelist_from_json_file.py (100%) diff --git a/python/threesixtygivingdei/__init__.py b/python/threesixtygivingdei/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/python/threesixtygivingdei/sphinx/__init__.py b/python/threesixtygivingdei/sphinx/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/python/threesixtygivingdei/sphinx/taxonomy.py b/python/threesixtygivingdei/sphinx/taxonomy.py deleted file mode 100644 index 5717872..0000000 --- a/python/threesixtygivingdei/sphinx/taxonomy.py +++ /dev/null @@ -1,118 +0,0 @@ - -import json -import os -from sphinx.directives.code import LiteralInclude - -from docutils.parsers.rst import Directive, directives -from docutils import nodes - -try: - from myst_parser.main import to_docutils -except ModuleNotFoundError: - from myst_parser.config.main import MdParserConfig - from myst_parser.mdit_to_docutils.base import make_document - from myst_parser.mdit_to_docutils.sphinx_ import SphinxRenderer - from myst_parser.parsers.mdit import create_md_parser - - # to_docutils was removed in myst-parser>=0.18. - def to_docutils(text): - # Code is similar to MystParser.parse and myst_parser.parsers.docutils_.Parser.parse. - parser = create_md_parser(MdParserConfig(), SphinxRenderer) - parser.options["document"] = make_document() - return parser.render(text) - - -taxonomy_data_file = os.path.join( - os.path.dirname(os.path.realpath(__file__)), - "..", - "..", - "..", - "taxonomy", - "taxonomy.json" -) -with open(taxonomy_data_file) as fp: - TAXONOMY_DATA = json.load(fp) - - - -class DEITaxonomy(LiteralInclude): - headers = ['Category', 'Sub-Category', 'Name','Description', ] - widths = [1, 1, 1,1] - option_spec = { - 'prefix': directives.unchanged, - } - - def run(self): - prefix = self.options['prefix'] - data = [i for i in TAXONOMY_DATA['population_groups'] if i['prefix'] == prefix] - if data: - return [self.table(data[0])] - else: - return [] - - def table(self, data): - tgroup = nodes.tgroup(cols=len(self.headers)) - for width in self.widths: - tgroup += nodes.colspec(colwidth=width) - - table = nodes.table('', tgroup) - header_row = nodes.row() - for header in self.headers: - header_row += self.cell(header, source='sphinxcontrib-jsonschema') - - tgroup += nodes.thead('', header_row) - tbody = nodes.tbody() - tgroup += tbody - - for category in data['categories']: - row = nodes.row() - row += self.cell(category['code']) - row += self.cell('') - row += self.cell(category['name']) - row += self.cell(category['description']) - tbody += row - for sub_category in category['sub_categories']: - row = nodes.row() - row += self.cell('') - row += self.cell(sub_category['code']) - row += self.cell(sub_category['name']) - row += self.cell(sub_category['description']) - tbody += row - - return table - - - def cell(self, text, morecols=0, source=None): - entry = nodes.entry(morecols=morecols) - if not isinstance(text, str): - text = str(text) - - for child in to_docutils(text).children[:]: - child.source = source - entry += child - return entry - - - -class DEITaxonomyPopulationGroupDescription(LiteralInclude): - option_spec = { - 'prefix': directives.unchanged, - } - - def run(self): - prefix = self.options['prefix'] - data = [i for i in TAXONOMY_DATA['population_groups'] if i['prefix'] == prefix] - if data: - text = data[0]['description'] - return to_docutils(text).children[:] - else: - return [] - - -def setup(app): - app.add_directive('dei_taxonomy', DEITaxonomy) - app.add_directive('dei_taxonomy_population_group_description', DEITaxonomyPopulationGroupDescription ) - - - - diff --git a/python/threesixtygivingdei/taxonomy.py b/python/threesixtygivingdei/taxonomy.py deleted file mode 100644 index e34e1c7..0000000 --- a/python/threesixtygivingdei/taxonomy.py +++ /dev/null @@ -1,19 +0,0 @@ -import json - - -class Taxonomy: - - def __init__(self, taxonomy_file_name): - with open(taxonomy_file_name) as fp: - self.taxonomy = json.load(fp) - - def get_all_codes(self): - out = [] - for population_group in self.taxonomy.get('population_groups', []): - for category in population_group.get('categories'): - out.append(category.get('code')) - for sub_category in population_group.get('sub_categories', []): - out.append(sub_category.get('code')) - return out - - diff --git a/python/threesixtygivingdei/utils.py b/python/threesixtygivingdei/utils.py deleted file mode 100644 index 05c8768..0000000 --- a/python/threesixtygivingdei/utils.py +++ /dev/null @@ -1,67 +0,0 @@ -import json -from .taxonomy import Taxonomy -import jsonmerge -import os -import flattentool -from compiletojsonschema.compiletojsonschema import CompileToJsonSchema -import copy - -def compile(): - root_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)),"..","..") - - # Compile Schema to add in codelists - ctjs = CompileToJsonSchema( - input_filename=os.path.join(root_dir, "schema", "360-giving-schema.json"), - codelist_base_directory=os.path.join(root_dir, "codelists") - ) - schema = ctjs.get() - - # ctjs_definition_organisation = CompileToJsonSchema( - # input_schema=copy.deepcopy(schema['definitions']['Organization']), - # codelist_base_directory=os.path.join(root_dir, "codelists") - # ) - # schema['definitions']['Organization'] = ctjs_definition_organisation.get() - - # del schema['definitions']['DEI_Answer'] - # del schema['definitions']['DEI_Classification'] - - with open(os.path.join(root_dir, "_compiled", "360-giving-schema-only-extension.json"), "w") as fp: - json.dump(schema, fp, indent=4) - - # Build one schema file with standard AND extensions - build_schema_file_with_standard_and_extension( - standard_schema_filename=os.path.join(root_dir, "standard", "schema", "360-giving-schema.json"), - extension_schema_filename=os.path.join(root_dir, "_compiled", "360-giving-schema-only-extension.json"), - output_filename=os.path.join(root_dir, "_compiled", "360-giving-schema-including-extension.json"), - ) - - # Make Spreadsheets of the standard and extension - for output_format in ['xlsx']: - flattentool.create_template( - root_id='', - output_format=output_format, - output_name=os.path.join(root_dir, "_compiled", "360-giving-schema-fields." + output_format), - schema=os.path.join(root_dir, "_compiled", "360-giving-schema-including-extension.json"), - main_sheet_name='grants', - rollup=True, - ) - - flattentool.create_template( - root_id='', - output_format=output_format, - output_name=os.path.join(root_dir, "_compiled", "360-giving-schema-titles." + output_format), - schema=os.path.join(root_dir, "_compiled", "360-giving-schema-including-extension.json"), - main_sheet_name='grants', - rollup=True, - use_titles=True, - ) - - -def build_schema_file_with_standard_and_extension(standard_schema_filename, extension_schema_filename, output_filename): - with open(extension_schema_filename) as fp: - extension_schema = json.load(fp) - with open(standard_schema_filename) as fp: - standard_schema = json.load(fp) - out = jsonmerge.merge(standard_schema, extension_schema) - with open(output_filename, "w") as fp: - json.dump(out, fp, indent=4) diff --git a/python/generate_taxonomy_codelist_from_json_file.py b/scripts/generate_taxonomy_codelist_from_json_file.py similarity index 100% rename from python/generate_taxonomy_codelist_from_json_file.py rename to scripts/generate_taxonomy_codelist_from_json_file.py From eb78e67151773b06e94b70f923808ca58dba6bcc Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 17:23:54 +0100 Subject: [PATCH 05/16] Removed compile.py, as we don't need to compile in this repo anymore --- compile.py | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 compile.py diff --git a/compile.py b/compile.py deleted file mode 100644 index 61a7c1a..0000000 --- a/compile.py +++ /dev/null @@ -1,8 +0,0 @@ -import os -import sys - -sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)),"python")) - -from threesixtygivingdei.utils import compile - -compile() From 10ff68ba3c49ba29f50dba496ffc8721a16de153 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 18:00:09 +0100 Subject: [PATCH 06/16] Replaced generate codelist script with jq command and a Makefile --- Makefile | 6 +++ ...nerate_taxonomy_codelist_from_json_file.py | 37 ------------------- 2 files changed, 6 insertions(+), 37 deletions(-) create mode 100644 Makefile delete mode 100755 scripts/generate_taxonomy_codelist_from_json_file.py diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..98a911e --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +.PHONY: default taxonomy-codelist + +default: taxonomy-codelist + +taxonomy-codelist: ./taxonomy/taxonomy.json + @jq '[ .population_groups[].categories[] | {code,name,description}, (.sub_categories[]) ]' ./taxonomy/taxonomy.json | jq -r '["Code","Title","Description"],(.[] | [ .code, .name, .description ]) | @csv' > ./codelists/taxonomyCodes.csv diff --git a/scripts/generate_taxonomy_codelist_from_json_file.py b/scripts/generate_taxonomy_codelist_from_json_file.py deleted file mode 100755 index 80cbf51..0000000 --- a/scripts/generate_taxonomy_codelist_from_json_file.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python3 - -import os, json - -SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__)) -TAXONOMY_DATA_FILE = "../taxonomy/taxonomy.json" # Path to file containing the taxonomy, relative to this script -TARGET_CODELIST_FILE = "../codelists/taxonomyCodes.csv" # Path to the target file where the codelist will be stored, relative to this script - -CODELIST_FILE_HEADER = "Code,Title,Description" - -def parse_taxonomy_data_from_file(taxonomy_file_path): - - with open(taxonomy_file_path, 'r') as taxonomy_file: - return json.loads(taxonomy_file.read()) - -def generate_codelist_from_taxonomy_data(json_data): - output = "" - - for entry in json_data['population_groups']: - for category in entry['categories']: - output += f"\n{category['code']},\"{category['name']}\",\"{category['description']}\"" - - if len(category['sub_categories']) > 0: - for subcategory in category['sub_categories']: - output += f"\n{subcategory['code']},\"{subcategory['name']}\",\"{subcategory['description']}\"" - - return output - -def write_codelist_to_file(codelist,target_file_path): - - with open(target_file_path, 'w') as codelist_file: - codelist_file.write(CODELIST_FILE_HEADER) - codelist_file.write(codelist) - - -write_codelist_to_file( generate_codelist_from_taxonomy_data( parse_taxonomy_data_from_file(os.path.join(SCRIPT_DIR,TAXONOMY_DATA_FILE)) ), - os.path.join(SCRIPT_DIR, TARGET_CODELIST_FILE) ) From a9dce951091d48e97195ccc79f15b7d73f11ed3f Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 3 Oct 2023 18:34:14 +0100 Subject: [PATCH 07/16] Regenerated taxonomyCodes.csv via Makefile --- codelists/taxonomyCodes.csv | 148 ++++++++++++++++++------------------ 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/codelists/taxonomyCodes.csv b/codelists/taxonomyCodes.csv index c6ec02c..b71c638 100644 --- a/codelists/taxonomyCodes.csv +++ b/codelists/taxonomyCodes.csv @@ -1,74 +1,74 @@ -Code,Title,Description -DEI010000,"Communities experiencing racial inequity","Organisations working on racial justice or supporting people from multiple communities" -DEI010100,"Black / African / Caribbean / Black British","Mixed Black/ Black British" -DEI010110,"African","" -DEI010120,"Caribbean","" -DEI010199,"Any other Black/ African/ Caribbean background","" -DEI010200,"Mixed","Mixed groups" -DEI010210,"White and Black","" -DEI010220,"White and Asian","" -DEI010299,"Any other Mixed / Multiple ethnic background","" -DEI010300,"Asian / Asian British","Mixed Asian/ Asian British" -DEI010310,"Indian","" -DEI010320,"Pakistani","" -DEI010330,"Bangladeshi","" -DEI010340,"Chinese","" -DEI010399,"Any other Asian background","" -DEI019900,"Other Group experiencing ethnic or racial inequity","" -DEI019910,"Arab","" -DEI019920,"Jewish","" -DEI019930,"Gypsy, Roma and Traveller Communities","" -DEI019999,"Any other Ethnic group","" -DEI020000,"Disabled people","Working with people across multiple disabilities" -DEI020100,"Physical Impairment","Working with people with multiple or different physical impairments" -DEI020110,"Mobility","Physical/mobility impairment, such as a difficulty using your arms or mobility issues which require you to use a wheelchair or crutches" -DEI020120,"Visual impairment/ partial sight/sight loss","Visual impairment, such as being blind or having a serious visual impairment" -DEI020130,"Hard of hearing/ deaf/ hearing loss","Hearing impairment, such as being deaf or having a serious hearing impairment" -DEI020140,"Speech impairment","Impaired ability to produce speech sounds" -DEI020200,"Mental Health","Mental health condition or experience, such as depression or psychosis or addiction that impacts people’s lives" -DEI020300,"Cognitive differences","Multiple or different cognitive differences" -DEI020310,"Learning disability","A reduced intellectual ability and difficulty with everyday activities which affects someone for their whole life, such as Down’s Syndrome" -DEI020320,"Learning difficulty","Learning difficulties such as dyslexia and ADHD" -DEI020330,"Neurodivergent","Cognitive difference such as autistic spectrum disorder where individuals are impacted by the social environment" -DEI020400,"Health","Long-standing illness or health condition, such as cancer, HIV, diabetes, chronic heart disease or epilepsy, or other rare conditions" -DEI029900,"Other","Other - An impairment, medical condition or environmental disadvantage that is not listed above" -DEI030000,"Faith","Interfaith and multi-faith groups" -DEI030100,"Catholic","People who describe their faith as Catholic or Roman Catholic" -DEI030200,"Protestant","Anglicans, Adventists, Baptists, Methodists, Pentecostals, Presbyterians, Religious Society of Friends, Reformed Churches and other Protestant denominations" -DEI030300,"Other Christian denominations","Orthodox and other denominations" -DEI030400,"Buddhist","" -DEI030500,"Hindu","" -DEI030600,"Jewish","" -DEI030700,"Muslim","" -DEI030800,"Sikh","" -DEI030900,"Atheist","" -DEI031000,"Agnostic","" -DEI039900,"Other","Other faiths and beliefs" -DEI040000,"LGBT+ People","Working with LGBT+ people with multiple identities" -DEI040100,"Bisexual people","All bisexual people" -DEI040110,"Bisexual men","" -DEI040120,"Bisexual women","" -DEI040200,"Gay men","" -DEI040300,"Lesbian/gay women","" -DEI040400,"Transgender people","All transgender people" -DEI040410,"Trans men","" -DEI040420,"Trans women","" -DEI040500,"Non-binary people","" -DEI049900,"Other","Other LGBT+ People, including queer and intersex people" -DEI050000,"Migrants","Migrants with multiple status" -DEI050100,"Asylum seekers","" -DEI050200,"Refugees","" -DEI050300,"Undocumented People","" -DEI059900,"Other Migrants","This includes other migrants with official immigration status, e.g. international students; and who are naturalised British" -DEI060000,"Older People","Typically those aged 60 and over" -DEI070000,"Children and Young People","Typically people under 26 but sometimes people under 19" -DEI070100,"Young adults","Typically young people from 16 to 25 years of age" -DEI070200,"Young people","Typically young people from 8 to 25" -DEI070300,"Children","Under 16" -DEI070400,"Infants","Under 2 years of age" -DEI080000,"People who are educationally or economically disadvantaged","This will be defined by the organisation, such as children eligible for free school meals or for adults were eligible for free school meals as a child, families receiving benefits or universal credit, people who are homeless, people who did not complete formal education or otherwise considered in deprivation or poverty etc." -DEI090000,"Women and girls","Those who identify and live as women and girls" -DEI700000,"Welsh Language Speaking","" -DEI800010,"The Protestant community","" -DEI800020,"The Catholic community","" -DEI800030,"Neither","" \ No newline at end of file +"Code","Title","Description" +"DEI010000","Communities experiencing racial inequity","Organisations working on racial justice or supporting people from multiple communities" +"DEI010100","Black / African / Caribbean / Black British","Mixed Black/ Black British" +"DEI010110","African","" +"DEI010120","Caribbean","" +"DEI010199","Any other Black/ African/ Caribbean background","" +"DEI010200","Mixed","Mixed groups" +"DEI010210","White and Black","" +"DEI010220","White and Asian","" +"DEI010299","Any other Mixed / Multiple ethnic background","" +"DEI010300","Asian / Asian British","Mixed Asian/ Asian British" +"DEI010310","Indian","" +"DEI010320","Pakistani","" +"DEI010330","Bangladeshi","" +"DEI010340","Chinese","" +"DEI010399","Any other Asian background","" +"DEI019900","Other Group experiencing ethnic or racial inequity","" +"DEI019910","Arab","" +"DEI019920","Jewish","" +"DEI019930","Gypsy, Roma and Traveller Communities","" +"DEI019999","Any other Ethnic group","" +"DEI020000","Disabled people","Working with people across multiple disabilities" +"DEI020100","Physical Impairment","Working with people with multiple or different physical impairments" +"DEI020110","Mobility","Physical/mobility impairment, such as a difficulty using your arms or mobility issues which require you to use a wheelchair or crutches" +"DEI020120","Visual impairment/ partial sight/sight loss","Visual impairment, such as being blind or having a serious visual impairment" +"DEI020130","Hard of hearing/ deaf/ hearing loss","Hearing impairment, such as being deaf or having a serious hearing impairment" +"DEI020140","Speech impairment","Impaired ability to produce speech sounds" +"DEI020200","Mental Health","Mental health condition or experience, such as depression or psychosis or addiction that impacts people’s lives" +"DEI020300","Cognitive differences","Multiple or different cognitive differences" +"DEI020310","Learning disability","A reduced intellectual ability and difficulty with everyday activities which affects someone for their whole life, such as Down’s Syndrome" +"DEI020320","Learning difficulty","Learning difficulties such as dyslexia and ADHD" +"DEI020330","Neurodivergent","Cognitive difference such as autistic spectrum disorder where individuals are impacted by the social environment" +"DEI020400","Health","Long-standing illness or health condition, such as cancer, HIV, diabetes, chronic heart disease or epilepsy, or other rare conditions" +"DEI029900","Other","Other - An impairment, medical condition or environmental disadvantage that is not listed above" +"DEI030000","Faith","Interfaith and multi-faith groups" +"DEI030100","Catholic","People who describe their faith as Catholic or Roman Catholic" +"DEI030200","Protestant","Anglicans, Adventists, Baptists, Methodists, Pentecostals, Presbyterians, Religious Society of Friends, Reformed Churches and other Protestant denominations" +"DEI030300","Other Christian denominations","Orthodox and other denominations" +"DEI030400","Buddhist","" +"DEI030500","Hindu","" +"DEI030600","Jewish","" +"DEI030700","Muslim","" +"DEI030800","Sikh","" +"DEI030900","Atheist","" +"DEI031000","Agnostic","" +"DEI039900","Other","Other faiths and beliefs" +"DEI040000","LGBT+ People","Working with LGBT+ people with multiple identities" +"DEI040100","Bisexual people","All bisexual people" +"DEI040110","Bisexual men","" +"DEI040120","Bisexual women","" +"DEI040200","Gay men","" +"DEI040300","Lesbian/gay women","" +"DEI040400","Transgender people","All transgender people" +"DEI040410","Trans men","" +"DEI040420","Trans women","" +"DEI040500","Non-binary people","" +"DEI049900","Other","Other LGBT+ People, including queer and intersex people" +"DEI050000","Migrants","Migrants with multiple status" +"DEI050100","Asylum seekers","" +"DEI050200","Refugees","" +"DEI050300","Undocumented People","" +"DEI059900","Other Migrants","This includes other migrants with official immigration status, e.g. international students; and who are naturalised British" +"DEI060000","Older People","Typically those aged 60 and over" +"DEI070000","Children and Young People","Typically people under 26 but sometimes people under 19" +"DEI070100","Young adults","Typically young people from 16 to 25 years of age" +"DEI070200","Young people","Typically young people from 8 to 25" +"DEI070300","Children","Under 16" +"DEI070400","Infants","Under 2 years of age" +"DEI080000","People who are educationally or economically disadvantaged","This will be defined by the organisation, such as children eligible for free school meals or for adults were eligible for free school meals as a child, families receiving benefits or universal credit, people who are homeless, people who did not complete formal education or otherwise considered in deprivation or poverty etc." +"DEI090000","Women and girls","Those who identify and live as women and girls" +"DEI700000","Welsh Language Speaking","" +"DEI800010","The Protestant community","" +"DEI800020","The Catholic community","" +"DEI800030","Neither","" From b2ccd441aafb44e126518bd2370fb3cec1fde253 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 17 Oct 2023 11:08:22 +0100 Subject: [PATCH 08/16] documentation on jq command --- README.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index bd8bb3b..2b03665 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,23 @@ # 360-dei -## Publishing or using DEI data with the ThreeSixtyGiving data standard +This is the repo for the DEI Extension for 360Giving -Please see our user docs at https://360-dei.readthedocs.io/en/latest/# +## Maintaining this extension -## Developing this standard +This section contains instructions on maintaining this extension, -This uses git submodules; after checking out this code run: +### Generating the taxonomyCodes.csv codelist file from taxonomy.json - git submodule init - git submodule update +The DEI taxonomy codes are hierarchical and thus modelled using JSON (`taxonomy/taxonomy.json`), but this cannot be used for validation since codelist files must be in CSV format. +In order to avoid maintaining two separate copies of the taxonomy codes and keeping them in sync; it's better to generate the validation codelist (`codelists/taxonomyCodes.csv`) directly from the JSON file. +For simplicity, brevity, and speed, this is accomplished using [jq](https://jqlang.github.io/jq/) inside of the `Makefile`. Just run either `make` or `make taxonomy-codes` in your terminal when at the root of the repository. Historically, this was previously accomplished using a [python script](https://github.com/ThreeSixtyGiving/360-dei/commit/c5330dd078f5636cfbb15a8eb4b84bcef6437a07#diff-b27f53041b80d97ae35d861e86e9774a2f71bedf18eef3ff91ab66cc8155d1a3). +You can install jq easily on most systems, see the [download page](https://jqlang.github.io/jq/download/). + +If the structure of the taxonomy JSON file changes, the jq command will need to be updated to match. If the location of the taxonomy JSON file changes, the Makefile will need to be updated to match. + +```bash +jq '[ .population_groups[].categories[] | {code,name,description}, (.sub_categories[]) ]' ./taxonomy/taxonomy.json | jq -r '["Code","Title","Description"],(.[] | [ .code, .name, .description ]) | @csv' > ./codelists/taxonomyCodes.csv +``` From 434d2782fca34bc1241c622dd3d929f2775f95f6 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 17 Oct 2023 11:11:50 +0100 Subject: [PATCH 09/16] removed submodule --- .gitmodules | 3 - schema/360-giving-schema.json | 107 ---------------------------------- 2 files changed, 110 deletions(-) delete mode 100644 .gitmodules delete mode 100644 schema/360-giving-schema.json diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index cbe2912..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "standard"] - path = standard - url = https://github.com/ThreeSixtyGiving/standard.git diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json deleted file mode 100644 index 05f19fe..0000000 --- a/schema/360-giving-schema.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "definitions": { - "DeiApplicationArea": { - "type": "object", - "title": "DEI Application Area", - "description": "A DEI application area used to collect information about whether a particular question was asked, responded to, and additional information. It also contains the response information under the Response fields.", - "required": [ - "askedStatus" - ], - "properties": { - "askedStatus": { - "type": "string", - "title": "Asked Status", - "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", - "codelist": "askedStatus.csv", - "openCodelist": false - }, - "replyStatus": { - "type": "string", - "title": "Reply Status", - "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", - "codelist": "replyStatus.csv", - "openCodelist": false - }, - "availableOptions": { - "type": "array", - "title": "Available Options", - "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", - "items": { - "type": "string", - "codelist": "availableOptions.csv", - "openCodelist": false - }, - "uniqueItems": true - }, - "additionalDetails": { - "type": "string", - "title": "Additional Details", - "description": "A free text field to include any additional details or rationales that may be important to this context." - }, - "response": { - "type": "object", - "title": "DEI Response", - "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", - "properties": { - "taxonomyCodes": { - "title": "Taxonomy Codes", - "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", - "type": "array", - "items": { - "type": "string", - "codelist": "taxonomyCodes.csv", - "openCodelist": false - }, - "uniqueItems": true - }, - "livedExperience": { - "type": "string", - "title": "Lived Experience", - "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." - }, - "geography": { - "type": "string", - "title": "Geography", - "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." - } - } - } - } - }, - "properties": { - "deiDetails": { - "type": "object", - "title": "DEI Details", - "description": "The DEI Details for this grant. Contains information about separate application areas and the responses to them.", - "required": [ - "leadership", - "mission", - "project" - ], - "properties": { - "deiVersion": { - "type": "string", - "title": "DEI Data Standard Version", - "description": "The version of the DEI Data Standard that this data uses e.g. 1.1", - "pattern": "^[1-9]+\\.[1-9]\\d*$" - }, - "purposes": { - "type": "string", - "title": "Purposes", - "description": "The purposes of collecting this data." - }, - "leadership": { - "$ref": "#/definitions/DeiApplicationArea" - }, - "mission": { - "$ref": "#/definitions/DeiApplicationArea" - }, - "project": { - "$ref": "#/definitions/DeiApplicationArea" - } - } - } - } - } -} From aafdd58a39fddd7967269757c9cb329760b01243 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Wed, 18 Oct 2023 13:15:36 +0100 Subject: [PATCH 10/16] Revert "removed submodule" This reverts commit 434d2782fca34bc1241c622dd3d929f2775f95f6. --- .gitmodules | 3 + schema/360-giving-schema.json | 107 ++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 .gitmodules create mode 100644 schema/360-giving-schema.json diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..cbe2912 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "standard"] + path = standard + url = https://github.com/ThreeSixtyGiving/standard.git diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json new file mode 100644 index 0000000..05f19fe --- /dev/null +++ b/schema/360-giving-schema.json @@ -0,0 +1,107 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "definitions": { + "DeiApplicationArea": { + "type": "object", + "title": "DEI Application Area", + "description": "A DEI application area used to collect information about whether a particular question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "required": [ + "askedStatus" + ], + "properties": { + "askedStatus": { + "type": "string", + "title": "Asked Status", + "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", + "codelist": "askedStatus.csv", + "openCodelist": false + }, + "replyStatus": { + "type": "string", + "title": "Reply Status", + "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", + "codelist": "replyStatus.csv", + "openCodelist": false + }, + "availableOptions": { + "type": "array", + "title": "Available Options", + "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", + "items": { + "type": "string", + "codelist": "availableOptions.csv", + "openCodelist": false + }, + "uniqueItems": true + }, + "additionalDetails": { + "type": "string", + "title": "Additional Details", + "description": "A free text field to include any additional details or rationales that may be important to this context." + }, + "response": { + "type": "object", + "title": "DEI Response", + "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", + "properties": { + "taxonomyCodes": { + "title": "Taxonomy Codes", + "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", + "type": "array", + "items": { + "type": "string", + "codelist": "taxonomyCodes.csv", + "openCodelist": false + }, + "uniqueItems": true + }, + "livedExperience": { + "type": "string", + "title": "Lived Experience", + "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." + }, + "geography": { + "type": "string", + "title": "Geography", + "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." + } + } + } + } + }, + "properties": { + "deiDetails": { + "type": "object", + "title": "DEI Details", + "description": "The DEI Details for this grant. Contains information about separate application areas and the responses to them.", + "required": [ + "leadership", + "mission", + "project" + ], + "properties": { + "deiVersion": { + "type": "string", + "title": "DEI Data Standard Version", + "description": "The version of the DEI Data Standard that this data uses e.g. 1.1", + "pattern": "^[1-9]+\\.[1-9]\\d*$" + }, + "purposes": { + "type": "string", + "title": "Purposes", + "description": "The purposes of collecting this data." + }, + "leadership": { + "$ref": "#/definitions/DeiApplicationArea" + }, + "mission": { + "$ref": "#/definitions/DeiApplicationArea" + }, + "project": { + "$ref": "#/definitions/DeiApplicationArea" + } + } + } + } + } +} From 579aa7cc89bf09d80bc55e8ae5b0583e803f3584 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Wed, 18 Oct 2023 13:16:37 +0100 Subject: [PATCH 11/16] Remove submodule properly --- .gitmodules | 3 --- standard | 1 - 2 files changed, 4 deletions(-) delete mode 100644 .gitmodules delete mode 160000 standard diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index cbe2912..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "standard"] - path = standard - url = https://github.com/ThreeSixtyGiving/standard.git diff --git a/standard b/standard deleted file mode 160000 index 807f3e2..0000000 --- a/standard +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 807f3e2e1e04ef89300456314406e2b47391b85e From b0cba01fe453ea659c2c2fb3ca628749d4e03d95 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Wed, 18 Oct 2023 14:11:53 +0100 Subject: [PATCH 12/16] fixed bug in schema where everything was a definition --- schema/360-giving-schema.json | 64 +++++++++++++++++------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json index 05f19fe..666075d 100644 --- a/schema/360-giving-schema.json +++ b/schema/360-giving-schema.json @@ -68,38 +68,38 @@ } } } - }, - "properties": { - "deiDetails": { - "type": "object", - "title": "DEI Details", - "description": "The DEI Details for this grant. Contains information about separate application areas and the responses to them.", - "required": [ - "leadership", - "mission", - "project" - ], - "properties": { - "deiVersion": { - "type": "string", - "title": "DEI Data Standard Version", - "description": "The version of the DEI Data Standard that this data uses e.g. 1.1", - "pattern": "^[1-9]+\\.[1-9]\\d*$" - }, - "purposes": { - "type": "string", - "title": "Purposes", - "description": "The purposes of collecting this data." - }, - "leadership": { - "$ref": "#/definitions/DeiApplicationArea" - }, - "mission": { - "$ref": "#/definitions/DeiApplicationArea" - }, - "project": { - "$ref": "#/definitions/DeiApplicationArea" - } + } + }, + "properties": { + "deiDetails": { + "type": "object", + "title": "DEI Details", + "description": "The DEI Details for this grant. Contains information about separate application areas and the responses to them.", + "required": [ + "leadership", + "mission", + "project" + ], + "properties": { + "deiVersion": { + "type": "string", + "title": "DEI Data Standard Version", + "description": "The version of the DEI Data Standard that this data uses e.g. 1.1", + "pattern": "^[1-9]+\\.[1-9]\\d*$" + }, + "purposes": { + "type": "string", + "title": "Purposes", + "description": "The purposes of collecting this data." + }, + "leadership": { + "$ref": "#/definitions/DeiApplicationArea" + }, + "mission": { + "$ref": "#/definitions/DeiApplicationArea" + }, + "project": { + "$ref": "#/definitions/DeiApplicationArea" } } } From 9470bbb718106f66a8f4ad173bf7ae75f16c08c5 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 28 Nov 2023 14:20:35 +0000 Subject: [PATCH 13/16] Disable examples check since schema is no longer a submodule --- .github/workflows/taxonomy-and-examples.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/taxonomy-and-examples.yml b/.github/workflows/taxonomy-and-examples.yml index 3aa6b33..4fd150a 100644 --- a/.github/workflows/taxonomy-and-examples.yml +++ b/.github/workflows/taxonomy-and-examples.yml @@ -24,8 +24,8 @@ jobs: - name: Check Taxanomy meets Taxonomy Schema run: jsonschema -i taxonomy/taxonomy.json taxonomy/schema/taxonomyschema.json # Check all examples match compiled schema - - name: Compile - run: "python compile.py" - - name: Check all examples match compiled schema - run: "for f in examples/*; do echo \"File: $f\"; jsonschema -i $f _compiled/360-giving-schema-including-extension.json || exit 1; done" - + # - name: Compile + # run: "python compile.py" + # - name: Check all examples match compiled schema + # run: "for f in examples/*; do echo \"File: $f\"; jsonschema -i $f _compiled/360-giving-schema-including-extension.json || exit 1; done" + # From f114557ab514c41087f129764cf699f09086b85e Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Thu, 28 Dec 2023 14:12:57 +0000 Subject: [PATCH 14/16] Adjusted definition of DeiApplicationArea and the references to it so that titles can be applied by flatten-tool. This makes the schema technically invalid against Draft 04 but when the extension schema is merged into the standard and then compiled/dereferenced properly, it passes as valid and supports round-tripping. --- schema/360-giving-schema.json | 130 ++++++++++++++++++---------------- 1 file changed, 69 insertions(+), 61 deletions(-) diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json index 666075d..7ce051f 100644 --- a/schema/360-giving-schema.json +++ b/schema/360-giving-schema.json @@ -2,69 +2,61 @@ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "DeiApplicationArea": { - "type": "object", - "title": "DEI Application Area", - "description": "A DEI application area used to collect information about whether a particular question was asked, responded to, and additional information. It also contains the response information under the Response fields.", - "required": [ - "askedStatus" - ], - "properties": { - "askedStatus": { + "askedStatus": { + "type": "string", + "title": "Asked Status", + "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", + "codelist": "askedStatus.csv", + "openCodelist": false + }, + "replyStatus": { + "type": "string", + "title": "Reply Status", + "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", + "codelist": "replyStatus.csv", + "openCodelist": false + }, + "availableOptions": { + "type": "array", + "title": "Available Options", + "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", + "items": { "type": "string", - "title": "Asked Status", - "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", - "codelist": "askedStatus.csv", + "codelist": "availableOptions.csv", "openCodelist": false }, - "replyStatus": { - "type": "string", - "title": "Reply Status", - "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", - "codelist": "replyStatus.csv", - "openCodelist": false - }, - "availableOptions": { - "type": "array", - "title": "Available Options", - "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", - "items": { - "type": "string", - "codelist": "availableOptions.csv", - "openCodelist": false - }, - "uniqueItems": true - }, - "additionalDetails": { - "type": "string", - "title": "Additional Details", - "description": "A free text field to include any additional details or rationales that may be important to this context." - }, - "response": { - "type": "object", - "title": "DEI Response", - "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", - "properties": { - "taxonomyCodes": { - "title": "Taxonomy Codes", - "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", - "type": "array", - "items": { - "type": "string", - "codelist": "taxonomyCodes.csv", - "openCodelist": false - }, - "uniqueItems": true - }, - "livedExperience": { + "uniqueItems": true + }, + "additionalDetails": { + "type": "string", + "title": "Additional Details", + "description": "A free text field to include any additional details or rationales that may be important to this context." + }, + "response": { + "type": "object", + "title": "DEI Response", + "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", + "properties": { + "taxonomyCodes": { + "title": "Taxonomy Codes", + "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", + "type": "array", + "items": { "type": "string", - "title": "Lived Experience", - "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." + "codelist": "taxonomyCodes.csv", + "openCodelist": false }, - "geography": { - "type": "string", - "title": "Geography", - "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." - } + "uniqueItems": true + }, + "livedExperience": { + "type": "string", + "title": "Lived Experience", + "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." + }, + "geography": { + "type": "string", + "title": "Geography", + "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." } } } @@ -93,13 +85,29 @@ "description": "The purposes of collecting this data." }, "leadership": { - "$ref": "#/definitions/DeiApplicationArea" + "type": "object", + "title": "Leadership", + "description": "Description here", + "properties": { + "$ref": "#/definitions/DeiApplicationArea" + } }, "mission": { - "$ref": "#/definitions/DeiApplicationArea" + "type": "object", + "title": "Mission", + "description": "Description here", + "properties": { + "$ref": "#/definitions/DeiApplicationArea" + } + }, "project": { - "$ref": "#/definitions/DeiApplicationArea" + "type": "object", + "title": "Project", + "description": "Description here", + "properties": { + "$ref": "#/definitions/DeiApplicationArea" + } } } } From b9f6428d8fda2cdf396b8bd463f2d8bd75c4ab9f Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Mon, 8 Jan 2024 14:23:51 +0000 Subject: [PATCH 15/16] Restored proper object defintion in DeiApplicationArea since compiletojsonschema allows overriding of title which is cleaner --- schema/360-giving-schema.json | 133 ++++++++++++++++------------------ 1 file changed, 64 insertions(+), 69 deletions(-) diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json index 7ce051f..3a81a8f 100644 --- a/schema/360-giving-schema.json +++ b/schema/360-giving-schema.json @@ -2,61 +2,66 @@ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "DeiApplicationArea": { - "askedStatus": { - "type": "string", - "title": "Asked Status", - "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", - "codelist": "askedStatus.csv", - "openCodelist": false - }, - "replyStatus": { - "type": "string", - "title": "Reply Status", - "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", - "codelist": "replyStatus.csv", - "openCodelist": false - }, - "availableOptions": { - "type": "array", - "title": "Available Options", - "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", - "items": { + "type": "object", + "title": "DEI Application area", + "description": "A DEI application area used to collect information about whether a particular question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "properties": { + "askedStatus": { "type": "string", - "codelist": "availableOptions.csv", + "title": "Asked Status", + "description": "A code referring to how this question was asked. The value for this field should be drawn from the Asked Status codelist.", + "codelist": "askedStatus.csv", "openCodelist": false }, - "uniqueItems": true - }, - "additionalDetails": { - "type": "string", - "title": "Additional Details", - "description": "A free text field to include any additional details or rationales that may be important to this context." - }, - "response": { - "type": "object", - "title": "DEI Response", - "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", - "properties": { - "taxonomyCodes": { - "title": "Taxonomy Codes", - "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", - "type": "array", - "items": { - "type": "string", - "codelist": "taxonomyCodes.csv", - "openCodelist": false - }, - "uniqueItems": true - }, - "livedExperience": { + "replyStatus": { + "type": "string", + "title": "Reply Status", + "description": "A code referring to the status of the reply to this question. The value for this field should be drawn from the Reply Status codelist.", + "codelist": "replyStatus.csv", + "openCodelist": false + }, + "availableOptions": { + "type": "array", + "title": "Available Options", + "description": "Code(s) referring to options which were available when the question was asked. The value for these codes should be drawn from the Available Options codelist.", + "items": { "type": "string", - "title": "Lived Experience", - "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." + "codelist": "availableOptions.csv", + "openCodelist": false }, - "geography": { - "type": "string", - "title": "Geography", - "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." + "uniqueItems": true + }, + "additionalDetails": { + "type": "string", + "title": "Additional Details", + "description": "A free text field to include any additional details or rationales that may be important to this context." + }, + "response": { + "type": "object", + "title": "DEI Response", + "description": "A response to a DEI Application area, containing information such as the taxonomy codes selected and any lived experience or geography responses.", + "properties": { + "taxonomyCodes": { + "title": "Taxonomy Codes", + "description": "The Taxonomy Codes selected from the DEI Taxonomies. The value for these codes should be drawn from the Taxonomy Codes codelist.", + "type": "array", + "items": { + "type": "string", + "codelist": "taxonomyCodes.csv", + "openCodelist": false + }, + "uniqueItems": true + }, + "livedExperience": { + "type": "string", + "title": "Lived Experience", + "description": "A free text description of other types of lived experience that is not drawn from the Taxonomy." + }, + "geography": { + "type": "string", + "title": "Geography", + "description": "A free text description that is not drawn from a vocabulary but instead relates to a particular geographical area." + } } } } @@ -85,29 +90,19 @@ "description": "The purposes of collecting this data." }, "leadership": { - "type": "object", - "title": "Leadership", - "description": "Description here", - "properties": { - "$ref": "#/definitions/DeiApplicationArea" - } + "title": "Leadership", + "description": "A DEI application area used to collect information about whether the leadership question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "$ref": "#/definitions/DeiApplicationArea" }, "mission": { - "type": "object", - "title": "Mission", - "description": "Description here", - "properties": { - "$ref": "#/definitions/DeiApplicationArea" - } - + "title": "Mission", + "description": "A DEI application area used to collect information about whether the mission question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "$ref": "#/definitions/DeiApplicationArea" }, "project": { - "type": "object", - "title": "Project", - "description": "Description here", - "properties": { - "$ref": "#/definitions/DeiApplicationArea" - } + "title": "Project", + "description": "A DEI application area used to collect information about whether the project question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "$ref": "#/definitions/DeiApplicationArea" } } } From e4098a41e45a5a8f25d71213f423139c4ce92b85 Mon Sep 17 00:00:00 2001 From: Matt Marshall Date: Tue, 30 Jan 2024 16:16:21 +0000 Subject: [PATCH 16/16] Fix askedStatus not required field Fixed the fact that DeiApplicationArea did not contained askedStatus as a required field. --- schema/360-giving-schema.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/schema/360-giving-schema.json b/schema/360-giving-schema.json index 3a81a8f..682cf17 100644 --- a/schema/360-giving-schema.json +++ b/schema/360-giving-schema.json @@ -5,6 +5,9 @@ "type": "object", "title": "DEI Application area", "description": "A DEI application area used to collect information about whether a particular question was asked, responded to, and additional information. It also contains the response information under the Response fields.", + "required": [ + "askedStatus" + ], "properties": { "askedStatus": { "type": "string", @@ -92,17 +95,17 @@ "leadership": { "title": "Leadership", "description": "A DEI application area used to collect information about whether the leadership question was asked, responded to, and additional information. It also contains the response information under the Response fields.", - "$ref": "#/definitions/DeiApplicationArea" + "$ref": "#/definitions/DeiApplicationArea" }, "mission": { "title": "Mission", "description": "A DEI application area used to collect information about whether the mission question was asked, responded to, and additional information. It also contains the response information under the Response fields.", - "$ref": "#/definitions/DeiApplicationArea" + "$ref": "#/definitions/DeiApplicationArea" }, "project": { "title": "Project", "description": "A DEI application area used to collect information about whether the project question was asked, responded to, and additional information. It also contains the response information under the Response fields.", - "$ref": "#/definitions/DeiApplicationArea" + "$ref": "#/definitions/DeiApplicationArea" } } }