|
| 1 | +# 🚀 GAMstack: GitHub Actions + Markdown for easy publishing |
| 2 | + |
| 3 | +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 |
| 4 | + |
| 5 | +No coding skills needed. No complicated setup. Just write, push, and publish! |
| 6 | + |
| 7 | +**📦 Core Stack** |
| 8 | +- 📝 A **GitHub Repository** with your **Markdown files** |
| 9 | +- ⚙️ **GitHub Actions** to build and publish your site |
| 10 | +- 🌐 **GitHub Pages** to host your website |
| 11 | + |
| 12 | +**👥 Who is GAMstack for?** |
| 13 | + |
| 14 | +| ⛵ **Creators** | 💻 **Developers** | |
| 15 | +|----------------------------|----------------------------| |
| 16 | +| 🧠 **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 | |
| 17 | +| ✍️ **Bloggers & writers** – focused on flow, not config | 🛠️ **Developers & DevOps** – need zero-maintenance, Git-powered release notes & documentation | |
| 18 | +| 📱 **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 |
| 19 | +| 🔎 **Want to learn more?** [💡 Why Use GAMstack? - ⛵ For Creators](#-why-use-gamstack----for-creators) | 🔎 *Want to learn more?* [💡 Why Use GAMstack? - 💻 For Developers](#-why-use-gamstack----for-developers) | |
| 20 | +| 🚀 **Ready to start?** [📌 Setup Using the GitHub Website](#-setup-using-the-github-website) | 🚀 *Ready to start?* [📌 Setup Using Visual Studio Code](#-setup-using-visual-studio-code) | |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +# 📚 Table of Contents |
| 25 | +- [🚀 GAMstack: GitHub Actions + Markdown for easy publishing](#-gamstack-github-actions--markdown-for-easy-publishing) |
| 26 | +- [📚 Table of Contents](#-table-of-contents) |
| 27 | + - [💡 Why Use GAMstack?](#-why-use-gamstack) |
| 28 | + - [✊ Manifest](#-manifest) |
| 29 | + - [💡 Why Use GAMstack? - ⛵ For Creators](#-why-use-gamstack----for-creators) |
| 30 | + - [💡 Why Use GAMstack? - 💻 For Developers](#-why-use-gamstack----for-developers) |
| 31 | + - [Extra: 🕰️ Old Software Stacks Roast (and why GAMstack is better)](#extra-️-old-software-stacks-roast-and-why-gamstack-is-better) |
| 32 | + - [✍️ GAMstack - Setup](#️-gamstack---setup) |
| 33 | + - [📌 Setup Using the GitHub Website](#-setup-using-the-github-website) |
| 34 | + - [Step 1: Copy the GAMstack Repository](#step-1-copy-the-gamstack-repository) |
| 35 | + - [Step 2: Open the `/input/` Folder and Write Your Content](#step-2-open-the-input-folder-and-write-your-content) |
| 36 | + - [Step 3: Save and Upload Your Changes](#step-3-save-and-upload-your-changes) |
| 37 | + - [Step 4: Open the `/output/` Folder and Check the Build](#step-4-open-the-output-folder-and-check-the-build) |
| 38 | + - [Step 5: See Your Website Online](#step-5-see-your-website-online) |
| 39 | + - [📌 Setup Using Visual Studio Code](#-setup-using-visual-studio-code) |
| 40 | + - [Step 1: Copy the GAMstack Repository](#step-1-copy-the-gamstack-repository-1) |
| 41 | + - [Step 2: Open the `/input/` Folder and Write Your Content](#step-2-open-the-input-folder-and-write-your-content-1) |
| 42 | + - [Step 3: Save and Upload Your Changes](#step-3-save-and-upload-your-changes-1) |
| 43 | + - [Step 4: Open the `/output/` Folder and Check the Build](#step-4-open-the-output-folder-and-check-the-build-1) |
| 44 | + - [Step 5: See Your Website Online](#step-5-see-your-website-online-1) |
| 45 | + - [Extra: Useful VS Code Extensions](#extra-useful-vs-code-extensions) |
| 46 | + - [🙌 Contributing](#-contributing) |
| 47 | + - [📝 TODO List](#-todo-list) |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +## 💡 Why Use GAMstack? |
| 52 | + |
| 53 | +### ✊ Manifest |
| 54 | + |
| 55 | +A few principles we believe in — for both creators and developers: |
| 56 | + |
| 57 | +- ✅ **As simple as possible** — design, structure, workflow. Less is more. |
| 58 | +- 💽 **You control your files** — keep them on your own drive, your repo, your rules. |
| 59 | +- 🖥️ **Every device, every OS** — works on Mac, Windows, Linux, even mobile. |
| 60 | +- 🧠 **Markdown-first mindset** — plain text, clear thinking. |
| 61 | +- 💨 **Instant publish** — write → push → live. |
| 62 | +- 🗃️ **Versioned, trackable, transparent** — powered by Git. |
| 63 | +- 🕊️ **Minimal setup, maximal freedom.** |
| 64 | + |
| 65 | +### 💡 Why Use GAMstack? - ⛵ For Creators |
| 66 | + |
| 67 | +- ✍️ Write your content in **Markdown**, like a normal doc or note. |
| 68 | +- 💡 No distractions – no logins, no popups, no notifications. |
| 69 | +- 🧘♀️ Zen flow – write once, publish instantly. |
| 70 | +- 🌐 Your content becomes a **real website** people can visit. |
| 71 | +- 🧳 Ideal if you’ve bounced between **Notion, Obsidian, Ulysses, Apple Notes**, etc. |
| 72 | + |
| 73 | +### 💡 Why Use GAMstack? - 💻 For Developers |
| 74 | + |
| 75 | +- ⚙️ Automate content builds using **GitHub Actions**. |
| 76 | +- 🔁 Use **CI/CD** for changelogs, release notes, documentation. |
| 77 | +- 🧠 Follow **GitOps principles** – Git is your single source of truth. |
| 78 | +- 🧩 Configure structure via **YAML files** – infrastructure as content. |
| 79 | +- 💬 Integrate into existing Git workflows – no extra hosting required. |
| 80 | +- 🧰 Great for **internal docs, team microsites, project landing pages**. |
| 81 | +- 🛰️ Zero-runtime, serverless by default – no Node, no Docker, no servers. |
| 82 | + |
| 83 | +#### Extra: 🕰️ Old Software Stacks Roast (and why GAMstack is better) |
| 84 | + |
| 85 | +GAMstack is the next step after these old stacks: |
| 86 | + |
| 87 | +- **JAMstack (JavaScript, APIs, and Markup)** — because JavaScript is bloated and Markdown was doing just fine. |
| 88 | +- **MACH (Microservices, API-first, Cloud-native, and Headless)** — because microservices are just meetings in disguise. |
| 89 | +- **LAMP (Linux, Apache, MySQL, PHP/Perl/Python)** — because it's not 2002 and we're done FTPing PHP files at midnight. |
| 90 | +- **LEMP (Linux, Nginx, MySQL, PHP)** — because Nginx is still just Apache in hard mode. |
| 91 | +- **WAMP (Windows, Apache, MySQL, PHP)** — because deploying to Windows is like watering your plants with Coca-Cola. |
| 92 | +- **XAMPP (Cross-platform, Apache, MySQL, PHP, Perl)** — because nothing says "developer experience" like running a local Perl server in 2025. |
| 93 | +- **MEAN (MongoDB, Express.js, Angular, Node.js)** — because Angular made you question your career. |
| 94 | +- **MERN (MongoDB, Express.js, React, Node.js)** — because React turned your blog into a distributed system. |
| 95 | +- **MEVN (MongoDB, Express.js, Vue, Node.js)** — because Vue is cute but you still needed Node, Babel, and 19 plugins. |
| 96 | +- **PERN (PostgreSQL, Express.js, React, Node.js)** — because PostgreSQL is great, but now your front-end has 300 dependencies to render a button. |
| 97 | +- **Django Stack (Python, Django, PostgreSQL)** — because the ORM is magic... until it isn't, and therapy all start with “T.” |
| 98 | +- **Firebase Stack (Firestore, Functions, Auth, Hosting)** — because Google wants your soul and your billing info. |
| 99 | +- **SST (Serverless Stack) (CDK, Lambda, API Gateway, DynamoDB)** — because debugging cold starts at 3AM builds character. |
| 100 | +- **AWS CDK Stack (AWS Cloud Development Kit + TypeScript)** — because writing TypeScript to generate YAML that generates JSON to deploy infra is totally sane. |
| 101 | +- **Kubernetes-native (Helm, Kustomize, ArgoCD, YAML)** — because containers in containers in YAML in clusters is totally not overcomplicated. |
| 102 | +- **RAPID Stack (React, API-first, Platform Independent, DevOps-ready)** — because fast acronyms make fast apps. Maybe not overcomplicated. |
| 103 | +- **Vite Stack** — because Webpack broke your spirit in 2021. |
| 104 | +- **Docs-as-Code** — because your documentation deserves more care than your production code. |
| 105 | +- **Zettelkasten Stack** — because you treat your second brain better than your first. |
| 106 | + |
| 107 | +--- |
| 108 | + |
| 109 | +## ✍️ GAMstack - Setup |
| 110 | + |
| 111 | +### 📌 Setup Using the GitHub Website |
| 112 | + |
| 113 | +#### Step 1: Copy the GAMstack Repository |
| 114 | + |
| 115 | +1. Go to the [GAMstack Repository](https://github.com/roktiw/gamstack/). |
| 116 | +2. Click **Fork** in the top right corner. |
| 117 | +3. Click **Create fork**. |
| 118 | + |
| 119 | +#### Step 2: Open the `/input/` Folder and Write Your Content |
| 120 | + |
| 121 | +- This is where you put your website files. |
| 122 | +- Write your files in Markdown format (`.md`). |
| 123 | +- If you need help with Markdown, see [this cheat sheet](https://www.markdownguide.org/cheat-sheet/). |
| 124 | + |
| 125 | +1. Write your first note or edit an existing `.md` file. |
| 126 | +2. Save the file. |
| 127 | + |
| 128 | +Example: |
| 129 | +```markdown |
| 130 | +# Hello World |
| 131 | + |
| 132 | +This is my first post using GAMstack. |
| 133 | +``` |
| 134 | + |
| 135 | +#### Step 3: Save and Upload Your Changes |
| 136 | + |
| 137 | +1. Find the file you changed or added. |
| 138 | +2. Click **Commit changes** to save. |
| 139 | + |
| 140 | +- The `.github/workflow/gamstack.yml` script will turn `.md` files in `/input/` into `.html` files in `/output/`. |
| 141 | +- It will also update the `index.html` file for your website. |
| 142 | + |
| 143 | +#### Step 4: Open the `/output/` Folder and Check the Build |
| 144 | + |
| 145 | +1. Check if GitHub Actions successfully built your site: |
| 146 | + - Go to the **Actions** tab in your GitHub repository. |
| 147 | + - Look for the latest workflow run. It should show a green checkmark if it succeeded. |
| 148 | + - If it failed, click on the workflow run to see the logs and troubleshoot the issue. |
| 149 | + |
| 150 | +2. Alternatively, you can preview the generated files locally in VS Code: |
| 151 | + - Open the `/output/` folder in your repository. |
| 152 | + - Use a Markdown preview extension or a local server to view the generated `.html` files. |
| 153 | + |
| 154 | +#### Step 5: See Your Website Online |
| 155 | + |
| 156 | +1. Edit any file in `/input/` and save/commit. |
| 157 | +2. After a few minutes, your site will be live at `https://YOUR_GITHUB_USERNAME.github.io/`. |
| 158 | + |
| 159 | +--- |
| 160 | + |
| 161 | +### 📌 Setup Using Visual Studio Code |
| 162 | + |
| 163 | +#### Step 1: Copy the GAMstack Repository |
| 164 | + |
| 165 | +1. Open a terminal in VS Code or your computer. |
| 166 | +2. Run: |
| 167 | + ```bash |
| 168 | + git clone https://github.com/roktiw/gamstack.git |
| 169 | + cd gamstack |
| 170 | + ``` |
| 171 | + |
| 172 | +#### Step 2: Open the `/input/` Folder and Write Your Content |
| 173 | + |
| 174 | +- Open the `/input/` folder in VS Code. |
| 175 | +- Write your files in Markdown format (`.md`). |
| 176 | + |
| 177 | +Example: |
| 178 | +```markdown |
| 179 | +# Hello World |
| 180 | + |
| 181 | +This is my first post using GAMstack. |
| 182 | +``` |
| 183 | + |
| 184 | +#### Step 3: Save and Upload Your Changes |
| 185 | + |
| 186 | +1. Use the Source Control tab or run: |
| 187 | + ```bash |
| 188 | + git add . |
| 189 | + git commit -m "Add my first post" |
| 190 | + git push |
| 191 | + ``` |
| 192 | +2. GitHub Actions will build and publish your changes. |
| 193 | + |
| 194 | +#### Step 4: Open the `/output/` Folder and Check the Build |
| 195 | + |
| 196 | +1. Check if GitHub Actions successfully built your site: |
| 197 | + - Go to the **Actions** tab in your GitHub repository. |
| 198 | + - Look for the latest workflow run. It should show a green checkmark if it succeeded. |
| 199 | + - If it failed, click on the workflow run to see the logs and troubleshoot the issue. |
| 200 | + |
| 201 | +2. Alternatively, you can preview the generated files locally in VS Code: |
| 202 | + - Open the `/output/` folder in your repository. |
| 203 | + - Use a Markdown preview extension or a local server to view the generated `.html` files. |
| 204 | + |
| 205 | +#### Step 5: See Your Website Online |
| 206 | + |
| 207 | +1. Edit any file in `/input/` and save/commit. |
| 208 | +2. After a few minutes, your site will be live at `https://YOUR_GITHUB_USERNAME.github.io/`. |
| 209 | + |
| 210 | +#### Extra: Useful VS Code Extensions |
| 211 | + |
| 212 | +- ✅ [GitHub Repositories](https://marketplace.visualstudio.com/items?itemName=github.vscode-pull-request-github): Work with GitHub without cloning. |
| 213 | +- ✅ [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens): See Git history and changes. |
| 214 | +- ✅ [Prettier – Code Formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode): Auto-format Markdown and code. |
| 215 | +- ✅ [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker): Check spelling in Markdown. |
| 216 | +- ✅ [GitHub Actions](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions): Manage GitHub Actions in VS Code. |
| 217 | +- ✅ [Act](https://marketplace.visualstudio.com/items?itemName=me-dutour-mathieu.vscode-act): Run GitHub Actions locally for testing. |
| 218 | +- ✅ [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one): Enhance your Markdown editing experience with shortcuts, previews, and more. |
| 219 | + |
| 220 | + |
| 221 | +--- |
| 222 | + |
| 223 | +*Simple steps, big results.* |
| 224 | +*Just write, push, and your site is live!* |
| 225 | + |
| 226 | + |
| 227 | +## 🙌 Contributing |
| 228 | + |
| 229 | +Pull requests are welcome—if they make things simpler. |
| 230 | + |
| 231 | +--- |
| 232 | + |
| 233 | +## 📝 TODO List |
| 234 | + |
| 235 | +- [ ] 3 repos: mini (core), stable, -dev |
| 236 | +- [ ] Ensure error handling for invalid Markdown syntax or missing files in the Markdown-to-HTML conversion script. |
| 237 | +- [ ] Add a script or GitHub Action to clean the `output/` folder before generating new files. |
| 238 | +- [ ] Include a test suite to verify Markdown-to-HTML conversion. |
| 239 | +- [ ] Dynamically generate `index.html` to list all converted HTML files in the `output/` folder. |
| 240 | +- [ ] Add a troubleshooting section to the `README.md` file. |
| 241 | +- [ ] Include instructions for customizing generated HTML files (e.g., styles or scripts). |
| 242 | +- [ ] Add a default CSS file for styling the generated HTML files. |
| 243 | +- [ ] Consider adding localization support for multiple languages. |
| 244 | +- [ ] Add versioning to the project using Git tags. |
| 245 | +- [ ] List external tools or libraries used for Markdown conversion in the `README.md` file. |
| 246 | +- [ ] Add /scripts/ for bash script that will read folder structure in input for Menu on main website |
| 247 | +- [ ] Add /config/ for CSS and HTML templates and config.json with i.e. page title |
| 248 | +- [ ] Publish your website from your phone using native GitHub app |
| 249 | + |
| 250 | +--- |
| 251 | + |
| 252 | +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! ✨ |
| 253 | + |
| 254 | +--- |
| 255 | + |
| 256 | +© [Wiktor Świątkowski](http://roktiw.github.io) 2025 - [GAMstack](https://github.com/roktiw/gamstack) |
| 257 | +Made in Warsaw, Poland with love, focus, music, and a dislike for complicated tech. Happy hacking! 💻✨ |
0 commit comments