Skip to content

Move subproject #79

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 30, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Start up iwannashowyou
  • Loading branch information
graham-trott committed May 29, 2020
commit 4cb9fea115d59db2f3ec7804e240568267d947ab
13 changes: 13 additions & 0 deletions iwannashowyou/build.iwannashowyou.com/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Mostrami

Mostrami - "Show me" in Italian - is a GUI presentation package analagous to PowerPoint but for web-based editing and delivery. It is _not_ a PowerPoint clone, nor does it seek to be compatible in any way. It provides an editing environment that maintains a live view of the presentation at the step being edited. All editing is done by typing values; mouse-based editing may be added later.

Mostrami differs from PowerPoint in being step-based rather than slide-based. A step is any change to what is currently showing on the screen. If you wish to retain the notion of 'slides' you can regard a slide as an accumulation of a number of steps. Every slide consists of at least one step but there is no upper limit to the number.

PowerPoint includes a rich set of graphical elements. Mostrami relies more on _actions_, the simplest of which is a cut from one piece of content to another. Mostrami presentations tend to be dynamic, with smooth transitions from one step to the next. The program is modular and permits the addition of plugins to perform any desired effect. Its architecture separates structure and content to allow either to be changed independently of the other.

Mostrami creates files in the JSON::Presenter format, allowing them to be delivered using that engine.

Mostrami runs in any browser and is usable on a PC or a mobile devices.

This project is under development.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added iwannashowyou/build.iwannashowyou.com/favicon.ico
Binary file not shown.
22 changes: 22 additions & 0 deletions iwannashowyou/build.iwannashowyou.com/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--script src='https://cdn.jsdelivr.net/gh/easycoder/easycoder.github.io/dist/easycoder.js?v=2.7.1'></script-->
<script src='dist/easycoder.js?v=2.7.1'></script>
</head>

<body>

<pre id="easycoder-rest" style="display:none">rest.php</pre>
<pre id="easycoder-script" style="display:none">
! Mostrami Pro

script Launcher

variable Script
rest get Script from `/resources/ecs/main.txt?v=` cat now
run Script

</body>
</html>
1 change: 1 addition & 0 deletions iwannashowyou/build.iwannashowyou.com/properties.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
password=$2y$10$Kazqoaw6fGfV22bp3otJeO6Xra4bCsBJXq6JVAV07qOkHNDIFevWG
3 changes: 3 additions & 0 deletions iwannashowyou/build.iwannashowyou.com/resources/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# JSON::Presenter resources

These are all the resources - scripts, images and text files - called for by the website.
208 changes: 208 additions & 0 deletions iwannashowyou/build.iwannashowyou.com/resources/ecs/blocks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
! Blocks

script Blocks

import div Panel and variable Presentation

div Editor
div Row
div Cell
div Title
table Table
tr TR
td TD
span BlockNameSpan
input BlockNameInput
input PropertyValue
button EditButton
img AddBlock
img DeleteBlock
a Link
variable Blocks
variable Block
variable BlockNames
variable BlockName
variable PropertyNames
variable PropertyName
variable Properties
variable SelectedBlock
variable Action
variable N
variable B

put -1 into SelectedBlock

rest get Properties from `/resources/json/properties.json`
put the json keys of Properties into PropertyNames

on message go to Start
set ready
stop

Start:
if the message is `save`
begin
gosub to SaveSelectedBlock
stop
end

Restart:
put property `blocks` of Presentation into Blocks
put the json keys of Blocks into BlockNames

clear Panel
create Row in Panel
set the style of Row to `display:flex;margin-top:0.5em`
create Title in Row
set the style of Title to
`flex:1;font-size:110%;font-weight:bold;background:lightgray;text-align:center`
set the content of Title to `Blocks`
create Cell in Row
set the style of Cell to `width:1.4em;text-align:center`
create Link in Cell
create AddBlock in Link
set the style of AddBlock to `width:1em;margin-top:0.1em`
set attribute `src` of AddBlock to `resources/icon/plus.png`
on click AddBlock
begin
put prompt `Name of new block:` with `new block` into BlockName
set Block to object
put 0 into N
while N is less than the json count of PropertyNames
begin
put element N of PropertyNames into PropertyName
set property PropertyName of Block to property PropertyName of Properties
add 1 to N
end
set property BlockName of Blocks to Block
set property `blocks` of Presentation to Blocks
go to Restart
end

