Skip to content

XynoxTheDev/Gist-Blog-Generator

Repository files navigation

Gist Blog Generator

License Next.js TypeScript Tailwind CSS

A web application that turns your blog content into professionally formatted Markdown — ready to publish on GitHub Gists or any Markdown-supported platform.


Overview

Gist Blog Generator provides a structured form-based interface for composing blog posts. Fill in your title, introduction, body sections, conclusion, and author details — then generate clean, publication-ready Markdown in one click. The output includes a table of contents, author bio, social links, and a call-to-action footer, all formatted consistently.

It's designed for developers and writers who publish technical content on GitHub Gists and want to skip the manual Markdown formatting.


Features

  • Structured input form — Dedicated fields for title, author, cover image URL, introduction, body sections, conclusion, and author bio
  • Dynamic sections — Add as many content sections as needed; each gets its own title and body
  • Auto-generated table of contents — Built automatically from your section titles, with anchor links
  • Real-time Markdown preview — Switch between the Input and Preview tabs to see your output as you write
  • One-click copy — Copy the generated Markdown to clipboard directly from the preview
  • Social links in output — Twitter, LinkedIn, and GitHub links are woven into the author footer
  • Responsive design — Works across desktop and mobile viewports

Tech Stack

Technology Purpose
Next.js 15 React framework, static export
React 18 UI component model
TypeScript 5 Type safety
Tailwind CSS 3 Utility-first styling
shadcn/ui Pre-built accessible components
Radix UI Headless UI primitives (Tabs, Toast, Label)
Lucide React Icon library
pnpm Package manager

Getting Started

Prerequisites

  • Node.js v18.0.0 or later
  • pnpm v8.0.0 or later (npm install -g pnpm)

Installation

  1. Clone the repository:

    git clone https://github.com/XynoxTheDev/Gist-Blog-Generator.git
    cd Gist-Blog-Generator
  2. Install dependencies:

    pnpm install
  3. Start the development server:

    pnpm dev
  4. Open your browser and visit http://localhost:3000

Available Scripts

Command Description
pnpm dev Start development server
pnpm build Build for production (static export)
pnpm start Start production server
pnpm lint Run ESLint
pnpm deploy Build and deploy to GitHub Pages

Usage

  1. Fill in the blog details — Enter your blog title, author name, and an optional cover image URL.
  2. Write your content — Add an introduction, then fill in the body sections. Each section has a title and content field.
  3. Add more sections — Click Add Section to insert additional content blocks as needed.
  4. Write your conclusion — Fill in the conclusion field and your author bio.
  5. Add social links — Enter your Twitter handle, LinkedIn URL, and GitHub username — these appear in the generated footer.
  6. Generate Markdown — Click the Generate Markdown button in the footer.
  7. Preview the output — Switch to the Preview tab to see the formatted Markdown.
  8. Copy and publish — Click the copy button, then paste into a new GitHub Gist or any Markdown editor.

Project Structure

src/
├── app/
│   ├── blog-markdown-generator.tsx  # Main generator component (form + preview + logic)
│   ├── globals.css                  # Global styles
│   ├── layout.tsx                   # Root layout
│   └── page.tsx                     # Entry page
├── components/
│   └── ui/                          # shadcn/ui components
│       ├── button.tsx
│       ├── card.tsx
│       ├── input.tsx
│       ├── label.tsx
│       ├── tabs.tsx
│       ├── textarea.tsx
│       ├── toast.tsx
│       └── toaster.tsx
├── hooks/
│   └── use-toast.ts                 # Toast notification hook
└── lib/
    └── utils.ts                     # Utility functions (cn helper)

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
  3. Commit your changes:
    git commit -m 'Add your feature'
  4. Push to your branch:
    git push origin feature/your-feature-name
  5. Open a Pull Request

Please ensure your code passes linting (pnpm lint) before submitting.


License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.


Contact

Arindam Hazra (XynoxTheDev)

About

Gist-Blog Generator is a web app for crafting polished Markdown blogs, ready for GitHub Gists and similar platforms.

Resources

License

Stars

Watchers

Forks

Contributors