Initial commit
This commit is contained in:
7
themes/reveal-hugo/layouts/partials/layout/head.html
Normal file
7
themes/reveal-hugo/layouts/partials/layout/head.html
Normal file
@ -0,0 +1,7 @@
|
||||
<meta charset="utf-8">
|
||||
<title>{{ or .Page.Title .Site.Title }}</title>
|
||||
{{ with $.Param "description" }}<meta name="description" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Author.name }}<meta name="author" content="{{ . }}">{{ end }}
|
||||
<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">
|
63
themes/reveal-hugo/layouts/partials/layout/javascript.html
Normal file
63
themes/reveal-hugo/layouts/partials/layout/javascript.html
Normal file
@ -0,0 +1,63 @@
|
||||
<!-- polyfill needed for IE11 and below -->
|
||||
<script type="text/javascript" src={{ "reveal-hugo/object-assign.js" | relURL }}></script>
|
||||
<!-- Printing and PDF exports -->
|
||||
<!-- use Hugo to create the right path for the print stylesheet, then conditionally include it -->
|
||||
{{- $reveal_location := $.Param "reveal_hugo.reveal_cdn" | default "reveal-js" -}}
|
||||
<a href="{{ printf "%s/css/print/" $reveal_location | relURL }}" id="print-location" style="display: none;"></a>
|
||||
<script type="text/javascript">
|
||||
var printLocationElement = document.getElementById('print-location');
|
||||
var link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = printLocationElement.href + (window.location.search.match(/print-pdf/gi) ? 'pdf.css' : 'paper.css');
|
||||
document.getElementsByTagName('head')[0].appendChild(link);
|
||||
</script>
|
||||
<!-- output Hugo parameters into JavaScript to be used when initializing Reveal.js -->
|
||||
<script type="application/json" id="reveal-hugo-site-params">{{ jsonify .Site.Params.reveal_hugo | safeJS }}</script>
|
||||
<script type="application/json" id="reveal-hugo-page-params">{{ jsonify .Page.Params.reveal_hugo | safeJS }}</script>
|
||||
<!-- load Reveal.js javascripts -->
|
||||
<script src="{{ printf "%s/js/reveal.js" $reveal_location | relURL }}"></script>
|
||||
<!-- load Reveal.js plugins -->
|
||||
<script type="text/javascript">
|
||||
// Hugo lowercases all params and Reveal.js needs camelcase
|
||||
// So params in Hugo must be stored in snakecase and we camelize them here
|
||||
function camelize(map) {
|
||||
if (map) {
|
||||
Object.keys(map).forEach(function(k) {
|
||||
newK = k.replace(/(\_\w)/g, function(m) { return m[1].toUpperCase() });
|
||||
if (newK != k) {
|
||||
map[newK] = map[k];
|
||||
delete map[k];
|
||||
}
|
||||
});
|
||||
}
|
||||
return map;
|
||||
}
|
||||
// pattern inspired by https://github.com/RealOrangeOne/hugo-theme-revealjs
|
||||
var revealHugoDefaults = { center: true, controls: true, history: true, progress: true, transition: "slide" };
|
||||
var revealHugoSiteParams = JSON.parse(document.getElementById('reveal-hugo-site-params').innerHTML);
|
||||
var revealHugoPageParams = JSON.parse(document.getElementById('reveal-hugo-page-params').innerHTML);
|
||||
// See all options - https://github.com/hakimel/reveal.js#configuration
|
||||
var options = Object.assign({},
|
||||
camelize(revealHugoDefaults),
|
||||
camelize(revealHugoSiteParams),
|
||||
camelize(revealHugoPageParams));
|
||||
Reveal.initialize(options);
|
||||
</script>
|
||||
<!-- load Reveal.js plugins after Reveal.js is initialized -->
|
||||
{{ if $.Param "reveal_hugo.load_default_plugins" | default true }}
|
||||
{{ $default_plugins := slice "plugin/markdown/marked.js" "plugin/markdown/markdown.js" "plugin/highlight/highlight.js" "plugin/zoom-js/zoom.js" }}
|
||||
{{ range $default_plugins }}
|
||||
<script type="text/javascript" src="{{ printf "%s/%s" $reveal_location . | relURL }}"></script>
|
||||
{{ end }}
|
||||
<!-- always use local version of the notes plugin since HTML file it requires isn't on CDN -->
|
||||
<script type="text/javascript" src="{{ "reveal-js/plugin/notes/notes.js" | relURL }}"></script>
|
||||
{{ end }}
|
||||
<!-- load custom plugins locally only (not CDN since many plugins won't exist there) -->
|
||||
{{ range $.Param "reveal_hugo.plugins" }}
|
||||
<script type="text/javascript" src="{{ . | relURL }}"></script>
|
||||
{{ end }}
|
||||
{{- $custom_js := $.Param "reveal_hugo.custom_js" -}}
|
||||
{{- if $custom_js -}}
|
||||
<script type="text/javascript" src="{{ $custom_js | relURL }}"></script>
|
||||
{{- end -}}
|
28
themes/reveal-hugo/layouts/partials/layout/theme.html
Normal file
28
themes/reveal-hugo/layouts/partials/layout/theme.html
Normal file
@ -0,0 +1,28 @@
|
||||
<!-- Theme used for presentation -->
|
||||
{{- $reveal_location := $.Param "reveal_hugo.reveal_cdn" | default "reveal-js" -}}
|
||||
{{- $highlight_location := $.Param "reveal_hugo.highlight_cdn" | default "highlight-js" -}}
|
||||
{{- $custom_theme := $.Param "reveal_hugo.custom_theme" -}}
|
||||
<link rel="stylesheet" href="{{ printf "%s/css/reset.css" $reveal_location | relURL }}">
|
||||
<link rel="stylesheet" href="{{ printf "%s/css/reveal.css" $reveal_location | relURL }}">
|
||||
{{- $custom_theme := $.Param "reveal_hugo.custom_theme" -}}
|
||||
{{- if $custom_theme -}}
|
||||
{{- $custom_theme_options := $.Param "reveal_hugo.custom_theme_options" | default dict -}}
|
||||
{{- if $.Param "reveal_hugo.custom_theme_compile" -}}
|
||||
{{ $asset := resources.Get $custom_theme | resources.ExecuteAsTemplate "_.scss" . | toCSS $custom_theme_options | minify | fingerprint }}
|
||||
<link rel="stylesheet" href="{{ $asset.Permalink | relURL }}" id="theme">
|
||||
{{- else -}}
|
||||
<link rel="stylesheet" href="{{ $custom_theme | relURL }}" id="theme">
|
||||
{{- end -}}
|
||||
{{ else -}}
|
||||
{{- $theme := $.Param "reveal_hugo.theme" | default "black" -}}
|
||||
<link rel="stylesheet" href="{{ printf "%s/css/theme/%s.css" $reveal_location $theme | relURL }}" id="theme">
|
||||
{{ end -}}
|
||||
{{ if $.Param "reveal_hugo.load_default_plugins" | default true -}}
|
||||
<!-- Theme used for syntax highlighting of code -->
|
||||
{{- $highlight_theme := $.Param "reveal_hugo.highlight_theme" | default "default" -}}
|
||||
<link rel="stylesheet" href="{{ printf "%s/%s.min.css" $highlight_location $highlight_theme | relURL }}">
|
||||
{{- end }}
|
||||
{{- $custom_css := $.Param "reveal_hugo.custom_css" -}}
|
||||
{{- if $custom_css -}}
|
||||
<link rel="stylesheet" href="{{ $custom_css | relURL }}" id="custom_css">
|
||||
{{- end -}}
|
Reference in New Issue
Block a user