semvec/pypi-packages huggingface dataset:
jamstack 1.1.0
Jamstack in Python
Requires Python: >=3.6
Keywords: jamstack static website jinja2

<div align="center">
  <img alt="Jamstack logo" src="https://i.imgur.com/sXUAdYJ.png" height="217" />
</div>

![](https://img.shields.io/pypi/v/jamstack)

Also known as Jamstackpy, is a tool that allows you to create static websites using the power of **Python** hand in hand
with the [Flask](https://github.com/pallets/flask) library. Its operation is based on templates which are rendered with
the powerful Jinja engine generating your website with all its dependencies.

## Installation

```bash
python -m pip install jamstack
```

## Create basic project

```bash
jamstack plain <foldername>
```

## Templates

Jamstack has templates available courtesy of [html5up](https://html5up.net).

| Template                                   | Command           | Tutorial                                                                 |
|--------------------------------------------|-------------------|--------------------------------------------------------------------------|
| [Massively](https://html5up.net/massively) | html5up/massively |                                                                          |
| [Phantom](https://html5up.net/phantom)     | html5up/phantom   | [**HERE**](https://github.com/jamstackpy/jamstack/wiki/Phantom-template) |

The syntax is as follows:

```bash
jamstack t <template_command> <project_folder_name>
```

Use the `--existing` flag if you want the project to be created in an existing folder

```bash
jamstack t html5up/massively myproject --existing
```

By default, projects based in templates are created without the assets (stylesheets, images, etc...) to download them,
you must pass
the `--jamdo` option to the `static.py` file of the respective project.

## Build

To build the site run the file `static.py`.

```bash
python static.py
```

Your site will be generated in the **dist/** folder.

## Other project command-line options

| Argument  | Description                                                               |
|-----------|---------------------------------------------------------------------------|
| `--serve` | Optional. Start project livewatch (autoreload when files change).         |
| `--watch` | Optional. Specify files and folders to watch. Must be separated by comma. |
| `--port`  | Optional. Specify server port.                                            |

## Sites using jamstack

- [DeliciousPy Telegram Channel](https://deliciouspy.github.io/)
- [The Flask Community Work Group](https://flaskcwg.github.io/)
- [Abdur-Rahmaan Janhangeer](https://compileralchemy.github.io/)

# TODO

- [ ] Replace `python static.py --serve/--jamdo` by something like `jamstack --serve/--jamdo`
- [ ] Remove Flask as Main requirement and just use Jinja
otoe 0.0.9
Sort of a UI for espanso configs.
Requires Python: >=3.11

# NOTE
```
THIS TOOL WAS NOT TESTED PROPERLY YET! IT CAN CONTAIN CRITICAL BUGS. SO 
I HIGHLY RECOMEND YOU TO MAKE A BACKUP BEFORE USING THIS.
```

# otoe

Command line tool to parse md files to espanso config.


## Motivation

As a reviewer at Yandex.Praktikum I have tons of predefined comments for students. It's super uncomfortable to edit in espanso yamls especially, when you need some markdown. So, now I don't have to. This tool will handle it for me.

## Goals
- md files -> yaml in order to maintain 
- espanso match yaml -> md files for people how store their snippets in yamls directly with some basic support of vars feature


## Usage

1. Install via pip(idk if it will work or not)

```
pip install otoe
```

2. set env vars:

`MD_DIR` - directory where your markdown notes are stored
`YAML_DIR` - direcotry where yaml files will be saved (if not set yamls will be stored in `$MD_DIR/yamls`)


3. MD_DIR structure

```
markdown_files
  dir1
    file.yaml
    file1.yaml
  dir2
    file2.yaml
    file3.yaml
  dir3
    file.yaml
    file2.yaml
  file.yaml
```

4. Markdown file structure

Each file should consist two parts: text and yaml devided by separator `====`

```markdown
here is the text

====
trigger: keyword
```

Text part(above separator) will be used as replace value and everything under separator should be a valid yaml and will be used as is.
Example above will be converted to espanso match like this:

```yaml
trigger: 'keyword'
replace: 'here is the text'
```

if you need to use vars feature you can do it as well:

```
Date: {{date}}

====
trigger: :year
vars:
	- name: year
	  type: date
	  params:
	    format: "%Y"
```

will be parsed to

```yaml
replace: 'Date: {{date}}'
trigger: :year
vars:
	- name: year
	  type: date
	  params:
	    format: "%Y"
```