okay

Projekt
Diese Website hier wird mit einem eigenen Tool generiert: okay
Werkzeuge
PyYAML
xml.dom.minidom aus der Python Standard Library
Features
+
  • ☃︎
Umsetzung
Die Webseite wird direkt aus YAML Files gebaut.
Damit bin nah so nah dran am HTML wie nötig, dabei aber so weit weg wie möglich.
Der Parser hält sich an folgende Konzepte:
  • Die Grundstruktur ist eine Liste.
    neues Listenelement == neue Zeile im HTML.
  • Strings werden formatiert, bevor sie weitergereicht werden.
    z.B. gebe ich ein '{brace.encoding}' ein, so kommt ein 'utf-8' zurück.
  • Dictionaries beschreiben HTML Elemente.
    Der Key mit einer Liste als Value beschreibt den Namen und die Unter-Elemente.
    Führende underscores '_' werden aus den Keys gestrichen, um Konflikte mit 'class' und 'id' zu verhindern.
    Alle weiteren Key-Value Pairs sind Attribute des HTML Elements.
  • Weitere Elemente (z.B. 'True', 'False', 'None') werden verworfen.
  • Der Header enthält Basis-Informationen wie Beschreibung, Titel, Datum, Tags, ... der Seite.
Die Notation sieht so aus:
- _div:
  - Meine awesome
  - _a:
    - Webseite
    href: '{url.base}'
  class: example
Das Ergebnis:
<div class="example">
  Meine awesome
  <a href="https://www.der-beweis.de">Webseite</a>
</div>
Was soll der Name?!?
Die Welt ist voll mit Statischen Website-Generatoren.
Leider machen diese nur den Autor dessen glücklich, sonst niemanden.
Nach einer sehr sehr langen Odysee habe ich beschlossen meinen eigenen Generator zu schreiben.
Dieser hat den Namen okay damit er nicht versehentlich öffentlich wird... :)
Wussten Sie schon?!?
brace
author
spky
encoding
utf-8
feed_descr
Allerlei wissenswertes im Newsticker..
feed_title
Atom Feed
generator
okay
generator_version
0.0.0
joiner
|
lang
de
tags_descr
tags, keywords, categories, sections, whatever
tags_title
Tags
title
Der Beweis
check
6ec87c2d4e23c186bec3c57395d8e4635202e4ed
debut
okay
debut_flip
Der Beweis | okay
debut_full
okay | Der Beweis
extra
store
your
data
here
icons
hand_down
☟︎
hand_left
☜︎
hand_right
☞︎
hand_up
☝︎
snowman
☃︎
inner
build/okay
paths
favicon
https://www.der-beweis.de/favicon.ico
feed
https://www.der-beweis.de/feed.xml
logo
https://www.der-beweis.de/logo.png
stylesheet
https://www.der-beweis.de/style.css
tags
https://www.der-beweis.de/tags.html
touchicon
https://www.der-beweis.de/apple-touch-icon.png
touchicon_precomposed
https://www.der-beweis.de/apple-touch-icon-precomposed.png
url
base
https://www.der-beweis.de
bname
index.html
ext
.html
full
https://www.der-beweis.de/build/okay/index.html
inner
https://www.der-beweis.de/build/okay
is_file
True
name
index
tail
build/okay/index.html
visit
amazon
http://www.amazon.de/gp/registry/3FEWRFXTD9OYU
bitbucket
http://bitbucket.com/spky
flickr
http://www.flickr.com/photos/friidis
github
https://github.com/spookey
hsrm
http://www.cs.hs-rm.de/~fgrie001
instacodes
http://instacod.es/user/spookey
instagram
http://instagram.com/f_ettsack
lastfm
http://www.last.fm/user/friidis
pinboard
https://pinboard.in/u:spky
soup
http://sixtus.soup.io
stackoverflow
http://stackoverflow.com/users/2064185/spky
travis
https://travis-ci.org/spookey
tumblr
http://woitech-hightech.tumblr.com
twitter
http://twitter.com/spookey
vimeo
https://vimeo.com/spky
version 0.0.0
Erstellt
30.06.2016 - 17:22:41
Editiert
21.11.2016 - 13:37:42
Tags
Projekt