Back
Upcoming Classes & Events
MM/DD
MM/DD
Today
ddd, MMM. DD
7:00-8:00pm PT
Winter Write-In with Jenny Bitner
7:00-8:00pm PT
Fall Write-In with Laurie Ann Doyle
6:30-9:00pm PT
Writing The Wild with Zoe Young
6:30-8:30pm PT
Aloud/Out Loud Reading Series: Candles in the Dark
6:30-8:00pm PT
The Driving Force of a Great First Line with Lenore Weiss
6:30-8:00pm PT
Find Your Story Find Your Voice with Britta Stromeyer
6:30-7:30pm PT
Winter Write-In with Laurie Ann Doyle
6:00pm PT
Grotto Nights at SFPL: So Good It Has to Go on a Holiday Card
6:00-8:30pm PT
Introduction to Creative Writing with Kristen Cosby
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 Creative Writing with Kristen Cosby
6:00-8:00pm PT
Momentum: A Continuing Writing Workshop with Jenny Bitner
6:00-8:00pm PT
Autofiction: Combining Memoir and Fiction with Jenny Bitner
6:00-8:00pm PT
Write Your Memoir: A Course in Craft with Lindsey Crittenden
6:00-8:00pm PT
Brilliant Openings: How to Grab an Agent on Page One with Anoop Judge
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
Fiction Workshop with Doug Henderson
6:00-7:30pm PT
Rewriting Diversity with Brandy Collins
6:00-7:30pm PT
Rewriting Diversity with Brandy Collins
6:00-7:30pm PT
Grotto Nights at SFPL: Strong Visions and Thick Skin: Writing Against the Status Quo.
6:00-7:30pm PT
Difficult Conversations as Writers with Brandy Collins
6:00-7:30pm PT
Difficult Conversations as Writers with Brandy Collins
6:00-7:30pm PT
Difficult Conversations as Writers with Brandy Collins
6:00-7:30pm PT
Grotto Nights at the Library: Campfire Stories and Other Ghostly Narratives
6:00-7:30 pm PT
Grotto Nights at SFPL: Jack of all Genres: Master of More
6:00-7:00pm PT
Winter Write-In with Preeti Vangani
6:00-7:00pm PT
Winter Write-In with Lyzette Wanzer
6:00-7:00pm PT
Grotto Nights at SFPL: Unchecked: The Future of Journalism in a Factless World
6:00 - 8:00pm PT
Write Your Unformulaic Novel with Jenny Bitner
5:00-7:00pm PT
Reading + Meeting
5:00-7:00pm PT
Reading + Meeting: Nov. 21st, 2025
5:00-6:30pm PT
How to Tell the Story Only You Can Tell with Lisa Lerner
4:30-6:00pm PT
Members Only: Book Discussion: Notes of a Native Son by James Baldwin
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:15pm PT
So Bad You Have To Laugh About It: Turn Life’s Garbage Into Literary Gold with Jessica Martinez and Britta Stromeyer
1:00pm PT
Members Only: Bullet Journal Meeting
1:00pm PT
Members Only: Bullet Journal Meeting
1:00pm PT
Members Only: Bullet Journal Meeting
1:00pm PT
Members Only: Bullet Journal Meeting
1:00-4:00pm PT
Sacred Space & Intention: Threshold Writing in Midwinter with MK Chavez & Maw Shein Win
1:00-3:00pm PT
Write a Fabulous Beginning with Lisa Lerner
12:30-1:30pm PT
Fall Write-In with Xandra Castleton
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
Unlock the Poet Within: Transforming Tradition with Sabina Khan-Ibarra
12:00-1:00pm PT
Winter Write-In with Lisa Lerner
12:00-1:00pm PT
Winter Write-In with Sabina Khan-Ibarra
12:00-1:00pm PT
Winter Write-In with Sabina Khan-Ibarra
12:00-1:00pm PT
Winter Write-In with Lisa Lerner
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
11:30am-1:00pm PT
The Music of the Line: Sound, Silence, & Rhythm in Poetry with Sabina Khan-Ibarra
11:00am-1:00pm PT
Held Things: The Poetics of Objects, Memory, & Meaning with Sabina Khan-Ibarra
11:00am-12:30pm PT
Between Line & Sentence: Prose Poetry and Poetic Prose with Sabina Khan-Ibarra
11:00am-12:00pm PT
Winter Write-In with Doug Henderson
11:00am-12:00pm PT
Winter Write-In with Jenny Bitner
11:00am-12:00pm PT
Winter Write-In with Nate Olivarez-Giles
10:30am-12:30pm PT
Writing Microfiction with Britta Stromeyer
10:30am-12:30pm PT
Writing Microfiction with Britta Stromeyer
10:00am-12:00pm PT
Rooted & Written Alumni Only: Let The Body Sing: A Generative Workshop on Writing into Sex, Desire and the Body with Preeti Vangani
10:00am-12:00pm PT
Rooted & Written Alumni Only: Let The Body Sing: A Generative Workshop on Writing into Sex, Desire and the Body with Preeti Vangani
10:00-11:00am PT
Winter Write-In with Doug Henderson
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.