Back
Upcoming Classes & Events
MM/DD
MM/DD
Today
ddd, MMM. DD
7:00pm PT
Grotto's Annual New Books Party at Green Apple
7:00-8:00pm PT
Fall Classes Virtual Open House
7:00-8:00pm PT
Fall Write-In with Laurie Ann Doyle
6:30-7:30pm PT
Difficult Conversations as Writers with Brandy Collins
6:30-7:30pm PT
Difficult Conversations as Writers with Brandy Collins
6:00-8:30pm PT
Personal Narrative and Memoir Writing with Kristen Cosby
6:00-8:30pm PT
Intermediate Creative Nonfiction Writing with Kristen Cosby
6:00-8:30pm PT
Start from Scratch: Write a Short Story in 6 Weeks with Lindsey Crittenden
6:00-8:30pm PT
Introduction to Memoir and Personal Narrative with Kristen Cosby
6:00-8:30pm PT
Introduction to Creative Writing with Kristen Cosby
6:00-8:00pm PT
Writing About Your Favorites: Intro to Pop-Culture Analysis with Sezin Devi Koehler
6:00-8:00pm PT
Thanks, I Hate It: The Art of Writing a Bad Review with Sezin Devi Koehler
6:00-8:00pm PT
Begin Where It Burns—Starting Your Book with Jenny Bitner
6:00-8:00pm PT
Trancewriting: Intuitive Writing Through Hypnosis with Jenny Bitner
6:00-8:00pm PT
Begin Where It Burns – Starting Your Book with Jenny Bitner
6:00-8:00pm PT
Autofiction: Combining Memoir and Fiction with Jenny Bitner
6:00-8:00pm PT
Fiction Workshop with Doug Henderson
6:00-8:00pm PT
Pushing the Boundaries: Experiments in Form with Jenny Bitner
6:00-7:30pm PT
Grotto Nights at SFPL: To Live & Die in the United States: A Struggle for Agency, Dignity, and Grace
6:00-7:30pm PT
Grotto Nights at the Library: Campfire Stories and Other Ghostly Narratives
6:00-7:30pm PT
Storytelling to Perform with Jessica Martinez
6:00-7:30pm PT
Grotto Nights @ SFPL: Stories at Play
6:00-7:30pm PT
Grotto Nights at SFPL: Rooted and Written
6:00-7:00pm PT
Rewriting Diversity with Brandy Collins
6:00-7:00pm PT
Rewriting Diversity with Brandy Collins
6:00 - 8:00pm PT
Write Your Unformulaic Novel with Jenny Bitner
5:30-7:30pm PT
MFA Programs: Get Admitted! with Lyzette Wanzer
5:30-7:30pm PT
Strategic Submissions: Get Published! with Lyzette Wanzer
5:00-7:00pm PT
Reading + Meeting: Nov. 21st, 2025
5:00-7:00pm PT
Reading + Meeting: Sept. 19th, 2025
5:00-7:00pm PT
Reading + Meeting: August 15th, 2025
5:00-7:00pm PT
Reading + Meeting: July 18th, 2025
5:00-7:00pm PT
Reading + Meeting: June 20th
5:00-7:00pm PT
Reading + Meeting
5:00-6:30pm PT
13 Ways of Looking At A Memoir with Susan Ito
4:30pm PT
Members Only: Book Club: "The Known World"
4:00-5:30pm PT
True Crit with Deborah Claymon and Marisa Catalina Casey
3:30-5:00pm PT
Imagery Intensive with Lindsey Crittenden
3:00-5:30pm PT
Memoir: A Course in Craft with Lindsey Crittenden
3:00-5:00pm PT
Work-in-Progress Workshop with Lindsey Crittenden
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:30pm PT
Members Only: Essay/Memoir Group
3:00-4:00pm PT
Spring 2025 Write-Ins: Britta Stromeyer
2:00-4:00pm PT
Summer Writing Workshop for Teens with Kristen Cosby
2:00-3:30pm PT
Make a Zine with Jessica Martinez
1:00-3:00pm PT
How to Write a Children's Book with Lisa Lerner
1:00-3:00pm PT
Write a Fabulous Beginning with Lisa Lerner
1:00-3:00pm PT
Write a Fabulous Beginning with Lisa Lerner
1:00-3:00pm PT
Write a Fabulous Beginning with Lisa Lerner
12:30pm PT
Members Only: Journalism Group (hybrid)
12:30-1:30pm PT
Fall Write-In with Xandra Castleton
12:00pm PT
Members Only: Wet Ink Tutorial
12:00-1:30pm PT
Rooted Words: Place, Landscape, and Setting in Contemporary Poetry with Sabina Khan-Ibarra
12:00-1:30pm PT
Poetry Writing Workshop with Kristen Cosby
12:00-1:30pm PT
Rehearsing Memory: A Poetic Practice with Sabina Khan-Ibarra
12:00-1:30pm PT
Poetry in the Flesh: Image, Rhythm, and Embodied Voice with Sabina Khan-Ibarra
12:00-1:30pm PT
Unlock the Poet Within: Transforming Tradition with Sabina Khan-Ibarra
12:00-1:00pm PT
Fall Write-In with Maw Shein Win
12:00-1:00pm PT
Fall Write-In with Laurie Ann Doyle
12:00-1:00pm PT
Fall Write-In with Jenny Bitner
12:00-1:00pm PT
Fall Write-In with Kristen Cosby
12:00-1:00pm PT
Fall Write-In with Kristen Cosby
12:00-1:00pm PT
Fall Write-In with Sabina Khan-Ibarra
12:00-1:00pm PT
Fall Write-In with Sabina Khan-Ibarra
12:00-1:00pm PT
Fall Write-In with Lisa Lerner
12:00-1:00pm PT
Fall Write-In with Lisa Lerner
12:00-1:00pm PT
Fall Write-In with Xandra Castleton
12:00-1:00pm PT
Members Only: Grotto Book Publicity/Author Marketing Group
12:00-1:00pm PT
Words and Stories Series at Salesforce Park: Prose
12:00-1:00pm PT
Words and Stories Series at Salesforce Park: Prose
12:00-1:00pm PT
Spring 2025 Write-Ins: Lisa Lerner
12:00-1:00pm PT
Spring 2025 Write-Ins: Lisa Lerner
12:00-1:00pm PT
Spring 2025 Write-Ins: Lyzette Wanzer
11:00am-12:30pm PT
Reimagining the Page: Containers of Form and Meaning in Poetry with Sabina Khan-Ibarra
11:00am-12:00pm PT
Spring 2025 Write-Ins: Lyzette Wanzer
11:00am-12:00pm PT
Spring 2025 Write-Ins: Jenny Bitner
10:00am-12:00pm PT
Building Your Author Platform with Grace Loh Prasad
10:00-11:00am PT
Let's NaNoWriMo Together! with Lisa Lerner

Heading

Heading

Heading

Heading

Heading
Small Text

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

What’s a Rich Text element?

This is a subheading and where it goes in the document flow

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content. The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content. The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content. The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content. The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

This is an h2 heading inside rich text

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.