# Tk-Weavy README
### About
Tk-Weavy ist ein Fork des [Weavy](https://www.cleeus.de/w/projects/weavy/index.html)-Projektes von Kai Dietrich. `tk_weavy.py` nimmt eine Seitenbeschreibung in Markdown oder in HTML und erstellt daraus eine Web-Seite oder einen Blog.
* * *
### Screenshot
![](./tk_weavy.png)
* * *
### Tk-Weavy HowTo
1. Unter `Title` wird der Titel des Webseitenprojektes eingetragen.
2. Unter `Source-Dir` **muss** der Unterordner eingestellt werden, der die Markdown- oder HTML-Dateien enthält. Sinnvoll ist eine Verbindung im Namen des Unterordners zu `pages` oder `project`.
3. Im Unterordner `Source-Dir` wird der Inhalt erstellt. Dabei gilt: Pro Ordner eine Datei, der **Ordnername** gibt später den **Menüpunkt**. Der Dateiname ist fix, das gilt auch für die Extension (!):
* **Markdown**: **`index.markdown`** oder **`index.md`**
* **HTML**: **`index.html`** → nur den `body`, also ohne `head`!
* **Hinweis:** Weitere Dateien in einem Ordner sind möglich, müssen aber explizit verlinkt werden, da sie sonst nicht erreichbar sind!
4. Änderungen der «Optik» entweder über die Templates (→ Unterordner `./template`) oder über das Stylesheet. Als CSS-Framework verwendet Tk-Weavy [Bootstrap](http://getbootstrap.com/).
5. jQuery wird benötigt für dynamische Effekte in Bootstrap wie beispielsweise das Accordion Widget. Über die Variable `jQuery` kann das JavaScript-Framwork eingebunden werden.
6. Unterordner lassen sich über ein dropdown menu navigieren. Die Variable `Menu` bindet das dropdown menu ein, Einschränkung: Die Anzeige funktioniert nur mit dem Bootstrap-Theme `bootstrap.min.css`
7. Die Blog-Seiten lassen sich über die Variable `Blog` einbinden. Vergleiche als Beispiel den Unterordner `./blog` von Kai Dietrich.
8. Unterstützung für mathematischen Formelsatz gibt es über die Variable `MathJax`.
9. Unter `CSS-Theme` kann ein [Bootstrap](http://getbootstrap.com/)-Thema ausgewählt werden, die Themen stammen von [Bootswatch](http://bootswatch.com/). Die verfügbaren Themen werden in der JSON-Datei `css_themes.json` aufgezählt. Zu jedem Eintrag in dieser Liste gibt es im `./media`-Ordner ein CSS-Stylesheet.
10. Die Navigationsstruktur kann gesteuert werden über
* die `Website Navigation`: **alphabetisch**, nach **Datum** (**create date** oder **last modified date**) oder die **Default-Methode** von Kai Dietrich.
* Zusätzlich kann bei den ersten drei Verfahren via `Sorting` die Sortierrichtung eingestellt werden: aufsteigend (`up`) oder absteigend (`down`).
11. Das erstellte Webseitenprojekt befindet sich im Ausgabeverzeichnis: `./out`. War die Erzeugung erfolgreich, so wird die Webseite im Browser geöffnet.
**Beachte:** Eventuell vorhandene Dateien im Verzeichnis `./out` werden zuerst gelöscht!
12. Im **Medien-Verzeichnis** `./media` befinden sich neben Bildern auch die CSS-Dateien!
13. Das **Template-Verzeichnis** `./template` enthält die HTML-Templates, z. B. die Datei `_site.temp`.
14. Tk-Weavy unterstützt ein **Table-of-Content** am Kopf der Seite: Am Anfang der Markdown-Datei einfach
`
--- title: Weavy HowTo created: 2016/12/28 14:04 ---**Beachte:** bei Blog-Seiten ist dieser «Kopf» verpflichtend! * * * ### config.json Tk-Weavy liest beim ersten Aufruf aus der Datei `config.json` das Start-Verzeichnis `Source-Dir`, das die Markdown-Quelldateien enthält. Zusätzlich sucht Tk-Weavy in jedem Projektordner nach einer Datei `config.json`, in der der Titel des Webseitenprojektes steht. Findet Tk-Weavy solch einen Eintrag, so wird der Titel im Fenster unter `title` angezeigt. Vergleiche hierzu die beiden Beispielordner `pages_simple` und `pages_subdir`. * * * ### Testlauf
This is tk-Weavy, Vers. 005 from 2017-01-24 Navigation structure: alphabet, sorting up loading site.conf... Working on HTML-Site >Weavy Example Project< cleaning output dir /home/walter/py_prg/weavy/tkWeavy_projekte/out/... loading pages data... loading media data... loading templates... rendering site... Thats it!* * * ### Beachte * Weavy erfordert die Installation des [Python-Markdown](https://pypi.python.org/pypi/Markdown) Moduls. * Aufbau & «Optik» der Seite werden in den Templates festgelegt → Unterordner `./template`, insbesondere in der Datei `_site.temp`. Dort kann auch das Stylesheet angepasst werden. * Wenn das **Bootstrap-Stylesheet** eingebunden wird, kann man in den Markdown-Dateien auch Bootstrap benutzen. * Da die Verzeichnisstruktur bekannt ist (klar?) und da auch die Dateinamen der Seiten bekannt sind (→ `index.html`), können **Links zwischen den HTML-Dateien** des Webprojektes einfach realisiert werden. Beispiel: `[Startseite](../index.html)` * * * → sp, 2018-11-11, Mail: walter [dot] spiegel [at] web [dot] de, [show Source](./readme.md) * * *