1 Star 0 Fork 0

onefine/Domain Story Modeler Page

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.html 30.56 KB
一键复制 编辑 原始数据 按行查看 历史
onefine 提交于 2022-05-08 20:40 . feat: init commit
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="dependencies/bpmn-js/assets/bpmn-font/css/bpmn.css" /> <!-- for lasso tool, space tool etc. -->
<link rel="stylesheet" href="dependencies/diagram-js.css" /> <!-- for palette -->
<link rel="stylesheet" href="domain-story.css" />
<link rel="stylesheet" href="domain-story-modeler/language/icon/icons.css" id="iconsCss"/>
<title>Domain Story Modeler</title>
<link rel="icon"
type="image/png"
href="./logo/domainStorytellingIcon.png">
</head>
<body>
<input type="file" accept=".svg, image/png, image/jpeg, image/gif, image/bmp" style="display:none;" id="importIcon" onclick="this.value=null;" name="file" />
<div id="modal" style="display:none;"></div>
<div class ="headerAndCanvas">
<div id = "pickerAnchor"></div>
<div class="header">
<div id="headlineAndButtons">
<h3 id="headline">
<text id="title">&ltname of this Domain Story&gt</text>
<img src="./logo/edit_blue.png" id="edit">
</h3>
<div class="ButtonContainer">
<div id=editModeButtons>
<button id="buttonStartReplay" class="startReplayButton" title="Start replay">
<img src="./logo/play.png">
</button>
<button id="buttonImport" class="importButton" title="Import story from file" onclick="document.getElementById('import').click();">
<img src="./logo/unarchive.png">
</button>
<input type="file" accept=".dst, .svg" style="display:none;" id="import" onclick="this.value=null;" name="file" />
<button class="exportButton" id="export" title="Export story as .dst file">
<img id="exportButtonIMG" src="./logo/archive.png">
<img id="exportButtonIMGDirty" src = "./logo/archive_dirty.png" style="display: none">
</button>
<button class="downloadButton" id="buttonImageDownloads" title="Export story as SVG or PNG image, or animated HTML">
<img src="./logo/image.png">
</button>
<button id="dictionaryButton" title="Edit dictionary">
<img src="./logo/spellcheck.png">
</button>
<button id="iconCustomizationButton">
<img src="./logo//settings.png" title="Customize icons">
<button id="keyboardShortcutInfoButton" title="Show keyboard shortcuts">
<img src="./logo/shortCutInfo.png">
</button>
</div>
<div id="presentationModeButtons" style="display: none">
<button id="buttonPreviousStep" class="prevoiusStepButton" title="Previous Step">
<img src="./logo/previous.png">
</button>
<button id="buttonNextStep" class="NextStepButton" title="NextStep">
<img src="./logo/forward.png">
</button>
<button id="buttonStopReplay" class="stopReplayButton" title="Stop replay">
<img src="./logo/stop.png">
</button>
<div id="replayStep"> 0/0</div>
</div>
<div></div>
</div>
</div>
<div id="infoContainer">
<div id="infoText"></div>
<div id="currentDomainNameContainer">
<text>Domain: </text>
<text id="currentDomainName">default</text>
</div>
</div>
</div>
<div id="line"></div>
<div id="canvas"></div>
</div>
<div class="logoContainer">
<div id="imgWPS">
<img src="./logo/Quadrat_wps_de_Farbig.png" height="54" width="40" />
</div>
<div id="imgDST">
<!-- a href="http://domainstorytelling.org/" -->
<img src="./logo/dst_logo.png" height="74" width="74" />
<!-- /a -->
</div>
</div>
<div id="wpsLogoInfo" style="display:none;">
<button id="closeWPSLogoInfo">X</button>
<br>
<text id="wpsLogoInnerText"></text>
<a href="https://www.wps.de">wps.de</a>
<text id="wpsLogoInnerText2"></text>
<br>
<a href="https://github.com/WPS/domain-story-modeler">https://github.com/WPS/domain-story-modeler</a>
</div>
<div id="dstLogoInfo" style="display:none;">
<button id="closeDSTLogoInfo">X</button>
<br>
<text id= "dstLogoInnerText"></text>
<br>
<a href="http://www.domainstorytelling.org">domainstorytelling.org</a>
</div>
<div id="arrowDialog">
<div id="arrow" class="arrow" style="display:none;"></div>
<div id="dialog" style="display:none;">
<div id="dialogTitle">Title:</div>
<div id="dialogInput">
<input type="text" id="titleInput" maxlength="160" />
</div>
<div id="dialogInfo">Description:</div>
<div id="descriptionInput">
<textarea name="Text1" cols="40" rows="5" id="info" maxlength="500"></textarea>
</div>
<div id="dialogButtons">
<button id="saveButton">Save</button>
<button id="quitButton">Cancel</button>
</div>
</div>
</div>
<div id="iconCustomizationContainer" style ="display:none">
<div class="iconConfigCustomization">
<div class="topButtonRow">
<div>
<button id="resetIconConfigButton">reset to default</button>
<button id="uploadCutomIcon" onclick="document.getElementById('importIcon').click();"> upload custom icon</button>
</div>
<div>
<span>Domain name:</span>
<input type="text" id="domainNameInput" value="default">
</div>
<div>
<img src="./logo/unarchive.png" id="importConfigurationButton" title="import icon configuration" onclick="document.getElementById('importConfig').click()">
<img id="exportConfigurationButton" src="./logo/archive.png" title="export icon configuration">
<input type="file" accept=".domain" style="display:none;" id="importConfig" onclick="this.value=null;" name="file" />
</div>
<div>
<button id="customIconConfigSaveButton">Save</button>
<button id="cancelIconCustomizationButton">Cancel</button>
</div>
</div>
<div class="iconListsContainer">
<div id="allIconListContainer">
<div id="allIconsListHeader">
<text> Unassigned |</text>
<text> Actor |</text>
<text> WorkObject</text>
</div>
<div class="listWrapper">
<ul id="allIconsList"></ul>
</div>
</div>
<div class="selectedIconsContainer">
<div id="selectedActorsContainer">
<p class="selectedIconListHeader">Actors</p>
<div class="listWrapper">
<ul id="selectedActorsList"></ul>
</div>
</div>
<div id="selectedWorkObjectsContainer">
<p class="selectedIconListHeader">WorkObjects</p>
<div class="listWrapper">
<ul id="selectedWorkObjectsList"></ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="downloadDialog" style="display: none;">
<button id="downloadDialogCancelButton">X</button>
<br>
<div class="buttonContainer">
<button id="buttonSVG">
SVG
</button>
<button id=buttonPNG>
PNG
</button>
<button id="buttonDownloadStory">
HTML
</button>
</div>
</div>
<div id="numberDialog" style="display:none;">
<div id="number">Number:</div>
<input type="number" class="numberID" id="inputNumber" min="1" max="99" maxlength="2" size="2">
<label>
<input type="checkbox" name ="Nummer mehrfach zulassen" id="multipleNumberAllowed">
multiple
</label>
<div id="label">Activity:</div>
<div>
<textarea id="inputLabel" type="text" autocomplete="off"></textarea>
</div>
<div id="numberDialogButtons">
<button id="numberSaveButton">Save</button>
<button id="numberQuitButton">Cancel</button>
</div>
</div>
<div id="labelDialog" style="display:none;">
<div id="labelName">Activity:</div>
<div>
<textarea id="labelInputLabel" type="text" autocomplete="off"></textarea>
</div>
<div id="labelDialogButtons">
<button id="labelSaveButton">Save</button>
<button id="labelQuitButton">Cancel</button>
</div>
</div>
<div id= "keyboardShortcutInfo" style="display:none">
<button id ="keyboardShortcutInfoDialogButtonCancel" style="float:right; margin-left:5px">X</button>
<br>
<table id="keyboardTable">
<thead>
</thead>
<tbody>
<tr>
<td>Undo</td>
<td>ctrl + Z</td>
</tr>
<tr>
<td>Redo</td>
<td>ctrl + Y or ctrl + shift + Z</td>
</tr>
<tr>
<td>Select All</td>
<td>ctrl + A</td>
</tr>
<tr>
<td>Export as .dst</td>
<td>ctrl + S</td>
</tr>
<tr>
<td>Import from .dst</td>
<td>ctrl + L</td>
</tr>
<tr>
<td>Search for text (default browser funtion)</td>
<td>ctrl + F</td>
</tr>
<tr>
<td>Edit label</td>
<td>E</td>
</tr>
<tr>
<td>Copy/paste</td>
<td>ctrl + C, ctrl + V</td>
</tr>
<tr>
<td>Hand tool</td>
<td>H</td>
</tr>
<tr>
<td>Lasso tool</td>
<td>L</td>
</tr>
<tr>
<td>Space tool</td>
<td>S</td>
</tr>
</tbody>
</table>
</div>
<div id="dictionaryDialog" style="display:none">
<div>
<div id="activityDictionary" style="float:left">
<text>Activities:</text>
<div id="activityDictionaryContainer"></div>
</div>
<div id="workobjectDictionary" style="float:left">
<text>Work Objects:</text>
<div id= "workobjectDictionaryContainer"></div>
</div>
</div>
<div style="clear:both;"></div>
<div id="dictionaryButtons">
<button id="closeDictionaryButtonSave">Save</button>
<button id="closeDictionaryButtonCancel">Cancel</button>
</div>
</div>
<div id="incompleteStoryInfo" style="display:none">
<button id="closeIncompleteStoryInfo">X</button>
<br>
</div>
<div id="noContentOnCanvasInfo" style="display: none">
<button id="closeNoContentOnCanvasInfo">X</button>
<br>
<text>There currently is no content on the canvas.</text>
<text>Without content the canvas cannot be exported.</text>
</div>
<div id="versionInfo" style="display:none">
<button id="closeVersionDialog">X</button>
<br>
<text>Your Domain Story was created with modeler version</text>
<text id="importedVersion"></text>
<text>. This modeler is version</text>
<text id="modelerVersion"></text>
<text>. Please check release notes for possible compatibility problems.</text>
</div>
<div id="brokenDSTInfo" style="display:none">
<button id="brokenDSTDialogButtonCancel">X</button>
<br>
<text>Your .dst File is corrupted, there most likely was an error during export.</text>
<text>If the domain story was imported, some of your activities and Domain Elements might be missing.</text>
</div>
<div id="brokenSVGInfo" style="display:none">
<button id="brokenSVGDialogButtonCancel">X</button>
<br>
<text>The .svg file you uploaded does not contain a Domain Story.</text>
</div>
<script src="./app.js"></script>
<script src="dependencies/jquery.min.js"></script>
<script>
/* from http://jsfiddle.net/jAYEt/2188/
*/
var inputQuantity = [];
$(function () {
$(".numberID").each(function (i) {
inputQuantity[i] = this.defaultValue;
$(this).data("idx", i); // save this field's index to access later
});
$(".numberID").on("keyup", function (e) {
var $field = $(this),
val = this.value,
$thisIndex = parseInt($field.data("idx"), 10); // retrieve the index
if (this.validity && this.validity.badInput || isNaN(val) || $field.is(":invalid")) {
this.value = inputQuantity[$thisIndex];
return;
}
if (val.length > Number($field.attr("maxlength"))) {
val = val.slice(0, 2);
$field.val(val);
}
inputQuantity[$thisIndex] = val;
});
$(".incrementNumber").each(function (i) {
inputQuantity[i] = this.defaultValue;
$(this).data("idx", i); // save this field's index to access later
});
$(".incrementNumber").on("keyup", function (e) {
var $field = $(this),
val = this.value,
$thisIndex = parseInt($field.data("idx"), 10); // retrieve the index
if (this.validity && this.validity.badInput || isNaN(val) || $field.is(":invalid")) {
this.value = inputQuantity[$thisIndex];
return;
}
if (val.length > Number($field.attr("maxlength"))) {
val = val.slice(0, 2);
$field.val(val);
}
inputQuantity[$thisIndex] = val;
});
});</script>
<script type="text/x-dot-template" id="revealjs-template">
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="{{=it.description}}">
<meta name="author" content="{{=it.authorname || 'VVC'}}">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>{{=it.title}}</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/reveal.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/theme/white.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/theme/beige.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/theme/sky.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/theme/solarized.min.css">
<!-- link rel="stylesheet" href="../plugin/presentable/presentable.css" -->
<!-- link rel="stylesheet" href="../css/theme/cr-override.css" id="theme" -->
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/highlight/zenburn.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/highlight/monokai.min.css">
<!-- Printing and PDF exports
<{{=it.script}}>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../css/print/pdf.css' : '../css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</{{=it.script}}>
-->
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-transition="slide">
<!-- .slide: data-state="no-title-footer" -->
<h1>{{=it.title || 'to be defined'}}</h1>
{{=it.description}}
</section>
<!-- hier kommt dann die eigentliche Präsentation -->
{{~it.sentences :value:index }}
<section data-transition="{{=value.transition}}">
<div class="svg">
{{=value.content}}
</div>
</section>
{{~}}
</div>
</div>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/headjs/1.0.3/head.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/reveal.min.js"></{{=it.script}}>
<!-- {{=it.script}} src="../js/presentable.min.js"></{{=it.script}} -->
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/markdown/markdown.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/highlight/highlight.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/math/math.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/notes/notes.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/search/search.min.js"></{{=it.script}}>
<{{=it.script}} src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.1.0/plugin/zoom/zoom.min.js"></{{=it.script}}>
<{{=it.script}}>
/* More info about config & dependencies:
- https://github.com/hakimel/reveal.js&#35;configuration
- https://github.com/hakimel/reveal.js&#35;dependencies */
Reveal.initialize({
/* Display presentation control arrows */
controls: true,
/* Help the user learn the controls by providing hints, for example by
bouncing the down arrow when they first encounter a vertical slide */
controlsTutorial: true,
/* Determines where controls appear, "edges" or "bottom-right" */
controlsLayout: 'bottom-right',
/* Visibility rule for backwards navigation arrows; "faded", "hidden" or "visible" */
controlsBackArrows: 'faded',
/* Display a presentation progress bar */
progress: true,
/* Display the page number of the current slide
- true: Show slide number
- false: Hide slide number
Can optionally be set as a string that specifies the number formatting:
- "h.v": Horizontal . vertical slide number (default)
- "h/v": Horizontal / vertical slide number
- "c": Flattened slide number
- "c/t": Flattened slide number / total slides
Alternatively, you can provide a function that returns the slide
number for the current slide. The function should take in a slide
object and return an array with one string [slideNumber] or
three strings [n1,delimiter,n2]. See &#35;formatSlideNumber(). */
slideNumber: false,
/* Can be used to limit the contexts in which the slide number appears
- "all": Always show the slide number
- "print": Only when printing to PDF
- "speaker": Only in the speaker view */
showSlideNumber: 'all',
/* Use 1 based indexing for &#35; links to match slide number (default is zero based) */
hashOneBasedIndex: false,
/* Add the current slide number to the URL hash so that reloading the
page/copying the URL will return you to the same slide */
hash: false,
/* Flags if we should monitor the hash and change slides accordingly */
respondToHashChanges: true,
/* Push each slide change to the browser history. Implies `hash: true` */
history: false,
/* Enable keyboard shortcuts for navigation */
keyboard: true,
/* Optional function that blocks keyboard events when retuning false
If you set this to 'foucsed', we will only capture keyboard events
for embdedded decks when they are in focus */
keyboardCondition: null,
/* Disables the default reveal.js slide layout (scaling and centering)
so that you can use custom CSS layout */
disableLayout: false,
/* Enable the slide overview mode */
overview: true,
/* Vertical centering of slides */
center: true,
/* Enables touch navigation on devices with touch input */
touch: true,
/* Loop the presentation */
loop: false,
/* Change the presentation direction to be RTL */
rtl: false,
/* Changes the behavior of our navigation directions.
"default"
Left/right arrow keys step between horizontal slides, up/down
arrow keys step between vertical slides. Space key steps through
all slides (both horizontal and vertical).
"linear"
Removes the up/down arrows. Left/right arrows step through all
slides (both horizontal and vertical).
"grid"
When this is enabled, stepping left/right from a vertical stack
to an adjacent vertical stack will land you at the same vertical
index.
Consider a deck with six slides ordered in two vertical stacks:
1.1 2.1
1.2 2.2
1.3 2.3
If you're on slide 1.3 and navigate right, you will normally move
from 1.3 -> 2.1. If "grid" is used, the same navigation takes you
from 1.3 -> 2.3. */
navigationMode: 'default',
/* Randomizes the order of slides each time the presentation loads */
shuffle: false,
/* Turns fragments on and off globally */
fragments: true,
/* Flags whether to include the current fragment in the URL,
so that reloading brings you to the same fragment position */
fragmentInURL: true,
/* Flags if the presentation is running in an embedded mode,
i.e. contained within a limited portion of the screen */
embedded: false,
/* Flags if we should show a help overlay when the question-mark
key is pressed */
help: true,
/* Flags if it should be possible to pause the presentation (blackout) */
pause: true,
/* Flags if speaker notes should be visible to all viewers */
showNotes: false,
/* Global override for autolaying embedded media (video/audio/iframe)
- null: Media will only autoplay if data-autoplay is present
- true: All media will autoplay, regardless of individual setting
- false: No media will autoplay, regardless of individual setting */
autoPlayMedia: null,
/* Global override for preloading lazy-loaded iframes
- null: Iframes with data-src AND data-preload will be loaded when within
the viewDistance, iframes with only data-src will be loaded when visible
- true: All iframes with data-src will be loaded when within the viewDistance
- false: All iframes with data-src will be loaded only when visible */
preloadIframes: null,
/* Can be used to globally disable auto-animation */
autoAnimate: true,
/* Optionally provide a custom element matcher that will be
used to dictate which elements we can animate between. */
autoAnimateMatcher: null,
/* Default settings for our auto-animate transitions, can be
overridden per-slide or per-element via data arguments */
autoAnimateEasing: 'ease',
autoAnimateDuration: 1.0,
autoAnimateUnmatched: true,
/* CSS properties that can be auto-animated. Position & scale
is matched separately so there's no need to include styles
like top/right/bottom/left, width/height or margin. */
autoAnimateStyles: [
'opacity',
'color',
'background-color',
'padding',
'font-size',
'line-height',
'letter-spacing',
'border-width',
'border-color',
'border-radius',
'outline',
'outline-offset'
],
/* Controls automatic progression to the next slide
- 0: Auto-sliding only happens if the data-autoslide HTML attribute
is present on the current slide or fragment
- 1+: All slides will progress automatically at the given interval
- false: No auto-sliding, even if data-autoslide is present */
autoSlide: 0,
/* Stop auto-sliding after user input */
autoSlideStoppable: true,
/* Use this method for navigation when auto-sliding (defaults to navigateNext) */
autoSlideMethod: null,
/* Specify the average time in seconds that you think you will spend
presenting each slide. This is used to show a pacing timer in the
speaker view */
defaultTiming: null,
/* Enable slide navigation via mouse wheel */
mouseWheel: false,
/* Opens links in an iframe preview overlay
Add `data-preview-link` and `data-preview-link="false"` to customise each link
individually */
previewLinks: false,
/* Exposes the reveal.js API through window.postMessage */
postMessage: true,
/* Dispatches all reveal.js events to the parent window through postMessage */
postMessageEvents: false,
/* Focuses body when page changes visibility to ensure keyboard shortcuts work */
focusBodyOnPageVisibilityChange: true,
/* Transition style */
transition: 'none', /* none/fade/slide/convex/concave/zoom */
/* Transition speed */
transitionSpeed: 'default', /* default/fast/slow */
/* Transition style for full page slide backgrounds */
backgroundTransition: 'fade', /* none/fade/slide/convex/concave/zoom */
/* The maximum number of pages a single slide can expand onto when printing
to PDF, unlimited by default */
pdfMaxPagesPerSlide: Number.POSITIVE_INFINITY,
/* Prints each fragment on a separate slide */
pdfSeparateFragments: true,
/* Offset used to reduce the height of content within exported PDF pages.
This exists to account for environment differences based on how you
print to PDF. CLI printing options, like phantomjs and wkpdf, can end
on precisely the total height of the document whereas in-browser
printing has to end one pixel before. */
pdfPageHeightOffset: -1,
/* Number of slides away from the current that are visible */
viewDistance: 3,
/* Number of slides away from the current that are visible on mobile
devices. It is advisable to set this to a lower number than
viewDistance in order to save resources. */
mobileViewDistance: 2,
/* The display mode that will be used to show slides */
display: 'block',
/* Hide cursor if inactive */
hideInactiveCursor: true,
/* Time before the cursor is hidden (in ms) */
hideCursorTime: 5000,
multiplex: {
/* Example values. To generate your own, see the socket.io server instructions. */
secret: '{{=it.multiplexSecret}}', /* Obtained from the socket.io server. Gives this (the master) control of the presentation */
id: '{{=it.multiplexId}}', /* Obtained from socket.io server */
url: 'https://reveal-multiplex.glitch.me/' /* Location of socket.io server */
},
/* https://revealjs.com/plugins/ */
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes, RevealMath, RevealZoom, RevealSearch ],
dependencies: [
/* Cross-browser shim that fully implements classList - https://github.com/eligrey/classList.js/ */
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/classlist/1.2.20180112/classList.min.js', condition: () => { return !document.body.classList; } },
/* Interpret Markdown in <section> elements */
/*
{ src: '../plugin/markdown/marked.js', condition: () => { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../plugin/markdown/markdown.js', condition: () => { return !!document.querySelector( '[data-markdown]' ); } },
*/
/* Syntax highlight for <code> elements */
/*
{ src: '../plugin/highlight/highlight.js', async: true, callback: () => { hljs.initHighlightingOnLoad(); } },
*/
/* Zoom in and out with Alt+click */
/*{ src: '../plugin/zoom-js/zoom.js', async: true },*/
/* Speaker notes */
/*{ src: '../plugin/notes/notes.js', async: true },*/
/* MathJax */
/*{ src: '../plugin/math/math.js', async: true },*/
/* title footer and header */
/*{ src: '../plugin/title-footer/title-footer.js', async: true, callback: () => { title_header.initialize('{{=it.title}}', 'rgba(0,141,217,1.0)'); title_footer.initialize(' ', 'rgba(0,141,217,1.0)');} },*/
/* TOC generator */
/*{ src: '../plugin/presentable/presentable.js', callback: () => { presentable.toc({framework: "revealjs", hideNoTitle: true, titles: "&#35;presentable-title" }); } },*/
/* Multiplexing */
/*
{ src: 'https://reveal-multiplex.glitch.me/socket.io/socket.io.js', async: true },
{ src: 'https://reveal-multiplex.glitch.me/master.js', async: true },
{ src: 'https://reveal-multiplex.glitch.me/client.js', async: true }
*/
]
});
</{{=it.script}}>
</body>
</html>
</script>
</body>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/onefine/domain-story-modeler-page.git
git@gitee.com:onefine/domain-story-modeler-page.git
onefine
domain-story-modeler-page
Domain Story Modeler Page
master

搜索帮助