@thegetty/quire-cli 0.20.3 → 0.20.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/bin/.DS_Store +0 -0
  3. package/bin/go-iiif/.DS_Store +0 -0
  4. package/bin/index.js +2 -0
  5. package/bin/starters/.DS_Store +0 -0
  6. package/bin/starters/README.md +0 -0
  7. package/bin/starters/default/.circleci/config.yml +98 -0
  8. package/bin/starters/default/.gitignore +14 -0
  9. package/bin/starters/default/.nojekyll +0 -0
  10. package/bin/starters/default/CHANGELOG.md +38 -0
  11. package/bin/starters/default/README.md +25 -0
  12. package/bin/starters/default/bin/deploy.sh +25 -0
  13. package/bin/starters/default/config/_default/config.yml +53 -0
  14. package/bin/starters/default/config/development/config.yml +14 -0
  15. package/bin/starters/default/config/environments/dev.yml +14 -0
  16. package/bin/starters/default/config/environments/github.yml +15 -0
  17. package/bin/starters/default/config/environments/netlify.yml +18 -0
  18. package/bin/starters/default/config/epub.yml +15 -0
  19. package/bin/starters/default/config/pdf.yml +16 -0
  20. package/bin/starters/default/config/site.yml +13 -0
  21. package/bin/starters/default/config.yml +53 -0
  22. package/bin/starters/default/content/about.md +20 -0
  23. package/bin/starters/default/content/bibliography.md +7 -0
  24. package/bin/starters/default/content/catalogue/1.md +28 -0
  25. package/bin/starters/default/content/catalogue/2.md +29 -0
  26. package/bin/starters/default/content/catalogue/3.md +20 -0
  27. package/bin/starters/default/content/catalogue/4.md +22 -0
  28. package/bin/starters/default/content/catalogue/catalogue-index.md +8 -0
  29. package/bin/starters/default/content/contents.md +7 -0
  30. package/bin/starters/default/content/contributors.md +7 -0
  31. package/bin/starters/default/content/cover.md +11 -0
  32. package/bin/starters/default/content/essay.md +80 -0
  33. package/bin/starters/default/content/intro.md +21 -0
  34. package/bin/starters/default/content/search-index.md +8 -0
  35. package/bin/starters/default/data/figures.yml +90 -0
  36. package/bin/starters/default/data/objects.yml +49 -0
  37. package/bin/starters/default/data/publication.yml +149 -0
  38. package/bin/starters/default/data/references.yml +11 -0
  39. package/bin/starters/default/static/css/custom.css +0 -0
  40. package/bin/starters/default/static/data/sample-geojson.json +16 -0
  41. package/bin/starters/default/static/downloads/.gitkeep +0 -0
  42. package/bin/starters/default/static/downloads/output.epub +0 -0
  43. package/bin/starters/default/static/downloads/output.mobi +0 -0
  44. package/bin/starters/default/static/downloads/output.pdf +0 -0
  45. package/bin/starters/default/static/img/contributors/judith-keller.jpg +0 -0
  46. package/bin/starters/default/static/img/cover.png +0 -0
  47. package/bin/starters/default/static/img/figures/duo.jpg +0 -0
  48. package/bin/starters/default/static/img/figures/evans-burroughs.jpg +0 -0
  49. package/bin/starters/default/static/img/figures/evans-child.jpg +0 -0
  50. package/bin/starters/default/static/img/figures/evans-graveyard.jpg +0 -0
  51. package/bin/starters/default/static/img/figures/evans-hymns.jpg +0 -0
  52. package/bin/starters/default/static/img/figures/evans-legionnaire.jpg +0 -0
  53. package/bin/starters/default/static/img/figures/evans-refugee.jpg +0 -0
  54. package/bin/starters/default/static/img/figures/evans-sons.jpg +0 -0
  55. package/bin/starters/default/static/img/figures/evans-video-still.jpg +0 -0
  56. package/bin/starters/default/static/img/figures/evans-washroom.jpg +0 -0
  57. package/bin/starters/default/static/img/figures/evans.jpg +0 -0
  58. package/bin/starters/default/static/img/figures/family.jpg +0 -0
  59. package/bin/starters/default/static/img/figures/lange-house.jpg +0 -0
  60. package/bin/starters/default/static/img/figures/lange.jpg +0 -0
  61. package/bin/starters/default/static/img/figures/mother-b.jpg +0 -0
  62. package/bin/starters/default/static/img/figures/mother-c.jpg +0 -0
  63. package/bin/starters/default/static/img/figures/mother.jpg +0 -0
  64. package/bin/starters/default/static/img/figures/pickers.jpg +0 -0
  65. package/bin/starters/default/static/img/logo-getty.png +0 -0
  66. package/bin/starters/default/static/img/pattern-spiral-overlay.png +0 -0
  67. package/bin/starters/default/static/js/custom.js +4 -0
  68. package/bin/themes/README.md +0 -0
  69. package/bin/themes/default/.circleci/config.yml +62 -0
  70. package/bin/themes/default/.eslintrc.js +16 -0
  71. package/bin/themes/default/.gitignore +13 -0
  72. package/bin/themes/default/.scss-lint.yml +239 -0
  73. package/bin/themes/default/CHANGELOG.md +73 -0
  74. package/bin/themes/default/LICENSE.md +20 -0
  75. package/bin/themes/default/README.md +112 -0
  76. package/bin/themes/default/archetypes/default.md +2 -0
  77. package/bin/themes/default/cypress.json +7 -0
  78. package/bin/themes/default/layouts/404.html +0 -0
  79. package/bin/themes/default/layouts/_default/baseof.html +43 -0
  80. package/bin/themes/default/layouts/_default/single.html +26 -0
  81. package/bin/themes/default/layouts/contents/single.html +37 -0
  82. package/bin/themes/default/layouts/cover/single.html +128 -0
  83. package/bin/themes/default/layouts/data/search-index.html +65 -0
  84. package/bin/themes/default/layouts/entry/single.html +372 -0
  85. package/bin/themes/default/layouts/essay/single.html +24 -0
  86. package/bin/themes/default/layouts/partials/analytics.html +29 -0
  87. package/bin/themes/default/layouts/partials/cite-this.html +348 -0
  88. package/bin/themes/default/layouts/partials/contents-list/card-image.html +13 -0
  89. package/bin/themes/default/layouts/partials/contents-list/closing-tags.html +59 -0
  90. package/bin/themes/default/layouts/partials/contents-list/contents-list.html +179 -0
  91. package/bin/themes/default/layouts/partials/contents-list/file-dir.html +7 -0
  92. package/bin/themes/default/layouts/partials/contents-list/file-path.html +10 -0
  93. package/bin/themes/default/layouts/partials/contents-list/list-item-type.html +9 -0
  94. package/bin/themes/default/layouts/partials/contents-list/list-item-types/abstract.html +17 -0
  95. package/bin/themes/default/layouts/partials/contents-list/list-item-types/brief.html +7 -0
  96. package/bin/themes/default/layouts/partials/contents-list/list-item-types/default.html +9 -0
  97. package/bin/themes/default/layouts/partials/contents-list/list-item-types/grid.html +30 -0
  98. package/bin/themes/default/layouts/partials/contents-list/section-heading.html +5 -0
  99. package/bin/themes/default/layouts/partials/contents-list.html +207 -0
  100. package/bin/themes/default/layouts/partials/contributor-info.html +78 -0
  101. package/bin/themes/default/layouts/partials/contributor-list.html +102 -0
  102. package/bin/themes/default/layouts/partials/copyright.html +155 -0
  103. package/bin/themes/default/layouts/partials/debug-contents.html +8 -0
  104. package/bin/themes/default/layouts/partials/dublin-core.html +21 -0
  105. package/bin/themes/default/layouts/partials/error-message.html +19 -0
  106. package/bin/themes/default/layouts/partials/figure-caption.html +1 -0
  107. package/bin/themes/default/layouts/partials/figure-fallback.html +31 -0
  108. package/bin/themes/default/layouts/partials/figure-image.html +44 -0
  109. package/bin/themes/default/layouts/partials/figure-label.html +15 -0
  110. package/bin/themes/default/layouts/partials/figure-soundcloud.html +25 -0
  111. package/bin/themes/default/layouts/partials/figure-table.html +44 -0
  112. package/bin/themes/default/layouts/partials/figure-vimeo.html +24 -0
  113. package/bin/themes/default/layouts/partials/figure-website.html +21 -0
  114. package/bin/themes/default/layouts/partials/figure-youtube.html +23 -0
  115. package/bin/themes/default/layouts/partials/figures/caption.html +44 -0
  116. package/bin/themes/default/layouts/partials/figures/label.html +35 -0
  117. package/bin/themes/default/layouts/partials/figures/media-types/fallback.html +32 -0
  118. package/bin/themes/default/layouts/partials/figures/media-types/image.html +54 -0
  119. package/bin/themes/default/layouts/partials/figures/media-types/soundcloud.html +35 -0
  120. package/bin/themes/default/layouts/partials/figures/media-types/table.html +53 -0
  121. package/bin/themes/default/layouts/partials/figures/media-types/vimeo.html +34 -0
  122. package/bin/themes/default/layouts/partials/figures/media-types/website.html +24 -0
  123. package/bin/themes/default/layouts/partials/figures/media-types/youtube.html +29 -0
  124. package/bin/themes/default/layouts/partials/footer-buttons.html +29 -0
  125. package/bin/themes/default/layouts/partials/head.html +46 -0
  126. package/bin/themes/default/layouts/partials/icon.html +20 -0
  127. package/bin/themes/default/layouts/partials/icons-cc.html +86 -0
  128. package/bin/themes/default/layouts/partials/icons.html +54 -0
  129. package/bin/themes/default/layouts/partials/json-ld.html +117 -0
  130. package/bin/themes/default/layouts/partials/link-list-arrow.html +16 -0
  131. package/bin/themes/default/layouts/partials/link-list.html +11 -0
  132. package/bin/themes/default/layouts/partials/menu-header.html +25 -0
  133. package/bin/themes/default/layouts/partials/menu.html +69 -0
  134. package/bin/themes/default/layouts/partials/metadata.html +27 -0
  135. package/bin/themes/default/layouts/partials/navbar.html +173 -0
  136. package/bin/themes/default/layouts/partials/open-graph.html +43 -0
  137. package/bin/themes/default/layouts/partials/page-abstract.html +7 -0
  138. package/bin/themes/default/layouts/partials/page-bibliography.html +59 -0
  139. package/bin/themes/default/layouts/partials/page-class.html +9 -0
  140. package/bin/themes/default/layouts/partials/page-contributor.html +48 -0
  141. package/bin/themes/default/layouts/partials/page-header.html +22 -0
  142. package/bin/themes/default/layouts/partials/page-title.html +9 -0
  143. package/bin/themes/default/layouts/partials/page-tombstone.html +36 -0
  144. package/bin/themes/default/layouts/partials/pdf-info.html +20 -0
  145. package/bin/themes/default/layouts/partials/pdf-title-pages.html +39 -0
  146. package/bin/themes/default/layouts/partials/scripts.html +5 -0
  147. package/bin/themes/default/layouts/partials/search.html +52 -0
  148. package/bin/themes/default/layouts/partials/site-title.html +9 -0
  149. package/bin/themes/default/layouts/partials/tests/check-node-modules.html +9 -0
  150. package/bin/themes/default/layouts/partials/tests/check-page-one-class.html +21 -0
  151. package/bin/themes/default/layouts/partials/tests/check-page-weights.html +49 -0
  152. package/bin/themes/default/layouts/partials/tests/run.html +13 -0
  153. package/bin/themes/default/layouts/partials/twitter-card.html +23 -0
  154. package/bin/themes/default/layouts/shortcodes/q-bibliography.html +61 -0
  155. package/bin/themes/default/layouts/shortcodes/q-cite.html +79 -0
  156. package/bin/themes/default/layouts/shortcodes/q-class.html +3 -0
  157. package/bin/themes/default/layouts/shortcodes/q-contributor.html +327 -0
  158. package/bin/themes/default/layouts/shortcodes/q-contributors.html +11 -0
  159. package/bin/themes/default/layouts/shortcodes/q-figure-group.html +457 -0
  160. package/bin/themes/default/layouts/shortcodes/q-figure-new.html +70 -0
  161. package/bin/themes/default/layouts/shortcodes/q-figure-zoom.html +408 -0
  162. package/bin/themes/default/layouts/shortcodes/q-figure.html +86 -0
  163. package/bin/themes/default/layouts/sitemap.xml +24 -0
  164. package/bin/themes/default/layouts/splash/single.html +67 -0
  165. package/bin/themes/default/package-lock.json +13198 -0
  166. package/bin/themes/default/package.json +96 -0
  167. package/bin/themes/default/source/css/application.scss +30 -0
  168. package/bin/themes/default/source/css/bulma-components.scss +21 -0
  169. package/bin/themes/default/source/css/colors.scss +16 -0
  170. package/bin/themes/default/source/css/components/_all.scss +15 -0
  171. package/bin/themes/default/source/css/components/container.sass +35 -0
  172. package/bin/themes/default/source/css/components/quire-buttons.scss +95 -0
  173. package/bin/themes/default/source/css/components/quire-citation.scss +77 -0
  174. package/bin/themes/default/source/css/components/quire-contents-list.scss +329 -0
  175. package/bin/themes/default/source/css/components/quire-contributors.scss +131 -0
  176. package/bin/themes/default/source/css/components/quire-copyright.scss +28 -0
  177. package/bin/themes/default/source/css/components/quire-cover.scss +216 -0
  178. package/bin/themes/default/source/css/components/quire-deepzoom.scss +181 -0
  179. package/bin/themes/default/source/css/components/quire-entry.scss +651 -0
  180. package/bin/themes/default/source/css/components/quire-figure.scss +589 -0
  181. package/bin/themes/default/source/css/components/quire-map.scss +17 -0
  182. package/bin/themes/default/source/css/components/quire-menu.scss +209 -0
  183. package/bin/themes/default/source/css/components/quire-navbar.scss +366 -0
  184. package/bin/themes/default/source/css/components/quire-page.scss +920 -0
  185. package/bin/themes/default/source/css/components/quire-popup.scss +233 -0
  186. package/bin/themes/default/source/css/components/quire-search.scss +121 -0
  187. package/bin/themes/default/source/css/epub.scss +549 -0
  188. package/bin/themes/default/source/css/fonts.scss +159 -0
  189. package/bin/themes/default/source/css/layout.scss +186 -0
  190. package/bin/themes/default/source/css/print.scss +613 -0
  191. package/bin/themes/default/source/css/utilities.scss +345 -0
  192. package/bin/themes/default/source/css/variables.scss +144 -0
  193. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.eot +0 -0
  194. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.woff +0 -0
  195. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bold.woff2 +0 -0
  196. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.eot +0 -0
  197. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.woff +0 -0
  198. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-bolditalic.woff2 +0 -0
  199. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.eot +0 -0
  200. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.woff +0 -0
  201. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-italic.woff2 +0 -0
  202. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.eot +0 -0
  203. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.woff +0 -0
  204. package/bin/themes/default/source/fonts/ibm-plex-sans-condensed/ibmplexsanscondensed-regular.woff2 +0 -0
  205. package/bin/themes/default/source/fonts/noto-sans/notosans-bold.eot +0 -0
  206. package/bin/themes/default/source/fonts/noto-sans/notosans-bold.woff +0 -0
  207. package/bin/themes/default/source/fonts/noto-sans/notosans-bold.woff2 +0 -0
  208. package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.eot +0 -0
  209. package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.woff +0 -0
  210. package/bin/themes/default/source/fonts/noto-sans/notosans-bolditalic.woff2 +0 -0
  211. package/bin/themes/default/source/fonts/noto-sans/notosans-italic.eot +0 -0
  212. package/bin/themes/default/source/fonts/noto-sans/notosans-italic.woff +0 -0
  213. package/bin/themes/default/source/fonts/noto-sans/notosans-italic.woff2 +0 -0
  214. package/bin/themes/default/source/fonts/noto-sans/notosans-regular.eot +0 -0
  215. package/bin/themes/default/source/fonts/noto-sans/notosans-regular.woff +0 -0
  216. package/bin/themes/default/source/fonts/noto-sans/notosans-regular.woff2 +0 -0
  217. package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.eot +0 -0
  218. package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.woff +0 -0
  219. package/bin/themes/default/source/fonts/noto-serif/notoserif-bold.woff2 +0 -0
  220. package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.eot +0 -0
  221. package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.woff +0 -0
  222. package/bin/themes/default/source/fonts/noto-serif/notoserif-bolditalic.woff2 +0 -0
  223. package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.eot +0 -0
  224. package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.woff +0 -0
  225. package/bin/themes/default/source/fonts/noto-serif/notoserif-italic.woff2 +0 -0
  226. package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.eot +0 -0
  227. package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.woff +0 -0
  228. package/bin/themes/default/source/fonts/noto-serif/notoserif-regular.woff2 +0 -0
  229. package/bin/themes/default/source/img/cover.png +0 -0
  230. package/bin/themes/default/source/img/fullscreen.png +0 -0
  231. package/bin/themes/default/source/img/icons/arrow_forward.png +0 -0
  232. package/bin/themes/default/source/img/icons/baseline-headset-24px.png +0 -0
  233. package/bin/themes/default/source/img/icons/baseline-videocam-24px.png +0 -0
  234. package/bin/themes/default/source/img/icons/baseline-website-24px.png +0 -0
  235. package/bin/themes/default/source/img/icons/cc-by-nc-nd.png +0 -0
  236. package/bin/themes/default/source/img/icons/cc-by-nc-sa.png +0 -0
  237. package/bin/themes/default/source/img/icons/cc-by-nc.png +0 -0
  238. package/bin/themes/default/source/img/icons/cc-by-nd.png +0 -0
  239. package/bin/themes/default/source/img/icons/cc-by-sa.png +0 -0
  240. package/bin/themes/default/source/img/icons/cc-by.png +0 -0
  241. package/bin/themes/default/source/img/icons/cc-zero.png +0 -0
  242. package/bin/themes/default/source/img/icons/close.png +0 -0
  243. package/bin/themes/default/source/img/icons/down-arrow.png +0 -0
  244. package/bin/themes/default/source/img/icons/download.png +0 -0
  245. package/bin/themes/default/source/img/icons/favicon.ico +0 -0
  246. package/bin/themes/default/source/img/icons/home.png +0 -0
  247. package/bin/themes/default/source/img/icons/left-arrow.png +0 -0
  248. package/bin/themes/default/source/img/icons/link.png +0 -0
  249. package/bin/themes/default/source/img/icons/nav.png +0 -0
  250. package/bin/themes/default/source/img/icons/right-arrow.png +0 -0
  251. package/bin/themes/default/source/img/icons/search.png +0 -0
  252. package/bin/themes/default/source/img/icons/start.png +0 -0
  253. package/bin/themes/default/source/img/layers-2x.png +0 -0
  254. package/bin/themes/default/source/img/layers.png +0 -0
  255. package/bin/themes/default/source/img/marker-icon.png +0 -0
  256. package/bin/themes/default/source/img/pattern-spiral-overlay.png +0 -0
  257. package/bin/themes/default/source/img/promo-screenshots/classic-catalogue.png +0 -0
  258. package/bin/themes/default/source/img/promo-screenshots/classic-entry.png +0 -0
  259. package/bin/themes/default/source/img/promo-screenshots/classic-essay.png +0 -0
  260. package/bin/themes/default/source/img/promo-screenshots/modern-contents.png +0 -0
  261. package/bin/themes/default/source/img/promo-screenshots/modern-cover.png +0 -0
  262. package/bin/themes/default/source/img/promo-screenshots/modern-essay.png +0 -0
  263. package/bin/themes/default/source/js/application.js +604 -0
  264. package/bin/themes/default/source/js/deepzoom.js +186 -0
  265. package/bin/themes/default/source/js/epub.js +9 -0
  266. package/bin/themes/default/source/js/fullscreen.js +190 -0
  267. package/bin/themes/default/source/js/helper.js +197 -0
  268. package/bin/themes/default/source/js/map.js +94 -0
  269. package/bin/themes/default/source/js/navigation.js +59 -0
  270. package/bin/themes/default/source/js/popup.js +311 -0
  271. package/bin/themes/default/source/js/search.js +35 -0
  272. package/bin/themes/default/source/js/soundcloud-api.js +1 -0
  273. package/bin/themes/default/static/css/epub.css +401 -0
  274. package/bin/themes/default/static/fonts/MaterialIcons-Regular.eot +0 -0
  275. package/bin/themes/default/static/fonts/MaterialIcons-Regular.woff +0 -0
  276. package/bin/themes/default/static/fonts/MaterialIcons-Regular.woff2 +0 -0
  277. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.eot +0 -0
  278. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.woff +0 -0
  279. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bold.woff2 +0 -0
  280. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.eot +0 -0
  281. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.woff +0 -0
  282. package/bin/themes/default/static/fonts/ibmplexsanscondensed-bolditalic.woff2 +0 -0
  283. package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.eot +0 -0
  284. package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.woff +0 -0
  285. package/bin/themes/default/static/fonts/ibmplexsanscondensed-italic.woff2 +0 -0
  286. package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.eot +0 -0
  287. package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.woff +0 -0
  288. package/bin/themes/default/static/fonts/ibmplexsanscondensed-regular.woff2 +0 -0
  289. package/bin/themes/default/static/fonts/notosans-bold.eot +0 -0
  290. package/bin/themes/default/static/fonts/notosans-bold.woff +0 -0
  291. package/bin/themes/default/static/fonts/notosans-bold.woff2 +0 -0
  292. package/bin/themes/default/static/fonts/notosans-bolditalic.eot +0 -0
  293. package/bin/themes/default/static/fonts/notosans-bolditalic.woff +0 -0
  294. package/bin/themes/default/static/fonts/notosans-bolditalic.woff2 +0 -0
  295. package/bin/themes/default/static/fonts/notosans-italic.eot +0 -0
  296. package/bin/themes/default/static/fonts/notosans-italic.woff +0 -0
  297. package/bin/themes/default/static/fonts/notosans-italic.woff2 +0 -0
  298. package/bin/themes/default/static/fonts/notosans-regular.eot +0 -0
  299. package/bin/themes/default/static/fonts/notosans-regular.woff +0 -0
  300. package/bin/themes/default/static/fonts/notosans-regular.woff2 +0 -0
  301. package/bin/themes/default/static/fonts/notoserif-bold.eot +0 -0
  302. package/bin/themes/default/static/fonts/notoserif-bold.woff +0 -0
  303. package/bin/themes/default/static/fonts/notoserif-bold.woff2 +0 -0
  304. package/bin/themes/default/static/fonts/notoserif-bolditalic.eot +0 -0
  305. package/bin/themes/default/static/fonts/notoserif-bolditalic.woff +0 -0
  306. package/bin/themes/default/static/fonts/notoserif-bolditalic.woff2 +0 -0
  307. package/bin/themes/default/static/fonts/notoserif-italic.eot +0 -0
  308. package/bin/themes/default/static/fonts/notoserif-italic.woff +0 -0
  309. package/bin/themes/default/static/fonts/notoserif-italic.woff2 +0 -0
  310. package/bin/themes/default/static/fonts/notoserif-regular.eot +0 -0
  311. package/bin/themes/default/static/fonts/notoserif-regular.woff +0 -0
  312. package/bin/themes/default/static/fonts/notoserif-regular.woff2 +0 -0
  313. package/bin/themes/default/static/img/baseline-website-24px.png +0 -0
  314. package/bin/themes/default/static/img/cover.png +0 -0
  315. package/bin/themes/default/static/img/fullscreen.png +0 -0
  316. package/bin/themes/default/static/img/fullscreen@2x.png +0 -0
  317. package/bin/themes/default/static/img/icons/arrow_forward.png +0 -0
  318. package/bin/themes/default/static/img/icons/baseline-headset-24px.png +0 -0
  319. package/bin/themes/default/static/img/icons/baseline-videocam-24px.png +0 -0
  320. package/bin/themes/default/static/img/icons/baseline-website-24px.png +0 -0
  321. package/bin/themes/default/static/img/icons/cc-by-nc-nd.png +0 -0
  322. package/bin/themes/default/static/img/icons/cc-by-nc-sa.png +0 -0
  323. package/bin/themes/default/static/img/icons/cc-by-nc.png +0 -0
  324. package/bin/themes/default/static/img/icons/cc-by-nd.png +0 -0
  325. package/bin/themes/default/static/img/icons/cc-by-sa.png +0 -0
  326. package/bin/themes/default/static/img/icons/cc-by.png +0 -0
  327. package/bin/themes/default/static/img/icons/cc-zero.png +0 -0
  328. package/bin/themes/default/static/img/icons/close.png +0 -0
  329. package/bin/themes/default/static/img/icons/down-arrow.png +0 -0
  330. package/bin/themes/default/static/img/icons/download.png +0 -0
  331. package/bin/themes/default/static/img/icons/favicon.ico +0 -0
  332. package/bin/themes/default/static/img/icons/home.png +0 -0
  333. package/bin/themes/default/static/img/icons/left-arrow.png +0 -0
  334. package/bin/themes/default/static/img/icons/link.png +0 -0
  335. package/bin/themes/default/static/img/icons/nav.png +0 -0
  336. package/bin/themes/default/static/img/icons/right-arrow.png +0 -0
  337. package/bin/themes/default/static/img/icons/search.png +0 -0
  338. package/bin/themes/default/static/img/icons/soundcloud.png +0 -0
  339. package/bin/themes/default/static/img/icons/start.png +0 -0
  340. package/bin/themes/default/static/img/icons/vimeo.png +0 -0
  341. package/bin/themes/default/static/img/icons/website.png +0 -0
  342. package/bin/themes/default/static/img/icons/youtube.png +0 -0
  343. package/bin/themes/default/static/img/layers-2x.png +0 -0
  344. package/bin/themes/default/static/img/layers.png +0 -0
  345. package/bin/themes/default/static/img/marker-icon.png +0 -0
  346. package/bin/themes/default/static/img/pattern-spiral-overlay.png +0 -0
  347. package/bin/themes/default/tests/.gitkeep +0 -0
  348. package/bin/themes/default/tests/e2e/.eslintrc.js +9 -0
  349. package/bin/themes/default/tests/e2e/fixtures/blns.json +483 -0
  350. package/bin/themes/default/tests/e2e/plugins/index.js +22 -0
  351. package/bin/themes/default/tests/e2e/specs/quire-contents.spec.js +52 -0
  352. package/bin/themes/default/tests/e2e/specs/quire-contributors.spec.js +66 -0
  353. package/bin/themes/default/tests/e2e/specs/quire-entry.spec.js +104 -0
  354. package/bin/themes/default/tests/e2e/specs/quire-essay.spec.js +105 -0
  355. package/bin/themes/default/tests/e2e/specs/quire-menu.spec.js +38 -0
  356. package/bin/themes/default/tests/e2e/specs/quire-modal.spec.js +69 -0
  357. package/bin/themes/default/tests/e2e/specs/quire-next-back-buttons.spec.js +27 -0
  358. package/bin/themes/default/tests/e2e/specs/quire-page.spec.js +28 -0
  359. package/bin/themes/default/tests/e2e/specs/quire-search.spec.js +48 -0
  360. package/bin/themes/default/tests/e2e/specs/quire-splash.spec.js +38 -0
  361. package/bin/themes/default/tests/e2e/support/commands.js +25 -0
  362. package/bin/themes/default/tests/e2e/support/index.js +20 -0
  363. package/bin/themes/default/theme.toml +22 -0
  364. package/bin/themes/default/tsconfig.json +5 -0
  365. package/bin/themes/default/webpack/webpack.config.dev.js +128 -0
  366. package/bin/themes/default/webpack/webpack.config.epub.js +140 -0
  367. package/bin/themes/default/webpack/webpack.config.pdf.js +135 -0
  368. package/bin/themes/default/webpack/webpack.config.prod.js +133 -0
  369. package/package.json +1 -1
  370. package/index.js +0 -20
