Widgetin (vPlus) avulla kirjoittaja voi luoda HTML-diapakan, joka synkronoidaan videoon. vPlusin edut perinteiseen videoon verrattuna ovat:
- diat voivat käyttää DevSite-ominaisuuksia, kuten:
Tekijä voi hallita, näytetäänkö video dian kulmassa, peittäen koko dian, vai pysäytetäänkö video, kun käyttäjä on vuorovaikutuksessa dian kanssa.
Demo
Seuraavassa on esimerkki vPlusista, joka esittelee sen ominaisuuksia. Aloita painamalla Play- painiketta.
Kaavio
Video Plus -widget luodaan merkitsemällä elementti luokalla devsite-vplus
. Lisäksi elementin on sisällettävä data-video-id
attribuutti, joka määrittää näytettävän YouTube-videon tunnuksen.
Jos widget-elementti sisältää myös data-captions-url
attribuutin, sen tulee määrittää json-tiedosto, joka sisältää videota vastaavat tekstitykset. Tämän tiedoston tulee joko olla samassa hakemistossa md
tai html
tiedoston kanssa, tai jos se alkaa kirjaimella /, tiedoston polku alkaa juurista. Katso vPlus-videosoitin saadaksesi lisätietoja tämän tiedoston muodosta ja luomisesta. Tekstitystiedosto on purettava videosta manuaalisesti. katso //engedu/common/vplus/README.md
saadaksesi lisätietoja ja työkalun tekstitystiedoston luomiseen.
Lisäksi devsite-vplus
elementin tulee sisältää elementti, jonka luokka devsite-vplus-content-container
. Tämän elementin tulee puolestaan sisältää elementti, jonka luokka devsite-vplus-slide-frame
.
Jokaisen devsite-vplus-slide-frame
elementin sisällä olevan elementin oletetaan olevan dia. Diat on listattava kronologisessa järjestyksessä. Jokaisella diaelementillä on oltava data-start-time
attribuutti, joka määrittää ajan kokonaisina sekunteina, jolloin tämä dia tulee näyttää. Lisäksi jokaisella dialla voi olla data-video-mode
attribuutti. Tällä määritteellä on kaksi kelvollista arvoa:
- "suuri": saa videon viemään suurimman osan diatilasta peittäen dian.
- "pysäytys": pysäyttää videon, kun kyseinen dia saavutetaan.
Jos data-video-tilaa ei ole määritetty, videon oletuskoko on pieni.
Diojen kirjoittajat haluavat luultavasti määrittää dioilleen ylimääräisen CSS:n. Koska diat sisältyvät div
elementtiin, jonka luokka on devsite-vplus-slide-frame
, diakohtaiset CSS-tyylit voidaan jakaa nimiavaruuteen tämän luokan alielementteihin.
Esimerkiksi:
<style>
.devsite-vplus-slide-frame h1 {
background-color: #4285F4;
border-bottom: 1px solid #7BAAF7;
color: #fff;
margin: 0;
padding: 10px;
top: 0 !important;
}
/* More styles... */
</style>
<div class="devsite-vplus" data-video-id="PXVnv_Paexc" data-captions-url="video-plus-captions.json">
<div class="devsite-vplus-content-container">
<div class="devsite-vplus-slide-frame">
<div data-start-time=0 class="title-background">
<div class="header1 title">vPlus Demo</div>
</div>
<div data-slide-note=true>
Note for the 'title' slide.
</div>
<div data-start-time=2 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-slide-note=true>
This slide was intentionally left blank.
</div>
<div data-start-time=13>
<div class="header2">Nice Informative Slide</div>
<ul>
<li>Nice, informative bullet point</li>
<li>Another nice, informative bullet point</li>
</ul>
</div>
<div data-slide-note=true>
Very meta. In this note, we could talk about several things:
<ul>
<li>What could go in the note versus in the slide itself.
<ul>
<li>Either can contain HTML or markdown</li>
<li>Whether it would be useful to display something to the viewer
or only in the notes that the presenter would presummably
see and may read out loud.</li>
</ul>
</li>
<li>Users may view notes themselves, usually offline.</li>
<li>Notes could be a way of
<a href="#demo">linking to demos</a>.
</li>
</ul>
</div>
<div data-start-time=21>
<div class="header2">Nice, informative cat picture</div>
<div>
<!-- Image CCO Public Domain at https://pixabay.com/en/kitten-cute-feline-kitty-domestic-1246693/ -->
<img class="cat-pic" src="https://cdn.pixabay.com/photo/2016/03/09/15/31/kitten-1246693_1280.jpg">
</div>
</div>
<div data-start-time=32 data-video-mode="stopped">
<div class="header2">Here's some interactive content</div>
<div>
<devsite-multiple-choice>
<div>What color is the sky?</div>
<div correct>
<div>Blue</div>
<div>But do you know <b>why</b>?</div>
</div>
<div>
<div>Purple</div>
<div>Not really</div>
</div>
<div>
<div>Indigo</div>
<div>Close but not quite</div>
</div>
<div>
<div>Green</div>
<div>What planet are you from?</div>
</div>
</devsite-multiple-choice>
</div>
</div>
<div data-slide-note="true">
Note, when an interactive slide is reached,
you have to click the 'Play' button,
or the 'Next Slide' button in order to continue.
</div>
<div data-start-time=33 data-video-mode="stopped">
<div class="header2">Here's some more interactive content - <a href="/blockly/">Blockly</a></div>
<iframe style="height: 75%; width: 90%; margin: 0 5%;" src="/blockly/blockly-demo/blockly-demo"></iframe>
</div>
<div data-start-time=34 data-video-mode="large">
<!-- Intentionally left blank -->
</div>
<div data-start-time=78>
<div>
<div class="header2">Thanks for watching!</div>
<ul>
<li>Video Plus drives video play and slides</li>
<li>Reduces need to reshoot video if slides change</li>
<li>Provides searchable transcript</li>
<li>Pauses video for user interactions</li>
<li>Video can switch between large and small</li>
</ul>
</div>
</div>
</div>
</div>
</div>
Kun vPlus-widget näytetään sivulla, videosoitin ei käynnisty automaattisesti, mutta kun käyttäjä painaa toistopainiketta, diat ja kuvatekstit siirtyvät automaattisesti eteenpäin, jos ne näytetään. Käyttäjät voivat myös käyttää seuraavia hiiren ja näppäimistön toimintoja vuorovaikutuksessa widgetin kanssa.