From 39441ecc018a01d0de5ab63a57eb5a37a1133bc9 Mon Sep 17 00:00:00 2001 From: Tomek Dubrownik Date: Sun, 27 Jan 2013 04:23:25 +0100 Subject: [PATCH] initial, wip --- main.cfg.dist | 8 ++++ main.py | 30 ++++++++++++ static/main.css | 93 ++++++++++++++++++++++++++++++++++++++ templates/about.html | 31 +++++++++++++ templates/basic.html | 62 +++++++++++++++++++++++++ templates/header.html | 11 +++++ templates/main.html | 71 +++++++++++++++++++++++++++++ templates/rotimage_at.html | 6 +++ 8 files changed, 312 insertions(+) create mode 100644 main.cfg.dist create mode 100644 main.py create mode 100644 static/main.css create mode 100644 templates/about.html create mode 100644 templates/basic.html create mode 100644 templates/header.html create mode 100644 templates/main.html create mode 100644 templates/rotimage_at.html diff --git a/main.cfg.dist b/main.cfg.dist new file mode 100644 index 0000000..cfe04f4 --- /dev/null +++ b/main.cfg.dist @@ -0,0 +1,8 @@ +DATE_FORMAT = '%d-%m-%Y' + +FEEDS = [ + ('redmine', 'https://redmine.hackerspace.pl/news.atom'), + ('blog', 'https://blog.hackerspace.pl/feed/atom/'), +] + +MAX_ENTRIES = 10 diff --git a/main.py b/main.py new file mode 100644 index 0000000..684a583 --- /dev/null +++ b/main.py @@ -0,0 +1,30 @@ +import feedparser +from flask import Flask, render_template +from time import mktime +from datetime import datetime + +app = Flask('main') +app.config.from_pyfile('main.cfg') + +def pull_feed_entries(): + all_entries = [] + for tag, url in app.config['FEEDS']: + entries = feedparser.parse(url).entries + for e in entries: + e.tag = tag + dt = datetime.fromtimestamp(mktime(e.updated_parsed)) + e.updated_display = dt.strftime(app.config['DATE_FORMAT']) + all_entries.extend(entries) + all_entries.sort(key=lambda e: e.updated_parsed, reverse=True) + return all_entries[:app.config['MAX_ENTRIES']] + +@app.route('/') +def main(): + return render_template('main.html', entries=pull_feed_entries()) + +@app.route('/about') +def about(): + return render_template('about.html') + +if __name__ == '__main__': + app.run('0.0.0.0', 8080, debug=True) diff --git a/static/main.css b/static/main.css new file mode 100644 index 0000000..3d6004c --- /dev/null +++ b/static/main.css @@ -0,0 +1,93 @@ +a.news-title { + text-decoration: none; + color: #222 +} + +#hs_content .news h3 { + padding-left: 90px; +} + +.news .date:before { + font-size: 14px; + font-weight: bold; + display: block; + font-family: 'Titillium Web', sans; + color: #eee; + border-radius: 5px; + margin: 8px 0 5px 5px; + padding: 0 0 2px 0; + vertical-align: middle; + text-align: center; + width: 80px; + margin-right: 0.5em; +} +.news .redmine .date:before { + content: "redmine"; + background: #c3352b; +} + +.news .blog .date:before { + content: "blog"; + background: #21a; +} + +ul.news { + list-style: none; + padding: 0; +} + +ul.news li { + border-bottom: 2px groove #fff; + padding-top: 8px; + padding-right: 16px; +} + +#hs_content .news li { + margin: 0; +} + +#about { + border-bottom: 2px groove #fff; + padding: 5px; +} + +span.date { + font-weight: bold; + display: block; + width: 90px; + text-align: center; + float: left; +} + +span.author { + text-decoration: italic; +} + +#left { + margin-right: 310px; + border-right: 2px groove #fff; +} + +#right { + width: 310px; + float: right; +} + +.clear { + clear: both; + display: block; + text-align: center; +} + +.moar { + font-family: "Titillium Web", sans; + font-weight: bold; +// background: url("/static/cutcube.png"); + background-color: #fd6; +// background-color: #2c702a; + color: #222; + padding: 4px; + border-radius: 5px; + text-align: center; + display: block; +} diff --git a/templates/about.html b/templates/about.html new file mode 100644 index 0000000..161d8bc --- /dev/null +++ b/templates/about.html @@ -0,0 +1,31 @@ +{% extends 'basic.html' %} +{% block title %}O Hackerspace Warszawa{% endblock %} +{% block content %} +

O Hackerspace Warszawa

+

+ Hackerspace to przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja + ogólno pojętym tworzeniem w duchu kultury hackerskiej. Przestrzeń stymuluje rozwój projektów, organizując i + użyczając potrzebnych narzędzi. Hackerspace nie zna barier, jeśli masz ciekawy pomysł i szukasz ludzi + chętnych do współpracy lub po prostu potrzebujesz miejsca i sprzętu - zapraszamy! +

+

+ Jeżeli chcesz się do nas przyłączyć, przeczytaj dokładniejsze informacje o naszych celach i zapisz się + na jedną z naszych list mailingowych. Spotykamy się we wtorki o 22 drugiej na kanale IRC #hackerspace-pl + (irc.freenode.net) oraz w czwartki na żywo. +

+

Cele

+ +

Lokalizacja

+

+ Warszawski Hackerspace znajduje się w budynku ITR, w piwnicy. Sam ITR mieści się na ulicy Długiej 44, tuż obok Metra Ratusz-Arsenał. +

+
+{% endblock %} diff --git a/templates/basic.html b/templates/basic.html new file mode 100644 index 0000000..d1cb28e --- /dev/null +++ b/templates/basic.html @@ -0,0 +1,62 @@ + + + + + + + {% block head %} + + + {% block title %}{% endblock %} + + {% block checkinator_script %} + + {% endblock %} + {% block page_scripts %} + {% endblock %} + {% block basic_style %} + + + + + + + + {% endblock %} + {% block page_style %} + {% endblock %} + {% endblock %} + + + {% block body %} + + {% block header %} + {% include 'header.html' %} + {% endblock %} +
+ {% block main %} +
+ {% block rotimage %} + {% include 'rotimage_at.html' %} + {% block rotimage_login %} + + {% endblock %} + {% endblock %} +
+ {% endblock %} +
+ {% block content %} + {% endblock %} +
+
+ {% block footer %} + {% endblock %} + {% endblock %} + + diff --git a/templates/header.html b/templates/header.html new file mode 100644 index 0000000..9604bcf --- /dev/null +++ b/templates/header.html @@ -0,0 +1,11 @@ +
+ Warsaw Hackerspace + +
diff --git a/templates/main.html b/templates/main.html new file mode 100644 index 0000000..0462789 --- /dev/null +++ b/templates/main.html @@ -0,0 +1,71 @@ +{% extends 'basic.html' %} +{% block page_scripts %} + +{% endblock %} +{% block page_style %} + +{% endblock %} +{% block title %}Hackerspace Warszawa - strona główna{% endblock %} +{% block content %} + +
+
+

Co to Hackerspace?

+

+ Hackerspace to przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja + ogólno pojętym tworzeniem w duchu kultury + hackerskiej. Przestrzeń stymuluje rozwój projektów, organizując i użyczając potrzebnych narzędzi. + Hackerspace nie zna barier, jeśli masz ciekawy pomysł i szukasz ludzi chętnych do współpracy lub po + prostu potrzebujesz miejsca i sprzętu - zapraszamy! +

+ Gdzie jesteśmy? Jak do nas dołączyć? Dowiedz się więcej! +
+

Nowości

+ +
+ ↑ Powrót na górę ↑ +{% endblock %} diff --git a/templates/rotimage_at.html b/templates/rotimage_at.html new file mode 100644 index 0000000..dc2bf2b --- /dev/null +++ b/templates/rotimage_at.html @@ -0,0 +1,6 @@ +