put the json count of BlockNames into N
set the elements of BlockNameSpan to N
set the elements of BlockNameInput to N
set the elements of EditButton to N
set the elements of Editor to N
set the elements of DeleteBlock to N
create Table in Panel
if N is greater than 0 set the style of Table to `width:100%;border:1px solid black`
put 0 into B
while B is less than the elements of EditButton
begin
put element B of BlockNames into BlockName
create TR in Table
create TD in TR
set the style of TD to `width:8em;border:1px solid black;padding-left:0.5em`
create BlockNameSpan in TD
set the content of BlockNameSpan to BlockName
create BlockNameInput in TD
set the style of BlockNameInput to `width:100%;display:none`
set the content of BlockNameInput to BlockName
create TD in TR
set the style of TD to `border:1px solid black`
index EditButton to B
index DeleteBlock to B
index Editor to B
create Row in TD
set the style of Row to `display:flex`
create EditButton in Row
set the style of EditButton to `flex:1`
set the text of EditButton to `Edit`
create Cell in Row
set the style of Cell to `width:1.4em;text-align:center`
create Link in Cell
create DeleteBlock in Link
set the style of DeleteBlock to `width:1em;margin-top:0.1em`
set attribute `src` of DeleteBlock to `/resources/icon/stop.png`
create Editor in TD
set the style of Editor to `display:none`
add 1 to B
end
on click EditButton
begin
gosub to SaveSelectedBlock
put the index of EditButton into SelectedBlock
put the text of EditButton into Action
put 0 into N
while N is less than the json count of BlockNames
begin
index EditButton to N
set style `background` of EditButton to ``
set the text of EditButton to `Edit`
index BlockNameSpan to N
index BlockNameInput to N
set the content of BlockNameSpan to the text of BlockNameInput
set style `display` of BlockNameSpan to `inline`
set style `display` of BlockNameInput to `none`
index Editor to N
set style `display` of Editor to `none`
add 1 to N
end
index EditButton to SelectedBlock
if Action is `Edit`
begin
set style `background` of EditButton to `lightgray`
set the text of EditButton to `Properties`
index BlockNameSpan to SelectedBlock
index BlockNameInput to SelectedBlock
set style `display` of BlockNameSpan to `none`
set style `display` of BlockNameInput to `inline`
index Editor to SelectedBlock
set style `display` of Editor to `block`
clear Editor
put element SelectedBlock of BlockNames into BlockName
put property BlockName of Blocks into Block
put the json count of PropertyNames into N
set the elements of PropertyValue to N
put 0 into N
while N is less than the json count of PropertyNames
begin
create Row in Editor
set the style of Row to `display:flex`
put element N of PropertyNames into PropertyName
create Cell in Row
set the style of Cell to `width:8em;padding-left:0.5em`
set the content of Cell to PropertyName
index PropertyValue to N
create PropertyValue in Row
set the style of PropertyValue to `flex:1`
set the content of PropertyValue to property PropertyName of Block
add 1 to N
end
end
else gosub to SaveSelectedBlock
end
on click DeleteBlock
begin
put the index of DeleteBlock into N
put element N of BlockNames into BlockName
put property `blocks` of Presentation into Blocks
json delete property BlockName of Blocks
set property `blocks` of Presentation to Blocks
go to Restart
end
stop

! Save the seleced block
SaveSelectedBlock:
if SelectedBlock is -1 return
put 0 into N
while N is less than the json count of PropertyNames
begin
put element N of PropertyNames into PropertyName
index PropertyValue to N
set property PropertyName of Block to PropertyValue
add 1 to N
end
set property BlockName of Blocks to Block
index BlockNameInput to SelectedBlock
if BlockNameInput is not BlockName
begin
json delete property BlockName of Blocks
put BlockNameInput into BlockName
set element SelectedBlock of BlockNames to BlockName
set property BlockName of Blocks to Block
end
set property `blocks` of Presentation to Blocks
return
12 changes: 12 additions & 0 deletions iwannashowyou/build.iwannashowyou.com/resources/ecs/container.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
! Container

script Container

import div Panel and variable Presentation

on message go to Start
set ready
stop

Start:
stop
Loading