[{"data":1,"prerenderedAt":71},["ShallowReactive",2],{"mdc-jq2ist-key":3,"mdc--qkg4we-key":16,"mdc--fwuzxv-key":25,"mdc-ac3h06-key":34,"mdc-d3rtq6-key":43},{"data":4,"body":5},{},{"type":6,"children":7},"root",[8],{"type":9,"tag":10,"props":11,"children":12},"element","p",{},[13],{"type":14,"value":15},"text","Stories, scripts, categories, excerpts and free previews",{"data":17,"body":18},{},{"type":6,"children":19},[20],{"type":9,"tag":10,"props":21,"children":22},{},[23],{"type":14,"value":24},"Tiptap, Yjs and collaborator presence",{"data":26,"body":27},{},{"type":6,"children":28},[29],{"type":9,"tag":10,"props":30,"children":31},{},[32],{"type":14,"value":33},"Stripe Connect, purchases and content access",{"data":35,"body":36},{},{"type":6,"children":37},[38],{"type":9,"tag":10,"props":39,"children":40},{},[41],{"type":14,"value":42},"Nuxt 3, Vue, Pinia, Firebase and TypeScript",{"data":44,"body":45},{},{"type":6,"children":46},[47,52,62],{"type":9,"tag":10,"props":48,"children":49},{},[50],{"type":14,"value":51},"Booksy is a reading and writing platform: a space to write stories in collaboration with others, publish them for readers, and showcase scripts. Everything revolves around reading: the text, its readers and the conversation between them.",{"type":9,"tag":53,"props":54,"children":56},"section",{"title":55},"Writing together",[57],{"type":9,"tag":10,"props":58,"children":59},{},[60],{"type":14,"value":61},"The editor uses Tiptap and Yjs to synchronise changes over WebSocket and display collaborators' cursors. Document state is persisted in Firestore. Invitations and permissions determine who can enter and contribute to each piece.",{"type":9,"tag":53,"props":63,"children":65},{"title":64},"Publishing, reading and showcasing a script",[66],{"type":9,"tag":10,"props":67,"children":68},{},[69],{"type":14,"value":70},"Publishing generates a Markdown version of the free content and updates the writing index. The author can choose where the preview ends and paid content begins. The server delivers the complete text after checking the reader's access.",1794317809960]