Skip to content

Instantly share code, notes, and snippets.

@shinseitaro
Created September 15, 2025 07:33
Show Gist options
  • Select an option

  • Save shinseitaro/e065c5a33f05ce7f2282fdf56b45610d to your computer and use it in GitHub Desktop.

Select an option

Save shinseitaro/e065c5a33f05ce7f2282fdf56b45610d to your computer and use it in GitHub Desktop.
Marp で Dracula っぽい テーマ
marp theme paginate
true
mytheme
true

Dracula Theme Demo

Beautiful Dark Theme for Marp


Features of Dracula Theme

  • Dark Background: Easy on the eyes #282a36
  • Vibrant Colors: High contrast syntax highlighting
  • Professional Look: Perfect for technical presentations

Color Palette

  • Background: #282a36
  • Foreground: #f8f8f2
  • Purple: #bd93f9
  • Cyan: #8be9fd
  • Green: #50fa7b
  • Pink: #ff79c6
  • Yellow: #f1fa8c
  • Orange: #ffb86c

Code Examples

// JavaScript example
const greet = (name) => {
  console.log(`Hello, ${name}!`);
  return true;
};

greet("Dracula");
# Python example
def calculate_sum(numbers):
    """Calculate sum of numbers"""
    return sum(numbers)

result = calculate_sum([1, 2, 3, 4, 5])
print(f"Sum: {result}")

Clojure Example

(defn hoge [ ]
  (+ 1 2 3))

Text Formatting

Bold text uses orange color

Italic text uses yellow color

Links use cyan color

Blockquotes are styled with purple border and dimmed text color


Lists and Tables

Unordered List

  • First item
  • Second item
  • Third item

Table Example

Feature Description
Dark Mode Reduces eye strain
Syntax Beautiful highlighting
Contrast Perfect visibility

Thank You!

Enjoy the Dracula theme! 🦇

/* @theme mytheme */
@import 'default';
:root {
--color-background: #282a36;
--color-foreground: #f8f8f2;
--color-highlight: #bd93f9;
--color-dimmed: #6272a4;
--color-cyan: #8be9fd;
--color-green: #50fa7b;
--color-orange: #ffb86c;
--color-pink: #ff79c6;
--color-purple: #bd93f9;
--color-red: #ff5555;
--color-yellow: #f1fa8c;
--color-bright-purple: #e2b4ff;
--color-bright-cyan: #a4ffff;
}
section {
background-color: var(--color-background);
color: var(--color-foreground);
font-family: 'Helvetica Neue', Arial, sans-serif;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
text-align: left;
padding: 60px;
}
h1 {
color: var(--color-pink);
border-bottom: 2px solid var(--color-purple);
padding-bottom: 0.3em;
}
h2 {
color: var(--color-bright-cyan);
}
code {
background-color: #f6f8fa;
color: #24292e;
padding: 0.2em 0.4em;
border-radius: 0.25em;
font-size: 0.9em;
font-family: 'Fira Code', 'Consolas', 'Monaco', monospace;
}
pre {
background-color: #ffffff;
border: 1px solid #e1e4e8;
border-radius: 0.5em;
padding: 1em;
overflow-x: auto;
line-height: 1.5;
width: 100%;
box-sizing: border-box;
}
pre code {
background-color: transparent;
padding: 0;
color: #24292e;
font-size: 0.95em;
}
a {
color: var(--color-bright-cyan);
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: var(--color-bright-purple);
}
strong {
color: var(--color-orange);
}
em {
color: var(--color-yellow);
font-style: italic;
}
/* Lead slide styling - keep centered */
section.lead {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
}
section.lead h1 {
border: none;
font-size: 3em;
}
/* List styling */
ul {
list-style-type: none;
}
ul li::before {
content: "▸ ";
color: var(--color-purple);
font-weight: bold;
}
/* Blockquote styling */
blockquote {
border-left: 4px solid var(--color-purple);
padding-left: 1em;
color: var(--color-dimmed);
font-style: italic;
}
/* Table styling */
table {
border-collapse: collapse;
margin: 1em 0;
background-color: #f8f8f2;
border-radius: 0.5em;
overflow: hidden;
}
th {
background-color: #44475a;
color: #f8f8f2;
padding: 0.8em;
text-align: left;
font-weight: bold;
}
td {
padding: 0.8em;
border: 1px solid #e1e4e8;
color: #24292e;
background-color: #ffffff;
}
/* Syntax highlighting for code blocks - Light theme */
pre[class*="language-"] {
background-color: #ffffff;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #6a737d;
font-style: italic;
}
.token.punctuation {
color: #24292e;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #005cc5;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #032f62;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #e36209;
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #d73a49;
}
.token.function,
.token.class-name {
color: #6f42c1;
}
.token.regex,
.token.important,
.token.variable {
color: #e36209;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment