Skip to content

roktiw/roktiw.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ GAMstack: GitHub Actions + Markdown for easy publishing

GAMstack is a simple tool that lets you build and publish a website using only Markdown files and GitHub. You write your content in Markdown, save it to your GitHub repository, and GitHub Actions will turn it into a website for you. Your site will be hosted for free with GitHub Pages, so anyone can see it online

No coding skills needed. No complicated setup. Just write, push, and publish! S πŸ“¦ Core Stack

  • πŸ“ A GitHub Repository with your Markdown files
  • βš™οΈ GitHub Actions to build and publish your site
  • 🌐 GitHub Pages to host your website

πŸ‘₯ Who is GAMstack for?

β›΅ Creators πŸ’» Developers
🧠 Lifehackers & tool-switchers – jumping between Notion, Obsidian, Apple Notes, Ulysses but still searching for that perfect flow πŸ€– AI vibe coders, indie devs & no-code hackers – perfect for automating your project's website or content site
✍️ Bloggers & writers – focused on flow, not config πŸ› οΈ Developers & DevOps – need zero-maintenance, Git-powered release notes & documentation
πŸ“± Social media users – want to go beyond FITstack (Facebook, Instagram, TikTok) and own a personal site like in the 90s 🧠 CTOs, PMs, TPOs – clean and secure static sties for your product documentation
πŸ”Ž Want to learn more? πŸ’‘ Why Use GAMstack? - β›΅ For Creators πŸ”Ž Want to learn more? πŸ’‘ Why Use GAMstack? - πŸ’» For Developers
πŸš€ Ready to start? πŸ“Œ Setup Using the GitHub Website πŸš€ Ready to start? πŸ“Œ Setup Using Visual Studio Code

πŸ“š Table of Contents


πŸ’‘ Why Use GAMstack?

✊ Manifest

A few principles we believe in β€” for both creators and developers:

  • βœ… As simple as possible β€” design, structure, workflow. Less is more.
  • πŸ’½ You control your files β€” keep them on your own drive, your repo, your rules.
  • πŸ–₯️ Every device, every OS β€” works on Mac, Windows, Linux, even mobile.
  • 🧠 Markdown-first mindset β€” plain text, clear thinking.
  • πŸ’¨ Instant publish β€” write β†’ push β†’ live.
  • πŸ—ƒοΈ Versioned, trackable, transparent β€” powered by Git.
  • πŸ•ŠοΈ Minimal setup, maximal freedom.

πŸ—οΈ Build Logic & Structure

