Bläddra i källkod

Some auxiliary fixes

master
Roderic Day 5 år sedan
förälder
incheckning
eee3aa81c4
7 ändrade filer med 38 tillägg och 14 borttagningar
  1. +1
    -0
      .gitignore
  2. +0
    -0
      apps/hanabi.css
  3. +4
    -0
      apps/hanabi.js
  4. +12
    -4
      makefile
  5. +17
    -7
      pico.html
  6. +1
    -1
      pico.js
  7. +3
    -2
      pico.py

+ 1
- 0
.gitignore Visa fil

@@ -1,2 +1,3 @@
__pycache__
venv/
libs/

hanabi.css → apps/hanabi.css Visa fil


hanabi.js → apps/hanabi.js Visa fil

@@ -76,6 +76,10 @@ const Hanabi = {
card.ts = +new Date()
Hanabi.sync()
},
ondragenter: (ev) => {
/* needed for drag-drop shim */
ev.preventDefault()
},
ondragover: (ev) => {
ev.preventDefault()
ev.dataTransfer.dropEffect = 'move'

+ 12
- 4
makefile Visa fil

@@ -1,15 +1,15 @@
default: deploy

test: venv/
test: venv/ libs/
venv/bin/python -u test.py

run: venv/
run: venv/ libs/
pkill Python || true
make test
venv/bin/python -u pico.py

deploy:
rsync --archive --exclude-from=.gitignore . root@roderic.ca:/home/pico.chat/
deploy: libs/
rsync --archive --exclude=.git --exclude-from=.gitignore . root@roderic.ca:/home/pico.chat/
ssh root@roderic.ca "cd /home/pico.chat/ && service pico.chat restart"

venv/: requirements.txt
@@ -17,3 +17,11 @@ venv/: requirements.txt
python3 -m venv venv
venv/bin/pip install websockets
touch requirements.txt venv

libs/: requirements.txt
rm -rf libs
mkdir libs
curl -o libs/mithril.min.js https://unpkg.com/mithril@2.0.4/mithril.min.js
curl -o libs/marked.min.js https://unpkg.com/marked@0.8.0/marked.min.js
curl -o libs/purify.min.js https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.0.2/purify.min.js
curl -o libs/mobile-drag-drop.min.js https://unpkg.com/mobile-drag-drop@2.3.0-rc.2/index.min.js

+ 17
- 7
pico.html Visa fil

@@ -1,13 +1,23 @@
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<script src="https://unpkg.com/mithril/mithril.min.js"></script>
<script src="https://unpkg.com/marked/marked.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.0.2/purify.min.js"></script>
<link rel="stylesheet" href="/hanabi.css" />
<script src="/hanabi.js" defer></script>
<script src="/pico.js" defer></script>
<link rel="stylesheet" href="/pico.css" />
<link rel="icon" href="/pico.svg" />

<script src="/libs/mithril.min.js"></script>
<script src="/libs/marked.min.js"></script>
<script src="/libs/purify.min.js"></script>
<script src="/libs/mobile-drag-drop.min.js"></script>

<link rel="stylesheet" href="/apps/hanabi.css" />
<script src="/apps/hanabi.js" defer></script>

<link rel="stylesheet" href="/pico.css" />
<script src="/pico.js" defer></script>

<script>
MobileDragDrop.polyfill({})
addEventListener('touchmove', () => {})
</script>

<body>PicoChat requires JS</body>
</html>

+ 1
- 1
pico.js Visa fil

@@ -411,7 +411,7 @@ const Chat = {
)),
),
/* we could make these into like tabs .... */
m(Media),
// m(Media),
m(Hanabi),
)
},

+ 3
- 2
pico.py Visa fil

@@ -16,9 +16,10 @@ rooms = collections.defaultdict(dict)
class PicoProtocol(websockets.WebSocketServerProtocol):

def serve_file(self, path):
document = Path(__file__, '..', Path(path).name).resolve()
home = Path(__file__).parent
document = home.joinpath(path.lstrip('/'))
if not document.is_file():
document = Path(__file__, '..', 'pico.html').resolve()
document = home.joinpath('pico.html').resolve()

if document.suffix == '.html':
content_type = 'text/html; charset=utf-8'

Laddar…
Avbryt
Spara