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. nihar.page

TODO

  • (A) 24-04-2021 Add Serve functionality
  • (B) 24-04-2021 Clean up some clutter coding

Update

0.0.3

  • Removed archived page
  • MIT Licensed
  • showInHome only True or False
  • RSS Template fixed

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.3.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

pidgeotto-0.0.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pidgeotto-0.0.3.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for pidgeotto-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4fb801f4aaa3520b71fbc818787d965e3e12f36279f83c8870122d078e41b82d
MD5 63482f435ddc9a5014c0adb0c0b1e86f
BLAKE2b-256 77bb15c908f612c4445f4ebb0197ba0248cf3a73d1e50608b80c22ebc7ac3ef3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pidgeotto-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.3

File hashes

Hashes for pidgeotto-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 483e3e558bf910c8c87796b06dc4b81f37b2c97104187e6d7cf6b244e1687334
MD5 551c64deb054f9e303c3dde85a0b8ba3
BLAKE2b-256 307df28f429d320a8feeb70692b8b9aff848ffb010da76eeb732a13bff461158

See more details on using hashes here.

Supported by

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