summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md18
-rw-r--r--justfile14
2 files changed, 24 insertions, 8 deletions
diff --git a/README.md b/README.md
index 4090a38..b3c861a 100644
--- a/README.md
+++ b/README.md
@@ -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>
```
diff --git a/justfile b/justfile
index d344180..be83f99 100644
--- a/justfile
+++ b/justfile
@@ -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}}