Skip to main content

Yet another static blog generator.

Project description

pidgeotto

Description

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.

Installation

pip install pidgeotto

$ pip install git+https://github.com/niharokz/pidgeotto

Prerequisites

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

Usage:

$ 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" />

Structure

pidgeotto_project
├── public
├── config.yml
├── content
│   ├── header.md
│   ├── footer.md
│   ├── home.md
│   ├── archive.md
│   └── note
│       └── other_pages.md
├── 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

Example

Below are examples of sites running via pidgeotto.

  1. nih.ar

TODO

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

Update

0.0.3

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

0.0.4

  • Cleanup

0.0.5

  • Windows support added

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

pidgeotto-0.0.5.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

pidgeotto-0.0.5-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file pidgeotto-0.0.5.tar.gz.

File metadata

  • Download URL: pidgeotto-0.0.5.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pidgeotto-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9327aacec1a30f6e23d417ece23a2e0afa3b746c90bd9a4ade638de8d6ca4499
MD5 a0d1b7e8dcaaf60544280921570f8760
BLAKE2b-256 3f9192bf7726cb62ffa76a56d3e29a688ad8c560f05e7fe2719363ce5521806a

See more details on using hashes here.

File details

Details for the file pidgeotto-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: pidgeotto-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pidgeotto-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a8ec0f6b981d720052d2dc8f90c4d5b6c9f69083fc386b3d601bb7b950c00c65
MD5 f62016a91656a3cc25ea1150ce0b69cc
BLAKE2b-256 9c8d56e9c6198d103e4840e47d2e46b2896b897061931b5cc07268f2f2c03925

See more details on using hashes here.

Supported by

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