Our build process follows these core principles:

  1. πŸš€ Build Process & GitHub Actions

    • Automated build triggered on every push
    • Build steps:
      steps:
      1. Checkout repository
      2. Copy input/ β†’ output/     # Mirror directory structure
      3. Process Markdown files    # Convert .md to .html
      4. Generate section pages    # Create indexes
      5. Build navigation         # From directory structure
      6. Assemble final pages     # Combine with templates
      7. Deploy to GitHub Pages   # Make site live
    • Error handling and notifications
    • Build status in GitHub Actions tab
  2. πŸ“ Directory Mirroring & File Processing

    • Input directory structure is exactly mirrored in output
    • Everything from /input/ is copied 1:1 to /output/
    • All .md files are converted to .html
    • Example structure:
      input/                     output/
      β”œβ”€β”€ homepage.md       β†’    β”œβ”€β”€ index.html
      β”œβ”€β”€ blog/            β†’     β”œβ”€β”€ blog/
      β”‚   β”œβ”€β”€ blog.md      β†’     β”‚   β”œβ”€β”€ index.html
      β”‚   β”œβ”€β”€ post1.md     β†’     β”‚   β”œβ”€β”€ post1.html
      β”‚   └── post2.md     β†’     β”‚   └── post2.html
      β”œβ”€β”€ projects/        β†’     β”œβ”€β”€ projects/
      β”‚   β”œβ”€β”€ projects.md  β†’     β”‚   β”œβ”€β”€ index.html
      β”‚   └── proj1.md     β†’     β”‚   └── proj1.html
      └── about-me/        β†’     └── about-me/
          └── about.md     β†’         └── index.html
      
  3. 🎯 Section Pages & Auto-indexing

    • Each folder can have its main content file
    • Naming convention: folder/folder.md β†’ folder/index.html
    • Section pages automatically include:
      # Blog                    <!-- From blog.md -->
      
      Welcome to my blog!       <!-- Main content from blog.md -->
      
      ## Latest Posts          <!-- Auto-generated section -->
      - [Post 2](post2.html)   <!-- Links generated automatically -->
      - [Post 1](post1.html)   <!-- In directory order -->
    • Files are listed in directory order by default
    • Customizable via front matter:
      ---
      title: My Blog
      layout: blog
      sort: date-desc
      exclude: ["draft-post.md"]
      ---
  4. 🏠 Homepage & Template Assembly

    • Homepage built from modular components:
      templates/                    Final index.html
      β”œβ”€β”€ header.html         β†’     <!DOCTYPE html>
      β”‚   └── meta, title          <html>
      β”œβ”€β”€ menu.html          β†’     <nav>Menu items</nav>
      β”‚   └── auto-generated       <main>
      β”œβ”€β”€ content.html       β†’       Homepage content
      β”‚   └── from homepage.md     </main>
      └── footer.html        β†’     <footer>Site info</footer>
                                  </html>
      
    • Clean, semantic HTML output
    • Consistent layout across all pages
    • SEO-friendly structure
    • Automatic meta tags:
      <meta name="description" content="...">
      <meta name="keywords" content="...">
      <meta property="og:title" content="...">
  5. πŸ“‘ Menu & Navigation

    • Automatic menu generation from directory structure
    • Configurable via config.json:
      {
        "menu": {
          "order": ["blog", "projects", "about-me"],
          "titles": {
            "blog": "My Blog",
            "projects": "Portfolio",
            "about-me": "About"
          },
          "hide": ["private", "drafts"],
          "home": {
            "title": "Home",
            "show": true
          }
        },
        "site": {
          "title": "My GAMstack Site",
          "description": "Personal website built with GAMstack",
          "author": "Your Name",
          "social": {
            "twitter": "@username",
            "github": "username"
          }
        },
        "build": {
          "exclude_patterns": ["*.draft.md", "README.md"],
          "copy_files": ["CNAME", "robots.txt"],
          "minify": true
        }
      }
    • Responsive navigation for mobile devices
    • Active page highlighting
    • Breadcrumb navigation (optional)
  6. 🎨 Templates & Component System

    • Core templates in /templates/:
      templates/
      β”œβ”€β”€ base/
      β”‚   β”œβ”€β”€ header.html      β†’ Site header, meta tags
      β”‚   β”œβ”€β”€ footer.html      β†’ Site footer
      β”‚   └── menu.html        β†’ Navigation menu
      β”œβ”€β”€ layouts/
      β”‚   β”œβ”€β”€ default.html     β†’ Default page layout
      β”‚   β”œβ”€β”€ section.html     β†’ Section page layout
      β”‚   └── post.html        β†’ Individual post layout
      β”œβ”€β”€ partials/
      β”‚   β”œβ”€β”€ analytics.html   β†’ Optional analytics
      β”‚   └── social.html      β†’ Social media links
      └── styles/
          β”œβ”€β”€ main.css        β†’ Core styles
          └── custom.css      β†’ Your customizations
      
    • Consistent styling across all pages
    • Easy to customize and extend
    • Mobile-first responsive design
    • Dark mode support (optional)

πŸ’‘ Why Use GAMstack? - β›΅ For Creators

  • ✍️ Write your content in Markdown, like a normal doc or note.
  • πŸ’‘ No distractions – no logins, no popups, no notifications.
  • πŸ§˜β€β™€οΈ Zen flow – write once, publish instantly.
  • 🌐 Your content becomes a real website people can visit.
  • 🧳 Ideal if you've bounced between Notion, Obsidian, Ulysses, Apple Notes, etc.

πŸ’‘ Why Use GAMstack? - πŸ’» For Developers

  • βš™οΈ Automate content builds using GitHub Actions.
  • πŸ” Use CI/CD for changelogs, release notes, documentation.
  • 🧠 Follow GitOps principles – Git is your single source of truth.
  • 🧩 Configure structure via YAML files – infrastructure as content.
  • πŸ’¬ Integrate into existing Git workflows – no extra hosting required.
  • 🧰 Great for internal docs, team microsites, project landing pages.
  • πŸ›°οΈ Zero-runtime, serverless by default – no Node, no Docker, no servers.

Extra: πŸ•°οΈ Old Software Stacks Roast (and why GAMstack is better)

