Skip to main content

A home-made, ultra-janky, Windows XP-themed markdown slideshow viewer.

Project description

Slides XP

A home-made, ultra-janky, Windows XP-themed markdown slideshow viewer.

I plan to rewrite this eventually, but it works well enough for now :)

Screenshots

Title slide. Most of the text is customizable:

A slide that looks like the Windows XP boot screen. The title is Maddy COMP1531 Tutorial XP

Regular slides, generated from a directory of Markdown files:

A slide themed after the Windows XP desktop.

Ending slide, which is also customizable:

A slide that looks like a Windows XP blue screen of death

Installing

pipx install slides-xp

Running

sxp <directories to serve>

Or, without installation, using uv:

uvx slides-xp <directories to serve>

How it works

  • granian as a WSGI server
  • flask to manage the web app
  • pyhtml to construct the HTML
  • htmx for minimal interactivity improvements

Theming

You can use the --theme option to specify the a built-in theme, or a path to a directory containing CSS theme files.

The built-in themes are:

  • default
  • xp

Python-generated slides

Python files that end with .slide.py can be used to generate slides using Python, which is useful for custom themed slides. The file should include a render function that returns a pyhtml tag.

Custom CSS

A theme directory should contain (at least) these files:

  • main.css: main stylesheet. Always loaded.
  • slide.css: stylesheet for slide pages.
  • picker.css: stylesheet for slide picker page.

These stylesheets are mounted at the /theme endpoint.

Within these stylesheets, the following classes can be selected.

  • .highlight: code blocks
  • .slide-content: slide content
  • .picker-box: slide picker
  • .picker-item: slide within slide picker

And the following variables are available:

  • --hl-comment: code block highlighting, comment
  • --hl-doc: code block highlighting, documentation
  • --hl-keyword: code block highlighting, keyword
  • --hl-var: code block highlighting, variable
  • --hl-func: code block highlighting, function
  • --hl-type: code block highlighting, type
  • --hl-string: code block highlighting, string

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

slides_xp-0.1.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slides_xp-0.1.1-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file slides_xp-0.1.1.tar.gz.

File metadata

  • Download URL: slides_xp-0.1.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for slides_xp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 32649666d52a9d1e91474c5fceec7cc1f9b0650ce521452b3699820ff8dfb29d
MD5 fa60006a415d545a880e7b04687c5e99
BLAKE2b-256 60a897406c58e1baeaac20d4e930447c260aa21aa14e208ce65849f252eea115

See more details on using hashes here.

File details

Details for the file slides_xp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: slides_xp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for slides_xp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bf29ea877f9d3dce9b1fc0bde9ddc4492ffe46f483f6cef2486ecd957a0e15e5
MD5 4855962b381c8cce212b52b3cd4daac9
BLAKE2b-256 aa85cd0d68dc386290f23dbd6ac990130b642831436f1e7d5c6979405ea1fd84

See more details on using hashes here.

Supported by

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