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
-
✔︎
- generiert Webseiten
- generiert einen Atom Feed
- generiert eine Seite mit Tags
-
✘︎
- ☃︎
- 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.DerFührende underscoresKey
mit einer Liste alsValue
beschreibt den Namen und die darunter liegendenHTML
Elemente.'_'
werden aus denKeys
gestrichen, um z.B. Konflikte mit'class'
und'id'
zu verhindern.Alle weiterenKey-Value Pairs
sind Attribute desHTML
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