GAMstack is the next step after these old stacks:

  • JAMstack (JavaScript, APIs, and Markup) β€” because JavaScript is bloated and Markdown was doing just fine.
  • MACH (Microservices, API-first, Cloud-native, and Headless) β€” because microservices are just meetings in disguise.
  • LAMP (Linux, Apache, MySQL, PHP/Perl/Python) β€” because it's not 2002 and we're done FTPing PHP files at midnight.
  • LEMP (Linux, Nginx, MySQL, PHP) β€” because Nginx is still just Apache in hard mode.
  • WAMP (Windows, Apache, MySQL, PHP) β€” because deploying to Windows is like watering your plants with Coca-Cola.
  • XAMPP (Cross-platform, Apache, MySQL, PHP, Perl) β€” because nothing says "developer experience" like running a local Perl server in 2025.
  • MEAN (MongoDB, Express.js, Angular, Node.js) β€” because Angular made you question your career.
  • MERN (MongoDB, Express.js, React, Node.js) β€” because React turned your blog into a distributed system.
  • MEVN (MongoDB, Express.js, Vue, Node.js) β€” because Vue is cute but you still needed Node, Babel, and 19 plugins.
  • PERN (PostgreSQL, Express.js, React, Node.js) β€” because PostgreSQL is great, but now your front-end has 300 dependencies to render a button.
  • Django Stack (Python, Django, PostgreSQL) β€” because the ORM is magic... until it isn't, and therapy all start with "T."
  • Firebase Stack (Firestore, Functions, Auth, Hosting) β€” because Google wants your soul and your billing info.
  • SST (Serverless Stack) (CDK, Lambda, API Gateway, DynamoDB) β€” because debugging cold starts at 3AM builds character.
  • AWS CDK Stack (AWS Cloud Development Kit + TypeScript) β€” because writing TypeScript to generate YAML that generates JSON to deploy infra is totally sane.
  • Kubernetes-native (Helm, Kustomize, ArgoCD, YAML) β€” because containers in containers in YAML in clusters is totally not overcomplicated.
  • RAPID Stack (React, API-first, Platform Independent, DevOps-ready) β€” because fast acronyms make fast apps. Maybe not overcomplicated.
  • Vite Stack β€” because Webpack broke your spirit in 2021.
  • Docs-as-Code β€” because your documentation deserves more care than your production code.
  • Zettelkasten Stack β€” because you treat your second brain better than your first.

✍️ GAMstack - Setup

πŸ“Œ Setup Using the GitHub Website

Step 1: Copy the GAMstack Repository

  1. Go to the GAMstack Repository.
  2. Click Fork in the top right corner.
  3. Click Create fork.

Step 2: Open the /input/ Folder and Write Your Content

  • This is where you put your website files.
  • Write your files in Markdown format (.md).
  • If you need help with Markdown, see this cheat sheet.
  1. Write your first note or edit an existing .md file.
  2. Save the file.

Example:

# Hello World

This is my first post using GAMstack.

Step 3: Save and Upload Your Changes

  1. Find the file you changed or added.
  2. Click Commit changes to save.
  • The .github/workflow/gamstack.yml script will turn .md files in /input/ into .html files in /output/.
  • It will also update the index.html file for your website.

Step 4: Open the /output/ Folder and Check the Build

  1. Check if GitHub Actions successfully built your site:

    • Go to the Actions tab in your GitHub repository.
    • Look for the latest workflow run. It should show a green checkmark if it succeeded.
    • If it failed, click on the workflow run to see the logs and troubleshoot the issue.
  2. Alternatively, you can preview the generated files locally in VS Code:

    • Open the /output/ folder in your repository.
    • Use a Markdown preview extension or a local server to view the generated .html files.

Step 5: See Your Website Online

  1. Edit any file in /input/ and save/commit.
  2. After a few minutes, your site will be live at https://YOUR_GITHUB_USERNAME.github.io/.

πŸ“Œ Setup Using Visual Studio Code

Step 1: Copy the GAMstack Repository

  1. Open a terminal in VS Code or your computer.
  2. Run:
    git clone https://github.com/roktiw/gamstack.git
    cd gamstack

Step 2: Open the /input/ Folder and Write Your Content

  • Open the /input/ folder in VS Code.
  • Write your files in Markdown format (.md).

Example:

# Hello World

This is my first post using GAMstack.

Step 3: Save and Upload Your Changes

  1. Use the Source Control tab or run:
    git add .
    git commit -m "Add my first post"
    git push
  2. GitHub Actions will build and publish your changes.

Step 4: Open the /output/ Folder and Check the Build

  1. Check if GitHub Actions successfully built your site:

    • Go to the Actions tab in your GitHub repository.
    • Look for the latest workflow run. It should show a green checkmark if it succeeded.
    • If it failed, click on the workflow run to see the logs and troubleshoot the issue.
  2. Alternatively, you can preview the generated files locally in VS Code:

    • Open the /output/ folder in your repository.
    • Use a Markdown preview extension or a local server to view the generated .html files.

Step 5: See Your Website Online

  1. Edit any file in /input/ and save/commit.
  2. After a few minutes, your site will be live at https://YOUR_GITHUB_USERNAME.github.io/.

Extra: Useful VS Code Extensions


Simple steps, big results. Just write, push, and your site is live!

πŸ™Œ Contributing

Pull requests are welcomeβ€”if they make things simpler.


GAMstack is a Markdown-driven Headless CMS and Static Site Generator. It uses a GitHub Repository as a single source of truth for your content. You write in Markdown, push to GitHub, and your site is built and deployed by GitHub Actions and GitHub Pages. No-Code, Low-Code, CI/CD, GitOps, IaC, Serverless, AI-ready. Pure gold! ✨


Β© Wiktor ŚwiΔ…tkowski 2025 - GAMstack Made in Warsaw, Poland with love, focus, music, and a dislike for complicated tech. Happy hacking! πŸ’»βœ¨

About

foodario feed food to animals to win

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •