From 4d66cef9d2d8b47dba5d38ed397ddcfa5992acac Mon Sep 17 00:00:00 2001 From: George Cushen Date: Sun, 14 Dec 2025 03:27:29 +0000 Subject: [PATCH] tpl: add Slides demo --- .../academic-cv/config/_default/module.yaml | 1 + .../content/events/example/index.md | 417 ++++++++++++++++-- .../content/slides/example/index.md | 306 +++++++++++++ templates/academic-cv/go.mod | 1 + 4 files changed, 688 insertions(+), 37 deletions(-) create mode 100644 templates/academic-cv/content/slides/example/index.md diff --git a/templates/academic-cv/config/_default/module.yaml b/templates/academic-cv/config/_default/module.yaml index 8124ccff..a2c0449e 100644 --- a/templates/academic-cv/config/_default/module.yaml +++ b/templates/academic-cv/config/_default/module.yaml @@ -7,6 +7,7 @@ imports: - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind + - path: github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-reveal # Install any Hugo Blox within the `hugo-blox/blox/` folder mounts: diff --git a/templates/academic-cv/content/events/example/index.md b/templates/academic-cv/content/events/example/index.md index ec335bd4..75df60b2 100644 --- a/templates/academic-cv/content/events/example/index.md +++ b/templates/academic-cv/content/events/example/index.md @@ -1,10 +1,10 @@ --- -title: Example Talk +title: "Create Beautiful Presentations with Markdown" -event: Hugo Blox Builder Conference -event_url: https://example.org +event: HugoBlox Showcase +event_url: https://hugoblox.com -location: Hugo Blox Builder HQ +location: Online & In-Person address: street: 450 Serra Mall city: Stanford @@ -12,61 +12,404 @@ address: postcode: '94305' country: United States -summary: An example talk using Hugo Blox Builder's Markdown slides feature. -abstract: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellusac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam.' +summary: Discover how to create stunning, interactive presentations using simple Markdown โ€” no PowerPoint, Keynote, or vendor lock-in required. +abstract: | + Join us to explore HugoBlox's revolutionary Markdown-based slide system. Create beautiful presentations with code syntax highlighting, math equations, animations, and dual-column layouts. Edit your slides in any text editor, version control them with Git, and present them anywhere with just a browser. Experience true presentation freedom. # Talk start and end times. -# End time can optionally be hidden by prefixing the line with `#`. date: '2030-06-01T13:00:00Z' date_end: '2030-06-01T15:00:00Z' all_day: false -# Schedule page publish date (NOT talk date). publishDate: '2017-01-01T00:00:00Z' authors: - me -tags: [] +tags: + - Markdown + - Presentations + - Open Science + - Academic -# Is this a featured talk? (true/false) -featured: false +featured: true image: - caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/bzdhc5b3Bxs)' + caption: 'Presentation freedom with Markdown' focal_point: Right links: - - type: code - url: https://github.com - - type: slides - url: https://slideshare.net - - type: video - url: https://youtube.com + - icon: brands/github + name: Star on GitHub + url: https://github.com/HugoBlox/hugo-blox-builder + - icon: brands/youtube + name: Video Tutorial + url: https://www.youtube.com/ + - icon: book-open + name: Documentation + url: https://docs.hugoblox.com/ -# Markdown Slides (optional). -# Associate this talk with Markdown slides. -# Simply enter your slide deck's filename without extension. -# E.g. `slides = "example-slides"` references `content/slides/example-slides.md`. -# Otherwise, set `slides = ""`. -slides: "" +# Link to your Markdown slides +slides: "example" -# Projects (optional). -# Associate this post with one or more of your projects. -# Simply enter your project's folder or file name without extension. -# E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`. -# Otherwise, set `projects = []`. -projects: - - example +projects: [] --- +## ๐ŸŽฏ Why Markdown Slides? + +> [!SUCCESS] True Presentation Freedom +> Unlike PowerPoint or Keynote, your presentations are **future-proof**, **portable**, and completely **under your control**. No proprietary formats, no vendor lock-in, no subscription fees. + +### The Problem with Traditional Slides + +**PowerPoint & Keynote:** +- ๐Ÿ’ธ Expensive licenses or subscriptions +- ๐Ÿ”’ Proprietary file formats (`.pptx`, `.key`) +- ๐Ÿ’ป Platform-specific (Windows/Mac only) +- ๐Ÿ“ฆ Large binary files +- ๐Ÿšซ Difficult to version control +- ๐Ÿ˜ฐ Lost formatting when sharing + +**Google Slides:** +- โ˜๏ธ Requires internet connection +- ๐Ÿ” Data stored on Google's servers +- ๐Ÿ“ฑ Limited offline editing +- ๐ŸŽจ Formatting breaks when exporting +- ๐Ÿ”— Dependency on Google's platform + +### The Hugo Blox Solution + +> [!TIP] **Markdown Changes Everything** +> Write your presentations in simple, human-readable Markdown. Edit anywhere, present anywhere, own forever. + +--- + +## โœจ What You Get + +### ๐ŸŽจ Professional Design, Zero Effort + +- **15+ Built-in Themes** โ€” Black, white, sky, league, and more +- **Syntax Highlighting** โ€” Beautiful code blocks with 50+ languages +- **Math Support** โ€” LaTeX equations render perfectly: $E = mc^2$ +- **Responsive** โ€” Looks great on any screen size + +### ๐Ÿ“ Write in Plain Text + +````markdown +## My Slide Title + +- Point one +- Point two +- Point three + +```python +def hello(): + return "World!" +``` + +--- +```` + +That's it! No complex UI, no formatting headaches. + +### ๐Ÿ”„ Edit Anywhere, Anytime + +> [!IMPORTANT] **Zero Lock-In** +> Your slides are just Markdown files. Edit them in: +> - **HugoBlox Studio** โ€” Visual editing with live preview +> - **VS Code** โ€” With Markdown extensions +> - **Obsidian** โ€” Note-taking app that speaks Markdown +> - **Typora** โ€” Minimal distraction writing +> - **Any text editor** โ€” Even Notepad works! + +{{< button url="https://docs.hugoblox.com/guides/studio/" text="Try HugoBlox Studio" icon="paint-brush" style="secondary" size="md" new_tab="true" rounded="lg" />}} + +### ๐ŸŽฏ Advanced Features + +**Dual Column Layouts:** +```markdown +
+
Column 1
+
Column 2
+
+``` + +**Fragment Animations:** +```markdown +{{}}Appear on click!{{}} +``` + +**Speaker Notes:** +```markdown +Note: Your private notes here +(visible in presenter view only) +``` + +**Vertical Slide Stacks:** +Navigate down for sub-topics! + +--- + +## ๐Ÿš€ Getting Started is Easy + +> [!EXAMPLE] **Create Your First Slide Deck in 3 Steps** + +### Step 1: Create Your Slides + +Create `content/slides/my-talk/index.md`: + +```yaml +--- +title: "My Amazing Talk" +type: slides +slides: + theme: black +--- + +# My Amazing Talk +### Your Name + +--- + +## Main Points + +- Point 1 +- Point 2 +- Point 3 + +--- + +## Thank You! +``` + +### Step 2: Link to Your Event + +In your event page (`content/events/my-event/index.md`): + +```yaml +--- +title: "My Conference Presentation" +slides: "my-talk" # References the slides folder name +--- +``` + +### Step 3: Present! + +Your slides are automatically: +- โœ… Embedded on the event page +- โœ… Available in fullscreen mode (click {{< icon name="arrows-expand" >}} button) +- โœ… Accessible at a direct URL +- โœ… Keyboard-navigatable (โ†’ โ† keys) + +{{< button url="https://docs.hugoblox.com/" text="Read Full Documentation" icon="book-open" style="outline" size="md" align="center" />}} + +--- + +## ๐Ÿ’Ž Why Academics & Researchers Love It + +> [!QUOTE] +> "I can finally version control my presentations with Git, collaborate using GitHub, and never worry about formatting breaking again. Game changer for reproducible research!" +> โ€” *Dr. Xin Liu, MIT* + +### Perfect for Research + +- **Version Control** โ€” Track every change with Git +- **Collaboration** โ€” Use GitHub pull requests for slide reviews +- **Reproducibility** โ€” Slides are plain text, commit them with your code +- **Open Science** โ€” Share presentations on GitHub, no barriers +- **Citations** โ€” Include BibTeX references easily +- **Jupyter Integration** โ€” Embed notebooks and visualizations + +### Perfect for Teaching + +- **Reusable Content** โ€” Mix and match slides across courses +- **Student Contributions** โ€” Students can submit slide PRs +- **Live Coding** โ€” Syntax highlighting for all languages +- **Interactive Examples** โ€” Embed interactive visualizations +- **Accessible** โ€” Keyboard navigation, screen reader friendly + +--- + +## ๐ŸŽฌ See It In Action + > [!NOTE] -> Click on the **Slides** button above to view the built-in slides feature. +> **Try it now!** The slides embedded above demonstrate all these features: +> - Code highlighting with Python +> - Mathematical equations with LaTeX +> - Dual column layouts (slides 4-6) +> - Fragment animations +> - Multiple themes +> +> Click the {{< icon name="arrows-expand" >}} **fullscreen button** (top right) to experience presentation mode! -Slides can be added in a few ways: +### Live Features to Try -- **Create** slides using Hugo Blox Builder's [_Slides_](https://docs.hugoblox.com/reference/content-types/) feature and link using the `slides` parameter in the front matter of the talk file -- **Upload** an existing slide deck to this page bundle and link it using `links: [{ type: slides, url: path/to/file } ]` in front matter -- **Embed** your slides (e.g. Google Slides) or presentation video on this page using [shortcodes](https://docs.hugoblox.com/reference/markdown/). +1. **Navigate**: Use arrow keys (โ†’ โ†) or click controls +2. **Fullscreen**: Click the expand button to go fullscreen +3. **Speaker Notes**: Press `S` to open presenter view (try it!) +4. **Overview**: Press `ESC` to see all slides at once +5. **Search**: Press `/` to search slide content +6. **Zoom**: `Alt+Click` to zoom into details -Further event details, including [page elements](https://docs.hugoblox.com/reference/markdown/) such as image galleries, can be added to the body of this page. +{{< button url="/slides/example/" text="Open Slides in New Tab" icon="external-link" style="ghost" new_tab="true" />}} + +--- + +## ๐Ÿ†š Comparison + +| Feature | PowerPoint | Google Slides | **Hugo Blox** | +|---------|-----------|---------------|---------------| +| **Cost** | $159.99/year | Free* | **Free Forever** | +| **Format** | Binary (`.pptx`) | Proprietary | **Plain Markdown** | +| **Version Control** | โŒ Difficult | โŒ Limited | **โœ… Git Native** | +| **Offline Editing** | โœ… Yes | โš ๏ธ Limited | **โœ… Fully Offline** | +| **Platform Lock-in** | โš ๏ธ Microsoft | โš ๏ธ Google | **โœ… None** | +| **Code Highlighting** | โš ๏ธ Basic | โš ๏ธ Limited | **โœ… 50+ Languages** | +| **Math Equations** | โš ๏ธ Clunky | โš ๏ธ Basic | **โœ… Full LaTeX** | +| **Portability** | โŒ Poor | โŒ Requires Google | **โœ… Works Anywhere** | +| **Future-Proof** | โŒ Format changes | โš ๏ธ API changes | **โœ… Plain Text Forever** | +| **Open Source** | โŒ No | โŒ No | **โœ… Yes** | + +> [!SUCCESS] +> **Hugo Blox wins on freedom, portability, and long-term sustainability.** + +--- + +## ๐Ÿ› ๏ธ Advanced Capabilities + +### Code Blocks with Syntax Highlighting + +```python +import torch +import torch.nn as nn + +class Transformer(nn.Module): + def __init__(self, d_model=512, nhead=8): + super().__init__() + self.attention = nn.MultiheadAttention(d_model, nhead) + + def forward(self, x): + return self.attention(x, x, x)[0] +``` + +### Mathematical Equations + +Display equations with LaTeX: + +```latex +$$ +\nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t} +$$ + +$$ +\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} +$$ +``` + +### Dual Column Layouts + +Perfect for before/after comparisons, code + explanation, or image + text: + +```markdown +
+
Left content
+
Right content
+
+``` + +See slides 4-6 in the embedded presentation above for live examples! + +--- + +## ๐ŸŽ“ For Educators: Teach the Future + +> [!TIP] **Empower Your Students** +> Teaching with Hugo Blox means teaching modern, transferable skills: +> - Markdown (used everywhere: GitHub, Notion, Obsidian) +> - Version control (essential for careers) +> - Web technologies (HTML, CSS) +> - Reproducible science practices + +### Course Integration + +```markdown +courses/ +โ”œโ”€โ”€ ml-101/ +โ”‚ โ”œโ”€โ”€ lecture-1/ +โ”‚ โ”‚ โ”œโ”€โ”€ index.md (slides) +โ”‚ โ”‚ โ””โ”€โ”€ notes.md +โ”‚ โ”œโ”€โ”€ lecture-2/ +โ”‚ โ”‚ โ””โ”€โ”€ index.md +โ”‚ โ””โ”€โ”€ _index.md +``` + +Each lecture gets its own slide deck, all version controlled, all editable by students as PRs. + +--- + +## ๐ŸŒ Join the Community + +> [!IMPORTANT] **Built by Academics, for Academics** +> Hugo Blox is used by researchers at: +> - ๐ŸŽ“ Stanford, MIT, Harvard, Oxford, Cambridge +> - ๐Ÿข Google Research, Meta AI, OpenAI +> - ๐Ÿ”ฌ CERN, NASA, NIH +> - ๐ŸŒ Thousands of universities worldwide + +{{< button url="https://github.com/HugoBlox/hugo-blox-builder" text="Star on GitHub" icon="brands/github" style="primary" size="lg" align="center" rounded="full" />}} + +### Get Help & Connect + +- ๐Ÿ“š [Documentation](https://docs.hugoblox.com) +- ๐Ÿ’ฌ [Discord Community](https://discord.gg/z8wNYzb) +- ๐Ÿ› [GitHub Issues](https://github.com/HugoBlox/hugo-blox-builder/issues) +- ๐Ÿฆ [Follow @BuildLore](https://twitter.com/BuildLore) + +--- + +## ๐Ÿš€ Ready to Create? + +> [!SUCCESS] **Start Building Beautiful Presentations Today** +> No installation required. No account needed. Just Markdown and your creativity. + +{{< button url="https://docs.hugoblox.com/start/" text="Get Started Now" icon="rocket" style="primary" size="xl" align="center" rounded="full" />}} + +{{< button url="https://docs.hugoblox.com/guides/studio/" text="Try HugoBlox Studio" icon="paint-brush" style="secondary" size="lg" align="center" rounded="lg" />}} + +--- + +## ๐Ÿ“– Additional Resources + +### Templates & Examples + +- [Academic Slides Template](https://github.com/HugoBlox/theme-academic-cv) + + + +### Tips & Tricks + +> [!TIP] **Pro Tips for Better Presentations** +> 1. Keep slides simple โ€” one idea per slide +> 2. Use dual columns for comparisons +> 3. Add speaker notes with `Note:` prefix +> 4. Test presenter view before your talk +> 5. Use fragments to control pacing +> 6. Version control your slides with Git +> 7. Share source files for reproducibility + +--- + +**Have questions?** Check out the [FAQ](https://docs.hugoblox.com/) or [ask the community](https://discord.gg/z8wNYzb)! + +**Want to contribute?** Hugo Blox is open source! [Contributions welcome](https://github.com/HugoBlox/hugo-blox-builder/blob/main/CONTRIBUTING.md). diff --git a/templates/academic-cv/content/slides/example/index.md b/templates/academic-cv/content/slides/example/index.md new file mode 100644 index 00000000..56264936 --- /dev/null +++ b/templates/academic-cv/content/slides/example/index.md @@ -0,0 +1,306 @@ +--- +title: "Example Talk: Recent Work" +date: 2024-01-01 +# `type: slides` is inferred from folder, but can be set explicitly: +type: slides +slides: + theme: black + highlight_style: dracula + diagram: true # Enable Mermaid diagrams + reveal_options: + controls: true + progress: true + slideNumber: true + hash: true +--- + +# Example Talk +### Dr. Alex Johnson ยท Meta AI + +--- + +## Research Overview + +- Multimodal LLMs +- Efficient training +- Responsible AI + +--- + +## Code & Math + +```python +def score(x: int) -> int: + return x * x +``` + +$$ +E = mc^2 +$$ + +--- + +## Dual Column Layout + +
+ +
+ +### Left Column + +- Point A +- Point B +- Point C + +
+ +
+ +### Right Column + +- Detail 1 +- Detail 2 +- Detail 3 + +
+ +
+ +--- + + + +
+ +
+ +### Main Content (2/3 width) + +This column takes up twice the space of the right column. + +```python +def example(): + return "code works too" +``` + +
+ +
+ +### Sidebar (1/3 width) + +> **Note** +> Key points in smaller column + +
+ +
+ +--- + +## Image + Text Layout + +
+ +
+ +![](https://images.unsplash.com/photo-1708011271954-c0d2b3155ded?w=400&dpr=2&h=400&auto=format&fit=crop&q=60&ixid=M3wxMjA3fDB8MXxzZWFyY2h8MTh8fG1hdGhlbWF0aWNzfGVufDB8fHx8MTc2NTYzNTEzMHww&ixlib=rb-4.1.0) + +
+ +
+ +### Results + +- 95% accuracy +- 10x faster inference +- Lower memory usage + +{{< fragment >}}**Breakthrough!**{{< /fragment >}} + +
+ +
+ +--- + +## Speaker Notes + +Press **S** to open presenter view with notes! + +This slide has hidden speaker notes below. + +Note: +- This is a **speaker note** (only visible in presenter view) +- Press `S` key to open presenter console +- Perfect for remembering key talking points +- Can include reminders, timing, references +- Supports **Markdown** formatting too! + +--- + +## Progressive Reveals + +Content appears step-by-step: + +{{< fragment >}}First point appears{{< /fragment >}} + +{{< fragment >}}Then the second point{{< /fragment >}} + +{{< fragment >}}Finally the conclusion{{< /fragment >}} + +{{< fragment class="highlight-red" >}}This one can be **highlighted**!{{< /fragment >}} + +Note: +Use fragments to control pacing and maintain audience attention. Each fragment appears on click. + +--- + +## Diagrams with Mermaid + +```mermaid +graph LR + A[Research Question] --> B{Hypothesis} + B -->|Valid| C[Experiment] + B -->|Invalid| D[Revise] + C --> E[Analyze Data] + E --> F{Significant?} + F -->|Yes| G[Publish] + F -->|No| D +``` + +Perfect for: Workflows, architectures, processes + +Note: +Mermaid diagrams are created from simple text. They're version-controllable and edit anywhere! + +--- + +## Research Results + +| Model | Accuracy | Speed | Memory | +|-------|----------|-------|--------| +| Baseline | 87.3% | 1.0x | 2GB | +| Ours (v1) | 92.1% | 1.5x | 1.8GB | +| **Ours (v2)** | **95.8%** | **2.3x** | **1.2GB** | + +> **Key Finding:** 8.5% improvement over baseline with 40% memory reduction + +Note: +Tables are perfect for comparative results. Markdown tables are simple and version-control friendly. + +--- + +{{< slide background-color="#1e3a8a" >}} + +## Custom Backgrounds + +This slide has a **blue background**! + +You can customize: +- Background colors +- Background images +- Gradients +- Videos (yes, really!) + +Use `{{}}` + +--- + +## Vertical Navigation + +**There's more content below! โฌ‡๏ธ** + +Press the **Down Arrow** to see substeps. + +Note: +This demonstrates Reveal.js's vertical slide feature. Great for optional details or deep dives. + +--- + +{{< slide id="substep-1" >}} + +### Substep 1: Details + +This is additional content in a vertical stack. + +Navigate down for more, or right to skip to next topic โ†’ + +--- + +{{< slide id="substep-2" >}} + +### Substep 2: More Details + +Even more detailed information. + +Press **Up Arrow** to go back, or **Right Arrow** to continue. + +--- + +## Citations & Quotes + +> "The best way to predict the future is to invent it." +> +> โ€” Alan Kay + +Or reference research: + +> Recent work by Smith et al. (2024) demonstrates that Markdown-based slides improve reproducibility by 78% compared to proprietary formats[^1]. + +[^1]: Smith, J. et al. (2024). *Open Science Presentations*. Nature Methods. + +--- + +## Media: YouTube Videos + +{{< youtube dQw4w9WgXcQ >}} + +Note: +Embed YouTube videos with just the video ID. Perfect for demos, tutorials, or interviews. + +--- + +## Media: All Options + +Embed various media types with simple shortcodes: + +- **YouTube**: `{{}}` +- **Bilibili**: `{{}}` +- **Local videos**: `{{}}` +- **Audio**: `{{}}` + +Perfect for demos, interviews, tutorials, or podcasts! + +Note: +All media types work seamlessly in slides. Just use the appropriate shortcode. + +--- + +## Interactive Elements + +Try these keyboard shortcuts: + +- `โ†’` `โ†` : Navigate slides +- `โ†“` `โ†‘` : Vertical navigation +- `S` : Speaker notes +- `F` : Fullscreen +- `O` : Overview mode +- `/` : Search +- `ESC` : Exit modes + +--- + +## Thanks + +### Questions? + +- ๐ŸŒ Website: [hugoblox.com](https://hugoblox.com) +- ๐Ÿฆ X/Twitter: [@BuildLore](https://twitter.com/BuildLore) +- ๐Ÿ’ฌ Discord: [Join Community](https://discord.gg/z8wNYzb) +- โญ GitHub: [Star us!](https://github.com/HugoBlox/hugo-blox-builder) + +**All slides created with Markdown** โ€ข No vendor lock-in โ€ข Edit anywhere + +Note: +Thank you for your attention! Feel free to reach out with questions or contributions. diff --git a/templates/academic-cv/go.mod b/templates/academic-cv/go.mod index f7702d6c..00b6c7bb 100644 --- a/templates/academic-cv/go.mod +++ b/templates/academic-cv/go.mod @@ -5,4 +5,5 @@ go 1.19 require ( github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v0.0.0-20251201030931-373eb7966ed8 github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.0.0-20251207015048-f0eb4a7e9c4d + github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-reveal v1.2.4 )