diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index c493d92..c5ec348 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -21,4 +21,4 @@ jobs: with: branch: gh-pages # The branch the action should deploy to. folder: editioncrafter/storybook-static # The folder that the build-storybook script generates files. - clean: true # Automatically remove deleted files from the deploy branch \ No newline at end of file + clean: true # Automatically remove deleted files from the deploy branch diff --git a/.gitignore b/.gitignore index 4fb48d9..0ce313e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ __tests__/integration/editioncrafter/css/ .cache/ storybook-static .DS_Store +.github diff --git a/astro-web/.gitignore b/astro-web/.gitignore index 7b1a23d..a270b87 100644 --- a/astro-web/.gitignore +++ b/astro-web/.gitignore @@ -22,3 +22,5 @@ pnpm-debug.log* # github workflows .github +.github/workflows + diff --git a/astro-web/package-lock.json b/astro-web/package-lock.json index 7a2ce22..efb8fbe 100644 --- a/astro-web/package-lock.json +++ b/astro-web/package-lock.json @@ -12,7 +12,7 @@ "@astrojs/mdx": "^2.1.1", "@astrojs/react": "^3.0.10", "@astrojs/tailwind": "^5.1.0", - "@cu-mkp/editioncrafter": "^1.0.1", + "@cu-mkp/editioncrafter": "^1.0.3", "@fontsource/dm-sans": "^5.0.19", "@fontsource/martel": "^5.0.12", "@fontsource/source-code-pro": "^5.0.17", @@ -620,14 +620,13 @@ } }, "node_modules/@cu-mkp/editioncrafter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@cu-mkp/editioncrafter/-/editioncrafter-1.0.1.tgz", - "integrity": "sha512-eb+9hWeqa4tS/1owy7Iz+y7WMM0NUMhQZH57gnHmmrscy7aDUtIAuvM5EXSrDNe1f6p1wjJTitrewrLn4Kykiw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@cu-mkp/editioncrafter/-/editioncrafter-1.0.3.tgz", + "integrity": "sha512-fIUynjWVRxvtu6y9rn9vyxjpySNSXKCvBIWeXPCgFIxX3QWAK7ylWGX9oFsLoq7YqJUZZPFNbmI3q8QmxYmXDw==", "dependencies": { "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "@recogito/annotorious-openseadragon": "^2.7.11", - "axios": "^1.3.4", "history": "^5.3.0", "html-react-parser": "^4.2.2", "openseadragon": "^4.1.0", @@ -2486,11 +2485,6 @@ "sharp": "^0.32.6" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/autoprefixer": { "version": "10.4.18", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", @@ -2546,16 +2540,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", - "dependencies": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/axobject-query": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", @@ -2735,11 +2719,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -3167,17 +3151,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "optional": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/comma-separated-tokens": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", @@ -3373,14 +3346,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4234,9 +4199,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4281,25 +4246,6 @@ "node": ">=8" } }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -4323,19 +4269,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -6827,25 +6760,6 @@ "node": ">=10.0.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", @@ -7829,11 +7743,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", diff --git a/astro-web/package.json b/astro-web/package.json index e82bc63..3a984fb 100644 --- a/astro-web/package.json +++ b/astro-web/package.json @@ -14,7 +14,7 @@ "@astrojs/mdx": "^2.1.1", "@astrojs/react": "^3.0.10", "@astrojs/tailwind": "^5.1.0", - "@cu-mkp/editioncrafter": "^1.0.1", + "@cu-mkp/editioncrafter": "^1.0.3", "@fontsource/dm-sans": "^5.0.19", "@fontsource/martel": "^5.0.12", "@fontsource/source-code-pro": "^5.0.17", diff --git a/astro-web/src/assets/footer/footer_logo.png b/astro-web/src/assets/footer/footer_logo.png new file mode 100644 index 0000000..6689f73 Binary files /dev/null and b/astro-web/src/assets/footer/footer_logo.png differ diff --git a/astro-web/src/assets/projects/thumbnails/odt.png b/astro-web/src/assets/projects/thumbnails/odt.png new file mode 100644 index 0000000..ca2603b Binary files /dev/null and b/astro-web/src/assets/projects/thumbnails/odt.png differ diff --git a/astro-web/src/components/FeatureTabs.tsx b/astro-web/src/components/FeatureTabs.tsx index 12a3e1d..fdda7bc 100644 --- a/astro-web/src/components/FeatureTabs.tsx +++ b/astro-web/src/components/FeatureTabs.tsx @@ -22,7 +22,7 @@ const FeatureTabs = () => { Supports multiple transcriptions and translations

