{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/blo/","markdown":"https://findsoftware.frbit.cloud/blo.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"blo","name":"Blo","urls":{"repository":"https://github.com/savuir/blo","docs":"https://github.com/savuir/blo/blob/master/README.md"},"category":["ssg"],"description":"Static site generator for personal blogs that builds posts from Markdown files and Jinja2 page templates.","maintainer":"savuir","maintainerType":"individual","firstRelease":2015,"language":"python","runtime":["python"],"templating":"jinja2","runsAs":["local"],"installMethod":"pip","licenseModel":"open-source","license":"BSD-3-Clause","currentMajor":"0","latestReleaseDate":"2017-10-04T00:00:00.000Z","githubStargazers":9,"contributors":1,"packagistDownloads":null,"npmWeeklyDownloads":null,"ecosystemsMonthlyDownloads":75,"dependentRepos":2,"checkedAt":"2026-10-23T00:00:00.000Z","addedAt":"2026-10-23T00:00:00.000Z","sources":[{"field":"urls","url":"https://api.github.com/repos/savuir/blo","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"urls","url":"https://github.com/savuir/blo/blob/master/README.md","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"maintainer","url":"https://raw.githubusercontent.com/savuir/blo/master/LICENSE","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/savuir/blo","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"runtime","url":"https://pypi.org/pypi/blo/json","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"category","url":"https://github.com/savuir/blo/blob/master/README.md","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/savuir/blo/blob/master/README.md","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"runsAs","url":"https://github.com/savuir/blo/blob/master/README.md","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"templating","url":"https://github.com/savuir/blo/blob/master/README.md","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"license","url":"https://api.github.com/repos/savuir/blo","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"firstRelease","url":"https://pypi.org/pypi/blo/json","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"currentMajor","url":"https://pypi.org/pypi/blo/json","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://pypi.org/pypi/blo/json","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/savuir/blo","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/savuir/blo/contributors","checkedAt":"2026-10-23T00:00:00.000Z"},{"field":"dependentRepos","url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/blo","checkedAt":"2026-10-25T00:00:00.000Z"},{"field":"ecosystemsMonthlyDownloads","url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/blo","checkedAt":"2026-10-25T00:00:00.000Z"}],"status":"stub","ai":"authored"},"prose":"Blo is a static site generator for personal blogs, installed with pip. The `blo post` command creates a new note from a draft template and `blo build` builds the site from Markdown posts and Jinja2 page templates. The `blo serve` command runs the blog locally. Global site variables and paths live in `default.json`, and the draft templates live in `draft_templates.json`.\n\n## Worth knowing\n\nA new type of content takes an HTML template in the `templates` folder and an entry in `draft_templates.json`, as the README's customize section describes. The GitHub repository has only one release, while the PyPI package that the install command names has later ones."}