Skip to content

Commit

Permalink
Merge pull request #85 from bradgarropy/seo
Browse files Browse the repository at this point in the history
🔍 seo
  • Loading branch information
bradgarropy authored Mar 25, 2020
2 parents af4b829 + 1b216c4 commit 3e087ba
Show file tree
Hide file tree
Showing 30 changed files with 203 additions and 117 deletions.
38 changes: 26 additions & 12 deletions content/posts/quaranstreams/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ title: Quaranstreams
date: 2020-03-20
tags: ["concert", "livestream"]
image: "images/band-of-heathens.png"
# image: "images/casey-donahew.png"
# image: "images/mike-ryan.png"
---

In the midst of all the COVID-19 chaos, shows are being cancelled all over the place. Without concerts, country artists are struggling to do what they love and make a paycheck.
Expand All @@ -14,20 +12,36 @@ But this is 2020, and putting yourself online is par for the course. So artists

Here's a list of all the streams I've found so far.

| Date | Stream | Artist(s) | Type |
| :--- | :--------------------------- | :---------------------------------------------- | :-------- |
| 3/24 | [Facebook][ray-johnston] | Ray Johnston | Acoustic |
| 3/23 | [Facebook][garth-brooks] | Garth Brooks, Trisha Yearwood | Acoustic |
| 3/20 | [Facebook][wade-bowen] | Wade Bowen, Cody Canada | Acoustic |
| 3/19 | [Facebook][casey-donahew] | Casey Donahew, Chris Colston | Acoustic |
| 3/17 | [Facebook][luke-combs] | Luke Combs | Acoustic |
| 3/17 | [Facebook][mike-ryan] | Mike Ryan Band | Full Band |
| 3/17 | [Facebook][band-of-heathens] | Gordy Quist (Band of Heathens), Parker McCollum | Acoustic |
| Date | Stream | Artist(s) | Type |
| :--- | :------------------------------- | :---------------------------- | :-------- |
| 4/9 | [Facebook][midnight-river-choir] | Midnight River Choir | Acoustic |
| 4/8 | [Facebook][jason-eady] | Jason Eady, Courtney Patton | Acoustic |
| 4/3 | [Facebook][curtis-grimes] | Curtis Grimes | Acoustic |
| 4/1 | [Facebook][drew-fish] | Drew Fish | Acoustic |
| 3/28 | [Facebook][jesse-raub-jr] | Jesse Raub Jr. | Acoustic |
| 3/24 | [Facebook][ray-johnston] | Ray Johnston | Acoustic |
| 3/23 | [Facebook][garth-brooks] | Garth Brooks, Trisha Yearwood | Acoustic |
| 3/23 | [Facebook][jon-wolfe] | Jon Wolfe | Acoustic |
| 3/22 | [Facebook][josh-ward] | Josh Ward, Jake Worthington | Acoustic |
| 3/21 | [Facebook][randall-king] | Randall King | Acoustic |
| 3/20 | [Facebook][wade-bowen] | Wade Bowen, Cody Canada | Acoustic |
| 3/19 | [Facebook][casey-donahew] | Casey Donahew, Chris Colston | Acoustic |
| 3/17 | [Facebook][luke-combs] | Luke Combs | Acoustic |
| 3/17 | [Facebook][mike-ryan] | Mike Ryan Band | Full Band |
| 3/17 | [Facebook][band-of-heathens] | Gordy Quist, Parker McCollum | Acoustic |

I'll keep this updated as the quarantine continues. If you know of any streams that I missed, tweet them to [@dailytxcountry][twitter] and I'll add them to the list. Now go crack a beer with your friends and tune in!

[midnight-river-choir]: https://www.facebook.com/events/253710238978784
[jason-eady]: https://www.facebook.com/events/2308112812624612
[curtis-grimes]: https://www.facebook.com/events/525495054699115
[drew-fish]: https://www.facebook.com/events/198216328130235
[jesse-raub-jr]: https://www.facebook.com/events/213668259878005
[ray-johnston]: https://www.facebook.com/events/1541096839400379
[garth-brooks]: https://www.facebook.com/GarthBrooks
[garth-brooks]: https://www.facebook.com/727776603968442/videos/1127791137563266
[jon-wolfe]: https://www.facebook.com/7764681979/videos/2486645101587177
[josh-ward]: https://www.facebook.com/watchparty/517477845869868
[randall-king]: https://www.facebook.com/114539201938287/videos/222118509174798
[wade-bowen]: https://www.facebook.com/thewadebowen/videos/255579418936960
[casey-donahew]: https://www.facebook.com/CaseyDonahewBand/videos/518465142420527
[luke-combs]: https://www.facebook.com/207710979309900/videos/643877509515542
Expand Down
18 changes: 14 additions & 4 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,20 @@ const dtxcChannelId = "UCpbIlFaiv-3188nAWtgL0Iw"