@@ -0,0 +1,104 @@
1
+ describe("Quire Entry Template", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/catalogue/1/");
4
+ });
5
+
6
+ it("will go to the next image", () => {
7
+ cy.get("#next-image").click();
8
+ cy.get(".first-image").should("not.be.visible");
9
+ cy.get(".current-image").should("be.visible");
10
+ });
11
+
12
+ it("will go to the previous image", () => {
13
+ cy.get("#prev-image").click();
14
+ cy.get(".first-image").should("not.be.visible");
15
+ cy.get(".last-image").should("be.visible");
16
+ });
17
+
18
+ it("will download the image", () => {
19
+ cy.get(".quire-image-control--download").then(anchor => {
20
+ let href = anchor.attr("href");
21
+ let url = new URL(href, window.location.origin).href;
22
+ cy.request(url).then(response => {
23
+ expect(response.status).to.eq(200);
24
+ });
25
+ });
26
+ });
27
+
28
+ /**
29
+ *
30
+ * This mostly works. However in some browsers for
31
+ * cypress, It will error with "Failed to execute
32
+ * 'requestFullscreen' on 'Element': API can only be initiated by
33
+ * a user gesture." This test passes becasue it does not
34
+ * detect that fullscreen API has been initialized, but
35
+ * it looks that the "fullscreen" class has been added to
36
+ * style the button.
37
+ * Issues on Github => https://github.com/cypress-io/cypress/issues/311,
38
+ * https://github.com/cypress-io/cypress/issues/1213
39
+ *
40
+ */
41
+ it("should fullscreen the image", () => {
42
+ cy.get("#toggleFullscreen").click();
43
+ cy.get("#toggleFullscreen").then(element => {
44
+ let c = element.attr("class");
45
+ expect(c.indexOf("fullscreen") !== -1).to.eq(true);
46
+ });
47
+ });
48
+
49
+ // Test Core Elements of Entry
50
+
51
+ it("will have a main heading element", () => {
52
+ cy.get(".quire-page__header__title").should("exist");
53
+ cy.get(".quire-page__header__title")
54
+ .invoke("text")
55
+ .then(text => {
56
+ expect(text.length > 0).to.eq(true);
57
+ });
58
+ });
59
+
60
+ it("will have a tombstone element", () => {
61
+ cy.get(".quire-entry__tombstone").should("exist");
62
+ cy.get(".quire-entry__tombstone")
63
+ .invoke("text")
64
+ .then(text => {
65
+ expect(text.length > 0).to.eq(true);
66
+ });
67
+ });
68
+
69
+ it("will have a caption for the entry figure", () => {
70
+ cy.get(
71
+ ".current-image div:nth-child(3) span:nth-child(1) span:nth-child(1)"
72
+ ).should("exist");
73
+ cy.get(
74
+ ".current-image div:nth-child(3) span:nth-child(1) span:nth-child(1)"
75
+ )
76
+ .invoke("text")
77
+ .then(text => {
78
+ expect(text.length > 0).to.eq(true);
79
+ });
80
+ });
81
+
82
+ it("will have core wrapper class 'quire__primary' with an id", () => {
83
+ cy.get(".quire__primary").then(element => {
84
+ cy.get(element).should("exist");
85
+ let id = element.attr("id");
86
+ expect(id.length > 0).to.eq(true);
87
+ });
88
+ });
89
+
90
+ it("will have a hero section with section element to display main heading", () => {
91
+ cy.get(".quire-entry__header")
92
+ .find(".quire-page__header__title")
93
+ .then(element => {
94
+ cy.get(element).should("exist");
95
+ let id = element.attr("id");
96
+ expect(id.length > 0).to.eq(true);
97
+ cy.get(element)
98
+ .invoke("text")
99
+ .then(text => {
100
+ expect(text.length > 0).to.eq(true);
101
+ });
102
+ });
103
+ });
104
+ });
@@ -0,0 +1,105 @@
1
+ describe("Quire Essay Template", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/essay/");
4
+ });
5
+
6
+ it("figure will have an id with deepzoom or map or iiif", () => {
7
+ cy.get(".q-figure__wrapper")
8
+ .find("figure.quire-figure")
9
+ .then(element => {
10
+ cy.get(element).should("exist");
11
+ let id = element.attr("id");
12
+ expect(
13
+ id.indexOf("deepzoom") !== -1 ||
14
+ id.indexOf("map") !== -1 ||
15
+ id.indexOf("iiif") !== -1
16
+ ).to.eq(true);
17
+ });
18
+ });
19
+
20
+ it("figure will have caption element with text", () => {
21
+ cy.get(".q-figure__wrapper")
22
+ .find(".quire-figure__caption")
23
+ .then(element => {
24
+ cy.get(element).should("exist");
25
+ cy.get(element)
26
+ .invoke("text")
27
+ .then(text => {
28
+ expect(text.length > 0).to.eq(true);
29
+ });
30
+ });
31
+ });
32
+
33
+ it("figure will have popup element with data-type of 'inline'", () => {
34
+ cy.get(".q-figure__wrapper")
35
+ .find(".popup")
36
+ .then(element => {
37
+ cy.get(element).should("exist");
38
+ let dataType = element.attr("data-type");
39
+ expect(dataType.indexOf("inline") !== -1).to.eq(true);
40
+ });
41
+ });
42
+
43
+ it("figure will have image element with class of 'quire-figure__image' that has a source attribute", () => {
44
+ cy.get(".q-figure__wrapper")
45
+ .find(".quire-figure__image")
46
+ .then(element => {
47
+ cy.get(element).should("exist");
48
+ let src = element.attr("src");
49
+ expect(src.length > 0).to.eq(true);
50
+ });
51
+ });
52
+
53
+ it("figure group will have a child of 'quire-figure--group__row'", () => {
54
+ cy.get("figure.quire-figure--group")
55
+ .find(".quire-figure--group__row")
56
+ .then(element => {
57
+ cy.get(element).should("exist");
58
+ });
59
+ });
60
+
61
+ it("'quire-figure--group__row' will have a child of 'quire-figure--group__item' and 2 groups of them for class 'quire-grid--2'", () => {
62
+ cy.get(".quire-figure--group__row")
63
+ .find(".quire-grid--2.quire-figure--group__item")
64
+ .then(element => {
65
+ cy.get(element).should("exist");
66
+ cy.get(element).should("have.length", 4);
67
+ });
68
+ });
69
+
70
+ it("will have core wrapper class 'quire__primary'", () => {
71
+ cy.get(".quire__primary").then(element => {
72
+ cy.get(element).should("exist");
73
+ let id = element.attr("id");
74
+ expect(id.length > 0).to.eq(true);
75
+ });
76
+ });
77
+
78
+ it("will have a hero section with section element to display main heading", () => {
79
+ cy.get(".quire-page__header")
80
+ .find(".quire-page__header__title")
81
+ .then(element => {
82
+ cy.get(element).should("exist");
83
+ let id = element.attr("id");
84
+ expect(id.length > 0).to.eq(true);
85
+ cy.get(element)
86
+ .invoke("text")
87
+ .then(text => {
88
+ expect(text.length > 0).to.eq(true);
89
+ });
90
+ });
91
+ });
92
+
93
+ it("will have a hero section with section element to display contributor or author info", () => {
94
+ cy.get(".quire-page__header")
95
+ .find(".quire-page__header__contributor")
96
+ .then(element => {
97
+ cy.get(element).should("exist");
98
+ cy.get(element)
99
+ .invoke("text")
100
+ .then(text => {
101
+ expect(text.length > 0).to.eq(true);
102
+ });
103
+ });
104
+ });
105
+ });
@@ -0,0 +1,38 @@
1
+ describe("Quire Site Menu Core Elements and Functions", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/");
4
+ });
5
+
6
+ it("toggles the side menu", () => {
7
+ cy.get("#site-menu").should("not.be.visible");
8
+ cy.get("#quire-controls-menu-button").click();
9
+ cy.get("#site-menu").should("be.visible");
10
+ });
11
+
12
+ it("should have a title", () => {
13
+ cy.get(".quire-menu__header__title").should("exist");
14
+ });
15
+
16
+ it("should have nav link list", () => {
17
+ cy.get("#site-menu").should("not.be.visible");
18
+ cy.get("#quire-controls-menu-button").click();
19
+ cy.get("#site-menu").should("be.visible");
20
+ cy.get("#nav ul li a").should("exist");
21
+ cy.get("#nav > ul:nth-child(2) > li:nth-child(1) > a:nth-child(1)")
22
+ .should("exist")
23
+ .click();
24
+ });
25
+
26
+ it("should have other formats", () => {
27
+ cy.get("div.quire-menu__formats:nth-child(3) h6").should("exist");
28
+ cy.get("div.quire-menu__formats:nth-child(3) ul li").should(
29
+ "have.length",
30
+ 3
31
+ );
32
+ });
33
+
34
+ it("should have cite this page", () => {
35
+ cy.get("div.quire-menu__formats:nth-child(4) h6").should("exist");
36
+ cy.get("div.quire-menu__formats:nth-child(4) div").should("have.length", 2);
37
+ });
38
+ });
@@ -0,0 +1,69 @@
1
+ describe("Quire Modal Image viewer Core Functions", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/essay/");
4
+ });
5
+
6
+ // click 1st image and open modal viewer
7
+ it("open modal image viewer", () => {
8
+ cy.get(".mfp-content").should("not.be.visible");
9
+ cy.get(
10
+ "#content div div.content figure.quire-figure.is-pulled-center"
11
+ ).click();
12
+ cy.get(".mfp-content").should("be.visible");
13
+ });
14
+
15
+ // click 1st image and open modal viewer and go to next image
16
+ it("open modal image viewer and go to next image", async () => {
17
+ cy.get(".mfp-content").should("not.be.visible");
18
+ cy.get(
19
+ "#content div div.content figure.quire-figure.is-pulled-center"
20
+ ).click();
21
+ cy.get(".mfp-content").should("be.visible");
22
+ cy.get(".mfp-arrow-right").click();
23
+ cy.get(".quire-counter-container span").then(element => {
24
+ let title = element.attr("title");
25
+ expect(title.indexOf("2 of 8") !== -1).to.eq(true);
26
+ });
27
+ });
28
+
29
+ // click 1st image and open modal viewer and got to the previous image
30
+ it("open modal image viewer and go to previous image", async () => {
31
+ cy.get(".mfp-content").should("not.be.visible");
32
+ cy.get(
33
+ "#content div div.content figure.quire-figure.is-pulled-center"
34
+ ).click();
35
+ cy.get(".mfp-content").should("be.visible");
36
+ cy.get(".mfp-arrow-left").click();
37
+ cy.get(".quire-counter-container span").then(element => {
38
+ let title = element.attr("title");
39
+ expect(title.indexOf("8 of 8") !== -1).to.eq(true);
40
+ });
41
+ });
42
+
43
+ /**
44
+ *
45
+ * This mostly works. However in some browsers for
46
+ * cypress, it will warn with "Failed to execute
47
+ * 'requestFullscreen' on 'Element': API can only be initiated by
48
+ * a user gesture." This test passes becasue it does not
49
+ * detect that fullscreen API has been initialized, but
50
+ * it looks that the "fullscreen" class has been added to
51
+ * style the button.
52
+ * Issues on Github => https://github.com/cypress-io/cypress/issues/311,
53
+ * https://github.com/cypress-io/cypress/issues/1213
54
+ *
55
+ */
56
+ // click 1st image and open modal viewer and click full screen button
57
+ it("open modal image viewer and click full screen button", async () => {
58
+ cy.get(".mfp-content").should("not.be.visible");
59
+ cy.get(
60
+ "#content div div.content figure.quire-figure.is-pulled-center"
61
+ ).click();
62
+ cy.get(".mfp-content").should("be.visible");
63
+ cy.get("#toggleFullscreen").click();
64
+ cy.get("#toggleFullscreen").then(element => {
65
+ let c = element.attr("class");
66
+ expect(c.indexOf("fullscreen") !== -1).to.eq(true);
67
+ });
68
+ });
69
+ });
@@ -0,0 +1,27 @@
1
+ describe("Quire < Prev Next > Buttons", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/contents/");
4
+ });
5
+
6
+ it("will have a 'quire-contents-buttons' with 2 buttons", () => {
7
+ cy.get(".quire-contents-buttons ul")
8
+ .find(".quire-nav-button a")
9
+ .then(anchor => {
10
+ cy.get(anchor).should("exist");
11
+ cy.get(anchor).should("have.length", 2);
12
+ });
13
+ });
14
+
15
+ it("Both buttons will link to pages that have a status code of 200", () => {
16
+ cy.get(".quire-contents-buttons ul")
17
+ .find(".quire-nav-button a")
18
+ .then(anchor => {
19
+ cy.get(anchor).should("exist");
20
+ let href = anchor.attr("href");
21
+ let url = new URL(href, window.location.origin).href;
22
+ cy.request(url).then(response => {
23
+ expect(response.status).to.eq(200);
24
+ });
25
+ });
26
+ });
27
+ });
@@ -0,0 +1,28 @@
1
+ describe("Quire Page Template", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/contributors/");
4
+ });
5
+
6
+ it("will have core wrapper class 'quire__primary' with an id", () => {
7
+ cy.get(".quire__primary").then(element => {
8
+ cy.get(element).should("exist");
9
+ let id = element.attr("id");
10
+ expect(id.length > 0).to.eq(true);
11
+ });
12
+ });
13
+
14
+ it("will have a hero section with section element to display main heading", () => {
15
+ cy.get(".quire-page__header")
16
+ .find(".quire-page__header__title")
17
+ .then(element => {
18
+ cy.get(element).should("exist");
19
+ let id = element.attr("id");
20
+ expect(id.length > 0).to.eq(true);
21
+ cy.get(element)
22
+ .invoke("text")
23
+ .then(text => {
24
+ expect(text.length > 0).to.eq(true);
25
+ });
26
+ });
27
+ });
28
+ });
@@ -0,0 +1,48 @@
1
+ describe("Quire Site Search Core Functions", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/");
4
+ });
5
+
6
+ it("should open search", () => {
7
+ cy.get("#js-search").should("not.be.visible");
8
+ cy.get(".search-button").click();
9
+ cy.get("#js-search").should("be.visible");
10
+ });
11
+
12
+ it("should perform a search", () => {
13
+ cy.get("#js-search").should("not.be.visible");
14
+ cy.get(".search-button").click();
15
+ cy.get("#js-search").should("be.visible");
16
+ cy.get("input[name=search]").type("Walker Evans");
17
+ });
18
+
19
+ it("should click a search link", () => {
20
+ cy.get("#js-search").should("not.be.visible");
21
+ cy.get(".search-button").click();
22
+ cy.get("#js-search").should("be.visible");
23
+ cy.get("input[name=search]").type("Walker Evans");
24
+ cy.get("li.quire-search__inner__list-item:nth-child(1) a:nth-child(1)")
25
+ .should("exist")
26
+ .click();
27
+ });
28
+
29
+ it("search.json data and element should exist", () => {
30
+ cy.get("#js-search").should("exist");
31
+ cy.get("#js-search").then(element => {
32
+ cy.get(element).should("exist");
33
+ let dataSearchindex = element.attr("data-search-index");
34
+ expect(dataSearchindex.length > 0).to.eq(true);
35
+ });
36
+ });
37
+
38
+ it("will check that search.json actually exists", () => {
39
+ cy.get("#js-search").should("exist");
40
+ cy.get("#js-search").then(element => {
41
+ let href = element.attr("data-search-index");
42
+ let url = new URL(href, window.location.origin).href;
43
+ cy.request(url).then(response => {
44
+ expect(response.status).to.eq(200);
45
+ });
46
+ });
47
+ });
48
+ });
@@ -0,0 +1,38 @@
1
+ describe("Quire Splash Page Tempalte", () => {
2
+ beforeEach(() => {
3
+ cy.visit("/intro/");
4
+ });
5
+
6
+ it("figure will have popup element with data-type of 'inline'", () => {
7
+ cy.get(".q-figure__wrapper")
8
+ .find(".popup")
9
+ .then(element => {
10
+ cy.get(element).should("exist");
11
+ let dataType = element.attr("data-type");
12
+ expect(dataType.indexOf("inline") !== -1).to.eq(true);
13
+ });
14
+ });
15
+
16
+ it("will have core wrapper class 'quire__primary'", () => {
17
+ cy.get(".quire__primary").then(element => {
18
+ cy.get(element).should("exist");
19
+ let id = element.attr("id");
20
+ expect(id.length > 0).to.eq(true);
21
+ });
22
+ });
23
+
24
+ it("will have a hero section with section element to display main heading", () => {
25
+ cy.get(".quire-page__header")
26
+ .find(".quire-page__header__title")
27
+ .then(element => {
28
+ cy.get(element).should("exist");
29
+ let id = element.attr("id");
30
+ expect(id.length > 0).to.eq(true);
31
+ cy.get(element)
32
+ .invoke("text")
33
+ .then(text => {
34
+ expect(text.length > 0).to.eq(true);
35
+ });
36
+ });
37
+ });
38
+ });
@@ -0,0 +1,25 @@
1
+ // ***********************************************
2
+ // This example commands.js shows you how to
3
+ // create various custom commands and overwrite
4
+ // existing commands.
5
+ //
6
+ // For more comprehensive examples of custom
7
+ // commands please read more here:
8
+ // https://on.cypress.io/custom-commands
9
+ // ***********************************************
10
+ //
11
+ //
12
+ // -- This is a parent command --
13
+ // Cypress.Commands.add("login", (email, password) => { ... })
14
+ //
15
+ //
16
+ // -- This is a child command --
17
+ // Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
18
+ //
19
+ //
20
+ // -- This is a dual command --
21
+ // Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
22
+ //
23
+ //
24
+ // -- This is will overwrite an existing command --
25
+ // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
@@ -0,0 +1,20 @@
1
+ // ***********************************************************
2
+ // This example support/index.js is processed and
3
+ // loaded automatically before your test files.
4
+ //
5
+ // This is a great place to put global configuration and
6
+ // behavior that modifies Cypress.
7
+ //
8
+ // You can change the location of this file or turn off
9
+ // automatically serving support files with the
10
+ // 'supportFile' configuration option.
11
+ //
12
+ // You can read more here:
13
+ // https://on.cypress.io/configuration
14
+ // ***********************************************************
15
+
16
+ // Import commands.js using ES2015 syntax:
17
+ import "./commands";
18
+
19
+ // Alternatively you can use CommonJS syntax:
20
+ // require('./commands')
@@ -0,0 +1,22 @@
1
+ # theme.toml template for a Hugo theme
2
+ # See https://github.com/spf13/hugoThemes#themetoml for an example
3
+
4
+ name = "Quire Starter Theme"
5
+ theme_version = "v0.18.0"
6
+ license = ""
7
+ licenselink = ""
8
+ description = ""
9
+ homepage = "https://github.com/gettypubs/quire-starter-theme/"
10
+ tags = []
11
+ features = []
12
+ min_version = ""
13
+
14
+ [author]
15
+ name = "J. Paul Getty Trust"
16
+ homepage = "http://www.getty.edu/"
17
+
18
+ # If porting an existing theme
19
+ [original]
20
+ name = ""
21
+ homepage = ""
22
+ repo = ""
@@ -0,0 +1,5 @@
1
+ {
2
+ "compilerOptions": {
3
+ // "types": ["jest", "node"]
4
+ }
5
+ }
@@ -0,0 +1,128 @@
1
+ // @ts-check
2
+
3
+ const path = require("path");
4
+ const webpack = require("webpack");
5
+ const MiniCssExtractPlugin = require("mini-css-extract-plugin");
6
+ const autoprefixer = require("autoprefixer");
7
+
8
+ const PATHS = {
9
+ source: path.join(__dirname, "../source"),
10
+ build: path.join(__dirname, "../static")
11
+ };
12
+
13
+ module.exports = {
14
+ mode: "development",
15
+ watch: true,
16
+ watchOptions: {
17
+ aggregateTimeout: 300,
18
+ poll: 3000
19
+ },
20
+ entry: {
21
+ source: path.join(PATHS.source, "js", "application.js")
22
+ },
23
+ output: {
24
+ path: PATHS.build,
25
+ publicPath: "/",
26
+ filename: path.join("js", "application.js")
27
+ },
28
+ module: {
29
+ rules: [
30
+ {
31
+ test: /\.js$/,
32
+ exclude: /node_modules/,
33
+ use: {
34
+ loader: "babel-loader",
35
+ options: {
36
+ presets: ["@babel/preset-env"]
37
+ }
38
+ }
39
+ },
40
+ {
41
+ test: /\.scss$/,
42
+ exclude: [/node_modules/, path.join(PATHS.build, "css", "epub.scss")],
43
+ use: [
44
+ "style-loader",
45
+ MiniCssExtractPlugin.loader,
46
+ "css-loader",
47
+ {
48
+ loader: "postcss-loader",
49
+ options: {
50
+ autoprefixer: {
51
+ browsers: ["last 3 versions"]
52
+ },
53
+ plugins: () => [autoprefixer]
54
+ }
55
+ },
56
+ "sass-loader"
57
+ ]
58
+ },
59
+ {
60
+ test: /\.css$/,
61
+ use: [
62
+ "style-loader",
63
+ MiniCssExtractPlugin.loader,
64
+ "css-loader",
65
+ {
66
+ loader: "postcss-loader",
67
+ options: {
68
+ autoprefixer: {
69
+ browsers: ["last 3 versions"]
70
+ },
71
+ plugins: () => [autoprefixer]
72
+ }
73
+ },
74
+ "sass-loader"
75
+ ]
76
+ },
77
+ {
78
+ test: /\.(woff|woff2|eot|ttf|otf)$/,
79
+ use: [
80
+ {
81
+ loader: "file-loader",
82
+ options: {
83
+ name: "[name].[ext]",
84
+ outputPath: "fonts/"
85
+ }
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ test: /\.(jpg|png|gif|svg)$/,
91
+ use: [
92
+ {
93
+ loader: "file-loader",
94
+ options: {
95
+ name: "[name].[ext]",
96
+ outputPath: "img/"
97
+ }
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ },
103
+ optimization: {
104
+ runtimeChunk: false,
105
+ splitChunks: {
106
+ cacheGroups: {
107
+ default: false,
108
+ commons: {
109
+ test: /[\\/]node_modules[\\/]/,
110
+ name: "vendor_app",
111
+ chunks: "all",
112
+ minChunks: 2
113
+ }
114
+ }
115
+ }
116
+ },
117
+ plugins: [
118
+ new MiniCssExtractPlugin({
119
+ filename: "css/application.css",
120
+ chunkFilename: "css/[id].css"
121
+ }),
122
+ new webpack.ProvidePlugin({
123
+ $: "jquery",
124
+ jQuery: "jquery",
125
+ "window.jQuery": "jquery"
126
+ })
127
+ ]
128
+ };