Skip to content

Commit

Permalink
Implementing "act" block type (#242)
Browse files Browse the repository at this point in the history
Working with "act" block type

- Fixed folding
- Fixed foldByTags()
- Fixed word table creation
- Fixed Story Arc View
- Fixed exports, sort of... ...but some of them are pretty crude. Need to fix them more.
- Fixed save
- Fixed chapter DropZones
- DnD fixed
- Fixed import
- Fixed loading
- Single act not shown in index. There is no need, there is chapter DropZone anyways.
- Export fixes
- Package updates
- Fixing index current indicator
- Need more performance to withIDs(). This is becoming a bottleneck. Need to figure out something.
  • Loading branch information
mkoskim authored Oct 13, 2024
1 parent 58d4500 commit bc13cbd
Show file tree
Hide file tree
Showing 28 changed files with 1,140 additions and 455 deletions.
74 changes: 74 additions & 0 deletions examples/ActTest.mawe
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<story uuid="6ae502d7-6562-41e3-b51e-b5151ca9dd48" format="mawe" version="4" name="Act Test">
<!--/
===============================================================================

STORY: Act Test

===============================================================================
/-->
<head/>
<export type="short" chapters="numbered" scenes="none"/>
<!--/
===============================================================================
/-->
<body>
<act name="">
<chapter name="">
<scene name="Scene 1">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
<scene name="Scene 2">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
<chapter name="Chapter B" numbered="true">
<scene name="">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
</act>
<act name="A" numbered="true">
<chapter name="Chapter C" numbered="true">
<scene name="">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
<chapter name="Chapter D" numbered="true">
<scene name="">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
</act>
</body>
<!--/
===============================================================================

NOTES

===============================================================================
/-->
<notes>
<act name="">
<chapter name="">
<scene name="">
<br/>
</scene>
</chapter>
</act>
</notes>
<!--/
===============================================================================
/-->
<ui>
<view/>
<arc elements="scene" template="beatsheet" mode="topCCW"/>
<editor>
<body words="numbers" indexed="chapter,scene,synopsis"/>
</editor>
</ui>
<history>
<words date="2024-10-11" text="0" missing="0" chars="0"/>
<words date="2024-10-12" text="0" missing="0" chars="0"/>
<words date="2024-10-13" text="500" missing="0" chars="3400"/>
</history>
</story>
101 changes: 101 additions & 0 deletions examples/export/ExportTest.mawe
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
<story uuid="2de1ce1d-1ac6-415a-a6cf-0f74cca6ee8a" format="mawe" version="4" name="Export Test">
<!--/
===============================================================================

STORY: Export Test

===============================================================================
/-->
<head/>
<export type="short" acts="named" chapters="numbered" scenes="separated"/>
<!--/
===============================================================================
/-->
<body>
<act name="">
<chapter name="">
<scene name="Preface">
<p><b>Preface.</b> Unnamed, non-numbered chapters are omitted.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
<br/>
</scene>
</chapter>
<chapter name="Prologue">
<scene name="Sc">
<p>Unnumbered chapter as a prologue, before first part.</p>
<p><b>Lorem </b><i>ipsum</i> dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
<br/>
</scene>
</chapter>
</act>
<act name="Part 1">
<chapter name="">
<scene name="">
<p><b>Preface.</b> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
<chapter name="Ch1" numbered="true">
<scene name="Sc1">
<p>First chapter, first scene.</p>
<p><b>Lorem </b><i>ipsum</i> dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
<scene name="Sc2">
<p>Second scene.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
</scene>
</chapter>
<chapter name="Ch">
<scene name="Sc">
<p>Unnumbered chapter between.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
<br/>
</scene>
</chapter>
</act>
<act name="Part B">
<chapter name="Ch2" numbered="true">
<scene name="">
<p>Chapter 2.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
<br/>
</scene>
</chapter>
<chapter name="Ch3" numbered="true">
<scene name="">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis faucibus odio, sed fringilla lacus tempor eu. Curabitur lacinia ante quis urna placerat, vitae ullamcorper dolor accumsan. Nam ex velit, dictum eget porttitor vitae, aliquet at tortor. Vivamus dictum mauris ut dolor mattis, ut pulvinar ligula scelerisque. Vivamus luctus neque nec urna sodales fringilla. Ut gravida nibh risus, ac tempus mauris scelerisque nec. Vivamus semper erat eget placerat imperdiet. Fusce non lorem eu diam vulputate porta non eu nibh. Mauris egestas est tellus, id placerat libero tempus et. Integer eget ultrices ante. Vestibulum est arcu, elementum a ornare convallis, fringilla.</p>
<br/>
</scene>
</chapter>
</act>
</body>
<!--/
===============================================================================

NOTES

===============================================================================
/-->
<notes>
<act name="">
<chapter name="">
<scene name="">
<br/>
</scene>
</chapter>
</act>
</notes>
<!--/
===============================================================================
/-->
<ui>
<view/>
<arc elements="scene" template="beatsheet" mode="topCCW"/>
<editor>
<body words="numbers" indexed="scene,synopsis,chapter"/>
</editor>
</ui>
<history>
<words date="2024-10-12" text="0" missing="0" chars="0"/>
<words date="2024-10-13" text="827" missing="0" chars="5630"/>
</history>
</story>
16 changes: 16 additions & 0 deletions examples/migration/Story1.v3.mawe
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<story name="Story v3/1" format="mawe" version="3">

<head><title>Story v3/1</title></head>

<!-- Body is formed from chapters, wrapped to an act -->

<body>
<chapter name="Chapter">
<scene name="Scene">
<p>If loaded correctly, story title is "Story".</p>
<br/>
</scene>
</chapter>
</body>

<export type="long" chapters="numbered" scenes="separated"/>
Loading

0 comments on commit bc13cbd

Please sign in to comment.