# representty
`representty` is a tiny presentation framework. TL;DR: You write your slides in
Markdown, `rich` renders individual slides, and the whole thing happens in an
IPython shell.
[![asciicast](https://asciinema.org/a/584388.svg)](https://asciinema.org/a/584388)
## File Format
A slide deck is mostly a Markdown file. Individual slides are seperated by a
bunch of equals signs.
Additionally, you can start a line with:
- `//`: comment; the line is ignored (unless the environment variable
`PRACTICE` is set).
- `!`: special instruction. The line is not included in the output, but can do
a variety of things:
- `!!some command`: execute the command with `os.system()` the first time
this slide is visited.
- `!import somemodule`: silently import the given module.
- `!set flag`/`!unset flag`: set/unset a named flag. These can influence
`representty` behaviour. See [flags](#flags).
- `!setlocal flag`/`!unsetlocal flag`: (un)set a flag, but reset to
original value at the end of the slide.
- `!image someimage`: Display an image. This only works if you have
`viu` installed.
- `!up some_int`: Move the cursor up by some amount. Useful for drawing
over images.
- `!printf something`: Call `printf` with the given args. Better than
plain `!!printf`, because it will be executed every time the slide is
displayed by default.
Python code blocks (language starts with `py`) are not just rendered, but also
executed.
## Commands
The presenter is dropped into a more-or-less normal IPython shell. A few
single-letter commands exist which control the slide show:
- `d`: (Re)draw the current slide.
- `n`: Go to the next slide.
- `p`: Go to the previous slide.
- `q`: Quit.
- `g`: Go to a numbered slide (you will be prompted for a slide number).
- `s`: Go to a slide by searching for a keyword (you will be prompted).
## Flags
- `exec`: whether to execute Python code in code blocks. Default: set.
- `alwaysexec`: Always execute shell commands (`!!`), rather than just at the
first printing of the slide. Default: unset.
Raw data
{
"_id": null,
"home_page": "https://github.com/L3viathan/representty",
"name": "representty",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "presentation",
"author": "L3viathan",
"author_email": "git@l3vi.de",
"download_url": "https://files.pythonhosted.org/packages/bc/b0/c53b02a71547507cf50a93e5e6548d4b503197add405ff234ce4070c64b6/representty-0.1.5.tar.gz",
"platform": null,
"description": "# representty\n\n`representty` is a tiny presentation framework. TL;DR: You write your slides in\nMarkdown, `rich` renders individual slides, and the whole thing happens in an\nIPython shell.\n\n[![asciicast](https://asciinema.org/a/584388.svg)](https://asciinema.org/a/584388)\n\n## File Format\n\nA slide deck is mostly a Markdown file. Individual slides are seperated by a\nbunch of equals signs.\n\nAdditionally, you can start a line with:\n\n- `//`: comment; the line is ignored (unless the environment variable\n `PRACTICE` is set).\n- `!`: special instruction. The line is not included in the output, but can do\n a variety of things:\n - `!!some command`: execute the command with `os.system()` the first time\n this slide is visited.\n - `!import somemodule`: silently import the given module.\n - `!set flag`/`!unset flag`: set/unset a named flag. These can influence\n `representty` behaviour. See [flags](#flags).\n - `!setlocal flag`/`!unsetlocal flag`: (un)set a flag, but reset to\n original value at the end of the slide.\n - `!image someimage`: Display an image. This only works if you have\n `viu` installed.\n - `!up some_int`: Move the cursor up by some amount. Useful for drawing\n over images.\n - `!printf something`: Call `printf` with the given args. Better than\n plain `!!printf`, because it will be executed every time the slide is\n displayed by default.\n\nPython code blocks (language starts with `py`) are not just rendered, but also\nexecuted.\n\n## Commands\n\nThe presenter is dropped into a more-or-less normal IPython shell. A few\nsingle-letter commands exist which control the slide show:\n\n- `d`: (Re)draw the current slide.\n- `n`: Go to the next slide.\n- `p`: Go to the previous slide.\n- `q`: Quit.\n- `g`: Go to a numbered slide (you will be prompted for a slide number).\n- `s`: Go to a slide by searching for a keyword (you will be prompted).\n\n## Flags\n\n- `exec`: whether to execute Python code in code blocks. Default: set.\n- `alwaysexec`: Always execute shell commands (`!!`), rather than just at the\n first printing of the slide. Default: unset.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tiny presentation tool based on rich and markdown",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/L3viathan/representty",
"Repository": "https://github.com/L3viathan/representty"
},
"split_keywords": [
"presentation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d8088dba90ddadcc4d702f7ef5a423ab85b661a1359005cadf6d9906591a5a62",
"md5": "7c362a546d6560967ce06acfa2a67519",
"sha256": "0ba80f6a23187a2ea06ed714a260c94ec27d5f5d482e284cca2da7ff36068d89"
},
"downloads": -1,
"filename": "representty-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7c362a546d6560967ce06acfa2a67519",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 3878,
"upload_time": "2024-03-31T14:44:22",
"upload_time_iso_8601": "2024-03-31T14:44:22.783032Z",
"url": "https://files.pythonhosted.org/packages/d8/08/8dba90ddadcc4d702f7ef5a423ab85b661a1359005cadf6d9906591a5a62/representty-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bcb0c53b02a71547507cf50a93e5e6548d4b503197add405ff234ce4070c64b6",
"md5": "95a798a83952740deb5b4b2ebb3ff304",
"sha256": "ce316b5008f4f0ba07ad9b522ffa3226c47d2d4dd97000aa118f42ffc6d05450"
},
"downloads": -1,
"filename": "representty-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "95a798a83952740deb5b4b2ebb3ff304",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 3935,
"upload_time": "2024-03-31T14:44:24",
"upload_time_iso_8601": "2024-03-31T14:44:24.386328Z",
"url": "https://files.pythonhosted.org/packages/bc/b0/c53b02a71547507cf50a93e5e6548d4b503197add405ff234ce4070c64b6/representty-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-31 14:44:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "L3viathan",
"github_project": "representty",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "representty"
}