diff --git a/iwsy/demo.html b/iwsy/demo.html
new file mode 100644
index 0000000..73787c1
--- /dev/null
+++ b/iwsy/demo.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+

+
+ https://cdn.jsdelivr.net/gh/easycoder/easycoder.github.io/iwsy/resources/scripts/demo.json
+
+
+
diff --git a/iwsy/iwsy.js b/iwsy/iwsy.js
index a779bd4..3c14873 100644
--- a/iwsy/iwsy.js
+++ b/iwsy/iwsy.js
@@ -595,11 +595,6 @@ const IWSY = (playerElement, scriptObject) => {
}
};
- // Embed another script
- const embed = step => {
- step.next();
- };
-
// Restore the cursor
const restoreCursor = () => {
player.style.cursor = `pointer`;
@@ -821,8 +816,7 @@ const IWSY = (playerElement, scriptObject) => {
crossfade,
transition,
goto,
- load,
- embed
+ load
};
// Process a single step
diff --git a/iwsy/resources/ecs/content.txt b/iwsy/resources/ecs/content.txt
index 8a028bc..de3a5d5 100644
--- a/iwsy/resources/ecs/content.txt
+++ b/iwsy/resources/ecs/content.txt
@@ -69,7 +69,6 @@ Restart:
set attribute `src` of AddItem to `resources/icon/plus.png`
on click AddItem
begin
-! put prompt `Name of new content item:` with `new content` into ItemName
set Item to object
set property `name` of Item to `New content`
set property `content` of Item to empty
diff --git a/iwsy/resources/ecs/help.txt b/iwsy/resources/ecs/help.txt
index 4033b21..e2ca746 100644
--- a/iwsy/resources/ecs/help.txt
+++ b/iwsy/resources/ecs/help.txt
@@ -85,7 +85,7 @@ GetPage:
begin
attach Player to `iwsy-embed`
put attribute `data-url` of Player into Data
- rest get Embed from Data
+ rest get Embed from Data cat `?v=` cat now
put the position of the last `/` in Data into N
add 1 to N
put left N of Data into Data
@@ -101,7 +101,7 @@ GetPage:
! Decorate is called for every occurrence of ~...~ in the topic data
Decorate:
put the payload of DecoratorCallback into Payload
- if Payload is `iwsy` put `
` into Payload
else if Payload is `clear` put `` into Payload
else
@@ -127,7 +127,7 @@ ProcessImage:
put the position of `:` in Data into N
if N is -1
begin
- put `
` into Payload
+ put `
` into Payload
add 1 to ImageCount
return
end
@@ -161,7 +161,7 @@ ProcessImage:
add 1 to N
end
put `
` into Payload
+ cat `?v=` cat now cat `" style="` cat Style cat `" />` into Payload
add 1 to ImageCount
return
diff --git a/iwsy/resources/ecs/steps.txt b/iwsy/resources/ecs/steps.txt
index 0becaec..e62c505 100644
--- a/iwsy/resources/ecs/steps.txt
+++ b/iwsy/resources/ecs/steps.txt
@@ -360,9 +360,8 @@ ASA2:
take 1 from N
end
gosub to CreateNewStep
- set element N of Steps to CurrentStep
+ set element SelectedStep of Steps to CurrentStep
ASA3:
- put -1 into SelectedStep
set property `steps` of Presentation to Steps
go to Restart
diff --git a/iwsy/resources/help/about.md b/iwsy/resources/help/about.md
index fe24dfb..f267aad 100644
--- a/iwsy/resources/help/about.md
+++ b/iwsy/resources/help/about.md
@@ -6,12 +6,12 @@
## Contact us
-
+All enquiries should be sent to [info@iwannashowyou.com](mailto:info@iwannashowyou.com).
## Technical stuff
-The ~iwsy~ user interface is coded entirely in [EasyCoder](https://easycoder.github.io) scripts, which download, compile and run as they are needed. Everything is done in the browser; there is no build process for the web app. A small server-side REST module handles user registration and login and manages files created by users and stored on the server.
+The ~iwsy~ user interface is coded entirely in [EasyCoder](https://easycoder.github.io) scripts, which download, compile and run as they are needed. Everything is done in the browser; there is no build process for the web app. A small server-side REST module handles user registration and login and manages files created by users that are stored on the server.
-There are a little over 3000 lines of code in total. The largest code module (that runs the **Steps** panel opposite) is just over 1000 lines long and typically takes under 50ms to compile. Modules are loaded when they are first needed, so the load time of the web app is around 1.5 seconds (Pingdom Tools). The web app uses about 15MB of heap space while running.
+There are a little over 3000 lines of code in total. The largest code module (that runs the **Steps** panel opposite) is just over 1000 lines long and typically takes under 50ms to compile. Modules are loaded when they are first needed and the load time of the web app is around 1.5 seconds (Pingdom Tools). The web app uses about 15MB of heap space while running.
We are keen to collaborate with anyone who may have ideas for improving the website and the range of features it provides. Enquiries should be made in the first instance to the email address given above.
diff --git a/iwsy/resources/help/action-chain.md b/iwsy/resources/help/action-chain.md
new file mode 100644
index 0000000..b381690
--- /dev/null
+++ b/iwsy/resources/help/action-chain.md
@@ -0,0 +1,7 @@
+~page:contents:Contents~
+
+# The `chain` action
+
+Large, dynamic presentations or slideshows may have dozens or even hundreds of steps, making then increasingly difficult to manage or even to visualize. However, presentations are linear entities that usually comprise a number of independent sections, one following another. If you are working on the introduction part of your show, the rest of it is of little immediate interest - it may as well be another presentation completely.
+
+To take advantage of this structual feature of the average presentation, ~iwsy~ provides the ~m:chain~ action, which terminates the current show, loads a new one and starts it running. As long as you provide a suitable "bridge" the effect is seamless. Each of the sections can be a full presentation in its own right and can be developed independently of all the others.
diff --git a/iwsy/resources/help/action-fade.md b/iwsy/resources/help/action-fade.md
index a9eb7c1..f4087f5 100644
--- a/iwsy/resources/help/action-fade.md
+++ b/iwsy/resources/help/action-fade.md
@@ -18,4 +18,4 @@ When this action runs the blocks referenced are all faded at the same time. You
Fades and other animated effects run at 25 frames/sec, as a compromise between visual smoothness and processing requirements.
-Next: ~page:action-crossfade:Crossfade block content~
+Next: ~page:action-crossfade:Crossfade~
diff --git a/iwsy/resources/help/action-pause.md b/iwsy/resources/help/action-pause.md
index afbc8e7..0383cae 100644
--- a/iwsy/resources/help/action-pause.md
+++ b/iwsy/resources/help/action-pause.md
@@ -9,3 +9,5 @@ This action pauses the presentation for a given nmber of seconds.
The **Action**, **Name** and **Label** properties are present for all actions.
The **Duration** property is the time in seconds the pause should take.
+
+Next: ~page:action-chain:Chain~
diff --git a/iwsy/resources/help/contents.md b/iwsy/resources/help/contents.md
index a6e9ae5..22b3987 100644
--- a/iwsy/resources/help/contents.md
+++ b/iwsy/resources/help/contents.md
@@ -2,7 +2,11 @@
# ~iwsy~ Help - Contents
-~page:quickstart:Quick-start tutorial~ **Beginners start here!**
+~page:quickstart:Quickstart tutorial~ **Beginners start here!**
+
+~page:quickstart2:Quickstart tutorial, part 2~
+
+~page:quickstart3:Quickstart tutorial, part 3~
~page:users:User registration and login~
@@ -14,16 +18,24 @@
## Actions
-~page:action-init:The **init** action~
+~page:action-init:The "init" action~
+
+~page:action-set-content:The "set content" action~
+
+~page:action-show-hide:The "show" and "hide" actions~
+
+~page:action-fade:The "fade up" and "fade down" actions~
+
+~page:action-crossfade:The "crossfade" action~
-~page:action-set-content:The **set content** action~
+~page:action-transition:The "transition" action~
-~page:action-show-hide:The **show** and **hide** actions~
+~page:action-pause:The "pause" action~
-~page:action-fade:The **fade up** and **fade down** actions~
+~page:action-chain:The "chain" action~
-~page:action-crossfade:The **crossfade** action~
+## Technical
-~page:action-transition:The **transition** action~
+~page:embed:How to embed a presentation~
-~page:action-pause:The **pause** action~
+~page:technical:Other technical stuff, statistics etc.~
diff --git a/iwsy/resources/help/embed.md b/iwsy/resources/help/embed.md
new file mode 100644
index 0000000..967efa2
--- /dev/null
+++ b/iwsy/resources/help/embed.md
@@ -0,0 +1,36 @@
+~page:contents:Contents~
+
+# How to embed a presentation
+
+To embed a presentation in your own web page you just need the ~iwsy~ runtime engine and a presentation script. The best place to start is with a stand-alone web page, which is coded like this:
+
+```
+
+
+
+
+
+
+
+
+
+
+
+

+
+ https://cdn.jsdelivr.net/gh/easycoder/easycoder.github.io/iwsy/resources/scripts/demo.json
+
+
+
+