diff options
| -rw-r--r-- | README.md | 18 | ||||
| -rw-r--r-- | justfile | 14 |
2 files changed, 24 insertions, 8 deletions
@@ -4,9 +4,19 @@ - just (да, мне понравилось) - Python 3 -- UNIX Shell (вендузятники простите) - Желательно, браузер с поддержкой Javascript +## Как установить just? + +Программа достаточно новая, поэтому её может не быть в репозитории. Если она +есть, то пакет, скорее всего так и называется. Если пакета всё же нет, или ты +вендузятник, то можно скачать последний релиз: +- https://github.com/casey/just/releases + +Так как прога на расте, то бинарник у неё один и его можно положить куда угодно. + +Для эстетов: `cargo install just`. + ## Куда класть презентации? В директорию `presentations`. @@ -20,17 +30,17 @@ Запускаем команду ```shell -just serve <name> +just serve <path to markdown> ``` Запустится встроенный в python http сервер. Если порт 8000 уже занят можно ```shell -just serve <name> <port> +just serve <path to markdown> <port> ``` При этом автоматически сформируется `index.html`. Если нужно получить только его, без запуска сервера (например, чтобы захостить на другом сервере), используем ```shell -just format <name> +just format <path to markdown> ``` @@ -1,7 +1,13 @@ -format $filename: - #!/bin/sh - title=`sed -n 's/^# \(.*\)/\1/p' $filename | head -n1` - printf "$(< template.html)\n" "$title" "$filename" > index.html +format filename: + #!/usr/bin/env python3 + import re + with open("{{filename}}") as f: + m = re.search("^# (.*)", f.read()) + title = "Презентация" if m is None else m.group(1) + with open("template.html") as f: + template = f.read() + with open("index.html", "w") as f: + f.write(template % (title, "{{filename}}")) serve filename port="8000": (format filename) python3 -m http.server {{port}} |