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"
|
||||
outputs = ["Reveal"]
|
||||
[reveal_hugo]
|
||||
slide_number = true
|
||||
custom_theme = "themes/dzello.css"
|
||||
margin = 0.2
|
||||
highlight_theme = "color-brewer"
|
||||
transition = "slide"
|
||||
transition_speed = "fast"
|
||||
+++
|
||||
|
||||
# reveal-hugo
|
||||
|
|
|
@ -17,7 +17,7 @@ weight = 40
|
|||
|
||||
---
|
||||
|
||||
### Ready to use
|
||||
### Service-ready
|
||||
|
||||
- Deploy to [Netlify](https://netlify.com/)
|
||||
- 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.
|
||||
|
||||
```
|
||||
{{</* markdown */>}}
|
||||
<!-- .slide: data-background="blue" -->
|
||||
# I'm a blue slide
|
||||
<!-- .slide: data-background="#FF4081" -->
|
||||
# I'm a colorful slide
|
||||
{{</* /markdown */>}}
|
||||
```
|
||||
|
||||
|
|
|
@ -29,11 +29,22 @@ theme = "moon"
|
|||
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/)
|
||||
|
||||
---
|
||||
|
||||
## Custom Reveal.js theme
|
||||
|
||||
Point to a file in the `static` directory.
|
||||
|
||||
```toml
|
||||
[params.reveal_hugo]
|
||||
custom_theme = "themes/dzello.css"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configure Reveal.js
|
||||
|
||||
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">
|
||||
<!-- Theme used for presentation -->
|
||||
{{ $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">
|
||||
{{ end }}
|
||||
<!-- 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" }}
|
||||
<link rel="stylesheet" href="{{ $highlight_cdn }}/styles/{{ $highlight_theme }}.min.css">
|
||||
|
@ -75,9 +80,8 @@
|
|||
camelize(revealHugoSiteParams),
|
||||
camelize(revealHugoPageParams),
|
||||
revealHugoDependencies);
|
||||
|
||||
console.log(options);
|
||||
Reveal.initialize(options);
|
||||
|
||||
</script>
|
||||
{{ partial "reveal-hugo/body" . }}
|
||||
</body>
|
||||
|
|
Loading…
Reference in a new issue