# understory.js

> The tools that power the canopy

Latest version **0.0.2** (published 2021-09-10) · AGPL-3.0-or-later license · 0 weekly downloads

## Install

```sh
npm install understory.js
pnpm add understory.js
yarn add understory.js
bun add understory.js
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2021-09-10 |
| First published | 2021-06-21 |
| Weekly downloads | 0 |
| License | AGPL-3.0-or-later |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 35.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Angelo Gladding |
| Maintainers | angelogladding |

## Links

- npm: https://www.npmjs.com/package/understory.js
- Repository: https://github.com/canopy/understory
- Homepage: https://github.com/canopy/understory#readme
- Issues: https://github.com/canopy/understory/issues
- npm.io page: https://npm.io/package/understory.js

## Dependencies (1)

- [js-sha256](https://npm.io/package/js-sha256.md) ^0.9.0

## Recent versions

- 0.0.2 (latest) — 2021-09-10
- 0.0.1 — 2021-06-21

## README

# understory
Web framework with IndieWeb support

## An IndieWeb-compatible personal website

Install [Poetry](https://python-poetry.org).

Clone your empty website repository and descend into it. *If you
use a **private** GitHub repository your changes will be deployed through
GitHub. If you use a **public** repository your changes will be deployed
through PyPI.*

Initialize your project and add understory as a dependency.

    poetry init
    poetry add understory

Create a file `site.py`:

    from understory import indieweb
    app = indieweb.personal_site(__name__)

<!--Add your site's app as an entry point in your `pyproject.toml`:

    poetry run web install site:app AliceAnderson-->

Serve your website locally in development mode:

    poetry run web serve site:app

Open <a href=http://localhost:9000>localhost:9000</a> in your browser.

*Develop.* For example, add a custom route:

    import random
    
    @app.route(r"hello")
    class SayHello:
        return random.choice(["How you doin'?", "What's happening?", "What's up?"])

To publish:

    poetry run pkg publish patch

To deploy:

    poetry run gaea deploy site:app alice.anderson.example

---
_Source: https://npm.io/package/understory.js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
