Add custom theme support and the dzello theme
This commit is contained in:
parent
7024169277
commit
0e960c90e3
7 changed files with 340 additions and 8 deletions
|
@ -2,7 +2,11 @@
|
||||||
title = "reveal-hugo features and usage"
|
title = "reveal-hugo features and usage"
|
||||||
outputs = ["Reveal"]
|
outputs = ["Reveal"]
|
||||||
[reveal_hugo]
|
[reveal_hugo]
|
||||||
slide_number = true
|
custom_theme = "themes/dzello.css"
|
||||||
|
margin = 0.2
|
||||||
|
highlight_theme = "color-brewer"
|
||||||
|
transition = "slide"
|
||||||
|
transition_speed = "fast"
|
||||||
+++
|
+++
|
||||||
|
|
||||||
# reveal-hugo
|
# reveal-hugo
|
||||||
|
|
|
@ -17,7 +17,7 @@ weight = 40
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### Ready to use
|
### Service-ready
|
||||||
|
|
||||||
- Deploy to [Netlify](https://netlify.com/)
|
- Deploy to [Netlify](https://netlify.com/)
|
||||||
- Edit with [Forestry](https://forestry.io/)
|
- Edit with [Forestry](https://forestry.io/)
|
||||||
|
|
|
@ -18,14 +18,14 @@ Many handy slide shortcuts and customizations are possible.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- .slide: data-background="blue" -->
|
<!-- .slide: data-background="#FF4081" -->
|
||||||
|
|
||||||
For example, an HTML comment can change the background color of a slide.
|
For example, an HTML comment can change the background color of a slide.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{</* markdown */>}}
|
{{</* markdown */>}}
|
||||||
<!-- .slide: data-background="blue" -->
|
<!-- .slide: data-background="#FF4081" -->
|
||||||
# I'm a blue slide
|
# I'm a colorful slide
|
||||||
{{</* /markdown */>}}
|
{{</* /markdown */>}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,22 @@ theme = "moon"
|
||||||
highlight_theme = "zenburn"
|
highlight_theme = "zenburn"
|
||||||
```
|
```
|
||||||
|
|
||||||
[Reveal themes](https://github.com/hakimel/reveal.js/#theming) ·
|
[Reveal.js themes](https://github.com/hakimel/reveal.js/#theming) ·
|
||||||
[highlight.js themes](https://highlightjs.org/static/demo/)
|
[highlight.js themes](https://highlightjs.org/static/demo/)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Custom Reveal.js theme
|
||||||
|
|
||||||
|
Point to a file in the `static` directory.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params.reveal_hugo]
|
||||||
|
custom_theme = "themes/dzello.css"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Configure Reveal.js
|
## Configure Reveal.js
|
||||||
|
|
||||||
Set **snakecase** versions of Reveal.js params, which will be passed to `Reveal.initialize`.
|
Set **snakecase** versions of Reveal.js params, which will be passed to `Reveal.initialize`.
|
||||||
|
|
4
exampleSite/layouts/partials/reveal-hugo/body.html
Normal file
4
exampleSite/layouts/partials/reveal-hugo/body.html
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<div class="line top"></div>
|
||||||
|
<div class="line bottom"></div>
|
||||||
|
<div class="line left"></div>
|
||||||
|
<div class="line right"></div>
|
309
exampleSite/static/themes/dzello.css
Normal file
309
exampleSite/static/themes/dzello.css
Normal file
|
@ -0,0 +1,309 @@
|
||||||
|
/**
|
||||||
|
* Black theme for reveal.js. This is the opposite of the 'white' theme.
|
||||||
|
*
|
||||||
|
* By Hakim El Hattab, http://hakim.se
|
||||||
|
*/
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,700);
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Roboto:700);
|
||||||
|
section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
|
||||||
|
color: #141414; }
|
||||||
|
|
||||||
|
.reveal .controls {
|
||||||
|
right: 50px;
|
||||||
|
bottom: 50px; }
|
||||||
|
|
||||||
|
.line {
|
||||||
|
content: '';
|
||||||
|
position: fixed;
|
||||||
|
background: #FF4081;
|
||||||
|
z-index: 105; }
|
||||||
|
.line.top {
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 30px; }
|
||||||
|
@media (max-width: 840px) {
|
||||||
|
.line.top {
|
||||||
|
height: 15px; } }
|
||||||
|
.line.bottom {
|
||||||
|
left: 0;
|
||||||
|
top: auto;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 30px; }
|
||||||
|
@media (max-width: 840px) {
|
||||||
|
.line.bottom {
|
||||||
|
height: 15px; } }
|
||||||
|
.line.left {
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 200%; }
|
||||||
|
@media (max-width: 840px) {
|
||||||
|
.line.left {
|
||||||
|
width: 15px; } }
|
||||||
|
.line.right {
|
||||||
|
left: auto;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 200%; }
|
||||||
|
@media (max-width: 840px) {
|
||||||
|
.line.right {
|
||||||
|
width: 15px; } }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* GLOBAL STYLES
|
||||||
|
*********************************************/
|
||||||
|
body {
|
||||||
|
background: #fff;
|
||||||
|
background-color: #fff; }
|
||||||
|
|
||||||
|
.reveal {
|
||||||
|
font-family: "Roboto Slab", Helvetica, sans-serif;
|
||||||
|
font-size: 32px;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #363636; }
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #ffc0d5;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
::-moz-selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #ffc0d5;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
.reveal .slides > section,
|
||||||
|
.reveal .slides > section > section {
|
||||||
|
line-height: 1.3;
|
||||||
|
font-weight: inherit; }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* HEADERS
|
||||||
|
*********************************************/
|
||||||
|
.reveal h1,
|
||||||
|
.reveal h2,
|
||||||
|
.reveal h3,
|
||||||
|
.reveal h4,
|
||||||
|
.reveal h5,
|
||||||
|
.reveal h6 {
|
||||||
|
margin: 0 0 20px 0;
|
||||||
|
color: #141414;
|
||||||
|
font-family: "Roboto", monospace;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1.2;
|
||||||
|
letter-spacing: normal;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-shadow: none;
|
||||||
|
word-wrap: break-word; }
|
||||||
|
|
||||||
|
.reveal h1 {
|
||||||
|
font-size: 2.6em; }
|
||||||
|
|
||||||
|
.reveal h2 {
|
||||||
|
font-size: 2.2em; }
|
||||||
|
|
||||||
|
.reveal h3 {
|
||||||
|
font-size: 1.7em; }
|
||||||
|
|
||||||
|
.reveal h4 {
|
||||||
|
font-size: 1.4em; }
|
||||||
|
|
||||||
|
.reveal h1 {
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* OTHER
|
||||||
|
*********************************************/
|
||||||
|
.reveal p {
|
||||||
|
margin: 20px 0;
|
||||||
|
line-height: 1.3; }
|
||||||
|
|
||||||
|
/* Ensure certain elements are never larger than the slide itself */
|
||||||
|
.reveal img,
|
||||||
|
.reveal video,
|
||||||
|
.reveal iframe {
|
||||||
|
max-width: 95%;
|
||||||
|
max-height: 95%; }
|
||||||
|
|
||||||
|
.reveal strong,
|
||||||
|
.reveal b {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.reveal em {
|
||||||
|
font-style: italic; }
|
||||||
|
|
||||||
|
.reveal ol,
|
||||||
|
.reveal dl,
|
||||||
|
.reveal ul {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: left;
|
||||||
|
margin: 0 0 0 1em; }
|
||||||
|
|
||||||
|
.reveal ol {
|
||||||
|
list-style-type: decimal; }
|
||||||
|
|
||||||
|
.reveal ul {
|
||||||
|
list-style-type: disc; }
|
||||||
|
|
||||||
|
.reveal ul ul {
|
||||||
|
list-style-type: square; }
|
||||||
|
|
||||||
|
.reveal ul ul ul {
|
||||||
|
list-style-type: circle; }
|
||||||
|
|
||||||
|
.reveal ul ul,
|
||||||
|
.reveal ul ol,
|
||||||
|
.reveal ol ol,
|
||||||
|
.reveal ol ul {
|
||||||
|
display: block;
|
||||||
|
margin-left: 40px; }
|
||||||
|
|
||||||
|
.reveal dt {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.reveal dd {
|
||||||
|
margin-left: 40px; }
|
||||||
|
|
||||||
|
.reveal blockquote {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 70%;
|
||||||
|
margin: 20px auto;
|
||||||
|
padding: 5px;
|
||||||
|
font-style: italic;
|
||||||
|
background: rgba(255, 255, 255, 0.05);
|
||||||
|
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
|
||||||
|
|
||||||
|
.reveal blockquote p:first-child,
|
||||||
|
.reveal blockquote p:last-child {
|
||||||
|
display: inline-block; }
|
||||||
|
|
||||||
|
.reveal q {
|
||||||
|
font-style: italic; }
|
||||||
|
|
||||||
|
.reveal pre {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
width: 90%;
|
||||||
|
margin: 20px auto;
|
||||||
|
text-align: left;
|
||||||
|
font-size: 0.55em;
|
||||||
|
font-family: monospace;
|
||||||
|
line-height: 1.2em;
|
||||||
|
word-wrap: break-word;
|
||||||
|
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
|
||||||
|
|
||||||
|
.reveal code {
|
||||||
|
font-family: monospace;
|
||||||
|
text-transform: none; }
|
||||||
|
|
||||||
|
.reveal pre code {
|
||||||
|
display: block;
|
||||||
|
padding: 5px;
|
||||||
|
overflow: auto;
|
||||||
|
max-height: 400px;
|
||||||
|
word-wrap: normal; }
|
||||||
|
|
||||||
|
.reveal table {
|
||||||
|
margin: auto;
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0; }
|
||||||
|
|
||||||
|
.reveal table th {
|
||||||
|
font-weight: bold; }
|
||||||
|
|
||||||
|
.reveal table th,
|
||||||
|
.reveal table td {
|
||||||
|
text-align: left;
|
||||||
|
padding: 0.2em 0.5em 0.2em 0.5em;
|
||||||
|
border-bottom: 1px solid; }
|
||||||
|
|
||||||
|
.reveal table th[align="center"],
|
||||||
|
.reveal table td[align="center"] {
|
||||||
|
text-align: center; }
|
||||||
|
|
||||||
|
.reveal table th[align="right"],
|
||||||
|
.reveal table td[align="right"] {
|
||||||
|
text-align: right; }
|
||||||
|
|
||||||
|
.reveal table tbody tr:last-child th,
|
||||||
|
.reveal table tbody tr:last-child td {
|
||||||
|
border-bottom: none; }
|
||||||
|
|
||||||
|
.reveal sup {
|
||||||
|
vertical-align: super; }
|
||||||
|
|
||||||
|
.reveal sub {
|
||||||
|
vertical-align: sub; }
|
||||||
|
|
||||||
|
.reveal small {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0.6em;
|
||||||
|
line-height: 1.2em;
|
||||||
|
vertical-align: top; }
|
||||||
|
|
||||||
|
.reveal small * {
|
||||||
|
vertical-align: top; }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* LINKS
|
||||||
|
*********************************************/
|
||||||
|
.reveal a {
|
||||||
|
color: #FF4081;
|
||||||
|
text-decoration: none;
|
||||||
|
-webkit-transition: color .15s ease;
|
||||||
|
-moz-transition: color .15s ease;
|
||||||
|
transition: color .15s ease; }
|
||||||
|
|
||||||
|
.reveal a:hover {
|
||||||
|
color: #ff8db3;
|
||||||
|
text-shadow: none;
|
||||||
|
border: none; }
|
||||||
|
|
||||||
|
.reveal .roll span:after {
|
||||||
|
color: #fff;
|
||||||
|
background: #f30053; }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* IMAGES
|
||||||
|
*********************************************/
|
||||||
|
.reveal section img {
|
||||||
|
margin: 15px 0px;
|
||||||
|
background: rgba(255, 255, 255, 0.12);
|
||||||
|
border: 4px solid #363636;
|
||||||
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
|
||||||
|
|
||||||
|
.reveal section img.plain {
|
||||||
|
border: 0;
|
||||||
|
box-shadow: none; }
|
||||||
|
|
||||||
|
.reveal a img {
|
||||||
|
-webkit-transition: all .15s linear;
|
||||||
|
-moz-transition: all .15s linear;
|
||||||
|
transition: all .15s linear; }
|
||||||
|
|
||||||
|
.reveal a:hover img {
|
||||||
|
background: rgba(255, 255, 255, 0.2);
|
||||||
|
border-color: #FF4081;
|
||||||
|
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* NAVIGATION CONTROLS
|
||||||
|
*********************************************/
|
||||||
|
.reveal .controls {
|
||||||
|
color: #FF4081; }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PROGRESS BAR
|
||||||
|
*********************************************/
|
||||||
|
.reveal .progress {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
color: #FF4081; }
|
||||||
|
|
||||||
|
.reveal .progress span {
|
||||||
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
|
@ -13,7 +13,12 @@
|
||||||
<link rel="stylesheet" href="{{ $reveal_cdn }}/css/reveal.min.css">
|
<link rel="stylesheet" href="{{ $reveal_cdn }}/css/reveal.min.css">
|
||||||
<!-- Theme used for presentation -->
|
<!-- Theme used for presentation -->
|
||||||
{{ $theme := or .Page.Params.reveal_hugo.theme .Site.Params.reveal_hugo.theme .Site.Data.reveal_hugo.defaults.theme "black" }}
|
{{ $theme := or .Page.Params.reveal_hugo.theme .Site.Params.reveal_hugo.theme .Site.Data.reveal_hugo.defaults.theme "black" }}
|
||||||
|
{{ $custom_theme := or .Page.Params.reveal_hugo.custom_theme .Site.Params.reveal_hugo.custom_theme }}
|
||||||
|
{{ if $custom_theme }}
|
||||||
|
<link rel="stylesheet" href="{{ $custom_theme | relURL }}" id="theme">
|
||||||
|
{{ else }}
|
||||||
<link rel="stylesheet" href="{{ $reveal_cdn }}/css/theme/{{ $theme }}.css" id="theme">
|
<link rel="stylesheet" href="{{ $reveal_cdn }}/css/theme/{{ $theme }}.css" id="theme">
|
||||||
|
{{ end }}
|
||||||
<!-- Theme used for syntax highlighting of code -->
|
<!-- Theme used for syntax highlighting of code -->
|
||||||
{{ $highlight_theme := or .Page.Params.reveal_hugo.highlight_theme .Site.Params.reveal_hugo.highlight_theme .Site.Data.reveal_hugo.defaults.highlight_theme "default" }}
|
{{ $highlight_theme := or .Page.Params.reveal_hugo.highlight_theme .Site.Params.reveal_hugo.highlight_theme .Site.Data.reveal_hugo.defaults.highlight_theme "default" }}
|
||||||
<link rel="stylesheet" href="{{ $highlight_cdn }}/styles/{{ $highlight_theme }}.min.css">
|
<link rel="stylesheet" href="{{ $highlight_cdn }}/styles/{{ $highlight_theme }}.min.css">
|
||||||
|
@ -75,9 +80,8 @@
|
||||||
camelize(revealHugoSiteParams),
|
camelize(revealHugoSiteParams),
|
||||||
camelize(revealHugoPageParams),
|
camelize(revealHugoPageParams),
|
||||||
revealHugoDependencies);
|
revealHugoDependencies);
|
||||||
|
|
||||||
console.log(options);
|
|
||||||
Reveal.initialize(options);
|
Reveal.initialize(options);
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
{{ partial "reveal-hugo/body" . }}
|
{{ partial "reveal-hugo/body" . }}
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Reference in a new issue