diff --git a/content/announcements/2020-07-defense-digital-service-delivers-biometric-prototype.md b/content/announcements/2020-07-defense-digital-service-delivers-biometric-prototype.md new file mode 100644 index 00000000..e32fe97d --- /dev/null +++ b/content/announcements/2020-07-defense-digital-service-delivers-biometric-prototype.md @@ -0,0 +1,8 @@ +--- +type: announcements +title: Defense Digital Service Delivers Biometric Prototype to Army +date: 2020-07-20T16:00:00.000Z +image: DDS_PRESS_RELEASE.jpg +summary: The Basic Optical Biometric Analysis (BOBA) prototype upgrades current biometric technology with enhanced functionality and accessibility for service members on the tactical edge. +externalLink: https://dds.mil/BOBA_Announcement_Press_Release_rdg_July_19.pdf +--- diff --git a/gatsby-node.js b/gatsby-node.js index 37161d60..4719c41a 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -231,7 +231,7 @@ exports.createPages = async ({ graphql, actions: { createPage } }) => { ]; const mediaListPage = path.resolve("src/templates/media-list.tsx"); const mediaPage = path.resolve("src/templates/media-page.tsx"); - const pageSize = 8; + const pageSize = 10; for (let [mediaType, title] of mediaTypes) { const { data } = await graphql(`{ @@ -269,15 +269,17 @@ exports.createPages = async ({ graphql, actions: { createPage } }) => { // create individual pages for each of the items of this media type for (let i = 0; i < results.length; i++) { - createPage({ - path: `/media/${mediaType}/${results[i].fields.slug}`, - component: mediaPage, - context: { - slug: results[i].fields.slug, - link: `/media/${mediaType}/${results[i].fields.slug}`, - mediaType, - }, - }); + if (!results[i].fields.externalLink) { + createPage({ + path: `/media/${mediaType}/${results[i].fields.slug}`, + component: mediaPage, + context: { + slug: results[i].fields.slug, + link: `/media/${mediaType}/${results[i].fields.slug}`, + mediaType, + }, + }); + } } } diff --git a/media/DDS_PRESS_RELEASE.jpg b/media/DDS_PRESS_RELEASE.jpg new file mode 100644 index 00000000..e50573e6 Binary files /dev/null and b/media/DDS_PRESS_RELEASE.jpg differ diff --git a/src/components/ConditionalLink.tsx b/src/components/ConditionalLink.tsx index 83a737ba..b90bfd5e 100644 --- a/src/components/ConditionalLink.tsx +++ b/src/components/ConditionalLink.tsx @@ -23,7 +23,7 @@ export const ConditionalLink: React.FC, "ref">> = ({ ); } return ( - + {children} ); diff --git a/src/components/MediaCard.tsx b/src/components/MediaCard.tsx index a9d669f9..a8c5e3c9 100644 --- a/src/components/MediaCard.tsx +++ b/src/components/MediaCard.tsx @@ -1,7 +1,6 @@ import React from "react"; import Img from "gatsby-image"; -import Link from "gatsby-link"; -import { Card } from "components"; +import { Card, ConditionalLink as Link } from "components"; interface Props { title: string; @@ -11,6 +10,7 @@ interface Props { imgFluid?: any; imgSrc?: string; altText?: string; + externalLink?: string; } export const MediaCard: React.FC = ({ diff --git a/src/components/RecentAnnouncement.tsx b/src/components/RecentAnnouncement.tsx index e5daa28f..ee02e7cf 100644 --- a/src/components/RecentAnnouncement.tsx +++ b/src/components/RecentAnnouncement.tsx @@ -1,12 +1,13 @@ import React from "react"; import clsx from "clsx"; -import { Link } from "gatsby"; +import { ConditionalLink as Link } from "components"; interface Props { title: string; date: string; slug: string; className?: string; + externalLink?: string; } export const RecentAnnouncement: React.FC = ({ @@ -14,11 +15,15 @@ export const RecentAnnouncement: React.FC = ({ date, slug, className, + externalLink, }) => { return (
- + {title}
{date}
diff --git a/src/hooks/useRecentAnnouncements.tsx b/src/hooks/useRecentAnnouncements.tsx index 52dc91dd..4c3dd89d 100644 --- a/src/hooks/useRecentAnnouncements.tsx +++ b/src/hooks/useRecentAnnouncements.tsx @@ -23,6 +23,7 @@ export const useRecentAnnouncements = () => { frontmatter { title date(formatString: "MMM DD, YYYY") + externalLink } fields { slug diff --git a/src/templates/media-list.tsx b/src/templates/media-list.tsx index eb750d73..a2468274 100644 --- a/src/templates/media-list.tsx +++ b/src/templates/media-list.tsx @@ -30,6 +30,7 @@ interface Props { fluid: any; }; }; + externalLink: string; }; }[]; }; @@ -59,7 +60,9 @@ const MediaList: React.FC = ({ {nodes.map(({ fields, frontmatter }) => ( @@ -95,6 +98,7 @@ export const query = graphql` } } } + externalLink } } }