Skip to main content

A fast, lightweight, and elegantly configured Python static site generator inspired by VitePress

Project description

JinPress

A fast, lightweight, and elegantly configured Python static site generator inspired by VitePress.

Features

  • Python Native: Built entirely in Python, no Node.js required
  • Zero Config: Works out of the box with sensible defaults
  • Fast Builds: Powered by minijinja and markdown-it-py
  • Live Reload: Development server with instant updates
  • Syntax Highlighting: Code blocks with Pygments
  • Built-in Search: Client-side search functionality
  • Custom Containers: Tip, warning, danger, and info boxes
  • Theme System: Exclusive mode for complete customization

Quick Start

Installation

pip install jinpress

Create a new project

jinpress init my-docs
cd my-docs

Start development server

jinpress serve

Your site will be available at http://localhost:8000 with live reload.

Build for production

jinpress build

CLI Commands

  • jinpress init [project-name] - Create a new project
  • jinpress serve - Start development server with live reload
  • jinpress build - Build static site for production
  • jinpress info - Show project information

Project Structure

my-jinpress-project/
├── dist/                    # Built site output
├── docs/                    # Markdown source files
│   ├── index.md
│   ├── about.md
│   └── guide/
│       ├── index.md
│       ├── getting-started.md
│       ├── configuration.md
│       └── deployment.md
├── static/                  # Custom static files
├── templates/               # Custom template overrides (optional)
├── config.yml               # Site configuration
└── .gitignore

Configuration

JinPress uses a single config.yml file for all configuration:

site:
  title: "My Documentation"
  description: "A great documentation site"
  lang: "en-US"
  base: "/"

themeConfig:
  nav:
    - text: "Home"
      link: "/"
    - text: "Guide"
      link: "/guide/"
    - text: "About"
      link: "/about/"
  
  sidebar:
    "/guide/":
      - text: "Getting Started"
        link: "/guide/getting-started/"
      - text: "Configuration"
        link: "/guide/configuration/"
      - text: "Deployment"
        link: "/guide/deployment/"
  
  socialLinks:
    - icon: "github"
      link: "https://github.com/user/repo"
  
  editLink:
    pattern: "https://github.com/user/repo/edit/main/docs/:path"
    text: "Edit this page"
  
  footer:
    message: "Built with JinPress"
    copyright: "Copyright © 2025"
  
  lastUpdated: true

Markdown Features

JinPress supports enhanced markdown with:

  • Syntax highlighting with Pygments
  • Custom containers (tip, warning, danger, info)
  • Frontmatter for page metadata
  • Table of contents generation
  • Code block enhancements

Example:

:::tip
This is a tip container with custom styling.
:::

:::warning
This is a warning container.
:::

Requirements

  • Python 3.8+

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jinpress-0.9.0.tar.gz (108.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jinpress-0.9.0-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file jinpress-0.9.0.tar.gz.

File metadata

  • Download URL: jinpress-0.9.0.tar.gz
  • Upload date:
  • Size: 108.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for jinpress-0.9.0.tar.gz
Algorithm Hash digest
SHA256 8adbaab7584bd3d70132676befd880101abcfd35643a9adbb4ee1fd6585990c6
MD5 7ca50c64b0ac2ffa4d00d37685bc8580
BLAKE2b-256 fdd02848d991547f041e127c1806afc7a28ab3a57f3f99e30185e7c4c5a88884

See more details on using hashes here.

File details

Details for the file jinpress-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: jinpress-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for jinpress-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd981e28645a4d6a803bb7253a6da20aac1fc7ee0ca4af4e3ccb83c595a85cdb
MD5 eb4385a523f5214348b0d094b87276c1
BLAKE2b-256 2e5c632921774524afa50743db47063c4a68a883d1533f73eeef1464ed267a22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page