diff --git a/.env.test b/.env.test index 457e0337f..6399a3a69 100644 --- a/.env.test +++ b/.env.test @@ -4,4 +4,5 @@ REACT_APP_AUTH0_AUDIENCE=dictionary-api REACT_APP_DICTIONARY_API_URL=http://example.com REACT_APP_SENTRY_DSN=http://example.com/sentry REACT_APP_CORRECTIONS_EMAIL=corrections@example.com +REACT_APP_INFO_EMAIL=info@example.com REACT_APP_GA_TRACKING_ID=G-XXXXXXXXXX \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 27d29878e..b60c2f713 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -64,6 +64,7 @@ jobs: build-args: | REACT_APP_AUTH0_DOMAIN=auth.ebl.lmu.de REACT_APP_CORRECTIONS_EMAIL=ebl-support+corrections@culture.lmu.de + REACT_APP_INFO_EMAIL=ebl-info@culture.lmu.de REACT_APP_AUTH0_CLIENT_ID=${{ secrets.REACT_APP_AUTH0_CLIENT_ID }} REACT_APP_AUTH0_AUDIENCE=${{ secrets.REACT_APP_AUTH0_AUDIENCE }} REACT_APP_DICTIONARY_API_URL=/api @@ -96,6 +97,7 @@ jobs: build-args: | REACT_APP_AUTH0_DOMAIN=auth.ebl.lmu.de REACT_APP_CORRECTIONS_EMAIL=ebl-support+corrections@culture.lmu.de + REACT_APP_INFO_EMAIL=ebl-info@culture.lmu.de REACT_APP_AUTH0_CLIENT_ID=${{ secrets.REACT_APP_AUTH0_CLIENT_ID }} REACT_APP_AUTH0_AUDIENCE=${{ secrets.REACT_APP_AUTH0_AUDIENCE }} REACT_APP_DICTIONARY_API_URL=/test/api diff --git a/Dockerfile b/Dockerfile index ce4e933fd..4282e8274 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,6 +22,7 @@ ARG REACT_APP_AUTH0_AUDIENCE ARG REACT_APP_DICTIONARY_API_URL ARG REACT_APP_SENTRY_DSN ARG REACT_APP_CORRECTIONS_EMAIL +ARG REACT_APP_INFO_EMAIL ARG REACT_APP_GA_TRACKING_ID RUN yarn build diff --git a/README.md b/README.md index d75e444fc..370376aa8 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,7 @@ REACT_APP_AUTH0_AUDIENCE= REACT_APP_DICTIONARY_API_URL= REACT_APP_SENTRY_DSN= REACT_APP_CORRECTIONS_EMAIL= +REACT_APP_INFO_EMAIL= REACT_APP_GA_TRACKING_ID= ``` diff --git a/src/App.test.ts b/src/App.test.ts index e20928693..e0a7dc246 100644 --- a/src/App.test.ts +++ b/src/App.test.ts @@ -1,12 +1,15 @@ import AppDriver from 'test-support/AppDriver' import FakeApi from 'test-support/FakeApi' import { statisticsFactory } from 'test-support/fragment-fixtures' +import { tabIds as aboutTabIds } from 'about/ui/about' test.each([ '/', '/bibliography', - '/bibliography_new', - '/bibliography/entry_id', + '/bibliography/afo-register', + '/bibliography/references', + '/bibliography/references/new-reference', + '/bibliography/references/entry_id', '/dictionary', '/dictionary/object_id', '/corpus', @@ -17,7 +20,9 @@ test.each([ '/fragmentarium/fragment_number', '/callback', '/about', + ...aboutTabIds.map((tabId) => '/about/' + tabId), '/tools', + ...['date-converter', 'list-of-kings'].map((tabId) => '/about/' + tabId), '/signs', ])('%s renders without crashing', async (route) => { const fakeApi = new FakeApi().allowStatistics(statisticsFactory.build()) diff --git a/src/about/ui/__snapshots__/about.test.tsx.snap b/src/about/ui/__snapshots__/about.test.tsx.snap index 4da3fe824..5eb8acccd 100644 --- a/src/about/ui/__snapshots__/about.test.tsx.snap +++ b/src/about/ui/__snapshots__/about.test.tsx.snap @@ -121,6 +121,17 @@ exports[`Snapshot 1`] = ` > Bibliography + + News +
{ markupServiceMock.fromString.mockReturnValue( Bluebird.resolve(markupDtoSerialized) ) - + let container await act(async () => { - const { container } = await render( + container = await render( - ) - await waitForSpinnerToBeRemoved(screen) - await waitFor(() => { - expect(screen.queryByText('Loading...')).not.toBeInTheDocument() - }) - expect(container).toMatchSnapshot() + ).container }) + expect(container).toMatchSnapshot() }) diff --git a/src/about/ui/about.tsx b/src/about/ui/about.tsx index 0625373b7..26b5a6fde 100644 --- a/src/about/ui/about.tsx +++ b/src/about/ui/about.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import { Tabs, Tab } from 'react-bootstrap' import { useHistory } from 'react-router-dom' import AppContent from 'common/AppContent' @@ -9,6 +9,7 @@ import AboutProject from 'about/ui/project' import AboutFragmentarium from 'about/ui/fragmentarium' import AboutCorpus from 'about/ui/corpus' import AboutSigns from 'about/ui/signs' +import AboutNews from 'about/ui/news' import AboutDictionary from 'about/ui/dictionary' import AboutBibliography from 'about/ui/bibliography' import _ from 'lodash' @@ -24,52 +25,88 @@ export const tabIds = [ ] as const export type TabId = typeof tabIds[number] +function getTabs({ + markupService, + activeSection, +}: { + markupService: MarkupService + activeSection?: string +}): React.ReactElement[] { + return [ + + {AboutProject(markupService)} + , + + {AboutFragmentarium(markupService)} + , + + {AboutCorpus(markupService)} + , + + {AboutSigns()} + , + + {AboutDictionary(markupService)} + , + + {AboutBibliography(markupService)} + , + + {AboutNews({ + activeNewsletterNumber: activeSection + ? parseInt(activeSection) + : undefined, + })} + , + ] +} + export default function About({ markupService, activeTab, + activeSection, }: { markupService: MarkupService activeTab: TabId + activeSection?: string }): JSX.Element { const history = useHistory() const [selectedTab, setSelectedTab] = useState(activeTab) - const handleSelect = (selectedTab: TabId) => { - history.push(selectedTab) - setSelectedTab(selectedTab) + const handleSelect = (newTab: TabId) => { + if (newTab === activeTab) { + return + } + history.push(`/about/${newTab}`) + setSelectedTab(newTab) } + + useEffect(() => { + if (activeTab === selectedTab) { + return + } + setSelectedTab(activeTab) + }, [selectedTab, activeTab]) + return ( handleSelect(selectedTab as TabId)} + activeKey={selectedTab} + onSelect={(newTab) => handleSelect(newTab as TabId)} mountOnEnter unmountOnExit > - - {AboutProject(markupService)} - - - {AboutFragmentarium(markupService)} - - - {AboutCorpus(markupService)} - - - {AboutSigns()} - - - {AboutDictionary(markupService)} - - - {AboutBibliography(markupService)} - + {getTabs({ activeSection, markupService })} ) diff --git a/src/about/ui/news.test.tsx b/src/about/ui/news.test.tsx new file mode 100644 index 000000000..349235865 --- /dev/null +++ b/src/about/ui/news.test.tsx @@ -0,0 +1,50 @@ +import React from 'react' +import { render, screen } from '@testing-library/react' +import AboutNews from './news' +import { newsletters } from './news' +import { Router } from 'react-router-dom' +import { createMemoryHistory } from 'history' +import { fireEvent } from '@testing-library/react' + +test('renders AboutNews component with default newsletter', () => { + const history = createMemoryHistory() + render( + + + + ) + expect( + screen.getByText(new RegExp(`eBL Newsletter ${newsletters[0].number}`)) + ).toBeInTheDocument() +}) + +test('renders AboutNews component with complete menu', () => { + const history = createMemoryHistory() + render( + + + + ) + newsletters.forEach((newsletter) => { + expect( + screen.getByText(new RegExp(`^Nr. ${newsletter.number}$`)) + ).toBeInTheDocument() + }) +}) + +test('updates active newsletter on link click', () => { + const history = createMemoryHistory() + render( + + + + ) + const secondNewsletterLink = screen.getByText( + new RegExp(`Nr. ${newsletters[1].number}`) + ) + fireEvent.click(secondNewsletterLink) + expect(history.location.pathname).toBe(`/about/news/${newsletters[1].number}`) + expect( + screen.getByText(new RegExp(`eBL Newsletter ${newsletters[1].number}`)) + ).toBeInTheDocument() +}) diff --git a/src/about/ui/news.tsx b/src/about/ui/news.tsx new file mode 100644 index 000000000..fc96f5823 --- /dev/null +++ b/src/about/ui/news.tsx @@ -0,0 +1,163 @@ +import React, { useEffect, useState } from 'react' +import ReactMarkdown from 'react-markdown' +import newsletter15 from 'about/ui/newsletter/015.md' +import newsletter14 from 'about/ui/newsletter/014.md' +import newsletter13 from 'about/ui/newsletter/013.md' +import newsletter12 from 'about/ui/newsletter/012.md' +import newsletter11 from 'about/ui/newsletter/011.md' +import newsletter10 from 'about/ui/newsletter/010.md' +import newsletter9 from 'about/ui/newsletter/009.md' +import newsletter8 from 'about/ui/newsletter/008.md' +import newsletter7 from 'about/ui/newsletter/007.md' +import newsletter6 from 'about/ui/newsletter/006.md' +import newsletter5 from 'about/ui/newsletter/005.md' +import newsletter4 from 'about/ui/newsletter/004.md' +import newsletter3 from 'about/ui/newsletter/003.md' +import newsletter2 from 'about/ui/newsletter/002.md' +import newsletter1 from 'about/ui/newsletter/001.md' +import { Nav, Container, Row, Col } from 'react-bootstrap' +import { useHistory } from 'react-router-dom' +import { History } from 'history' + +interface Newsletter { + readonly content: string + readonly date: Date + readonly number: number +} + +export const newsletters: readonly Newsletter[] = [ + { content: newsletter15, date: new Date('02/04/2024'), number: 15 }, + { content: newsletter14, date: new Date('11/06/2023'), number: 14 }, + { content: newsletter13, date: new Date('06/21/2023'), number: 13 }, + { content: newsletter12, date: new Date('02/23/2023'), number: 12 }, + { content: newsletter11, date: new Date('10/28/2022'), number: 11 }, + { content: newsletter10, date: new Date('10/10/2022'), number: 10 }, + { content: newsletter9, date: new Date('07/25/2022'), number: 9 }, + { content: newsletter8, date: new Date('06/09/2022'), number: 8 }, + { content: newsletter7, date: new Date('03/01/2022'), number: 7 }, + { content: newsletter6, date: new Date('10/14/2021'), number: 6 }, + { content: newsletter5, date: new Date('07/09/2021'), number: 5 }, + { content: newsletter4, date: new Date('06/08/2021'), number: 4 }, + { content: newsletter3, date: new Date('04/07/2021'), number: 3 }, + { content: newsletter2, date: new Date('02/05/2021'), number: 2 }, + { content: newsletter1, date: new Date('09/28/2020'), number: 1 }, +] + +const message = `**Get the most out of eBL!** +We will be hosting regular Zoom sessions to showcase its features and tools. +These sessions will include a Q&A – please feel free to submit questions in +advance per [e-mail](mailto:${process.env.REACT_APP_INFO_EMAIL}). +The first session is scheduled for February 29th at 6:00 PM CET. If you would +like to attend, please register at the link. +` + +const newsUrl = '/about/news/' + +function NewsletterMenu({ + activeNewsletterNumber, + setActiveNewsletter, +}: { + activeNewsletterNumber: number + setActiveNewsletter: React.Dispatch> +}): JSX.Element { + const history = useHistory() + return ( + + ) +} + +const onHistoryChange = ({ + activeNewsletter, + setActiveNewsletter, + history, +}: { + activeNewsletter: Newsletter + setActiveNewsletter: React.Dispatch> + history: History +}): void => { + if (history.action === 'POP') { + const newsletterNumber = parseInt( + history.location.pathname.split('/').pop() ?? '' + ) + if (newsletterNumber !== activeNewsletter.number) { + setActiveNewsletter(getActiveNewsletter(newsletterNumber)) + } + } +} + +function getActiveNewsletter(activeNewsletterNumber?: number): Newsletter { + let newsletter: Newsletter | undefined + if (activeNewsletterNumber) { + newsletter = newsletters.find( + (newsletter) => newsletter.number === activeNewsletterNumber + ) + } + return newsletter ?? newsletters[0] +} + +export default function AboutNews({ + activeNewsletterNumber, +}: { + activeNewsletterNumber?: number +}): JSX.Element { + const [newsletterMarkdown, setNewsletterMarkdown] = useState('') + const [activeNewsletter, setActiveNewsletter] = useState( + getActiveNewsletter(activeNewsletterNumber) + ) + const history = useHistory() + useEffect(() => setNewsletterMarkdown(activeNewsletter.content), [ + activeNewsletter, + ]) + useEffect(() => () => + onHistoryChange({ activeNewsletter, setActiveNewsletter, history }) + ) + + return ( + <> +
+ {message} +
+ + + +
+ {newsletterMarkdown} +
+ + + + +
+
+ + ) +} diff --git a/src/about/ui/newsletter/001.md.ts b/src/about/ui/newsletter/001.md.ts new file mode 100644 index 000000000..e9073474b --- /dev/null +++ b/src/about/ui/newsletter/001.md.ts @@ -0,0 +1,58 @@ +const newsletter = ` +# eBL Newsletter 1 + +## 28 September 2020 + +### Conventions_Fragmentarium + +#### Genres + +- Genres are divided into four major groups: Archival, Canonical, Monumental, and + Other. In the groups there are up to three levels of categorisation, e.g. + CANONICAL > Literature > Monologue and Dialogue > Fables. +- To add a genre classification to a tablet simply select the appropriate option + from the drop-down menu under “Genres”. +- It is possible to add several genre classifications to one tablet. +- If only the genre group that a text belongs to is known, just select one of + the four groups from the drop-down menu. + +#### Colophons + +- Use @colophon to mark the section containing the colophon (after the ruling). +- Colophons should be added to the Colophon database + ([here](https://gwi-fm1.gwi.uni-muenchen.de/fmi/webd), user name and password + provided separately). + +#### Image Annotation (Paleography) + +- Tablets with interesting epigraphic features should be added to this list + ([here](https://trello.com/c/fmxeDDGE)), so that they can be systematically + tagged. + +#### Intralinear Bilinguals + +- Transliterate Sumerian and Akkadian each in their own line and differentiate + the line number by appending a and b. +- Don’t use the language shift (e.g. %es) in these cases. +- [K.69](https://www.ebl.lmu.de/fragmentarium/K.69) o. 40 should be + transliterated as: + 40a. %es [du₁₀-bad-ra₂-zu & a-ba ba]-ra-šub-ba# + 40b. ($___$) [...] & man-nu ip-pa-ra-aš₂-šid + +#### Textcritical Glosses + +- If the entry of a variant on a tablet doesn’t repeat the antecedent in full + the respective word needs to be supplied, see e.g. + [K.5308](https://www.ebl.lmu.de/fragmentarium/K.5308) o. 17: + 17´. %es i#-bi₂-bi er₂-ra : <(er₂)>-ta na-ma-an-<(bad-bad-da)> : + nu-mu-un-bad-bad-da# [(x)] + +### Conventions_Corpus + +#### Hemistichic Layout (akk. _ṣullupu_) + +- For Mss. that consequently indicate the caesura in the layout with a clear + gap in the middle of each line use & at the respective place in the + transliteration of the respective manuscript.` + +export default newsletter diff --git a/src/about/ui/newsletter/002.md.ts b/src/about/ui/newsletter/002.md.ts new file mode 100644 index 000000000..e24a91c5c --- /dev/null +++ b/src/about/ui/newsletter/002.md.ts @@ -0,0 +1,44 @@ +const newsletter = ` +# eBL Newsletter 2 + +## 5 February 2021 + +### Fragmentarium + +#### Folios + +- The folios of Andrew R. George are now part of the Fragmentarium (957 tablets, + 319 folios). They were catalogued by Luis Sáenz and Ekaterine Gogokhia and + digitised and entered by Junko Taniguchi. +- The folios of George Smith will be added in the near future. + +#### Yale Babylonian Collection + +- The database of the YBC is now integrated into the fragmentarium (almost + 40,000 data sets, 400 photos by Klaus Wagensonner). The catalogue was kindly + provided by Agnete Lassen. +- See [MLC.1874](https://www.ebl.lmu.de/fragmentarium/MLC.1874) as an example. + +#### File Export + +- Fragmentarium editions can now be exported as word-files in addition to the + option to export an ATF, JSON, or TEI-file. PDF-export will be available in + the near future. The export function was developed by David Englmeier. + +### Corpus + +#### Conventions + +- The + [Conventions for eBL-Corpus Editions](https://github.com/ElectronicBabylonianLiterature/generic-documentation/wiki/Editorial-conventions-(Corpus)) + have been thoroughly revised, updated, and restructured. The biggest update + pertains to the general structure of the underlying representational model. + The model is now clearly defined and should be applicable to corpora other + than SB Literature. See also the guide „Structure a Corpus“ under 2.1. + Please get back to us if the guide falls short in answering your questions. +- Smaller additions were made under + - 2.7.4 Parallel Lines (addition of corpus siglum L for Literature and F for + fragments) + - 2.5.4 Special Cases (normalize _ānu_ instead of _anu_)` + +export default newsletter diff --git a/src/about/ui/newsletter/003.md.ts b/src/about/ui/newsletter/003.md.ts new file mode 100644 index 000000000..f846ed699 --- /dev/null +++ b/src/about/ui/newsletter/003.md.ts @@ -0,0 +1,48 @@ +const newsletter = ` +# eBL Newsletter 3 + +## 7 April 2021 + +### Fragmentarium + +#### New URL + +- We have set up the official domains for the eBL application: + - [https://www.ebl.lmu.de/](https://www.ebl.lmu.de/) + - [https://www.ebl.uni-muenchen.de/](https://www.ebl.uni-muenchen.de/) +- Please, start using the above URLs. ebabylon.org will be changed to redirect + to an official domain and will be removed in the future. + +#### ORACC ATF Import and C-ATF Import + +- It is now possible to import files in C-ATF and files in ORACC-ATF with + Lemmatisation into the Fragmentarium. Please let us know if you have any + legacy ATF file you would like to upload. + +#### New Display of the Dictionary + +- Clicking on the lemma in the eBL-CDA dictionary will now bring you to a newly + structured view of the dictionary entry. This view will be extended with + additional lexicographical resources in the future. + +#### Conventions + +- The syntax for the indication of parallels in the Fragmentarium has been + extended. Pointing to other fragments in the Fragmentarium is now possible + according to the // F schema already in use in the Corpus. See + [Corpus Conventions 2.7.4 Parallel Lines](). + +### Corpus + +#### Corpus Conventions + +- Colophons are to be edited in the respective field in the List of Manuscripts. + The transliteration should follow the eBL-ATF standard as it applies to + editions of Fragments in the Fragmentarium. Note that the use of labels like + e.g. o for obverse is not allowed. Use @-lines instead. See + [Corpus Conventions 2.2.4 Edit Colophons](). +- Smaller additions were made under + - 2.5.4 Special Cases (normalize _igīgū_ instead of _igigû_) +` + +export default newsletter diff --git a/src/about/ui/newsletter/004.md.ts b/src/about/ui/newsletter/004.md.ts new file mode 100644 index 000000000..195f4e16e --- /dev/null +++ b/src/about/ui/newsletter/004.md.ts @@ -0,0 +1,49 @@ +const newsletter = ` +# eBL Newsletter 4 + +## 8 June 2021 + +### Fragmentarium + +#### First Iteration of the Corpus Search + +- The transliteration search under [Fragmentarium](https://www.ebl.lmu.de/fragmentarium/) + now also queries the texts which have been imported into the Corpus. + +#### First Iteration of the Sign Search + +- Under [Signs](https://www.ebl.lmu.de/signs/) you can search for cuneiform signs + via any reading or by a number from the common sign lists. The results will + show a standardised Neo-Assyrian form, all the readings, and a summary of the + respective entries in MZL (by permission from the Ugarit-Verlag). + +#### New Folios and Legacy Transliterations + +- Thanks to the generosity of U. Gabbay, M.J. Geller, and the academic executors + of F.W. Geers and E. Reiner, the legacy data that is essential to the ongoing + compilation of a comprehensive Fragmentarium has once more been enriched and + expanded. + +#### Translations in the Fragmentarium and the Corpus + +- It is now possible to add translations to transliterations in the Fragmentarium + and to Lines of Text in the Corpus. For Details see section 2.9 of our + [Editorial Conventions](). + +### Corpus + +#### Conventions + +- With the start of the import of text editions into the Corpus a number of minor + changes to the Conventions had to be introduced: +- Normalised text is prepended with the newly introduced language shift %n, see + the examples + [here](https://github.com/ElectronicBabylonianLiterature/generic-documentation/wiki/Editorial-conventions-(Corpus)#210-canonical-examples). +- All \\$-lines, //-lines, and #note-lines each begin in a new line below the + Manuscript Line or Line of Text they refer to. Note that if a line is omitted, + the siglum does not have a period at the end, see the example + [here](https://github.com/ElectronicBabylonianLiterature/generic-documentation/wiki/Editorial-conventions-(Corpus)#2411-editorial-annotations-and-interventions>). +- The import tool is not able to parse the critical apparatus. Hence variants are + removed from the score before uploading. They are entered during the alignment.` + +export default newsletter diff --git a/src/about/ui/newsletter/005.md.ts b/src/about/ui/newsletter/005.md.ts new file mode 100644 index 000000000..ff5ffc73f --- /dev/null +++ b/src/about/ui/newsletter/005.md.ts @@ -0,0 +1,43 @@ +const newsletter = ` +# eBL Newsletter 5 + +## 9 July 2021 + +### Fragmentarium + +#### Bibliographical References + +- We added “Translation” as a new category to typify bibliographical references. + +#### Joins + +- Joins are now systematically registered based on the BM join book and the + data compiled and kindly provided by Jeremiah Peterson for the tablets kept at + Philadelphia. Tablets in the Fragmentarium can now only be transliterated under + the lowest join number. To add joins please email us. + +### Corpus + +#### New Genres + +- The Corpus has been extended and now includes other genres besides Literature. + For now, we added Divination and Lexicography. Should you wish to add + Categories, Compositions, or Chapters, please email us. Should you wish to + read up on the underlying conceptual structure of the Corpus module, visit our + [Wiki on GitHub](). + +#### Introduction + +- It is now possible to add introductions to text editions. To add your + introduction please send us your text in markdown formatting and provide a list + of bibliographical references. If you have never used markdown to provide + formatting information the [markdown cheatsheet on GitHub](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) + can be a valuable resource. + +#### Unplaced Lines + +- Lines from manuscripts that cannot be safely placed in the edition of a chapter + can now be transliterated in the List of Manuscripts. The conventions that you + are already familiar with from the edition of colophons apply.` + +export default newsletter diff --git a/src/about/ui/newsletter/006.md.ts b/src/about/ui/newsletter/006.md.ts new file mode 100644 index 000000000..ebad3547d --- /dev/null +++ b/src/about/ui/newsletter/006.md.ts @@ -0,0 +1,48 @@ +const newsletter = ` +# eBL Newsletter 6 + +## 14 October 2021 + +### Fragmentarium + +#### Photos + +- Addition of all photos of K.3000s, K.20000s, and K.21000s + +#### Folios + +- Complete integration of Reiner Folios + +#### Dictionary + +- W. Sommerfeld, Akkadische Glossare und Indizes. Version 1.1 (26. Mai 2021) is + now a part of the dictionary + +#### Image Tagging + +- The image tagging tool has been thoroughly revised. The new and improved version + is running. Automatic sign recognition to aid the tagging will be added soon. + +### Corpus + +#### Performance + +- New changes in the Corpus editor are now saved almost instantaneously. + +#### Frontpage + +- The proper display of the frontpage to every composition in the corpus is now + online. The rest of the corpus display will be completed soon. + +#### Translations + +- It is now possible to import translations into the corpus using the same grammar + as in the Fragmentarium, i.e. #tr.en: etc. + +#### Digital Object Identifier (DOI) + +- We registered the first DOI for a text-edition in the eBL-corpus + ([https://doi.org/10.5282/ebl/l/1/2](https://doi.org/10.5282/ebl/l/1/2)). Bit + by bit we will continue to register DOIs for every composition and chapter.` + +export default newsletter diff --git a/src/about/ui/newsletter/007.md.ts b/src/about/ui/newsletter/007.md.ts new file mode 100644 index 000000000..53f576fe3 --- /dev/null +++ b/src/about/ui/newsletter/007.md.ts @@ -0,0 +1,42 @@ +const newsletter = ` +# eBL Newsletter 7 + +## 1 March 2022 + +### Fragmentarium + +#### Photos & Folios + +- Photo documentation of Nineveh is now almost entirely complete. +- Addition of folios Lieberman (courtesy N. Veldhuis) +- Addition of folios Smith +- New entries for IM Nimrud tablets; photo documentation will be completed soon + +#### Sign List + +- LaBaSi is now systematically linked in the sign list +- Snippets of signs are now displayed in the sign list (beta) + +#### Image Tagging + +- Automatic annotation of images is implemented and waiting to be used + +### Corpus + +#### Display + +- Corpus display is in its final stage of preparation. Score, normalization, and + translation are already in place. + +#### Corpus editor + +- It is now possible to add short paragraphs of text in between lines of + transliteration. Use eBL markup (@i{ }, @bib{ } & etc.) to format your + explanations, paraphrases of lacking episodes, editorial notes & etc. + +### Website launch 🚀 + +- We strive to open [http://www.ebl.lmu.de](http://www.ebl.lmu.de) to the public + in April.` + +export default newsletter diff --git a/src/about/ui/newsletter/008.md.ts b/src/about/ui/newsletter/008.md.ts new file mode 100644 index 000000000..1fa7e92c6 --- /dev/null +++ b/src/about/ui/newsletter/008.md.ts @@ -0,0 +1,33 @@ +const newsletter = ` +# eBL Newsletter 8 + +## 9 June 2022 + +### Corpus & Fragmentarium + +#### Display mode + +- Notes are now displayed in Corpus and Fragmentarium. +- Lemmatization is now displayed. +- Links to CCP / SAAo are implemented in Fragmentarium editions. It is possible + to implement links to editions in other ORACC projects. + +#### Search + +- Display mode in search (for Fragmentarium editions). +- Bibliography and Genre are displayed (for Fragmentarium editions). +- Search with pagination: the number of results is no longer limited. +- Search is now inclusive, e.g. one can search for signs within one tablet. + +### Corpus + +#### Display + +- Variant words are now marked in Corpus editions. + +### Website launch + +- We strive to open [http://www.ebl.lmu.de](http://www.ebl.lmu.de) to the public + in Autumn 2022.` + +export default newsletter diff --git a/src/about/ui/newsletter/009.md.ts b/src/about/ui/newsletter/009.md.ts new file mode 100644 index 000000000..125ee4e96 --- /dev/null +++ b/src/about/ui/newsletter/009.md.ts @@ -0,0 +1,39 @@ +const newsletter = ` +# eBL Newsletter 9 + +## 25 July 2022 + +### Fragmentarium + +- Fragments are now connected to the Corpus: If a tablet is edited in the Corpus, + a link will be displayed in the Fragmentarium. +- The Genre list has been expanded to include also text names. For a list, see + [here](https://github.com/ElectronicBabylonianLiterature/ebl-api/blob/master/ebl/fragmentarium/domain/genres.py). +- SpTU tablets have been imported into the Fragmentarium, with the IM museum + numbers by permission of the DAI. +- I. L. Finkel’s Folios have been imported. +- The readings ½ (as reading of MAŠ) and {f} (as reading of SAL) are now allowed. + +### Corpus + +- Loading of texts with many chapters is now almost instantaneous (e.g. + [here](https://www.ebl.lmu.de/corpus/L/1/4)). +- Corpus search has now been optimized and should be at least 3× faster. See + [here](https://www.ebl.lmu.de/fragmentarium/search/?id=&number=&pages=&paginationIndex=0&primaryAuthor=&title=&transliteration=e%20nu%20ma%20e%20li%C5%A1&year=). +- Corpus search is now paginated. +- Aligned words, including variants, are now displayed in the corpus when clicking + on a word. +- Aligned words in the score edition of a line are highlighted when hovering over + the word in the reconstruction. +- Metrical analysis is no longer shown by default, but it can be activated on the + lateral bar. +- Texts in the Corpus can now be downloaded as JSON. Other formats (ATF, TEI XML, + PDF, Word) will be available soon. +- [Counsels of Wisdom](https://www.ebl.lmu.de/corpus/L/2/3) has been imported. + +### Website launch + +- We strive to open [http://www.ebl.lmu.de](http://www.ebl.lmu.de) + to the public in Autumn 2022.` + +export default newsletter diff --git a/src/about/ui/newsletter/010.md.ts b/src/about/ui/newsletter/010.md.ts new file mode 100644 index 000000000..1c7d7d0ea --- /dev/null +++ b/src/about/ui/newsletter/010.md.ts @@ -0,0 +1,36 @@ +const newsletter = ` +# eBL Newsletter 10 + +## 10 October 2022 + +### Fragmentarium + +- Wildcards have been implemented in the search:? (any one sign); \\* (any sign + or sequence of signs in a line); [a|b] (alternative signs, e.g. [bu|ba]). +- The signs ĝ and 0 are now allowed. The former should be used only in Sumerian + texts (not in logograms). ĝ can be entered with Alt + g (Mac: Option + g). +- New shortcuts in text editor: Ctr +. (Mac: Command + .) = ... (U+2026 = + Horizontal Ellipsis); Ctr + Shift + 2 = “”. +- It is now possible to download photos in the Fragmentarium (Download icon → + Download Photo). + +### Corpus + +- The Corpus search now uses pagination and the display mode. +- Old Line numbers can now be indicated, e.g. in [SB Gilg I](https://www.ebl.lmu.de/corpus/L/1/4/SB/I). + In order to import old line numbers, please send us an Excel table like + [this one](https://docs.google.com/spreadsheets/d/1fAFA5YP6Yz3vpUl9R7T94pk3GFrdlsrg5Zo1WSQ_ugI/edit#gid=0). +- Omission of words in the corpus editions are now also marked as a variant (‡). + All variants are now correctly marked. +- It is now possible to download editions as Word documents. At the moment only + the reconstructed line, translation, and notes and parallels are exported. + Export of the score transliteration of the manuscripts will be implemented + soon. +- Corpus editions can be exported as ATF. + +### Website launch + +- We strive to open [http://www.ebl.lmu.de](http://www.ebl.lmu.de) to the public + by the end of 2022.` + +export default newsletter diff --git a/src/about/ui/newsletter/011.md.ts b/src/about/ui/newsletter/011.md.ts new file mode 100644 index 000000000..fe7661bdf --- /dev/null +++ b/src/about/ui/newsletter/011.md.ts @@ -0,0 +1,32 @@ +const newsletter = ` +# eBL Newsletter 11 + +## 28 October 2022 + +### Fragmentarium & Signs + +- The platform is now called electronic Babylonian Library. The platform will be + adapted as a hub for projects, based around the Corpus and the Fragmentarium. +- It is now possible to restrict access to fragments to certain users. At the + moment, the following scopes have been created: Sippar Library, CAIC project, + and LBU Uruk. +- It is now possible to submit corrections to texts in Corpus and Fragmentarium. +- Page numbers in inline bibliographical references (@bib{george2003epic@123}) + are no longer mandatory. +- Introductions to fragments can now be entered, see e.g. + [IM.67539](https://www.ebl.lmu.de/fragmentarium/IM.67539) + +### Corpus + +- Display mode for Corpus search is now completely implemented. +- Dictionary pages now show the first 10 instances of a lemma in Corpus editions. + +### Website launch & Workshop + +- We strive to open [www.ebl.lmu.de](http://www.ebl.lmu.de/) to the public in + January 2023. +- We would like to celebrate the launch with a workshop, which will take place in + Munich on the 3rd of February 2023 in a hybrid format. We will announce the + conference to the general public further down the line.` + +export default newsletter diff --git a/src/about/ui/newsletter/012.md.ts b/src/about/ui/newsletter/012.md.ts new file mode 100644 index 000000000..55965987c --- /dev/null +++ b/src/about/ui/newsletter/012.md.ts @@ -0,0 +1,47 @@ +const newsletter = ` +# eBL Newsletter 12 + +## 23 February 2023 + +### Fragmentarium + +- eBL public! +- ⅓ = ŠUŠANA, ⅔ = ŠANABI, and ⅙ = KINGUSILI can now be entered. Shortcuts: + Ctrl - 1 = ½, Ctrl + 2 = ⅔, etc. +- New grammar for links: @url{URL}{Text to display} +- Seals are now a label, so line numbers can be repeated in successive seals, e.g., + @seal 1, @seal 2 etc. +- The large collection of Geers folios (ca. 4000 folios), once in the Oriental + Institute, is now imported into the Fragmentarium. +- SpTU 5 photos are now imported (visible to CAIC editors). +- Search for lemmata is now implemented. +- Date is now a strict category that can be modified on the frontend. + +New, experimental features in the editor: + +- Auto-completion: markup and other control expressions (like #note: ...) can be + selected from a pop-up. Note that you can use the Tab key to switch to the next + position in the template, e.g., if you select @bib{id@pages}, you can start + right away to type the id, then press Tab to go to the pages directly, enter + the pages, and press Tab again when you're finished to get to the end of the + expression. +- When pressing Enter, the line number gets inserted automatically (if the + following line is empty). +- You can now select lines and press Ctrl+Shift+UP or Ctrl+Shift+DOWN to + increase/decrease the line numbers of all selected lines. This way there's no + need to manually update subsequent line numbers when editing line numbers at + the top. + +### Dictionary + +- The dictionary search has been thoroughly modified. It is now possible to search + for multiple criteria, enter diacritics on the application, and use wildcards. +- Matching lemmata from Fragmentarium and Corpus are now shown on the Dictionary + page. +- Logograms are now displayed in the dictionary. + +### Corpus + +- The Corpus is now cached. Loading the pages should be much faster.` + +export default newsletter diff --git a/src/about/ui/newsletter/013.md.ts b/src/about/ui/newsletter/013.md.ts new file mode 100644 index 000000000..8a5c40cef --- /dev/null +++ b/src/about/ui/newsletter/013.md.ts @@ -0,0 +1,34 @@ +const newsletter = ` +# eBL Newsletter 13 + +## 21 June 2023 + +### Fragmentarium & Bibliography + +- Records for the tablets in the _Frau Professor Hilprecht Collection of Babylonian + Antiquities_ have been created in the Fragmentarium. A systematic bibliography + for these tablets has been compiled and imported, as are links to the 3D images + of these tablets. The photography project of the Jena tablets, a collaboration + between LMU Munich and FSU Jena, has been started; around 300 tablets have so + far been photographed. See, e.g., + [HS.245](https://www.ebl.lmu.de/fragmentarium/HS.245). +- Records for the tablets in the _Vorderasiatisches Museum_ have been created in + the Fragmentarium. Publication data has already been imported from the series + publications KAJ, KAL, KAM, KAR, LKA, LKU, MARV, SBH, VS; others will follow. +- Photos of the SpTU tablets have been imported. They are visible to registered + users with CAIC permissions. +- Editor: ø is now allowed. Shortcut: Ctrl + o +- Bibliography: O. Pedersén's _Archives and Libraries in the City of Assur_ (1986) + has been systematically imported. +- There is a new Reference type: ARCHAEOLOGY. This should be used for literature + on an artefact's excavation context. +- It is possible now to include and to search for monographs belonging to two + different series, e.g. VS 19 = MARV 1. +- It is possible now to search by Period and Genre. + +### Dictionary + +- The published volumes of the _Supplement to the Akkadian Dictionaries_ (SAD) have + been imported into the dictionary.` + +export default newsletter diff --git a/src/about/ui/newsletter/014.md.ts b/src/about/ui/newsletter/014.md.ts new file mode 100644 index 000000000..09bb108da --- /dev/null +++ b/src/about/ui/newsletter/014.md.ts @@ -0,0 +1,47 @@ +const newsletter = ` +# eBL Newsletter 14 + +## 6 November 2023 + +### Fragmentarium & Signs + +- It is now possible to add dates to Fragmentarium editions: Both the date of a + tablet (i.e., the date from the date formula, so only one per tablet) and the + dates mentioned in the text (multiple per tablet) can be entered. The date is + displayed in the Fragmentarium edition, in the sign display, and also in the + search. +- The majority of dates in J. Everling’s collection (13,480 tablets) have been + imported, so most published NB-LB tablets are now linked to a date. The rest + from the Babylon Collection catalogue are being processed to be imported as + proper dates. Please let us know if you want to import any list of dated tablets. +- A list is being created of cuneiform documents from the Hellenistic and Parthian + periods (Daniel López). Also, the signs in documents from these periods are being + systematically tagged (Ekaterine Gogokhia). If you find any tablet from these + periods that is not easily found, please let us know. +- ATF: 1⁄4 and 1⁄6 have been added to the grammar. +- The CTMMA 1–4 (Metropolitan Museum) and TCL 6 (Louvre Museum) tablets have been + imported. +- Resources are now shown explicitly in the left-hand column. The following resources + have been added so far: BDTNS, Archibab, CDLI, Metropolitan Museum, Penn Museum, + Achemenet, ORACC, Louvre Museum. +- Only tagged signs that are completely preserved are now being shown in the + sign list. +- The number of sign annotations has grown exponentially in the last few months, + thanks to the work of Ekaterine Gogokhia. We have now 48,616 annotated signs: + - Ur III: 375 + - Old Babylonian: 658 + - Old Assyrian: 329 + - Middle Babylonian: 1,154 + - Neo-Assyrian: 11,472 + - Neo-Babylonian: 20,629 + - Late Babylonian: 2,653 + - Persian: 2,991 + - Hellenistic: 3,426 + - Parthian: 4,929 + +### Corpus + +- A new text has been uploaded to the Corpus: The Syncretistic Hymn to Gula + ([III.12](https://www.ebl.lmu.de/corpus/L/3/12)) in an edition by E. Bennett.` + +export default newsletter diff --git a/src/about/ui/newsletter/015.md.ts b/src/about/ui/newsletter/015.md.ts new file mode 100644 index 000000000..76007347c --- /dev/null +++ b/src/about/ui/newsletter/015.md.ts @@ -0,0 +1,64 @@ +const newsletter = ` +# eBL Newsletter 15 + +## 4 February 2024 + +### Fragmentarium + +- 114 Penn Museum tablets have been provided with new photographs, taken by Anna + Glenn. Photos of 227 Jena tablets, approximately 2,000 BM Babylon Collection + tablets, and approximately 10,000 Yale tablets have also been uploaded. +- The Alalakh tablets have been added: + [Alalakh Fragmentarium Search](https://www.ebl.lmu.de/fragmentarium/search/?site=Alalakh) +- It is possible to search for sites by entering the parameter in the URL, e.g., + [Uruk Fragmentarium Search](https://www.ebl.lmu.de/fragmentarium/search/?site=Uruk) +- It is now possible to use Wild cards (\\*) in the Museum number search. +- The Museum number search now searches for Excavation numbers too. +- Findspots have been added to the database. Work will be done on their display. +- Envelopes can now be given as part of the Joins Group (see e.g., + [HS.1016](https://www.ebl.lmu.de/fragmentarium/HS.1016)) +- The following new Genres have been added (for a full list see + [Genres List](https://github.com/ElectronicBabylonianLiterature/ebl-api/blob/master/ebl/fragmentarium/domain/genres.py)): + - ARCHIVAL → Administrative → Tabular Account + - ARCHIVAL → Administrative → Field Plan + - ARCHIVAL → Legal → Guardianship + - ARCHIVAL → Legal → Herding + - ARCHIVAL → Legal → Hire + - ARCHIVAL → Legal → Lease + - ARCHIVAL → Legal → Marriage + - ARCHIVAL → Legal → Rental + - ARCHIVAL → Legal → Suretyship + - CANONICAL → Lexicography → Acrographic word list → Kagal + - CANONICAL → Lexicography → Thematic Word Lists → Personal names + - CANONICAL → Lexicography → Thematic Word Lists → Personal names → Ur-ab-ba + - CANONICAL → Literature → Hymns → Divine → Letter-Prayer + - CANONICAL → Magic → Exorcistic → Ardat lilî + - CANONICAL → Technical → Astronomy → Goal Year Texts + - CANONICAL → Technical → Astronomy → Goal Year Procedure Texts + - MONUMENTAL → Year Names + - OTHER → Drawing + +### Bibliography & Tools + +- The AfO Register Textstellen (over 40,000 references) has been imported. +- It is possible to search for AfO Register references + [AfO Register Search](https://www.ebl.lmu.de/bibliography/afo-register); + the AfO Register references are now shown under the individual records when + matches are found (e.g., + [IM.74403](https://www.ebl.lmu.de/fragmentarium/IM.74403)). + - The matching depends on the field \`traditionalReferences\`, invisible to the + user. That field attempts to account for all possible variations in + traditional references to cuneiform tablets, e.g., “SpTU 1, 2” is also + recorded as “ADFU 9, 2”, “SBTU 1, 2”, etc. Still, only a small number of AfO + Register references (approximately 17.5%) can be linked. eBL users are kindly + requested to alert us if they find references that should be matched with + Fragmentarium records. + - The date converter that underlies the eBL Dates has now been deployed as an + independent tool: [Date Converter](https://www.ebl.lmu.de/tools/date-converter) + +### Corpus + +- An Arabic translation of the _Theodicy_ (II.1), prepared by Wasim Khatabe and + Wadieh Zerkly, has been uploaded.` + +export default newsletter diff --git a/src/bibliography/ui/Bibliography.tsx b/src/bibliography/ui/Bibliography.tsx index 8c37ff1ea..a73d0ef82 100644 --- a/src/bibliography/ui/Bibliography.tsx +++ b/src/bibliography/ui/Bibliography.tsx @@ -21,7 +21,7 @@ import FragmentService from 'fragmentarium/application/FragmentService' function CreateButton({ session }: { session: Session }): JSX.Element { return ( - +