diff --git a/Brdtxt dbl.rtf b/Brdtxt dbl.rtf new file mode 100644 index 0000000..00d8e05 --- /dev/null +++ b/Brdtxt dbl.rtf @@ -0,0 +1,55 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf810 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww50620\viewh27080\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 + +\f0\fs24 \cf0 V\'e4lkommen till Design by Lov\'e9n! H\'e4r hittar du unika och sk\'f6na kl\'e4der f\'f6r barn upp till tv\'e5 \'e5r. Allt sys av mig, Anneli, i min atelj\'e9 i R\'f6deby. \ +\ +Visningsexemplar sys i samma storlek som en av mina flickor (fn st62 och st86). \'d6vriga storlekar tillverkas efter best\'e4llning f\'f6r att kunna h\'e5lla nere priserna. Nya modeller tillkommer l\'f6pande. \ +\ +Samtliga kl\'e4dtyger har tv\'e4ttats parfymfritt, utan sk\'f6ljmedel, innan s\'f6mnad. \ +(Obs! G\'e4ller ej f\'f6rkl\'e4den.)\ +\ +Nystartserbjudande! K\'f6p v\'e5r fina Superman-body f\'f6r bara 200kr (ord pris 250kr) om du best\'e4ller innan p\'e5sk. Bodyn sys i st 62-80 med rosa, bl\'e5 eller beige bas.\ +\ +Vi finns \'e4ven p\'e5 FaceBook, gilla f\'f6r att f\'e5 uppdateringar i din telefon eller surfplatta!\ +\ +________\ +Superman-body 250kr\ +Visst \'e4r varje barn en liten superhj\'e4lte?! \ +Denna kuvertbody sys i st62-80 med rosa, bl\'e5 eller beige bas. Samtliga varianter har vitt tryck och vita kantband. \'c4rmarna avslutas med sm\'e5 kontrasterande dekors\'f6mmar vid handleden. \ +\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 +\cf0 ________\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 +\cf0 Kuvertbody med dekors\'f6mmar p\'e5 br\'f6stet 230kr\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 +\cf0 Denna body sys i st62-80 med rosa, bl\'e5, gr\'f6n eller beige bas. Samtliga varianter har vita kantband. Dekors\'f6mmarna bryter vackert av mot basf\'e4rgen. \'c4rmarna avslutas med matchande dekors\'f6m vid handleden. \ +________\ +F\'f6rkl\'e4de 150kr\ +Finns det n\'e5t mer bed\'e5rande \'e4n barn som hj\'e4lper till i k\'f6ket?\ +Dessa f\'f6rkl\'e4den passar barn i \'e5lder 1-3 \'e5r (ca 74-104cm) och sys av l\'e4ttsk\'f6tt och vattenavvisande CTC-duk, kantad med snedsl\'e5 i bomull. \ +\ +________\ +Balaclava 200kr\ +Perfekt under hj\'e4lmen, oavsett om ni ska \'e5ka pulka, skoter eller ut och cykla. Superbra \'e4ven f\'f6r de minsta innanf\'f6r overallens luva. Sys i enkelstorlekar f\'f6r huvudomf\'e5ng 38-50cm.\ +\ +________\ +Set med m\'f6ssa, vantar och dregglis f\'f6r de minsta 300kr\ +Matchat set i trik\'e5 som kan anv\'e4ndas l\'e4nge. \ +\ +M\'f6ssan sys med eller utan foder efter s\'e4song/\'f6nskem\'e5l. M\'f6ssans innerdiameter \'e4r ca 40cm (motsvarar ca st62 i kl\'e4der), stretchen i tyget g\'f6r att den passar bra upp till huvudstorlek 44-45cm (motsv ca st74). \ +\ +Vantarna \'e4r fodrade, handledsdiameter ca 10cm n\'e4r tyget \'e4r \'94i vila\'94.\ +\ +Dregglis i dubbel trik\'e5 med tv\'e5 l\'e4gen f\'f6r tryckknappen, s\'e5 den passar fr\'e5n nyf\'f6dd till ca st74.\ +\ +Setet kan \'e4ven sys f\'f6r st\'f6rre/mindre storlekar, efter \'f6nskem\'e5l vid best\'e4llning. \ +Samtliga delar kan dessutom best\'e4llas separat.\ +\ +M\'e5ttbest\'e4llt set 350kr\ +M\'f6ssa 150kr\ +Vantar 100kr\ +Dregglis 90kr} \ No newline at end of file diff --git a/designbyloven.py b/designbyloven.py index f1fa63f..11ed7d6 100755 --- a/designbyloven.py +++ b/designbyloven.py @@ -1,17 +1,105 @@ #!/usr/bin/env python3 -from flask import Flask, render_template, url_for, send_from_directory +from flask import Flask, render_template, url_for, send_from_directory, abort, jsonify +from flask_bootstrap import Bootstrap +from flaskext.markdown import Markdown +from PIL import Image, ImageOps + +import os +import random app = Flask(__name__) +Bootstrap(app) +Markdown(app) + +pages = 'sidor/' + +categories = [] +photos = [] +for x in os.walk(pages): + if not 'presentation.md' in x[2]: + continue + cat = x[0].split('/')[-1] + categories.append(cat) + num = len([x for x in x[2] if x.endswith(('.jpg','.JPG'))]) + for i in range(num): + photos.append({'category': cat, 'num': i}) + +@app.route('/randimg') +def randimg(): + img = random.choice(photos) + return jsonify(img) + +def genimg(imgin, imgout, size): + img = Image.open(imgin) + img.thumbnail(size) + hpad = int((size[0]-img.size[0])/2) + vpad = int((size[1]-img.size[1])/2) + thumb = Image.new(mode='RGBA', size=size, color=(255,255,255,0)) + thumb.paste(img, (hpad, vpad)) + thumb.save(imgout) + +@app.route('/thumbnails//') +@app.route('/thumbnails//') +def thumbnails(category, num=0): + catdir = pages + '/' + category + thumbdir = catdir + '/thumbnails' + if not os.path.isfile('%s/%d.jpg' % (thumbdir, num)): + images = [x for x in next(os.walk(catdir))[2] if x.endswith('.jpg')] + if not os.path.exists(thumbdir): + os.makedirs(thumbdir) + imgin = '%s/%s' % (catdir, images[num]) + imgout = '%s/%d.jpg' % (thumbdir, num) + genimg(imgin, imgout, (171,180)) + + return send_from_directory(thumbdir, filename="%d.jpg" % (num)) +@app.route('/slides//') +def slides(category, num=0): + catdir = pages + '/' + category + thumbdir = catdir + '/slides' + if not os.path.isfile('%s/%d.jpg' % (thumbdir, num)): + images = [x for x in next(os.walk(catdir))[2] if x.endswith('.jpg')] + imgin = '%s/%s' % (catdir, images[num]) + imgout = '%s/%d.jpg' % (thumbdir, num) + if not os.path.exists(thumbdir): + os.makedirs(thumbdir) + genimg(imgin, imgout, (550,400)) + + return send_from_directory(thumbdir, filename="%d.jpg" % (num)) + +@app.route('//.jpg') +def cat_photo(category, num): + directory = pages + '/' + category + images = [x for x in next(os.walk(directory))[2] if x.endswith('.jpg')] + try: + return send_from_directory(directory, images[num]); + except IndexError: + abort(404) + +@app.route('//') +def category(category): + directory = pages + '/' + category + try: + with open(directory + '/presentation.md') as f: + presentation = ''.join(f.readlines()) + except FileNotFoundError: + presentation = '' + images = len([x for x in next(os.walk(directory))[2] if x.endswith('.jpg')]) + + + return render_template('category.html', presentation=presentation, categories=categories, category=category, images=images) + @app.route('/') -def hello_world(): - return render_template('splash.html') +def index(): + with open(pages + 'startsida.md') as f: + presentation = ''.join(f.readlines()) + return render_template('index.html', presentation=presentation, categories=categories, img1=random.choice(photos), img2=random.choice(photos)) @app.route('/favicon.ico') def favicon(): - return send_from_directory('static', 'favicon.ico') + return send_from_directory('static', filename='favicon.ico') if __name__ == '__main__': - app.run(debug=True) + app.run(host='0.0.0.0', debug=True) diff --git a/requirements.txt b/requirements.txt index bfc3f69..b185950 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,17 @@ +appdirs==1.4.3 click==6.7 +dominate==2.3.1 Flask==0.12 +Flask-Bootstrap==3.3.7.1 +Flask-Markdown==0.3 itsdangerous==0.24 Jinja2==2.9.4 +Markdown==2.6.8 MarkupSafe==0.23 +olefile==0.44 +packaging==16.8 +Pillow==4.0.0 +pyparsing==2.2.0 +six==1.10.0 +visitor==0.1.3 Werkzeug==0.11.15 diff --git a/sidor/Balaclava/Grey melange.jpg b/sidor/Balaclava/Grey melange.jpg new file mode 100644 index 0000000..d770a89 Binary files /dev/null and b/sidor/Balaclava/Grey melange.jpg differ diff --git a/sidor/Balaclava/chockrosa.jpg b/sidor/Balaclava/chockrosa.jpg new file mode 100644 index 0000000..c22d273 Binary files /dev/null and b/sidor/Balaclava/chockrosa.jpg differ diff --git a/sidor/Balaclava/dark grey.jpg b/sidor/Balaclava/dark grey.jpg new file mode 100644 index 0000000..c03e5b5 Binary files /dev/null and b/sidor/Balaclava/dark grey.jpg differ diff --git a/sidor/Balaclava/feathers1.jpg b/sidor/Balaclava/feathers1.jpg new file mode 100644 index 0000000..43b43bc Binary files /dev/null and b/sidor/Balaclava/feathers1.jpg differ diff --git a/sidor/Balaclava/feathers2.jpg b/sidor/Balaclava/feathers2.jpg new file mode 100644 index 0000000..2856626 Binary files /dev/null and b/sidor/Balaclava/feathers2.jpg differ diff --git a/sidor/Balaclava/presentation.md b/sidor/Balaclava/presentation.md new file mode 100644 index 0000000..041c870 --- /dev/null +++ b/sidor/Balaclava/presentation.md @@ -0,0 +1,7 @@ +##Balaclava + +Perfekt under hjälmen, oavsett om ni ska åka pulka, skoter eller ut och cykla. Superbra även för de minsta innanför overallens luva. Sys i enkelstorlekar för huvudomfång 38-50cm. + +Samtliga visningsexemplar har storlek 48. + +##200 kr diff --git a/sidor/Förkläde/17342837_1352857794753686_3742040460051686796_n.jpg b/sidor/Förkläde/17342837_1352857794753686_3742040460051686796_n.jpg new file mode 100644 index 0000000..9a1aec5 Binary files /dev/null and b/sidor/Förkläde/17342837_1352857794753686_3742040460051686796_n.jpg differ diff --git a/sidor/Förkläde/presentation.md b/sidor/Förkläde/presentation.md new file mode 100644 index 0000000..d31216b --- /dev/null +++ b/sidor/Förkläde/presentation.md @@ -0,0 +1,7 @@ +##Förkläde + +Visst är det trevligt att få hjälp i köket? + +Dessa förkläden passar barn i ålder 1-3 år (ca 74-104 cm) och sys av lättskött vattenavvisande CTC-duk, kantad med snedslå i bomull. + +###150kr diff --git a/sidor/Förkläde/thumbnail.jpg b/sidor/Förkläde/thumbnail.jpg new file mode 100644 index 0000000..546a661 Binary files /dev/null and b/sidor/Förkläde/thumbnail.jpg differ diff --git a/sidor/Kuvertbody/2striped body.jpg b/sidor/Kuvertbody/2striped body.jpg new file mode 100644 index 0000000..8c0bcfe Binary files /dev/null and b/sidor/Kuvertbody/2striped body.jpg differ diff --git a/sidor/Kuvertbody/presentation.md b/sidor/Kuvertbody/presentation.md new file mode 100644 index 0000000..2644ca8 --- /dev/null +++ b/sidor/Kuvertbody/presentation.md @@ -0,0 +1,5 @@ +##Kuvertbody + +Denna kuvertbody sys i st62-80 med rosa, blå, grön eller beige bas. Samtliga varianter har vita kantband. Ärmarna avslutas med kontrasterande dekorsömmar vid handleden. + +###230kr diff --git a/sidor/Nyfödd-kit/presentation.md b/sidor/Nyfödd-kit/presentation.md new file mode 100644 index 0000000..9694667 --- /dev/null +++ b/sidor/Nyfödd-kit/presentation.md @@ -0,0 +1,21 @@ + +##Mössa, vantar och dregglis + +Set i trikå som kan användas länge, från nyfödd till ungefär st74. + +Mössan sys med eller utan foder efter säsong/önskemål. Mössans innerdiameter är 40 cm (motsvarar st62 i kläder), stretchen i tyget gör att den passar bra upp till huvudstorlek 44-45 cm (motsv st74). + +Vantarna är fodrade, handledsdiameter ca 10 cm när tyget är "i vila". + +Dregglis i dubbel trikå med två lägen för tryckknappen. + +###300kr + + +Setet kan även sys för större/mindre storlekar, efter önskemål vid beställning. +Samtliga delar kan beställas separat. + +- Måttbeställt set **320kr** +- Mössa **150kr** +- Vantar **100kr** +- Dregglis **90kr** diff --git a/sidor/Nyfödd-kit/thumbnail.jpg b/sidor/Nyfödd-kit/thumbnail.jpg new file mode 100644 index 0000000..366a7c5 Binary files /dev/null and b/sidor/Nyfödd-kit/thumbnail.jpg differ diff --git a/sidor/Supermanbody/1Superman.jpg b/sidor/Supermanbody/1Superman.jpg new file mode 100644 index 0000000..f4d9f7d Binary files /dev/null and b/sidor/Supermanbody/1Superman.jpg differ diff --git a/sidor/Supermanbody/presentation.md b/sidor/Supermanbody/presentation.md new file mode 100644 index 0000000..8fe0c0a --- /dev/null +++ b/sidor/Supermanbody/presentation.md @@ -0,0 +1,7 @@ +##Supermanbody + +Visst är varje barn en liten superhjälte? + +Denna kuvertbody sys i st62-80 med rosa, blå eller beige bas. Samtliga varianter har vitt tryck och vita kantband. Ärmarna avslutas med kontrasterande dekorsömmar vid handleden. + +###250kr diff --git a/sidor/startaom.sh.command b/sidor/startaom.sh.command new file mode 100755 index 0000000..262db3e --- /dev/null +++ b/sidor/startaom.sh.command @@ -0,0 +1,7 @@ +#!/bin/bash + +rm -r /Users/thomas/code/designbyloven/sidor/**/slides +rm -r /Users/thomas/code/designbyloven/sidor/**/thumbnails +touch /Users/thomas/code/designbyloven/designbyloven.py + +exit 0 diff --git a/sidor/startsida.md b/sidor/startsida.md new file mode 100644 index 0000000..000de0a --- /dev/null +++ b/sidor/startsida.md @@ -0,0 +1,12 @@ +###Välkommen till Design by Lovén! + +Här hittar du unika kläder för aktiva barn. Allt sys av mig, Anneli, i min ateljé i Rödeby. + +Visningsexemplar sys i samma storlek som en av mina flickor (fn st62 och st86). Övriga storlekar tillverkas efter beställning för att kunna hålla nere priserna. Nya modeller tillkommer löpande. + +Samtliga tyger har tvättats parfymfritt, utan sköljmedel, innan sömnad. +(Obs! Gäller ej förkläden.) + +**Nystartserbjudande!** Köp vår fina [Supermanbody](/Supermanbody/) för bara 200 kr (ord pris 250kr) om du beställer innan påsk. Bodyn sys i st 62-80 med rosa, blå eller beige bas. + +Vi finns även på FaceBook, gilla för att få uppdateringar i din telefon eller surfplatta! diff --git a/static/.DS_Store b/static/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/static/.DS_Store and /dev/null differ diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..f4594b3 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,30 @@ +{% extends "bootstrap/base.html" %} +{% block title %} -- Design by Lovén -- {% endblock %} +{% block styles %} +{{super()}} + +{% endblock %} + +{% block navbar %} + +{% endblock %} diff --git a/templates/category.html b/templates/category.html new file mode 100644 index 0000000..782c02a --- /dev/null +++ b/templates/category.html @@ -0,0 +1,108 @@ + +{% extends "base.html" %} +{% block styles %} +{{super()}} + + + +{% endblock %} +{% block content %} + +
+ +
+ + +
+
+ + + +
+ {{ presentation | markdown }} +
+ +
+
+
+
+
    + {% for i in range(images) %} +
  • + + + +
  • + {% endfor %} +
+
+
+
+ +
+ + + +{% endblock %} + +{% block scripts %} +{{super()}} + +{% endblock %} diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..40c006c --- /dev/null +++ b/templates/index.html @@ -0,0 +1,60 @@ +{% extends "base.html" %} +{% block content %} + +
+ +
+
+ + {{presentation|markdown}} +
+ +
+ + + + +
+ + + +{% endblock %} + +{% block scripts %} +{{super()}} + + + +{% endblock %}