fix: vendor Reveal.js, fix slide numbering, alt text, and README
- Vendor Reveal.js 5.1.0 locally to avoid CDN dependency during talk - Fix duplicate SLIDE 22 comment — renumber Ansible Galaxy to 23, cascade through 33 - Add alt text to dynamically injected tool logos for accessibility - Fix README: deployment triggers on master branch, not pages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -12,4 +12,4 @@ Presentation for the **Finistère Dev Meetup**.
|
|||||||
|
|
||||||
## 📦 Deployment
|
## 📦 Deployment
|
||||||
|
|
||||||
Slides are automatically published via [git-pages](https://codeberg.org/git-pages/git-pages) on every push to the `pages` branch.
|
Slides are automatically deployed via SSH on every push to the `master` branch.
|
||||||
|
|||||||
40
index.html
40
index.html
@@ -5,13 +5,13 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Configuration as Code — Puppet vs Ansible vs Terraform</title>
|
<title>Configuration as Code — Puppet vs Ansible vs Terraform</title>
|
||||||
|
|
||||||
<!-- Reveal.js CDN -->
|
<!-- Reveal.js (vendored) -->
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reset.css">
|
<link rel="stylesheet" href="vendor/reveal.js/dist/reset.css">
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.css">
|
<link rel="stylesheet" href="vendor/reveal.js/dist/reveal.css">
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/theme/white.css">
|
<link rel="stylesheet" href="vendor/reveal.js/dist/white.css">
|
||||||
|
|
||||||
<!-- Highlight.js for code blocks -->
|
<!-- Highlight.js for code blocks -->
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/highlight/github.css">
|
<link rel="stylesheet" href="vendor/reveal.js/plugin/highlight/github.css">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
@@ -274,7 +274,7 @@ output "public_ip" {
|
|||||||
<em>Ansible is the tool you reach for when you need to do something — once, or every week.</em></p>
|
<em>Ansible is the tool you reach for when you need to do something — once, or every week.</em></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 22 : Ansible Galaxy ────────────────────────────────── -->
|
<!-- ─── SLIDE 23 : Ansible Galaxy ────────────────────────────────── -->
|
||||||
<section class="s-ansible">
|
<section class="s-ansible">
|
||||||
<h2>The community does the heavy lifting.</h2>
|
<h2>The community does the heavy lifting.</h2>
|
||||||
<p><strong>Ansible Galaxy</strong> — 10,000+ ready-made roles and collections.<br>
|
<p><strong>Ansible Galaxy</strong> — 10,000+ ready-made roles and collections.<br>
|
||||||
@@ -282,7 +282,7 @@ output "public_ip" {
|
|||||||
<em>Just <code>ansible-galaxy install geerlingguy.docker</code>.</em></p>
|
<em>Just <code>ansible-galaxy install geerlingguy.docker</code>.</em></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 23 : Ansible platforms ────────────────────────────── -->
|
<!-- ─── SLIDE 24 : Ansible platforms ────────────────────────────── -->
|
||||||
<section class="s-ansible">
|
<section class="s-ansible">
|
||||||
<h2>Ansible at scale: open-source vs enterprise.</h2>
|
<h2>Ansible at scale: open-source vs enterprise.</h2>
|
||||||
<p>
|
<p>
|
||||||
@@ -293,20 +293,20 @@ output "public_ip" {
|
|||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 25 : Puppet intro ──────────────────────────────────── -->
|
<!-- ─── SLIDE 25 : Puppet intro ─────────────────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<h2>🐾 <span class="puppet-col">Puppet</span></h2>
|
<h2>🐾 <span class="puppet-col">Puppet</span></h2>
|
||||||
<p>Your servers are configured. Now keep them that way.</p>
|
<p>Your servers are configured. Now keep them that way.</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 26 : Puppet concepts ──────────────────────────────── -->
|
<!-- ─── SLIDE 26 : Puppet concepts ─────────────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<h2>Pull, not push. Agents, not SSH.</h2>
|
<h2>Pull, not push. Agents, not SSH.</h2>
|
||||||
<p>Every 30 minutes, each puppet-agent polls the Puppet Server, compiles a catalog, and enforces it.<br>
|
<p>Every 30 minutes, each puppet-agent polls the Puppet Server, compiles a catalog, and enforces it.<br>
|
||||||
<em>Drift is corrected automatically — without anyone lifting a finger.</em></p>
|
<em>Drift is corrected automatically — without anyone lifting a finger.</em></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 27 : Puppet code ───────────────────────────────────── -->
|
<!-- ─── SLIDE 27 : Puppet code ──────────────────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<p class="filename"># manifests/webserver.pp</p>
|
<p class="filename"># manifests/webserver.pp</p>
|
||||||
<pre><code class="language-puppet" data-trim>
|
<pre><code class="language-puppet" data-trim>
|
||||||
@@ -329,7 +329,7 @@ class webserver {
|
|||||||
</code></pre>
|
</code></pre>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 28 : Puppet drift detection ───────────────────────── -->
|
<!-- ─── SLIDE 28 : Puppet drift detection ──────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<h2>Someone SSH'd in and changed something.</h2>
|
<h2>Someone SSH'd in and changed something.</h2>
|
||||||
<p>Puppet noticed. Puppet fixed it.<br>
|
<p>Puppet noticed. Puppet fixed it.<br>
|
||||||
@@ -340,7 +340,7 @@ class webserver {
|
|||||||
style="height:180px; margin-top:0.5em; border-radius:6px;">
|
style="height:180px; margin-top:0.5em; border-radius:6px;">
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 29 : Puppet platforms ─────────────────────────────── -->
|
<!-- ─── SLIDE 29 : Puppet platforms ────────────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<h2>Puppet is for large fleets that can't afford drift.</h2>
|
<h2>Puppet is for large fleets that can't afford drift.</h2>
|
||||||
<p>Continuous compliance, auditability, and guaranteed state — at scale.<br>
|
<p>Continuous compliance, auditability, and guaranteed state — at scale.<br>
|
||||||
@@ -349,7 +349,7 @@ class webserver {
|
|||||||
Puppet Enterprise and Foreman are self-hosted. No managed cloud offering.</em></p>
|
Puppet Enterprise and Foreman are self-hosted. No managed cloud offering.</em></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 30 : Puppet community ─────────────────────────────── -->
|
<!-- ─── SLIDE 30 : Puppet community ────────────────────────────── -->
|
||||||
<section class="s-puppet">
|
<section class="s-puppet">
|
||||||
<h2>The ecosystem outlives the company.</h2>
|
<h2>The ecosystem outlives the company.</h2>
|
||||||
<p><strong>Vox Pupuli</strong> — 100+ open-source Puppet modules, community-maintained.<br>
|
<p><strong>Vox Pupuli</strong> — 100+ open-source Puppet modules, community-maintained.<br>
|
||||||
@@ -357,7 +357,7 @@ class webserver {
|
|||||||
<em>The community is strong, with or without Puppet Inc.</em></p>
|
<em>The community is strong, with or without Puppet Inc.</em></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 31 : They're complementary ────────────────────────── -->
|
<!-- ─── SLIDE 31 : They're complementary ───────────────────────── -->
|
||||||
<section>
|
<section>
|
||||||
<h2>They're not competing. They're complementary.</h2>
|
<h2>They're not competing. They're complementary.</h2>
|
||||||
<p>Each one solves a different layer of the same problem.</p>
|
<p>Each one solves a different layer of the same problem.</p>
|
||||||
@@ -366,7 +366,7 @@ class webserver {
|
|||||||
style="height:200px; margin-top:0.5em; border-radius:6px;">
|
style="height:200px; margin-top:0.5em; border-radius:6px;">
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 32 : Real-world stack ──────────────────────────────── -->
|
<!-- ─── SLIDE 32 : Real-world stack ─────────────────────────────── -->
|
||||||
<section>
|
<section>
|
||||||
<h2>A common production setup:</h2>
|
<h2>A common production setup:</h2>
|
||||||
<ol>
|
<ol>
|
||||||
@@ -376,7 +376,7 @@ class webserver {
|
|||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- ─── SLIDE 33 : Closing ───────────────────────────────────────── -->
|
<!-- ─── SLIDE 33 : Closing ──────────────────────────────────────── -->
|
||||||
<section class="title-slide">
|
<section class="title-slide">
|
||||||
<h1>Questions?</h1>
|
<h1>Questions?</h1>
|
||||||
<p class="subtitle">Thank you!</p>
|
<p class="subtitle">Thank you!</p>
|
||||||
@@ -390,19 +390,21 @@ class webserver {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/dist/reveal.js"></script>
|
<script src="vendor/reveal.js/dist/reveal.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/notes/notes.js"></script>
|
<script src="vendor/reveal.js/plugin/notes/notes.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/reveal.js@5.1.0/plugin/highlight/highlight.js"></script>
|
<script src="vendor/reveal.js/plugin/highlight/highlight.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const toolLogos = {
|
const toolLogos = {
|
||||||
's-tf': 'https://cdn.simpleicons.org/terraform',
|
's-tf': 'https://cdn.simpleicons.org/terraform',
|
||||||
's-ansible': 'https://cdn.simpleicons.org/ansible',
|
's-ansible': 'https://cdn.simpleicons.org/ansible',
|
||||||
's-puppet': 'https://cdn.simpleicons.org/puppet/C17F00'
|
's-puppet': 'https://cdn.simpleicons.org/puppet/C17F00'
|
||||||
};
|
};
|
||||||
|
const altNames = {'s-tf': 'Terraform', 's-ansible': 'Ansible', 's-puppet': 'Puppet'};
|
||||||
Object.entries(toolLogos).forEach(([cls, src]) => {
|
Object.entries(toolLogos).forEach(([cls, src]) => {
|
||||||
document.querySelectorAll('section.' + cls).forEach(s => {
|
document.querySelectorAll('section.' + cls).forEach(s => {
|
||||||
const img = document.createElement('img');
|
const img = document.createElement('img');
|
||||||
img.src = src;
|
img.src = src;
|
||||||
|
img.alt = altNames[cls];
|
||||||
img.className = 'slide-logo';
|
img.className = 'slide-logo';
|
||||||
s.appendChild(img);
|
s.appendChild(img);
|
||||||
});
|
});
|
||||||
|
|||||||
30
vendor/reveal.js/dist/reset.css
vendored
Normal file
30
vendor/reveal.js/dist/reset.css
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
v4.0 | 20180602
|
||||||
|
License: none (public domain)
|
||||||
|
*/
|
||||||
|
|
||||||
|
html, body, div, span, applet, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
a, abbr, acronym, address, big, cite, code,
|
||||||
|
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||||
|
small, strike, strong, sub, sup, tt, var,
|
||||||
|
b, u, i, center,
|
||||||
|
dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, embed,
|
||||||
|
figure, figcaption, footer, header, hgroup,
|
||||||
|
main, menu, nav, output, ruby, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, main, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
8
vendor/reveal.js/dist/reveal.css
vendored
Normal file
8
vendor/reveal.js/dist/reveal.css
vendored
Normal file
File diff suppressed because one or more lines are too long
9
vendor/reveal.js/dist/reveal.js
vendored
Normal file
9
vendor/reveal.js/dist/reveal.js
vendored
Normal file
File diff suppressed because one or more lines are too long
359
vendor/reveal.js/dist/white.css
vendored
Normal file
359
vendor/reveal.js/dist/white.css
vendored
Normal file
@@ -0,0 +1,359 @@
|
|||||||
|
/**
|
||||||
|
* White theme for reveal.js. This is the opposite of the 'black' theme.
|
||||||
|
*
|
||||||
|
* By Hakim El Hattab, http://hakim.se
|
||||||
|
*/
|
||||||
|
@import url(./fonts/source-sans-pro/source-sans-pro.css);
|
||||||
|
section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* GLOBAL STYLES
|
||||||
|
*********************************************/
|
||||||
|
:root {
|
||||||
|
--r-background-color: #fff;
|
||||||
|
--r-main-font: Source Sans Pro, Helvetica, sans-serif;
|
||||||
|
--r-main-font-size: 42px;
|
||||||
|
--r-main-color: #222;
|
||||||
|
--r-block-margin: 20px;
|
||||||
|
--r-heading-margin: 0 0 20px 0;
|
||||||
|
--r-heading-font: Source Sans Pro, Helvetica, sans-serif;
|
||||||
|
--r-heading-color: #222;
|
||||||
|
--r-heading-line-height: 1.2;
|
||||||
|
--r-heading-letter-spacing: normal;
|
||||||
|
--r-heading-text-transform: uppercase;
|
||||||
|
--r-heading-text-shadow: none;
|
||||||
|
--r-heading-font-weight: 600;
|
||||||
|
--r-heading1-text-shadow: none;
|
||||||
|
--r-heading1-size: 2.5em;
|
||||||
|
--r-heading2-size: 1.6em;
|
||||||
|
--r-heading3-size: 1.3em;
|
||||||
|
--r-heading4-size: 1em;
|
||||||
|
--r-code-font: monospace;
|
||||||
|
--r-link-color: #2a76dd;
|
||||||
|
--r-link-color-dark: #1a53a1;
|
||||||
|
--r-link-color-hover: #6ca0e8;
|
||||||
|
--r-selection-background-color: #98bdef;
|
||||||
|
--r-selection-color: #fff;
|
||||||
|
--r-overlay-element-bg-color: 0, 0, 0;
|
||||||
|
--r-overlay-element-fg-color: 240, 240, 240;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal-viewport {
|
||||||
|
background: #fff;
|
||||||
|
background-color: var(--r-background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal {
|
||||||
|
font-family: var(--r-main-font);
|
||||||
|
font-size: var(--r-main-font-size);
|
||||||
|
font-weight: normal;
|
||||||
|
color: var(--r-main-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal ::selection {
|
||||||
|
color: var(--r-selection-color);
|
||||||
|
background: var(--r-selection-background-color);
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal ::-moz-selection {
|
||||||
|
color: var(--r-selection-color);
|
||||||
|
background: var(--r-selection-background-color);
|
||||||
|
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: var(--r-heading-margin);
|
||||||
|
color: var(--r-heading-color);
|
||||||
|
font-family: var(--r-heading-font);
|
||||||
|
font-weight: var(--r-heading-font-weight);
|
||||||
|
line-height: var(--r-heading-line-height);
|
||||||
|
letter-spacing: var(--r-heading-letter-spacing);
|
||||||
|
text-transform: var(--r-heading-text-transform);
|
||||||
|
text-shadow: var(--r-heading-text-shadow);
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal h1 {
|
||||||
|
font-size: var(--r-heading1-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal h2 {
|
||||||
|
font-size: var(--r-heading2-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal h3 {
|
||||||
|
font-size: var(--r-heading3-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal h4 {
|
||||||
|
font-size: var(--r-heading4-size);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal h1 {
|
||||||
|
text-shadow: var(--r-heading1-text-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* OTHER
|
||||||
|
*********************************************/
|
||||||
|
.reveal p {
|
||||||
|
margin: var(--r-block-margin) 0;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Remove trailing margins after titles */
|
||||||
|
.reveal h1:last-child,
|
||||||
|
.reveal h2:last-child,
|
||||||
|
.reveal h3:last-child,
|
||||||
|
.reveal h4:last-child,
|
||||||
|
.reveal h5:last-child,
|
||||||
|
.reveal h6:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 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: var(--r-block-margin) 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: var(--r-block-margin) auto;
|
||||||
|
text-align: left;
|
||||||
|
font-size: 0.55em;
|
||||||
|
font-family: var(--r-code-font);
|
||||||
|
line-height: 1.2em;
|
||||||
|
word-wrap: break-word;
|
||||||
|
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal code {
|
||||||
|
font-family: var(--r-code-font);
|
||||||
|
text-transform: none;
|
||||||
|
tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal pre code {
|
||||||
|
display: block;
|
||||||
|
padding: 5px;
|
||||||
|
overflow: auto;
|
||||||
|
max-height: 400px;
|
||||||
|
word-wrap: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal .code-wrapper {
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal .code-wrapper code {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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;
|
||||||
|
font-size: smaller;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal sub {
|
||||||
|
vertical-align: sub;
|
||||||
|
font-size: smaller;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal small {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 0.6em;
|
||||||
|
line-height: 1.2em;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal small * {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal img {
|
||||||
|
margin: var(--r-block-margin) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* LINKS
|
||||||
|
*********************************************/
|
||||||
|
.reveal a {
|
||||||
|
color: var(--r-link-color);
|
||||||
|
text-decoration: none;
|
||||||
|
transition: color 0.15s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal a:hover {
|
||||||
|
color: var(--r-link-color-hover);
|
||||||
|
text-shadow: none;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal .roll span:after {
|
||||||
|
color: #fff;
|
||||||
|
background: var(--r-link-color-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* Frame helper
|
||||||
|
*********************************************/
|
||||||
|
.reveal .r-frame {
|
||||||
|
border: 4px solid var(--r-main-color);
|
||||||
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal a .r-frame {
|
||||||
|
transition: all 0.15s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal a:hover .r-frame {
|
||||||
|
border-color: var(--r-link-color);
|
||||||
|
box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* NAVIGATION CONTROLS
|
||||||
|
*********************************************/
|
||||||
|
.reveal .controls {
|
||||||
|
color: var(--r-link-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PROGRESS BAR
|
||||||
|
*********************************************/
|
||||||
|
.reveal .progress {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
color: var(--r-link-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: var(--r-background-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
10
vendor/reveal.js/plugin/highlight/github.css
vendored
Normal file
10
vendor/reveal.js/plugin/highlight/github.css
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
||||||
|
Theme: GitHub
|
||||||
|
Description: Light theme as seen on github.com
|
||||||
|
Author: github.com
|
||||||
|
Maintainer: @Hirse
|
||||||
|
Updated: 2021-05-15
|
||||||
|
|
||||||
|
Outdated base version: https://github.com/primer/github-syntax-light
|
||||||
|
Current colors taken from GitHub's CSS
|
||||||
|
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
|
||||||
5
vendor/reveal.js/plugin/highlight/highlight.js
vendored
Normal file
5
vendor/reveal.js/plugin/highlight/highlight.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
vendor/reveal.js/plugin/notes/notes.js
vendored
Normal file
1
vendor/reveal.js/plugin/notes/notes.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user