No description
Find a file
Matt Haggard a26fc513da
Fix GET request params (#274)
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
2025-10-11 12:00:51 +08:00
.github Bump actions/download-artifact from 4 to 5 (#271) 2025-08-12 19:30:13 +08:00
docs Improve deployment docs (#245) 2024-07-22 08:57:18 +08:00
examples Fix for outdated blog example std/db_sqlite exists no more (#241) 2024-06-10 21:04:41 +08:00
src Fix GET request params (#274) 2025-10-11 12:00:51 +08:00
tests Fix GET request params (#274) 2025-10-11 12:00:51 +08:00
.gitattributes make docs look better 2020-10-21 22:53:16 +08:00
.gitignore fixes gitignore (#267) 2025-03-29 20:12:51 +08:00
azure-pipelines.yml update CI (#197) 2022-11-25 15:12:17 +08:00
changelog.md 0.6.4 2022-11-25 14:49:24 +08:00
CONTRIBUTING.md clean up unnecessary components 2020-10-22 16:24:50 +08:00
LICENSE Update LICENSE 2020-03-11 17:39:25 +08:00
mkdocs.yml Update mkdocs.yml 2022-08-26 10:52:35 +08:00
prologue.nimble fixes tests (#249) 2024-11-05 23:18:22 +08:00
README.md fixes readme (#201) 2022-12-02 00:39:40 +08:00
requirements.txt clean docs for v0.4.0 2020-10-21 21:57:14 +08:00

Build Status

License: Apache-2.0 Version buy me a coffee Discord

Prologue

What's past is prologue.

Purpose

Prologue is a powerful and flexible web framework written in Nim. It is ideal for building elegant and high performance web services.

Reduce magic. Reduce surprise.

Documentation

Documentation Index Page
Core API Index Page Search Page
Full API Index Page Search Page

Welcome to write your own experience with Prologue at our wiki.

Features

  • Core

    • Configure and Settings
    • Context
    • Param and Query Data
    • Form Data
    • Static Files
    • Middleware
    • Powerful Routing System(based on nest)
    • Cookie
    • Startup and Shutdown Events
    • URL Building
    • Error Handler
  • Plugin

    • I18n
    • Basic Authentication
    • Minimal OpenAPI support
    • Websocket support
    • Mocking test
    • CORS Response
    • Data Validation
    • Session
    • Cache
    • Signing
    • Command line tools
    • Cross-Site Request Forgery
    • Clickjacking Protection

Installation

First you should install Nim language which is an elegant and high performance language. Follow the instructions and set environment variables correctly.

Then you can use nimble command to install prologue.

nimble install prologue

Usages

Hello World

import prologue

proc hello*(ctx: Context) {.async.} =
  resp "<h1>Hello, Prologue!</h1>"

let app = newApp()
app.get("/", hello)
app.run()

Run app.nim ( nim c -r app.nim ). Now the server is running at localhost:8080.

More examples

Extensions

If you need more extensions, you can refer to awesome prologue and awesome nim.

Donations

Thanks for supporting me!

https://github.com/sponsors/planety

Stars

Stargazers over time