- An edition can comprise multiple renditions of a source text, including transcriptions, normalized transcriptions, and translations. Through styling, it supports discontinuous text, inline figures, and special characters, EditionCrafter provides tools for precise transcription and translation. + An edition can comprise multiple renditions of a source text, including transcriptions, normalized transcriptions, and translations. Through styling, it supports discontinuous text, inline figures, and special characters. EditionCrafter provides tools for precise transcription and translation.

diff --git a/astro-web/src/components/Footer.astro b/astro-web/src/components/Footer.astro index 0cf4165..626299d 100644 --- a/astro-web/src/components/Footer.astro +++ b/astro-web/src/components/Footer.astro @@ -3,7 +3,7 @@ import Container from "./Container.astro"; import logo from "../assets/footer/editioncrafterlogo.svg"; import gh from "../assets/footer/github.svg"; import twitter from "../assets/footer/twitter.svg"; -import lizard from "../assets/footer/MKLizard.png"; +import lizard from "../assets/footer/footer_logo.png"; import nsf from "../assets/footer/NSF.png"; import pss from "../assets/footer/Performant_Logo.svg"; import { Image } from "astro:assets"; @@ -17,7 +17,7 @@ import { Image } from "astro:assets";

EditionCrafter

- Developed by the Making and Knowing Project at the Center for Science and Society at Columbia University and Performant Software Solutions LLC. Funded by a grant from the National Science Foundation. + Developed by the Making and Knowing Project at the Center for Science and Society at Columbia University and Performant Software Solutions LLC. Funded by Grant SES-2218218 from the National Science Foundation.

diff --git a/astro-web/src/components/ProjectCard.astro b/astro-web/src/components/ProjectCard.astro index ebbf43d..0aba6a9 100644 --- a/astro-web/src/components/ProjectCard.astro +++ b/astro-web/src/components/ProjectCard.astro @@ -13,15 +13,15 @@ const { title, img, href = '#', active = true } = Astro.props; --- -
+
{ img ? ( - {title} + {title} ) : ( -
+
{ !active &&

(Coming Soon)

}
) } -

+

{title}

diff --git a/astro-web/src/layouts/Viewer.astro b/astro-web/src/layouts/Viewer.astro index d77adc6..8b7a8ce 100644 --- a/astro-web/src/layouts/Viewer.astro +++ b/astro-web/src/layouts/Viewer.astro @@ -4,44 +4,75 @@ import Container from '../components/Container.astro'; import { Image } from 'astro:assets'; import leftArrow from '../assets/arrow-left.svg'; import EditionCrafter from "@cu-mkp/editioncrafter"; +import Button from '../components/Button.astro'; export interface Props { title: string, documentName: string, - transcriptionTypes: any, - iiifManifest: string, + transcriptionTypes?: any, + iiifManifest?: string, glossaryURL?: string, documentInfo?: any, - threePanel?: boolean + threePanel?: boolean, + blurb?: string[], + url?: string } -const { title, documentName, transcriptionTypes, iiifManifest, documentInfo, threePanel, glossaryURL } = Astro.props; +const { title, documentName, transcriptionTypes, iiifManifest, documentInfo, threePanel, glossaryURL, blurb, url } = Astro.props; ---
- -
- Go Back -
-
-

- { title } -

+ +
+ Go Back +
+
+

+ { title } +

- + { + (blurb && blurb.length || url) ? ( + + { + blurb && blurb.length && blurb.map((para) => +

{ para }

+ ) + } + { + url && + } +
+ ) : null + } + { + documentInfo ? ( + + ) : ( + + ) + }
diff --git a/astro-web/src/pages/index.astro b/astro-web/src/pages/index.astro index d3f3a05..b7a176b 100644 --- a/astro-web/src/pages/index.astro +++ b/astro-web/src/pages/index.astro @@ -11,6 +11,7 @@ import dyngley from '../assets/projects/thumbnails/dyngley.png'; import nbu from '../assets/projects/thumbnails/nbu.png'; import interviste from '../assets/projects/thumbnails/interviste.png'; import elygreen from '../assets/projects/thumbnails/elygreen.png'; +import odt from '../assets/projects/thumbnails/odt.png'; --- @@ -18,10 +19,10 @@ import elygreen from '../assets/projects/thumbnails/elygreen.png';

- A simple digital critical edition publication tool + A simple digital edition publication tool

- EditionCrafter is an easy-to-use tool for scholars, educators, and research institutions to publish digital critical editions in a low-cost and sustainable manner. + EditionCrafter is an easy-to-use tool for scholars, educators, and research institutions to publish digital editions in a low-cost and sustainable manner.