Scan the QR to support the project π
Welcome to the official repository for Bude Global Tech Presentations β a cutting-edge platform designed to democratize technical knowledge through engaging, interactive presentations. Built by developers, for developers, this platform serves as a centralized hub where the Bude Global community can discover, share, and learn from expertly crafted technical content.
Important: By using this service, you agree to our Terms and Conditions and Privacy Policy.
Our mission is to foster a culture of continuous learning and knowledge sharing by providing an accessible, modern platform for technical presentations that covers everything from programming languages and frameworks to DevOps tools and best practices.
Smart search and autocomplete for quick presentation discovery
Professional presenter introduction with social links
Clean, modern slide design with code examples
This project leverages modern web technologies for optimal performance and developer experience:
| Technology | Purpose | Version |
|---|---|---|
| HTML5 | Structure and semantic markup | Latest |
| CSS3 | Styling, animations, and responsive design | Latest |
| JavaScript (ES6+) | Dynamic behavior and presentation logic | ES2020+ |
| Reveal.js | Presentation framework | 4.6.0 |
| Remixicon | Icon system | 4.3.0 |
| Google Fonts | Custom typography (Molot) | - |
This project includes several performance optimizations:
| Optimization | Benefit |
|---|---|
| Preconnect hints | Faster CDN resource loading |
| DNS prefetch | Early DNS resolution |
| Deferred scripts | Non-blocking page render |
| SRI hashes | Secure CDN resources |
| Lazy animations | Animations start after page load |
| Adaptive quality | Auto-adjusts for mobile devices |
The codebase is organized into modular files in src/ for easier maintenance:
src/
βββ js/
β βββ config.js # Global configuration
β βββ main.js # Entry point
β βββ animations/ # 8 animation modes
β βββ ui/ # UI components
β βββ utils/ # Utility functions
βββ css/
βββ base/ # Variables, reset
βββ components/ # Header, cards, footer, etc.
βββ utilities/ # Responsive styles
bude-global-tech-presentations/
β
βββ π assets/ # Static assets
β βββ π fonts/ # Custom fonts (Molot)
β β βββ Molot.otf
β βββ π icons/ # Custom icons
β βββ π images/ # Images and logos
β βββ budeglobal_logo.png
β βββ π Readme/ # README screenshots
β βββ home.png
β βββ author.png
β βββ intro-react.png
β
βββ π presentations/ # Presentation JSON files
β βββ intro-oss.json # Open Source Software
β βββ intro-python.json # Python Programming
β βββ intro-csharp.json # C# Programming
β βββ ... (40+ presentations)
β
βββ π src/ # Modular source code (for bundlers)
β βββ π js/ # JavaScript modules
β β βββ config.js # Animation configuration
β β βββ main.js # Entry point
β β βββ π animations/ # 8 animation modes
β β βββ π ui/ # UI components
β β βββ π utils/ # Utility functions
β βββ π css/ # CSS modules
β βββ π base/ # Variables, reset
β βββ π components/ # Header, cards, footer
β βββ π utilities/ # Responsive styles
β
βββ π templates/ # Template files
β βββ sample-presentation.json # Template for new presentations
β
βββ π index.html # Main entry point
βββ π presentations.js # Presentation configuration
βββ π presenter.js # Animation & slide rendering
βββ π loader.js # Dynamic loading logic
βββ π style.css # Custom styles
βββ π github-live.js # GitHub API integration
βββ π theme-switcher.js # Dark/Light theme toggle
βββ π orientation-handler.js # Mobile orientation handler
βββ π README.md # This file
βββ π CONTRIBUTING.md # Contribution guidelines
βββ π LICENSE # GNU GENERAL PUBLIC LICENSE
Get up and running in under 2 minutes!
# Clone the repository
git clone https://github.com/BUDEGlobalEnterprise/bude-global-tech-presentations.git
# Navigate to the project directory
cd bude-global-tech-presentations
# Open in browser
open index.html
# Or on Windows: start index.html
# Or on Linux: xdg-open index.html
index.html in your browserSimply visit: https://budeglobalenterprise.github.io/bude-global-tech-presentations
index.html in your browserH to return to the presentation selector| Action | Keyboard | Mouse/Touch |
|---|---|---|
| Next Slide | β or β or Space |
Click right arrow |
| Previous Slide | β or β |
Click left arrow |
| Scroll Slide | β / β (if content overflows) |
Mouse wheel |
| First Slide | Home |
- |
| Last Slide | End |
- |
| Slide Overview | Esc or O |
- |
| Fullscreen | F |
- |
| Return to Selector | H |
- |
Adding a new presentation is straightforward and takes just 3 steps!
Create a new .json file in the presentations/ directory:
touch presentations/my-awesome-tech-talk.json
Use the template structure (see Presentation JSON Schema) or copy from templates/sample-presentation.json.
Open index.html and locate the PRESENTATIONS_CONFIG array. Add your presentation:
const PRESENTATIONS_CONFIG = [
// ... existing presentations ...
{
file: 'presentations/my-awesome-tech-talk.json',
title: 'My Awesome Tech Talk',
description: 'A comprehensive guide to an amazing technology',
keywords: ['awesome', 'tech', 'innovation', 'tutorial']
}
];
# Test locally
open index.html
# Commit your changes
git add presentations/my-awesome-tech-talk.json index.html
git commit -m "Add: My Awesome Tech Talk presentation"
git push origin main
Thatβs it! Your presentation is now live and searchable! π
{
"presentation": {
"topics": [
{
"id": "unique-topic-id",
"title": "Topic Title",
"slides": [
{
"type": "title|presenter|topic-title|content|qa|thank-you",
"title": "Slide Title",
"emoji": "π",
"box": {
"title": "Box Title",
"content": "Box content with <strong>HTML</strong>",
"code": "const example = 'code block';",
"list": [
{ "emoji": "β
", "text": "List item with emoji" },
{ "emoji": "β", "text": "Another item" }
]
},
"list": [
{ "emoji": "π", "text": "Top-level list item" }
],
"note": {
"text": "Additional note or tip"
}
}
]
}
]
}
}
{
"type": "title",
"title": "Presentation Title",
"subtitle": "Subtitle or tagline"
}
{
"type": "presenter",
"name": "Your Name",
"title": "Your Title",
"experience": "Years of experience",
"oss_experience": "OSS contribution details",
"github": "https://github.com/username",
"website": "https://yoursite.com"
}
{
"type": "topic-title",
"title": "Section Title",
"box": {
"content": "Section introduction"
}
}
{
"type": "content",
"emoji": "π‘",
"title": "Slide Title",
"box": {
"title": "Optional box title",
"content": "Main content",
"code": "// Code example\nfunction hello() {\n console.log('Hello');\n}",
"list": [
{ "emoji": "β
", "text": "Feature one" },
{ "emoji": "β
", "text": "Feature two" }
]
},
"list": [
{ "emoji": "π", "text": "Additional point" }
],
"note": {
"text": "Pro tip or note"
}
}
{
"type": "qa",
"title": "Questions? π¬",
"content": "Your questions are welcome!"
}
{
"type": "thank-you",
"title": "Thank You! π",
"box": {
"content": "Closing message",
"note": "Final thoughts"
},
"footer": {
"org": "Organization Name",
"tagline": "Your tagline"
}
}
You can use HTML tags in content:
<strong>bold</strong><em>italic</em><code>inline code</code><br> for line breaks<span class="highlight">text</span>| Key | Action |
|---|---|
β β Space PgDn |
Next slide |
β β PgUp |
Previous slide |
Home |
First slide |
End |
Last slide |
Esc O |
Slide overview mode |
F |
Fullscreen mode |
S |
Speaker notes (if available) |
B . |
Blackout/pause |
H |
Return to presentation selector |
| Key | Action |
|---|---|
β |
Scroll down (if slide has overflow) |
β |
Scroll up (if slide has overflow) |
| Key | Animation Mode |
|---|---|
1 |
Floating Shapes |
2 |
Gradient Blobs |
3 |
Neon Waves |
4 |
Animated Grid |
5 |
Particle Field |
6 |
Pulse Rings |
7 |
Parallax Layers |
8 |
Cosmic Dust |
We warmly welcome contributions from developers of all skill levels! Whether youβre fixing typos, adding presentations, or building new features, your contribution matters.
git checkout -b feature/amazing-feature)git commit -m 'Add: Amazing feature')git push origin feature/amazing-feature)Type: Brief description
Types:
- Add: New feature or presentation
- Fix: Bug fix
- Update: Update existing content
- Docs: Documentation changes
- Style: Code style changes (formatting)
- Refactor: Code refactoring
- Test: Adding tests
- Chore: Maintenance tasks
Example: Add: Introduction to Kubernetes presentation
For detailed guidelines, see CONTRIBUTING.md.
More presentations are added regularly by our community!
Update colors in index.html CSS variables:
:root {
--bude-primary: #0060a0; /* Primary brand color */
--bude-purple: #6f42c1; /* Secondary color */
--bude-pink: #cb6ce6; /* Accent color */
--bude-dark: #2c3e50; /* Dark text */
}
Replace the Molot font in assets/fonts/ and update the @font-face rule:
@font-face {
font-family: 'YourFont';
src: url('assets/fonts/YourFont.otf') format('opentype');
}
Replace legacy/assets/images/budeglobal_logo.png with your logo (recommended size: 400x400px).
Update social links in the <footer> section of index.html.
A: Absolutely! This project is open-source under GNU GENERAL PUBLIC LICENSE. Feel free to fork and customize.
A: No! Itβs a static site. You can host on GitHub Pages, Netlify, Vercel, or any static hosting service.
A: Yes! Use your browserβs print function (Ctrl+P) and select βSave as PDFβ. Reveal.js handles print styling automatically.
A: Reveal.js supports speaker notes. Press S during presentation to open speaker view.
A: Yes! You can use HTML in your JSON content, including <iframe>, <video>, and interactive elements.
A: No technical limit, but we recommend keeping presentations under 100 slides for optimal performance.
A: Mostly yes, but external resources (CDN fonts, icons) require internet. You can download and self-host these for full offline support.
This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details.
β You can:
β You cannot:
π You must:
By accessing and using this service, you agree to be bound by our Terms and Conditions.
Special thanks to: