okay

Projekt
Diese Website hier ist statisch und wird mit einem eigenen Tool generiert. Es hat den schönen Namen okay
Werkzeuge
PyYAML
xml.dom.minidom aus der Python Standard Library
Features
✔︎
✘︎
  • ☃︎
Umsetzung
Die Webseite wird direkt aus YAML Files gebaut.
Damit bin 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.
    Damit ist es möglich Variablen einzuschleusen:
    z.B. steht im Quelltext ein '{brace.encoding}' so wird daraus 'utf-8'
  • Dictionaries beschreiben HTML Elemente.
    Der Key mit einer Liste als Value beschreibt den Namen und die darunter liegenden HTML Elemente.
    Führende underscores '_' werden aus den Keys gestrichen, um z.B. 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 oder sogar erfolgreich 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
a50b6f8fda789dcd809370b2e3dd97609129650b514772c9215ea2fea91217807b1dcb073f2c289231de9b4d56cd941ab2c39b18f5f964bb2be9095895633cd7
debut
okay
debut_flip
Der Beweis | okay
debut_full
okay | Der Beweis
descr
version 0.0.0
extra
store
your
data
here
icons
cloud
☁︎
hand_down
☟︎
hand_left
☜︎
hand_right
☞︎
hand_up
☝︎
hand_victory
✌︎
heavy_ballot
✘︎
heavy_check
✔︎
note_eighth
♪︎
note_eighth_beamed
♫︎
note_quarter
♩︎
shamrock
☘︎
snowman
☃︎
umbrella
☂︎
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
bitbucket
http://bitbucket.com/spky
flickr
http://www.flickr.com/photos/friidis
github
https://github.com/spookey
gitlab
https://gitlab.com/spookey
lastfm
http://www.last.fm/user/friidis
mastodon
https://chaos.social/@spky
pinboard
https://pinboard.in/u:spky
stackoverflow
http://stackoverflow.com/users/2064185/spky
tumblr
http://woitech-hightech.tumblr.com
vimeo
https://vimeo.com/spky
version 0.0.0
Erstellt
30.06.2016 - 17:22:41
Editiert
24.02.2019 - 17:31:49
Tags
Projekt
Python