Skip to content

Commit

Permalink
Improve SEO metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
aberonni committed Oct 27, 2024
1 parent 8613efa commit 5f8af73
Show file tree
Hide file tree
Showing 15 changed files with 108 additions and 43 deletions.
8 changes: 4 additions & 4 deletions prisma/seedData.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
{
"id": "armando",
"title": "Armando",
"description": "The Armando is a popular and well known long-form improv format used around the world.\n\nAlso known as True Stories at Hoopla (as that name sets the tone for the show well), or as a Commando if featuring multiple monologues.\n\n### Format\n\nA guest monologist, or one of the cast, is given a one word inspiration from the audience. They then tell a true life story or improvised monologue inspired by that word. The cast are listening and remembering bits of the monologue and various themes and patterns and fun things.\n\nAfter the monologue the cast improvise the rest of the cast improvise various scenes inspired by the monologue. Some scenes directly recreating stories from the monologue, some tangential, some exploring games, themes and patterns from the monologue, and some scenes using locations or characters from the monologue as starting points for new scenes.\n\nEvery couple of scenes there may be a new monologue, either inspired by the original word or by something that happened in the scene, or it can just continue straight through from the opening monologue.\n\nThe scenes don’t have to connect together but they often do, with themes and patterns emerging as the show goes on and call backs to earlier scenes.\n\nAt Hoopla courses we tend to keep the monologues quite short, and the monologues tend to be true stories from the person’s life.\n\n### Variations\n\n* Lots of scenes from just one opening monologue.\n* Monologues coming back every couple of scenes, either inspired by the initial suggestion or by something that happened in the scene.\n* Either just one person does monologues or anyone from the cast can.\n\n### Origin\n\nIt’s name comes from The Armando Diaz Experience, Theatrical Movement and Hootenanny, a long running long-form show at IO Chicago and IO West theatres created back in 1995.\n\nThe original monologist was Armando Diaz, the show was originally created and cast by Adam McKay and Dave Koechner, and the original director was Del Close.\n\nThe show also inspired ASSSSCAT at UCB in New York.",
"description": "The Armando is a popular and well known long form improv format used around the world.\n\nAlso known as True Stories at Hoopla (as that name sets the tone for the show well), or as a Commando if featuring multiple monologues.\n\n### Format\n\nA guest monologist, or one of the cast, is given a one word inspiration from the audience. They then tell a true life story or improvised monologue inspired by that word. The cast are listening and remembering bits of the monologue and various themes and patterns and fun things.\n\nAfter the monologue the cast improvise the rest of the cast improvise various scenes inspired by the monologue. Some scenes directly recreating stories from the monologue, some tangential, some exploring games, themes and patterns from the monologue, and some scenes using locations or characters from the monologue as starting points for new scenes.\n\nEvery couple of scenes there may be a new monologue, either inspired by the original word or by something that happened in the scene, or it can just continue straight through from the opening monologue.\n\nThe scenes don’t have to connect together but they often do, with themes and patterns emerging as the show goes on and call backs to earlier scenes.\n\nAt Hoopla courses we tend to keep the monologues quite short, and the monologues tend to be true stories from the person’s life.\n\n### Variations\n\n* Lots of scenes from just one opening monologue.\n* Monologues coming back every couple of scenes, either inspired by the initial suggestion or by something that happened in the scene.\n* Either just one person does monologues or anyone from the cast can.\n\n### Origin\n\nIt’s name comes from The Armando Diaz Experience, Theatrical Movement and Hootenanny, a long running long form show at IO Chicago and IO West theatres created back in 1995.\n\nThe original monologist was Armando Diaz, the show was originally created and cast by Adam McKay and Dave Koechner, and the original director was Del Close.\n\nThe show also inspired ASSSSCAT at UCB in New York.",
"type": "LONG_FORM",
"configuration": "SCENE",
"showIntroduction": null,
Expand Down Expand Up @@ -1464,7 +1464,7 @@
{
"id": "scene-tag",
"title": "Scene tag",
"description": "This is a short-form game for 6 players.\n\n## Setup\n\nThe players form 3 pairs and take up 3 parts of the stage (left, centre, right).\n\nEach pair is given a different suggestion from the audience (so three total suggestions). These three suggestions will represent the three scenes that the pairs will be playing.\n\nOne pair starts a scene. When another pair wants to play, they must clap. The scene in progress must immediately stop, and the pair that clapped now steps forward and starts (or resumes, if they had already started a scene) their scene.\n\nThe only rule is that the first line after the clap has to be the same as the last line before the clap. When a pair claps in, the old one returns to their spot (left, right, centre). \n\n## Example\n\n1A: I don't like dogs. \n1B: I agree with you.\n\n2A claps, enters the scene, and Pair 1 moves to the back. \n2A: I agree with you. We should get married. \n2B: Married! I just wanted a vacation. \n\n3A claps, enters the scene, and Pair 2 moves to the back. \n3A: I just wanted a vacation. Why did you have to bring your mother?!\n\nAnd so on... \n\n## Learning Objectives\n\nThis is a game about listening and drawing inspiration. \n\n## Tips\n\nAs time goes on, the claps should be more and more frequent.\n\n## Variations\n\nIt is possible to put a bell in the centre of the stage so that the players that want to take focus must ring the bell to take it.",
"description": "This is a short form game for 6 players.\n\n## Setup\n\nThe players form 3 pairs and take up 3 parts of the stage (left, centre, right).\n\nEach pair is given a different suggestion from the audience (so three total suggestions). These three suggestions will represent the three scenes that the pairs will be playing.\n\nOne pair starts a scene. When another pair wants to play, they must clap. The scene in progress must immediately stop, and the pair that clapped now steps forward and starts (or resumes, if they had already started a scene) their scene.\n\nThe only rule is that the first line after the clap has to be the same as the last line before the clap. When a pair claps in, the old one returns to their spot (left, right, centre). \n\n## Example\n\n1A: I don't like dogs. \n1B: I agree with you.\n\n2A claps, enters the scene, and Pair 1 moves to the back. \n2A: I agree with you. We should get married. \n2B: Married! I just wanted a vacation. \n\n3A claps, enters the scene, and Pair 2 moves to the back. \n3A: I just wanted a vacation. Why did you have to bring your mother?!\n\nAnd so on... \n\n## Learning Objectives\n\nThis is a game about listening and drawing inspiration. \n\n## Tips\n\nAs time goes on, the claps should be more and more frequent.\n\n## Variations\n\nIt is possible to put a bell in the centre of the stage so that the players that want to take focus must ring the bell to take it.",
"type": "SHORT_FORM",
"configuration": "SCENE",
"showIntroduction": null,
Expand Down Expand Up @@ -1592,7 +1592,7 @@
{
"id": "sound-effects",
"title": "Sound Effects",
"description": "Two improvisers play a scene, while two players off stage provide the sound effects. Can also be done with audience members doing the sound effects.\n\n### Purpose\n\nThis is a great listening game as everyone has to listen to offers coming from different directions. The improvisers on stage have to listen to each other and also the sound effects, and the sound effect improvisers have to pay attention to the stage.\n\nIt’s also great for teaching justifying mistakes and offers, as the game works best when the sound effects are reacted to and incorporated into the scene.\n\nIt’s also good for yes and as people have to accept the sound effects and allow them to alter the scene.\n\nIt’s also helpful for long-form as supporting sounds often pop up in long-form.\n\n### Tips\n\n* Set up a relationship and location at the start of the scene, it also helps to have an objective.\n* React to the sound effects, justify them and let them influence your scene.\n* Set the sound effects people up to make a sound, give them an offer, especially if audience members.\n* Use mics if you have them.\n\n### Variations\n\n* Sometimes audience members are used to provide the sound effects. If you do this please thank them and make them look good.\n\n### Origin\n\nWhose Line Is It Anyway?",
"description": "Two improvisers play a scene, while two players off stage provide the sound effects. Can also be done with audience members doing the sound effects.\n\n### Purpose\n\nThis is a great listening game as everyone has to listen to offers coming from different directions. The improvisers on stage have to listen to each other and also the sound effects, and the sound effect improvisers have to pay attention to the stage.\n\nIt’s also great for teaching justifying mistakes and offers, as the game works best when the sound effects are reacted to and incorporated into the scene.\n\nIt’s also good for yes and as people have to accept the sound effects and allow them to alter the scene.\n\nIt’s also helpful for long form as supporting sounds often pop up in long form.\n\n### Tips\n\n* Set up a relationship and location at the start of the scene, it also helps to have an objective.\n* React to the sound effects, justify them and let them influence your scene.\n* Set the sound effects people up to make a sound, give them an offer, especially if audience members.\n* Use mics if you have them.\n\n### Variations\n\n* Sometimes audience members are used to provide the sound effects. If you do this please thank them and make them look good.\n\n### Origin\n\nWhose Line Is It Anyway?",
"type": "SHORT_FORM",
"configuration": "SCENE",
"showIntroduction": "This is a game called Sound Effects. Two improvisers on stage are going to perform a scene while two improvisers off stage provide the sound effects for the scene.",
Expand Down Expand Up @@ -2308,4 +2308,4 @@
]
}
]
}
}
2 changes: 1 addition & 1 deletion src/components/logo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export function Logo({ className, ...props }: LogoProps) {
href="/"
{...props}
>
<span className="inline-block rounded rounded-r-none border border-zinc-900 bg-zinc-900 py-1 pl-1.5 pr-1 text-white dark:border-white dark:bg-white dark:text-zinc-900">
<span className="inline-block rounded rounded-r-none border border-zinc-900 bg-zinc-900 py-1 pl-1.5 pr-1 text-white dark:border-white dark:bg-white dark:text-zinc-900">
Improv
</span>
<span className="inline-block rounded rounded-l-none border border-zinc-900 bg-white py-1 pl-0.5 pr-1 font-extrabold tracking-tight text-zinc-900 dark:border-white dark:!border-l-zinc-900 dark:bg-zinc-900 dark:text-white">
Expand Down
10 changes: 5 additions & 5 deletions src/components/page-layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export const PageLayout = ({
<header className="bg-accent-foreground shadow print:bg-background">
<div className="mx-auto max-w-7xl px-4 py-6 sm:px-6 lg:px-8">
<div className="flex items-center justify-between">
<h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight text-background print:text-foreground lg:text-5xl">
<h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight text-background lg:text-5xl print:text-foreground">
{title}
</h1>
{showBackButton && (
Expand Down Expand Up @@ -70,15 +70,15 @@ export const PageLayout = ({
<div className="flex w-full flex-col items-center justify-center space-y-4 rounded-md border p-4">
{authenticatedOnly === true ? (
<>
<h1 className="text-muted-foreground">
<h2 className="text-muted-foreground">
You must be signed in to view this page
</h1>
</h2>
<Button onClick={() => signIn()}>Sign in</Button>
</>
) : (
<h1 className="text-muted-foreground">
<h2 className="text-muted-foreground">
Only administrators can access this page.
</h1>
</h2>
)}
</div>
)}
Expand Down
4 changes: 2 additions & 2 deletions src/components/resource-edit-form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ export default function ResourceEditForm({
<FormItem>
<FormControl>
<div className="relative">
<div className="absolute left-0 top-0 flex h-full select-none items-center ">
<div className="absolute left-0 top-0 flex h-full select-none items-center">
<span className="pl-3 text-sm leading-none">
/resource/
</span>
Expand Down Expand Up @@ -348,7 +348,7 @@ export default function ResourceEditForm({
<PlusIcon className="ml-2 h-4 w-4" />
)}
</CollapsibleTrigger>
<CollapsibleContent className="flex flex-col space-y-4 ">
<CollapsibleContent className="flex flex-col space-y-4">
<FormField
control={control}
name="categories"
Expand Down
2 changes: 1 addition & 1 deletion src/components/site-header-desktop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export const SiteHeaderDesktop = ({
<div className="flex items-center space-x-4">
{status === "authenticated" && (
<DropdownMenu>
<DropdownMenuTrigger className="rounded-full hover:ring-2 hover:ring-accent-foreground hover:ring-offset-2 hover:ring-offset-accent ">
<DropdownMenuTrigger className="rounded-full hover:ring-2 hover:ring-accent-foreground hover:ring-offset-2 hover:ring-offset-accent">
<Avatar>
<AvatarImage src={session.user.image ?? undefined} />
<AvatarFallback>
Expand Down
2 changes: 1 addition & 1 deletion src/components/site-header-mobile.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export function SiteHeaderMobile({
callbackUrl: "/",
});
}}
className=" mt-0 inline h-auto w-full pl-0 pt-0 text-left text-base font-normal text-foreground/60"
className="mt-0 inline h-auto w-full pl-0 pt-0 text-left text-base font-normal text-foreground/60"
>
Sign Out
</button>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/404.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Separator } from "@/components/ui/separator";
export default function Custom404Page() {
return (
<div className="flex h-screen w-full items-center justify-center gap-6">
<span className="text-3xl font-semibold tracking-tight ">404</span>
<span className="text-3xl font-semibold tracking-tight">404</span>
<Separator orientation="vertical" className="h-16 w-[2px] grow-0" />
<span className="text-xl font-semibold tracking-tight">
This page could not be found.
Expand Down
8 changes: 6 additions & 2 deletions src/pages/_app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@ const MyApp: AppType<{ session: Session | null }> = ({
return (
<SessionProvider session={session}>
<Head>
<title>ImprovDB</title>
<title>
ImprovDB - Find improv games, exercises, and formats on ImprovDB -
Improv games and lesson plans for teachers and students
</title>
<meta
name="description"
content="The ultimate repository for improv games & exercises."
content="ImprovDB is the open-source database for improv games and lesson plans. Whether you're a teacher or a student, you'll find everything you need here: from warm-up exercises to short form games to long form formats, we've got you covered."
key="desc"
/>
<link rel="icon" href="/favicon.ico" />
</Head>
Expand Down
34 changes: 24 additions & 10 deletions src/pages/about.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,39 @@ export default function About() {
return (
<>
<Head>
<title>About - ImprovDB</title>
<title>
About ImprovDB - Find improv games, exercises, and formats on ImprovDB
- Improv games and lesson plans for teachers and students
</title>
</Head>
<PageLayout
title="About"
className="space-y-6 [&>p>a]:underline [&>p]:leading-7"
title={
<>
About ImprovDB
<span className="mt-1 block text-sm font-normal tracking-normal">
The open-source database for improv games and lesson plans
</span>
</>
}
>
<p>
ImprovDB is the open-source database for improv games and lesson
plans. Whether you're a teacher or a student, you'll find everything
you need here: from warm-up exercises to short form games to long form
formats, we've got you covered.
</p>

<p>
ImprovDB was developed by{" "}
<a href="https://domenicogemoli.com" target="_blank" rel="noreferrer">
Dom Gemoli
</a>
, an improv teacher and web developer.
</p>

<p>
The main purpose of ImprovDB is to solve the problem of sharing
knowledge amongst improv teachers, especially with regards to lesson
planning. The desire to solve this problem was born as a reaction to
encountering this problem as a novice teacher.
, an improv teacher and web developer, and its main purpose is to
solve the problem of sharing knowledge amongst improv teachers,
especially with regards to lesson planning. The desire to solve this
problem was born as a reaction to encountering this problem as a
novice teacher.
</p>

<p className="text-xl text-muted-foreground">
Expand Down
2 changes: 1 addition & 1 deletion src/pages/auth/signin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ function UserAuthForm({ className, ...props }: UserAuthFormProps) {
export default function SignIn() {
return (
<div className="relative flex h-screen flex-col lg:grid lg:max-w-none lg:grid-cols-2 lg:px-0">
<div className="relative flex h-16 shrink-0 flex-col px-6 text-white lg:h-full lg:p-10 dark:border-r dark:bg-muted">
<div className="relative flex h-16 shrink-0 flex-col px-6 text-white dark:border-r dark:bg-muted lg:h-full lg:p-10">
<div className="absolute inset-0 bg-zinc-900" />
<div className="relative z-20 flex h-full items-center justify-start lg:h-auto lg:justify-start">
<Logo className="dark" />
Expand Down
13 changes: 6 additions & 7 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import Head from "next/head";
import Link from "next/link";

import { PageLayout } from "@/components/page-layout";
Expand All @@ -14,22 +13,22 @@ export default function Home() {

return (
<>
<Head>
<title>ImprovDB</title>
</Head>
<PageLayout
title={
<>
Welcome to ImprovDB!
<span className="block text-sm font-normal tracking-normal">
Your new home for everything improv
<span className="mt-1 block text-sm font-normal tracking-normal">
The open-source database for improv games and lesson plans
</span>
</>
}
>
<h2 className="mb-6 scroll-m-20 pb-2 text-3xl font-semibold tracking-tight">
<h2 className="scroll-m-20 pb-1 text-3xl font-semibold tracking-tight">
Recently Updated Resources
</h2>
<p className="mb-6 text-sm">
Improv warm-ups, exercises, short form games, and long form formats{" "}
</p>
<ResourceList queryResult={resourcesQueryResult} />
<Link
href="/resource/browse"
Expand Down
Loading

0 comments on commit 5f8af73

Please sign in to comment.