module.exports = {
siteMetadata: {
siteUrl: "https://dailytexascountry.com",
title: "DTXC",
description: "🤠 daily texas country",
keywords: ["gatsby", "react", "scss", "eslint"],
url: "https://dailytexascountry.com",
title: "Daily Texas Country",
description: "🤠 Daily Texas Country",
keywords: [
"dtxc",
"dailytexascountry",
"daily texas country",
"texas",
"country",
"music",
"texas country",
"country music",
"texas country music",
],
email: "[email protected]",
twitter: "dailytxcountry",
youtube: dtxcChannelId,
Expand Down
2 changes: 1 addition & 1 deletion gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const createPostPage = (post, createPage) => {
const {slug} = post.frontmatter

createPage({
path: `/blog/${slug}`,
path: `/posts/${slug}`,
component: path.resolve("./src/templates/post.js"),
context: {slug},
})
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dailytexascountry.com",
"version": "0.12.0",
"version": "0.13.0",
"description": "🤠 daily texas country",
"keywords": [
"gatsby",
Expand Down
2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p align="center">
<a href="https://dailytexascountry.com">
<img alt="🤠 daily texas country" src="/static/icon.png" width="150">
<img alt="🤠 daily texas country" src="/static/favicon.png" width="150">
</a>
</p>

Expand Down
4 changes: 2 additions & 2 deletions src/components/Header/Navigation.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ const Navigation = ({open = true}) => {

return (
<StyledNavigation open={open}>
<StyledLink to="/blog" onClick={onClick}>
blog
<StyledLink to="/posts" onClick={onClick}>
posts
</StyledLink>

<StyledLink to="/episodes" onClick={onClick}>
Expand Down
4 changes: 2 additions & 2 deletions src/components/Posts/FeaturedPosts.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ const FeaturedPosts = ({posts}) => {

return (
<StyledPost key={index}>
<Link to={`/blog/${slug}`}>
<Link to={`/posts/${slug}`}>
<Image fluid={image} />
</Link>

<PostMeta>
<PostTitle to={`/blog/${slug}`}>
<PostTitle to={`/posts/${slug}`}>
<h2>{title}</h2>
</PostTitle>
</PostMeta>
Expand Down
2 changes: 1 addition & 1 deletion src/components/Posts/Post.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const Post = ({post}) => {

return (
<StyledPost>
<Link to={`/blog/${slug}`}>
<Link to={`/posts/${slug}`}>
<Image fluid={image} />
</Link>

Expand Down
2 changes: 1 addition & 1 deletion src/components/Posts/PostMeta.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const PostMeta = ({post}) => {
<StyledPostMeta>
<span>{date}</span>

<PostTitle to={`/blog/${slug}`}>
<PostTitle to={`/posts/${slug}`}>
<Title>{title}</Title>
</PostTitle>

Expand Down
8 changes: 4 additions & 4 deletions src/components/SEO/Facebook.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import PropTypes from "prop-types"
import Helmet from "react-helmet"

const Facebook = ({
url = "https://dailytexascountry.com",
url = "",
type = "website",
title = "daily texas country",
description = "🤠 daily texas country",
image = "https://dailytexascountry.com/facebook.png",
title = "",
description = "",
image = "",
}) => {
return (
<Helmet>
Expand Down
30 changes: 9 additions & 21 deletions src/components/SEO/Meta.js
Original file line number Diff line number Diff line change
@@ -1,36 +1,24 @@
import React from "react"
import PropTypes from "prop-types"
import {useStaticQuery, graphql} from "gatsby"
import Helmet from "react-helmet"
import icon from "../../../static/icon.png"

const Meta = ({title}) => {
const data = useStaticQuery(graphql`
{
site {
siteMetadata {
description
keywords
}
}
}
`)

const {description, keywords} = data.site.siteMetadata
import PropTypes from "prop-types"

const Meta = ({title = "", description = "", keywords = [], icon = ""}) => {
return (
<Helmet>
<html lang="en"/>
<html lang="en" />
<title>{title}</title>
<meta name="description" content={description}/>
<meta name="keywords" content={keywords}/>
<link rel="icon" type="image/png" href={icon}/>
<meta name="description" content={description} />
<meta name="keywords" content={keywords.join(",")} />
<link rel="icon" type="image/png" href={icon} />
</Helmet>
)
}

Meta.propTypes = {
title: PropTypes.string,
description: PropTypes.string,
keywords: PropTypes.arrayOf(PropTypes.string),
icon: PropTypes.string,
}

export default Meta
52 changes: 52 additions & 0 deletions src/components/SEO/SEO.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import React from "react"
import PropTypes from "prop-types"
import Meta from "./Meta"
import Twitter from "./Twitter"
import Facebook from "./Facebook"
import {useSiteMetadata} from "../../hooks"

const SEO = ({path = "", title = "", description = "", image = ""}) => {
const meta = useSiteMetadata()

const defaultUrl = meta.url
const defaultTitle = meta.title
const defaultTwitterImage = `${meta.url}/twitter.png`
const defaultFacebookImage = `${meta.url}/facebook.png`

const seoImage = `${meta.url}${image}`
const seoUrl = `${meta.url}${path}`

return (
<>
<Meta
title={title || defaultTitle}
description={description}
keywords={meta.keywords}
icon={`${meta.url}/favicon.png`}
/>

<Facebook
url={path ? seoUrl : defaultUrl}
title={title || defaultTitle}
description={description}
image={image ? seoImage : defaultFacebookImage}
/>

<Twitter
site={meta.twitter}
title={title || defaultTitle}
description={description}
image={image ? seoImage : defaultTwitterImage}
/>
</>
)
}

SEO.propTypes = {
path: PropTypes.string,
title: PropTypes.string,
description: PropTypes.string,
image: PropTypes.string,
}

export default SEO
10 changes: 5 additions & 5 deletions src/components/SEO/Twitter.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import Helmet from "react-helmet"

const Twitter = ({
card = "summary",
site = "@bradgarropy",
title = "daily texas country",
description = "🤠 daily texas country",
image = "https://dailytexascountry.com/twitter.png",
site = "",
title = "",
description = "",
image = "",
}) => {
return (
<Helmet>
<meta name="twitter:card" content={card} />
<meta name="twitter:site" content={site} />
<meta name="twitter:site" content={site && `@${site}`} />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content={image} />
Expand Down
1 change: 1 addition & 0 deletions src/components/SEO/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export {default as SEO} from "./SEO"
export {default as Meta} from "./Meta"
export {default as Twitter} from "./Twitter"
export {default as Facebook} from "./Facebook"
2 changes: 1 addition & 1 deletion src/hooks/useSiteMetadata.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const useSiteMetadata = () => {
{
site {
siteMetadata {
siteUrl
url
title
description
keywords
Expand Down
17 changes: 10 additions & 7 deletions src/pages/404.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
import React from "react"
import PropTypes from "prop-types"
import {SEO} from "../components/SEO"
import Container from "../styles/Container"
import {Meta, Twitter, Facebook} from "../components/SEO"

const NotFoundPage = () => {
const NotFoundPage = ({uri}) => {
return (
<Container>
<Meta title="not found" />
<Facebook />
<Twitter />
<SEO path={uri} title="404" />

<h1>NOT FOUND</h1>
<p>You just hit a route that doesn&apos;t exist... the sadness.</p>
<h1>Ya&apos;ll go to hell, and I&apos;ll go to Texas.</h1>
<h1>- Davy Crockett</h1>
</Container>
)
}

NotFoundPage.propTypes = {
uri: PropTypes.string.isRequired,
}

export default NotFoundPage
13 changes: 8 additions & 5 deletions src/pages/about.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
import React from "react"
import PropTypes from "prop-types"
import {useAbout} from "../hooks"
import {SEO} from "../components/SEO"
import Container from "../styles/Container"
import {Meta, Twitter, Facebook} from "../components/SEO"

const AboutPage = () => {
const AboutPage = ({uri}) => {
const {html} = useAbout()

return (
<Container>
<Meta title="about" />
<Facebook />
<Twitter />
<SEO path={uri} title="About" />

<div dangerouslySetInnerHTML={{__html: html}} />
</Container>
)
}

AboutPage.propTypes = {
uri: PropTypes.string.isRequired,
}

export default AboutPage
13 changes: 8 additions & 5 deletions src/pages/episodes.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
import React from "react"
import PropTypes from "prop-types"
import {useEpisodes} from "../hooks"
import {SEO} from "../components/SEO"
import Container from "../styles/Container"
import Episodes from "../components/Episodes/Episodes"
import {Meta, Twitter, Facebook} from "../components/SEO"

const EpisodesPage = () => {
const EpisodesPage = ({uri}) => {
const episodes = useEpisodes({limit: 5})

return (
<Container>
<Meta title="episodes" />
<Facebook />
<Twitter />
<SEO path={uri} title="Episodes" />

<h1>episodes</h1>
<Episodes episodes={episodes} />
</Container>
)
}

EpisodesPage.propTypes = {
uri: PropTypes.string.isRequired,
}

export default EpisodesPage
Loading

0 comments on commit 3e087ba

Please sign in to comment.