Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
mdshow
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container registry
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Docker
mdshow
Commits
b21ed763
Commit
b21ed763
authored
2 years ago
by
jurgenhaas
Browse files
Options
Downloads
Plain Diff
Merge branch 'develop' into 'main'
Merging develop into main See merge request
!4
parents
5f805730
5e18e9f7
Branches
Branches containing commit
Tags
1.0.3
Tags containing commit
1 merge request
!4
Merging develop into main
Pipeline
#715715
passed
2 years ago
Stage: build
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
bin/mdshow
+38
-20
38 additions, 20 deletions
bin/mdshow
default.revealjs
+35
-44
35 additions, 44 deletions
default.revealjs
with
73 additions
and
64 deletions
bin/mdshow
+
38
−
20
View file @
b21ed763
...
...
@@ -16,6 +16,7 @@ PORT = 3000
VERSION
:=
v0.1
# {{{1 help
.PHONY
:
help
help
:
@
echo
"mdshow: the simple markdown to reveal.js converter"
@
echo
"
$(
VERSION
)
"
...
...
@@ -40,15 +41,18 @@ help:
@
echo
" curl, pandoc, unzip, npm"
# {{{1 version
.PHONY
:
version
version
:
@
echo
"
$(
VERSION
)
"
# {{{1 upgrade
.PHONY
:
upgrade
upgrade
:
curl
-L
https://raw.githubusercontent.com/jceb/mdshow/master/mdshow
-o
$(
realpath
$(
firstword
$(
MAKEFILE_LIST
)))
chmod
a+x
$(
realpath
$(
firstword
$(
MAKEFILE_LIST
)))
# {{{1 setup
.PHONY
:
setup
setup
:
programs
\
sass
\
$(MDSHOW_CONFIG)/defaults.css
\
...
...
@@ -63,6 +67,7 @@ setup: programs \
$(MDSHOW_CONFIG)/reveal.js/mdshow-gulp.js
\
$(MDSHOW_CONFIG)/scaffold.md
.PHONY
:
programs
programs
:
@
echo
"Testing depedencies"
@
type
curl
||
echo
"curl is not installed, required in the setup process"
...
...
@@ -85,9 +90,9 @@ $(MDSHOW_CONFIG)/defaults.yaml:
curl
-L
https://raw.githubusercontent.com/jceb/mdshow/master/assets/defaults.yaml
-o
$@
$(MDSHOW_CONFIG)/reveal.js/dist/fontawesome
:
curl
-L
https://use.fontawesome.com/releases/v
5
.1
5
.1/fontawesome-free-
5
.1
5
.1-web.zip
-o
$(
dir
$@
)
/fontawesome-free-web.zip
curl
-L
https://use.fontawesome.com/releases/v
6
.1.1/fontawesome-free-
6
.1.1-web.zip
-o
$(
dir
$@
)
/fontawesome-free-web.zip
unzip
$(
dir
$@
)
/fontawesome-free-web.zip
-d
$(
dir
$@
)
mv
$(
dir
$@
)
/fontawesome-free-
5
.1
5
.1-web
$@
mv
$(
dir
$@
)
/fontawesome-free-
6
.1.1-web
$@
rm
$(
dir
$@
)
/fontawesome-free-web.zip
$(MDSHOW_CONFIG)/reveal.js
:
...
...
@@ -132,18 +137,22 @@ $(MDSHOW_CONFIG)/reveal.js/dist/plugin/highlight/styles/nord.css:
rm
-rf
highlight.js-10.2.1
# {{{1 sass / theme builder
.PHONY
:
sass
sass
:
$(MDSHOW_CONFIG)/reveal.js
\
.sync-custom-themes
\
.link-theme-assets
\
.build-themes
.PHONY
:
.sync-custom-themes
.sync-custom-themes
:
$(wildcard $(MDSHOW_CONFIG)/theme/*/source/*.scss)
@
[
-n
"
$^
"
]
&&
rsync
-u
$^
$(
MDSHOW_CONFIG
)
/reveal.js/css/theme/source/
||
true
@
[
-n
"
$^
"
]
&&
cd
$(
MDSHOW_CONFIG
)
/reveal.js
&&
gulp css-themes
||
true
.PHONY
:
.build-themes
.SECONDEXPANSION
:
.build-themes
:
$$(addprefix $(MDSHOW_CONFIG)/reveal.js/dist/theme/
,
$$(addsuffix .css
,
$$(basename $$(notdir $$(wildcard $(MDSHOW_CONFIG)/reveal.js/css/theme/source/*.scss)))))
.PHONY
:
.link-theme-assets
.SECONDEXPANSION
:
.link-theme-assets
:
$$(addprefix $(MDSHOW_CONFIG)/reveal.js/dist/theme/
,
$$(basename $$(notdir $$(wildcard $(MDSHOW_CONFIG)/reveal.js/css/theme/source/*.scss))))
...
...
@@ -157,6 +166,7 @@ $(MDSHOW_CONFIG)/reveal.js/dist/theme/%: $(MDSHOW_CONFIG)/theme/%/assets
@
cp
$@
.css
$<
# {{{1 themes
.PHONY
:
themes
themes
:
$(MDSHOW_CONFIG)/reveal.js/dist $(wildcard $(MDSHOW_CONFIG)/reveal.js/dist/theme/*.css)
@
ls
-1
$(
MDSHOW_CONFIG
)
/reveal.js/dist/theme/
*
.css |
sed
-ne
's/^.*\/\([^\/]*\).css$$/\1/p'
@
echo
"Change theme by adding the option 'theme: <name>' between the two --- .. --- delimiters at the top of
$(
SLIDES
)
."
...
...
@@ -167,6 +177,7 @@ $(MDSHOW_CONFIG)/scaffold.md:
[
!
-e
$@
]
&&
\
curl
-L
https://raw.githubusercontent.com/jceb/mdshow/master/examples/
$(
SLIDES
)
-o
$@
.PHONY
:
scaffold
scaffold
:
$(MDSHOW_CONFIG)/scaffold.md
@
([
-e
$(
SLIDES
)
]
&&
[
-e
assets
]
&&
\
echo
"'
$(
SLIDES
)
' and or 'assets' already exists, nothing to do here."
)
||
\
...
...
@@ -181,6 +192,7 @@ scaffold: $(MDSHOW_CONFIG)/scaffold.md
echo
"- Run 'mdshow pdf' to store the slideshow in a PDF document"
)
||
true
\
# {{{1 html
.PHONY
:
html
html
:
$(basename $(SLIDES)).html
$(basename $(SLIDES)).html
:
serving build
...
...
@@ -189,9 +201,11 @@ $(basename $(SLIDES)).html: serving build
monolith
-o
$@
http://localhost:
$(
PORT
)
# {{{1 build
.PHONY
:
build
build
:
$(BUILD_DIR)/config.json sass $(MDSHOW_CONFIG)/reveal.js/dist/fontawesome $(BUILD_DIR)/index.html
# {{{1 pdf
.PHONY
:
pdf
pdf
:
$(basename $(SLIDES)).pdf
$(basename $(SLIDES)).pdf
:
serving build
...
...
@@ -206,9 +220,11 @@ $(MDSHOW_CONFIG)/reveal.js/mdshow-gulp.js:
[
!
-e
$@
]
&&
\
curl
-L
https://raw.githubusercontent.com/jceb/mdshow/master/assets/mdshow-gulp.js
-o
$@
.PHONY
:
serve
serve
:
build $(MDSHOW_CONFIG)/reveal.js/mdshow-gulp.js
cd
$(
MDSHOW_CONFIG
)
/reveal.js
&&
gulp
-f
mdshow-gulp.js
--port
=
$(
PORT
)
--slides
=
"
$(
SLIDES
)
"
--root
=
"
${
PWD
}
/
$(
BUILD_DIR
)
"
.PHONY
:
serving
serving
:
@
curl
-s
-I
-o
/dev/null http://localhost:
$(
PORT
)
...
...
@@ -233,29 +249,31 @@ $(BUILD_DIR)/config.json: $(SLIDES) $(MDSHOW_CONFIG)/defaults.yaml $(MDSHOW_CON
$(BUILD_DIR)/index.html
:
$(SLIDES) $(BUILD_DIR)/config.json $(BUILD_DIR)/reveal.js $(BUILD_DIR)/assets $(BUILD_DIR)/.mdshow $(BUILD_DIR)/reveal.js/defaults.css
PANDOC_ARGS
=
;
\
theme
=
"
$$($(
MDSHOW_CONFIG
)
/reveal.js/node_modules/node-jq/bin/jq -r '.theme' <
$(
BUILD_DIR
)
/config.json
)
"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/in-header.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-in-header=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/in-header.html"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/before-body.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-before-body=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/before-body.html"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/after-body.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-after-body=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/after-body.html"
;
\
pandoc
\
$(
MDSHOW_CONFIG
)
/defaults.yaml
\
$(
SLIDES
)
\
--data-dir
=
$(
MDSHOW_CONFIG
)
/pandoc
\
-f
markdown+yaml_metadata_block
\
-t
revealjs
\
--lua-filter
fontawesome.lua
\
--wrap
=
preserve
\
--standalone
\
--no-highlight
\
--slide-level
=
2
\
-V
revealjs-url
=
reveal.js
\
-o
$@
\
$${
PANDOC_ARGS
}
theme
=
"
$$($(
MDSHOW_CONFIG
)
/reveal.js/node_modules/node-jq/bin/jq -r '.theme' <
$(
BUILD_DIR
)
/config.json
)
"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/in-header.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-in-header=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/in-header.html"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/before-body.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-before-body=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/before-body.html"
;
\
[
-e
"
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/after-body.html"
]
&&
PANDOC_ARGS
=
"
$${
PANDOC_ARGS
}
--include-after-body=
$(
MDSHOW_CONFIG
)
/theme/
$${
theme
}
/include/after-body.html"
;
\
pandoc
\
$(
MDSHOW_CONFIG
)
/defaults.yaml
\
$(
SLIDES
)
\
--data-dir
=
$(
MDSHOW_CONFIG
)
/pandoc
\
-f
markdown+yaml_metadata_block
\
-t
revealjs
\
--lua-filter
fontawesome.lua
\
--wrap
=
preserve
\
--standalone
\
--no-highlight
\
--slide-level
=
2
\
-V
revealjs-url
=
reveal.js
\
-o
$@
\
$${
PANDOC_ARGS
}
# {{{1 cleanup
.PHONY
:
clean
clean
:
rm
-rf
$(
BUILD_DIR
)
.PHONY
:
distclean
distclean
:
[
-e
$(
MDSHOW_CONFIG
)
/defaults.yaml
]
&&
mv
$(
MDSHOW_CONFIG
)
/defaults.yaml
$(
MDSHOW_CONFIG
)
/defaults.yaml.bak
||
true
[
-e
$(
MDSHOW_CONFIG
)
/scaffold.md
]
&&
mv
$(
MDSHOW_CONFIG
)
/scaffold.md
$(
MDSHOW_CONFIG
)
/scaffold.md.bak
||
true
...
...
This diff is collapsed.
Click to expand it.
default.revealjs
+
35
−
44
View file @
b21ed763
...
...
@@ -92,78 +92,76 @@ $body$
// https://github.com/hakimel/reveal.js#configuration
Reveal
.
initialize
({
// Display controls in the bottom right corner
controls
:
(
'
$controls$
'
===
''
?
false
:
true
),
controls
:
Boolean
(
JSON
.
parse
(
'
$controls$
'
)
),
// Help the user learn the controls by providing hints, for example by
// bouncing the down arrow when they first encounter a vertical slide
controlsTutorial
:
(
'
$controlsTutorial$
'
===
''
?
false
:
true
),
controlsTutorial
:
Boolean
(
JSON
.
parse
(
'
$controlsTutorial$
'
)
),
// Display a presentation progress bar
progress
:
(
'
$progress$
'
===
''
?
false
:
true
),
progress
:
Boolean
(
JSON
.
parse
(
'
$progress$
'
)
),
// Display the page number of the current slide
slideNumber
:
(
'
$slideNumber$
'
===
''
?
false
:
'
$slideNumber$
'
===
'
true
'
?
true
:
'
$slideNumber$
'
),
slideNumber
:
Boolean
(
JSON
.
parse
(
'
$slideNumber$
'
)
)
,
// Use 1 based indexing for # links to match slide number (default is zero
// based)
hashOneBasedIndex
:
(
'
$hashOneBasedIndex$
'
===
''
?
false
:
true
),
hashOneBasedIndex
:
Boolean
(
JSON
.
parse
(
'
$hashOneBasedIndex$
'
)
),
// 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
:
(
'
$hash$
'
===
''
?
false
:
true
),
hash
:
Boolean
(
JSON
.
parse
(
'
$hash$
'
)
),
// Flags if we should monitor the hash and change slides accordingly
respondToHashChanges
:
(
'
$respondToHashChanges$
'
===
''
?
false
:
true
),
respondToHashChanges
:
Boolean
(
JSON
.
parse
(
'
$respondToHashChanges$
'
)
),
// Push each slide change to the browser history
history
:
(
'
$history$
'
===
''
?
false
:
true
),
history
:
Boolean
(
JSON
.
parse
(
'
$history$
'
)
),
// Enable keyboard shortcuts for navigation
keyboard
:
(
'
$keyboard$
'
===
''
?
false
:
true
),
keyboard
:
Boolean
(
JSON
.
parse
(
'
$keyboard$
'
)
),
// Disables the default reveal.js slide layout (scaling and centering)
// so that you can use custom CSS layout
disableLayout
:
(
'
$disableLayout$
'
===
''
?
false
:
true
),
disableLayout
:
Boolean
(
JSON
.
parse
(
'
$disableLayout$
'
)
),
// Enable the slide overview mode
overview
:
(
'
$overview$
'
===
''
?
false
:
true
),
overview
:
Boolean
(
JSON
.
parse
(
'
$overview$
'
)
),
// Vertical centering of slides
center
:
(
'
$center$
'
===
''
?
false
:
true
),
center
:
Boolean
(
JSON
.
parse
(
'
$center$
'
)
),
// Enables touch navigation on devices with touch input
touch
:
(
'
$touch$
'
===
''
?
false
:
true
),
touch
:
Boolean
(
JSON
.
parse
(
'
$touch$
'
)
),
// Loop the presentation
loop
:
(
'
$loop$
'
===
''
?
false
:
true
),
loop
:
Boolean
(
JSON
.
parse
(
'
$loop$
'
)
),
// Change the presentation direction to be RTL
rtl
:
(
'
$rtl$
'
===
''
?
false
:
true
),
rtl
:
Boolean
(
JSON
.
parse
(
'
$rtl$
'
)
),
$if
(
navigationMode
)
$
// see https://github.com/hakimel/reveal.js/#navigation-mode
navigationMode
:
'
$navigationMode$
'
,
$endif$
// Randomizes the order of slides each time the presentation loads
shuffle
:
(
'
$shuffle$
'
===
''
?
false
:
true
),
shuffle
:
Boolean
(
JSON
.
parse
(
'
$shuffle$
'
)
),
// Turns fragments on and off globally
fragments
:
(
'
$fragments$
'
===
''
?
false
:
true
),
fragments
:
Boolean
(
JSON
.
parse
(
'
$fragments$
'
)
),
// Flags whether to include the current fragment in the URL
// so that reloading brings you to the same fragment position
fragmentInURL
:
(
'
$fragmentInURL$
'
===
''
?
false
:
true
),
fragmentInURL
:
Boolean
(
JSON
.
parse
(
'
$fragmentInURL$
'
)
),
// Flags if the presentation is running in an embedded mode,
// i.e. contained within a limited portion of the screen
embedded
:
(
'
$embedded$
'
===
''
?
false
:
true
),
embedded
:
Boolean
(
JSON
.
parse
(
'
$embedded$
'
)
),
// Flags if we should show a help overlay when the questionmark
// key is pressed
help
:
(
'
$help$
'
===
''
?
false
:
true
),
help
:
Boolean
(
JSON
.
parse
(
'
$help$
'
)
),
// Flags if it should be possible to pause the presentation (blackout)
pause
:
(
'
$pause$
'
===
''
?
false
:
true
),
pause
:
Boolean
(
JSON
.
parse
(
'
$pause$
'
)
),
// Flags if speaker notes should be visible to all viewers
showNotes
:
(
'
$showNotes$
'
===
''
?
false
:
true
),
showNotes
:
Boolean
(
JSON
.
parse
(
'
$showNotes$
'
)
),
// 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
:
(
'
$autoPlayMedia$
'
===
'
null
'
?
null
:
'
$autoPlayMedia$
'
===
''
?
false
:
true
)
,
autoPlayMedia
:
'
$autoPlayMedia$
'
.
length
>
0
?
Boolean
(
JSON
.
parse
(
'
$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
:
(
'
$preloadIframes$
'
===
'
null
'
?
null
:
'
$preloadIframes$
'
===
''
?
false
:
true
)
,
preloadIframes
:
'
$preloadIframes$
'
.
length
>
0
?
Boolean
(
JSON
.
parse
(
'
$preloadIframes$
'
))
:
null
,
// Can be used to globally disable auto-animation
autoAnimate
:
(
'
$autoAnimate$
'
===
''
?
false
:
true
),
$if
(
autoAnimateMatcher
)
$
autoAnimate
:
Boolean
(
JSON
.
parse
(
'
$autoAnimate$
'
)),
// Optionally provide a custom element matcher that will be
// used to dictate which elements we can animate between.
autoAnimateMatcher
:
(
'
$autoAnimateMatcher$
'
===
'
null
'
?
null
:
'
$autoAnimateMatcher$
'
),
// none/fade/slide/convex/concave/zoom
$endif$
autoAnimateMatcher
:
(
'
$autoAnimateMatcher$
'
.
length
>
0
?
'
$autoAnimateMatcher$
'
:
null
),
// none/fade/slide/convex/concave/zoom
$if
(
autoAnimateEasing
)
$
// Default settings for our auto-animate transitions, can be
// overridden per-slide or per-element via data arguments
...
...
@@ -172,17 +170,15 @@ $endif$
$if
(
autoAnimateDuration
)
$
autoAnimateDuration
:
$autoAnimateDuration$
,
$endif$
autoAnimateUnmatched
:
(
'
$autoAnimateUnmatched$
'
===
''
?
false
:
true
),
autoAnimateUnmatched
:
Boolean
(
JSON
.
parse
(
'
$autoAnimateUnmatched$
'
)
),
// Number of milliseconds between automatically proceeding to the
// next slide, disabled when set to 0, this value can be overwritten
// by using a data-autoslide attribute on your slides
autoSlide
:
(
'
$autoSlide$
'
===
''
?
false
:
parseInt
(
'
$autoSlide$
'
)),
// Stop auto-sliding after user input
autoSlideStoppable
:
(
'
$autoSlideStoppable$
'
===
''
?
false
:
true
),
$if
(
autoSlideMethod
)
$
autoSlideStoppable
:
Boolean
(
JSON
.
parse
(
'
$autoSlideStoppable$
'
)),
// Use this method for navigation when auto-sliding (defaults to navigateNext)
autoSlideMethod
:
(
'
$autoSlideMethod$
'
===
'
null
'
?
null
:
'
$autoSlideMethod$
'
),
// none/fade/slide/convex/concave/zoom
$endif$
autoSlideMethod
:
(
'
$autoSlideMethod$
'
.
length
>
0
?
'
$autoSlideMethod$
'
:
null
),
// none/fade/slide/convex/concave/zoom
$if
(
defaultTiming
)
$
// 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
...
...
@@ -190,24 +186,19 @@ $if(defaultTiming)$
defaultTiming
:
$defaultTiming$
,
$endif$
// Enable slide navigation via mouse wheel
mouseWheel
:
(
'
$mouseWheel$
'
===
''
?
false
:
true
),
mouseWheel
:
Boolean
(
JSON
.
parse
(
'
$mouseWheel$
'
)
),
// Opens links in an iframe preview overlay
// Add `data-preview-link` and `data-preview-link="False"` to customise each link
// individually
previewLinks
:
(
'
$previewLinks$
'
===
''
?
false
:
true
),
previewLinks
:
Boolean
(
JSON
.
parse
(
'
$previewLinks$
'
)
),
// Exposes the reveal.js API through window.postMessage
postMessage
:
(
'
$postMessage$
'
===
''
?
false
:
true
),
postMessage
:
Boolean
(
JSON
.
parse
(
'
$postMessage$
'
)
),
// Dispatches all reveal.js events to the parent window through postMessage
postMessageEvents
:
(
'
$postMessageEvents$
'
===
''
?
false
:
true
),
postMessageEvents
:
Boolean
(
JSON
.
parse
(
'
$postMessageEvents$
'
)
),
// Focuses body when page changes visibility to ensure keyboard shortcuts work
focusBodyOnPageVisibilityChange
:
(
'
$focusBodyOnPageVisibilityChange$
'
===
''
?
false
:
true
),
// Apply a 3D roll to links on hover
// TODO check if still in use
rollingLinks
:
(
'
$rollingLinks$
'
===
''
?
false
:
true
),
focusBodyOnPageVisibilityChange
:
Boolean
(
JSON
.
parse
(
'
$focusBodyOnPageVisibilityChange$
'
)),
// Hides the address bar on mobile devices
hideAddressBar
:
(
'
$controls$
'
===
''
?
false
:
true
),
// Opens links in an iframe preview overlay
previewLinks
:
(
'
$controls$
'
===
''
?
false
:
true
)
$previewLinks$
,
hideAddressBar
:
Boolean
(
JSON
.
parse
(
'
$controls$
'
)),
$if
(
transition
)
$
// Transition style
transition
:
'
$transition$
'
,
// none/fade/slide/convex/concave/zoom
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment