You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
niharokz f333ebdff0 serve functionality added 3 months ago
pidgey serve functionality added 3 months ago
.gitignore pypi alpha push 3 months ago
LICENSE version 0.0.3 3 months ago serve functionality added 3 months ago
requirements.txt Alpha version pidgeotto 3 months ago version 0.0.3 3 months ago



Yet another static website generator.

Why choose pidgeotto?

  1. Free of javascript.
  2. Extensible, flexible, forkable.
  3. Minimal and fast.
  4. Free under MIT License.


pip install pidgeotto

$ pip install git+


By default, pidgeotto will install the below packages from PyPI pip pyyaml, jinja2, markdown2

  • PyYAML: To consume the config file and header of blog posts.
  • jinja2: Templating engine
  • markdown2: To convert markdown to HTML


$ pidgey init project

To initiate pidgeotto with name "project"

$ pidgey new pageName

To create new page/post/note with name "pageName"

$ pidgey build pageName

To build static pages and keep those in the "public" directory.

Extra Functionalaties

  1. showInHome tag is present in each note markdown. showInHome: True will create page which are blog/note post.

     ``` showInHome: False ``` 
     will create page which are pages.
  2. config.yml is extensible. For example, if you want to add favicon.ico. Keep favicon in the resource folder. favicon: resource/favicon.ico in config.yml In template, add {{ config.get('favicon') }}.

  3. Extra metadata per page. If you want to add some metadata to your page, it can be done using the below command on the markdown page. meta : '<link rel="stylesheet" type="text/css" href="/extra.css" />


├── public
├── config.yml
├── content
│   ├──
│   ├──
│   ├──
│   ├──
│   └── note
│       └──
├── resource
└── templates
    ├── home_template.html
    ├── note_template.html
    └── rss_template.xml
  • config.yml: To configure the title, name, CSS file, js file, and other configurations.
  • resource: Location to store all CSS, js, image data and other static content.
  • content: All markdown files are stored here.
  • template: Layouts for different HTML pages are kept here.
  • public: All generated static files. It can be changed in config.yml


Below are examples of sites running via pidgeotto.



  • (A) 08-05-2021 Clean up some clutter coding



  • Server Functionality added
  • Automatic .md extension
  • Error/Exception handled