diff --git a/components/layout/Header.jsx b/components/layout/Header.jsx index ee23ff2dc..9c2f472c2 100644 --- a/components/layout/Header.jsx +++ b/components/layout/Header.jsx @@ -105,7 +105,7 @@ export default function Header() { diff --git a/components/nav/NavItem.jsx b/components/nav/NavItem.jsx index ace879931..b06793f97 100644 --- a/components/nav/NavItem.jsx +++ b/components/nav/NavItem.jsx @@ -2,7 +2,7 @@ import { Popover, Transition } from "@headlessui/react"; import { ChevronDownIcon } from "@heroicons/react/24/solid"; /* This example requires Tailwind CSS v2.0+ */ -import { Fragment } from "react"; +import { Fragment, useEffect, useState } from "react"; import Link from "next/link"; function classNames(...classes) { @@ -10,51 +10,61 @@ function classNames(...classes) { } export default function NavItem({ navItem }) { - return ( - - {({ open }) => ( - <> - - {navItem.label} - 0) { + return ( + + {({ open }) => ( + <> + + > + {navItem.label} + - - -
-
- {navItem.items.map((item) => ( - - - {item.label} - - - ))} + + +
+
+ {navItem.items.map((item) => ( + + + {item.label} + + + ))} +
-
- - - - )} - - ); + + + + )} + + ); + } else { + return ( + + + {navItem.label} + + + ); + } } diff --git a/lib/build-nav.js b/lib/build-nav.js index 4e6ca82a7..3e0ef1845 100644 --- a/lib/build-nav.js +++ b/lib/build-nav.js @@ -28,6 +28,8 @@ function getNavMap() { */ if (!["home", "contact-us", "news"].includes(directory)) { const files = fs.readdirSync(`markdown/${directory}`); + const hasNoChildren = files.length === 1 && files[0] === "index.md"; + const navItems = files.map((fileName) => { const slug = fileName.replace(".md", ""); @@ -44,7 +46,7 @@ function getNavMap() { navMap.push({ label: directory.replaceAll("-", " "), - items: navItems, + items: hasNoChildren ? [] : navItems, slug: directory, }); } diff --git a/markdown/why-use-samvera/index.md b/markdown/why-use-samvera/index.md new file mode 100644 index 000000000..f9628f74d --- /dev/null +++ b/markdown/why-use-samvera/index.md @@ -0,0 +1,45 @@ +--- +title: "Why Use Samvera?" +date: "2023-06-06" +--- + +## Samvera is Flexible and Extensible + +The Samvera framework uses the best of current repository, search, and user-interface technologies. The separation of data and display, within the Samvera framework, promotes flexibility and extensibility. + +#### Flexible + +Within the Samvera framework, one "body" -- the digital repository -- supports multiple "heads" or tailored, content type-specific applications. + +![Samvera repository structure](../images/HydraContentStructure4.gif) Where other repository systems may be tailored to a specific format or medium, requiring specific systems and expertise, the Samvera framework is flexible enough to serve multiple needs. + +#### Extensible + +The Samvera framework is architected to extend features based on specific concerns and use-cases. Established features with long-term community commitment are available, such as: + +- [Browse Everything](https://github.com/projecthydra/browse-everything) allows your rails application to access user files from cloud storage, such as Dropbox, Skydrive, Google Drive, Box, and a server-side directory share +- [LDP](https://github.com/projecthydra/ldp) provides a Linked Data Platform and allows publication of RDF data + +The agile and collaborative nature of the Samvera Community also enables experimentation with cutting-edge extensions, which can be added to address unique needs, explore usefulness and possibilities, and eventually gain community commitment. + +## Sustainable + +Samvera has grown into a vibrant, highly active community including more than 30 Partners who formally support our work and development.  A look at our [Partners page](https://samvera.org/samvera-partners/) or a glance at the footer section on this page will show you that these supporting organizations and institutions cover a range of cultural heritage sectors (libraries – academic and public, museums, broadcasters), large and small.  Not only is there a range of sectors represented, but Samvera’s Partners and adopters are spread around the world; whilst most are on the North American continent there is a growing number in Europe and a small number elsewhere. + +We believe that no single system can provide the full range of repository-based solutions for a given institution’s needs and that no single institution can resource the development of a full range of solutions on its own. Samvera software is free and open source, available under an Apache 2 license. + +The Partners have a vested interest in sustaining the products of Samvera in support of their own digital collections, some of national and international importance, and thus in sustaining the products for others in the community. Partnership is earned by demonstrating support in ways that serve the community as a whole, and the [Samvera Community Framework](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405210590/Samvera+Community+Framework) describes the mutually beneficial structure of activity that occurs. Further evidence Samvera’s strength can be seen in the [Partner Letters of Commitment](https://samvera.atlassian.net/wiki/spaces/samvera/pages/426510729/Samvera+Partners). It is the combination of community, partnership, and technology plus a shared interest in long term digital preservation objectives that makes Samvera what it is. + +Samvera is committed to being an active, supportive community for its many users; in the furtherance of that commitment, the Community regularly examines the ways in which it attempts to deliver that support.  More, it continually asks whether it is suited to the demands of the next few years or whether improvements need to be made. Thus, Samvera Community is continually evolving to reflect needs in the Community and to reflect advancements in the technologies and standards that it embraces. + +## The Samvera Community + +The Samvera Community was conceived and executed as a collaborative, open source effort from its very beginning as the Hydra Project in 2008. The concept of a supportive community of adopters around the software has always been a primary aim and we adopted the African proverb that says "If you want to go fast, go alone. If you want to go far, go together." + +Initially our work was a joint development project between Stanford University, the University of Virginia and the University of Hull in close collaboration with Fedora (now part of LYRASIS).  This core group was later expanded to include MediaShelf LLC, which has since evolved to become [Data Curation Experts](https://curationexperts.com/). + +As Samvera has grown it has attracted [many adopters, and many of these have become formal Partners](https://samvera.org/samvera-partners/) in the Community. Partners commit to furthering the development of the Community. The structure of the Samvera Community is more fully described on our [Governance page](https://samvera.org/hydra-community-sourced-software/governance/). + +The Samvera Community provides not only ongoing research and development of the Samvera software but also arranges meetings and training sessions which help provide face-to-face [peer support](https://samvera.org/samvera-flexible-extensible/peer-support/) of the software's deployment and use.  It supports a number of [mailing lists and other communication channels](https://samvera.org/communication/) that are used on a daily basis by adopters and potential adopters around the world. + +Samvera itself is _not_ (and has never been) primarily grant funded.  It _is_ distributed and open. People have asked "what is your sustainability plan?"  We say we’ve already passed the first hurdle—many years of self-funded productivity, and a growing code, contributor and user base, not dependent on a transition plan.  See the [Grants page on the Samvera wiki](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405211783/Grants) for additional information.  We gratefully acknowledge grant contributions from the US Institute for Museum and Library Services, the Andrew W. Mellon Foundation, Jisc in the UK, the National Endowment for the Humanities, and others, who have funded projects which have used our framework as part of their technology stack. diff --git a/markdown/why-use-samvera/samvera-flexible-extensible.md b/markdown/why-use-samvera/samvera-flexible-extensible.md deleted file mode 100644 index b806983af..000000000 --- a/markdown/why-use-samvera/samvera-flexible-extensible.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Samvera is Flexible and Extensible" -date: "2016-12-05" ---- - -The Samvera framework uses the best of current repository, search, and user-interface technologies. The separation of data and display, within the Samvera framework, promotes flexibility and extensibility. - -#### Flexible - -Within the Samvera framework, one "body" -- the digital repository -- supports multiple "heads" or tailored, content type-specific applications. - -![Samvera repository structure](../images/HydraContentStructure4.gif) Where other repository systems may be tailored to a specific format or medium, requiring specific systems and expertise, the Samvera framework is flexible enough to serve multiple needs. - -#### Extensible - -The Samvera framework is architected to extend features based on specific concerns and use-cases. Established features with long-term community commitment are available, such as: - -- [Browse Everything](https://github.com/projecthydra/browse-everything) allows your rails application to access user files from cloud storage, such as Dropbox, Skydrive, Google Drive, Box, and a server-side directory share -- [LDP](https://github.com/projecthydra/ldp) provides a Linked Data Platform and allows publication of RDF data - -The agile and collaborative nature of the Samvera Community also enables experimentation with cutting-edge extensions, which can be added to address unique needs, explore usefulness and possibilities, and eventually gain community commitment. diff --git a/markdown/why-use-samvera/sustainability.md b/markdown/why-use-samvera/sustainability.md deleted file mode 100644 index defb67639..000000000 --- a/markdown/why-use-samvera/sustainability.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Sustainability" -date: "2016-12-06" ---- - -Samvera has grown into a vibrant, highly active community including more than 30 Partners who formally support our work and development.  A look at our [Partners page](https://samvera.org/samvera-partners/) or a glance at the footer section on this page will show you that these supporting organizations and institutions cover a range of cultural heritage sectors (libraries – academic and public, museums, broadcasters), large and small.  Not only is there a range of sectors represented, but Samvera’s Partners and adopters are spread around the world; whilst most are on the North American continent there is a growing number in Europe and a small number elsewhere. - -We believe that no single system can provide the full range of repository-based solutions for a given institution’s needs and that no single institution can resource the development of a full range of solutions on its own. Samvera software is free and open source, available under an Apache 2 license.   - -The Partners have a vested interest in sustaining the products of Samvera in support of their own digital collections, some of national and international importance, and thus in sustaining the products for others in the community. Partnership is earned by demonstrating support in ways that serve the community as a whole, and the [Samvera Community Framework](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405210590/Samvera+Community+Framework) describes the mutually beneficial structure of activity that occurs. Further evidence Samvera’s strength can be seen in the [Partner Letters of Commitment](https://samvera.atlassian.net/wiki/spaces/samvera/pages/426510729/Samvera+Partners). It is the combination of community, partnership, and technology plus a shared interest in long term digital preservation objectives that makes Samvera what it is.  - -Samvera is committed to being an active, supportive community for its many users; in the furtherance of that commitment, the Community regularly examines the ways in which it attempts to deliver that support.  More, it continually asks whether it is suited to the demands of the next few years or whether improvements need to be made. Thus, Samvera Community is continually evolving to reflect needs in the Community and to reflect advancements in the technologies and standards that it embraces. diff --git a/markdown/why-use-samvera/the-samvera-community.md b/markdown/why-use-samvera/the-samvera-community.md deleted file mode 100644 index be23e4e87..000000000 --- a/markdown/why-use-samvera/the-samvera-community.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "The Samvera Community" -date: "2016-08-19" ---- - -The Samvera Community was conceived and executed as a collaborative, open source effort from its very beginning as the Hydra Project in 2008. The concept of a supportive community of adopters around the software has always been a primary aim and we adopted the African proverb that says "If you want to go fast, go alone. If you want to go far, go together." - -Initially our work was a joint development project between Stanford University, the University of Virginia and the University of Hull in close collaboration with Fedora (now part of LYRASIS).  This core group was later expanded to include MediaShelf LLC, which has since evolved to become [Data Curation Experts](https://curationexperts.com/). - -As Samvera has grown it has attracted [many adopters, and many of these have become formal Partners](https://samvera.org/samvera-partners/) in the Community. Partners commit to furthering the development of the Community. The structure of the Samvera Community is more fully described on our [Governance page](https://samvera.org/hydra-community-sourced-software/governance/). - -The Samvera Community provides not only ongoing research and development of the Samvera software but also arranges meetings and training sessions which help provide face-to-face [peer support](https://samvera.org/samvera-flexible-extensible/peer-support/) of the software's deployment and use.  It supports a number of [mailing lists and other communication channels](https://samvera.org/communication/) that are used on a daily basis by adopters and potential adopters around the world. - -Samvera itself is _not_ (and has never been) primarily grant funded.  It _is_ distributed and open. People have asked "what is your sustainability plan?"  We say we’ve already passed the first hurdle—many years of self-funded productivity, and a growing code, contributor and user base, not dependent on a transition plan.  See the [Grants page on the Samvera wiki](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405211783/Grants) for additional information.  We gratefully acknowledge grant contributions from the US Institute for Museum and Library Services, the Andrew W. Mellon Foundation, Jisc in the UK, the National Endowment for the Humanities, and others, who have funded projects which have used our framework as part of their technology stack. diff --git a/pages/why-use-samvera/[slug].jsx b/pages/why-use-samvera/index.jsx similarity index 50% rename from pages/why-use-samvera/[slug].jsx rename to pages/why-use-samvera/index.jsx index a3ccbcb0b..012f03678 100644 --- a/pages/why-use-samvera/[slug].jsx +++ b/pages/why-use-samvera/index.jsx @@ -1,18 +1,7 @@ -import { getMarkdownPageContent, getPaths } from "lib/markdown-helpers"; - import DynamicPage from "components/layout/DynamicPage"; import { buildWorkOpenGraphData } from "lib/open-graph"; +import { getMarkdownPageContent } from "lib/markdown-helpers"; -/** - * This is where the magic happens. - * 'parentDir' is the value of this file's parent directory - * along with a matching directory title which exists in - * /markdown. - * - * For example: - * /markdown/my-cool-directory/... - * /pages/my-cool-directory/... - */ const CONFIG = { parentDir: "why-use-samvera", parentDirLabel: "Why use Samvera?", @@ -24,23 +13,15 @@ export default function WhatIsSamveraPage({ content, frontmatter }) { ); } -export async function getStaticPaths() { - const paths = getPaths(`markdown/${CONFIG.parentDir}`); - return { - paths, - fallback: false, - }; -} - -export async function getStaticProps({ params: { slug } }) { +export async function getStaticProps() { const { content, frontmatter } = getMarkdownPageContent( - `markdown/${CONFIG.parentDir}/${slug}.md` + `markdown/${CONFIG.parentDir}/index.md` ); const openGraphData = buildWorkOpenGraphData( CONFIG.parentDirLabel, frontmatter.title, - `${CONFIG.parentDir}/${slug}` + `${CONFIG.parentDir}/index` ); return { diff --git a/site-navigation.js b/site-navigation.js index 57662c01f..b0acb4479 100644 --- a/site-navigation.js +++ b/site-navigation.js @@ -1,2 +1,120 @@ - -export const siteNavigation=[{"label":"about","items":[{"href":"/about/community-leadership","label":"Community Leadership","slug":"community-leadership"},{"href":"/about/faq","label":"FAQ","slug":"faq"},{"href":"/about/governance","label":"Governance and Philosophy","slug":"governance"},{"href":"/about/interest-working-groups","label":"Interest and Working Groups","slug":"interest-working-groups"},{"href":"/about/licensing","label":"Licensing","slug":"licensing"},{"href":"/about/philosophy","label":"Philosophy","slug":"philosophy"},{"href":"/about/samvera-annual-report","label":"Annual Report","slug":"samvera-annual-report"},{"href":"/about/samvera-code-of-conduct-and-anti-harassment-policy","label":"Samvera Code of Conduct and Anti-Harassment Policy","slug":"samvera-code-of-conduct-and-anti-harassment-policy"},{"href":"/about/samvera-community-sourced-software","label":"Samvera is Community Sourced Software for Repository Solutions","slug":"samvera-community-sourced-software"}],"slug":"about"},{"label":"getting started","items":[{"href":"/getting-started/getting-started","label":"Getting started","slug":"getting-started"}],"slug":"getting-started"},{"label":"what is samvera","items":[{"href":"/what-is-samvera/applications-demos","label":"Applications & Demos","slug":"applications-demos"},{"href":"/what-is-samvera/samvera-open-source-repository-framework","label":"Samvera is an Open Source Repository Framework","slug":"samvera-open-source-repository-framework"},{"href":"/what-is-samvera/technology-stack","label":"Technology stack","slug":"technology-stack"}],"slug":"what-is-samvera"},{"label":"who uses samvera","items":[{"href":"/who-uses-samvera/case-studies","label":"Case study: Emory University","slug":"case-studies"},{"href":"/who-uses-samvera/case-study-avalon-at-the-university-of-houston","label":"Case Study: Avalon at the University of Houston","slug":"case-study-avalon-at-the-university-of-houston"},{"href":"/who-uses-samvera/community-framework","label":"Community Framework","slug":"community-framework"},{"href":"/who-uses-samvera/samvera-adopters","label":"Samvera Adopters","slug":"samvera-adopters"},{"href":"/who-uses-samvera/samvera-partners","label":"Samvera Partners","slug":"samvera-partners"},{"href":"/who-uses-samvera/samvera-user-profiles","label":"Samvera user profiles","slug":"samvera-user-profiles"},{"href":"/who-uses-samvera/service-providers","label":"Samvera Service Providers","slug":"service-providers"},{"href":"/who-uses-samvera/take-a-tour-of-active-samvera-repositories","label":"Samvera Repository Tour","slug":"take-a-tour-of-active-samvera-repositories"}],"slug":"who-uses-samvera"},{"label":"why use samvera","items":[{"href":"/why-use-samvera/samvera-flexible-extensible","label":"Samvera is Flexible and Extensible","slug":"samvera-flexible-extensible"},{"href":"/why-use-samvera/sustainability","label":"Sustainability","slug":"sustainability"},{"href":"/why-use-samvera/the-samvera-community","label":"The Samvera Community","slug":"the-samvera-community"}],"slug":"why-use-samvera"}]; +export const siteNavigation = [ + { + label: "about", + items: [ + { + href: "/about/community-leadership", + label: "Community Leadership", + slug: "community-leadership", + }, + { href: "/about/faq", label: "FAQ", slug: "faq" }, + { + href: "/about/governance", + label: "Governance and Philosophy", + slug: "governance", + }, + { + href: "/about/interest-working-groups", + label: "Interest and Working Groups", + slug: "interest-working-groups", + }, + { href: "/about/licensing", label: "Licensing", slug: "licensing" }, + { href: "/about/philosophy", label: "Philosophy", slug: "philosophy" }, + { + href: "/about/samvera-annual-report", + label: "Annual Report", + slug: "samvera-annual-report", + }, + { + href: "/about/samvera-code-of-conduct-and-anti-harassment-policy", + label: "Samvera Code of Conduct and Anti-Harassment Policy", + slug: "samvera-code-of-conduct-and-anti-harassment-policy", + }, + { + href: "/about/samvera-community-sourced-software", + label: "Samvera is Community Sourced Software for Repository Solutions", + slug: "samvera-community-sourced-software", + }, + ], + slug: "about", + }, + { + label: "getting started", + items: [ + { + href: "/getting-started/getting-started", + label: "Getting started", + slug: "getting-started", + }, + ], + slug: "getting-started", + }, + { + label: "what is samvera", + items: [ + { + href: "/what-is-samvera/applications-demos", + label: "Applications & Demos", + slug: "applications-demos", + }, + { + href: "/what-is-samvera/samvera-open-source-repository-framework", + label: "Samvera is an Open Source Repository Framework", + slug: "samvera-open-source-repository-framework", + }, + { + href: "/what-is-samvera/technology-stack", + label: "Technology stack", + slug: "technology-stack", + }, + ], + slug: "what-is-samvera", + }, + { + label: "who uses samvera", + items: [ + { + href: "/who-uses-samvera/case-studies", + label: "Case study: Emory University", + slug: "case-studies", + }, + { + href: "/who-uses-samvera/case-study-avalon-at-the-university-of-houston", + label: "Case Study: Avalon at the University of Houston", + slug: "case-study-avalon-at-the-university-of-houston", + }, + { + href: "/who-uses-samvera/community-framework", + label: "Community Framework", + slug: "community-framework", + }, + { + href: "/who-uses-samvera/samvera-adopters", + label: "Samvera Adopters", + slug: "samvera-adopters", + }, + { + href: "/who-uses-samvera/samvera-partners", + label: "Samvera Partners", + slug: "samvera-partners", + }, + { + href: "/who-uses-samvera/samvera-user-profiles", + label: "Samvera user profiles", + slug: "samvera-user-profiles", + }, + { + href: "/who-uses-samvera/service-providers", + label: "Samvera Service Providers", + slug: "service-providers", + }, + { + href: "/who-uses-samvera/take-a-tour-of-active-samvera-repositories", + label: "Samvera Repository Tour", + slug: "take-a-tour-of-active-samvera-repositories", + }, + ], + slug: "who-uses-samvera", + }, + { label: "why use samvera", items: [], slug: "why-use-samvera" }, +];