Die Beweggründe mit einem eigenen System eine Internet Seite zu Verwalten sind mit der Zeit in mir gewachsen.
Es gibt immer mehr Systeme die zum Erstellen und Verwalten von Internetseiten eingesetzt werden. Probiert habe ich schon viele und mit den meisten war ich auch sehr zufrieden, wenn da nicht immer der Hacken mit dem Updates wäre. Irgendwie, zumindest kommt es mir so vor, ist der Aufwand das System der Seite auf dem aktuellen Stand zu halten größer geworden als den Inhalt der eigentlichen Seite zu pflegen.
Ich wünschte mir wieder eine Internetseite wie in früheren Zeiten. Eine Seite die aus einfachen HTML Seiten besteht.
Irgendwann bin ich dann auf markdown
und pandoc
gestoßen und die Idee dieses Home Page Baukastens ist entstanden.
Rumex ist die lateinische Bezeichnung für den Ampfer und dieser taucht in der Natur dann auf, wenn der Boden Überdüngt, Verdichtung und Beschädigt ist. Rumex gehört zu den sogenannten Pionier Pflanzen. Er ist ein Lückenfüller.
Genau das soll Rumex auch sein "ein Lückenfüller" für alle die ... Systeme satt haben.
Rumex ist auf ein *nix System ausgerichtet. Auf diesem sollten folgende Programme installiert sein:
perl
sitecopy
vim (g)vim
texlive
Wobei bash
, make
und perl
eigentlich bei jeder *nix
Installation bereits vorhanden sein dürft. Die restlichen Programme müssen nach installiert werden.
Wer mit dem Editor vim
zurecht kommt sollte sich auch (g)vim
installieren. Rumex besitzt eine gvim
Erweiterung die, die Arbeit bzw. die Suche nach dem richtigen Befehl am Anfang um einiges erleichtert.
texlive
1 wird nur gebraucht wenn man auch PDF Dateien erstellen möchte.
wput
sitecopy
wird nur gebraucht wenn man die Daten per FTP hoch laden möchte.
sudo apt-get install make perl
sudo apt-get install git-core wget sitecopy pandoc imagemagick
sudo apt-get install gvim
sudo apt-get install texlive
Für die Installation auf deinem Rechner musst du dir zu erst das ZIP bzw. das tar.gz Archiv vom github Server holen und entpacken
wget https://github.com/itbayer/rumex/archive/gh-pages.zip
unzip gh-pages.zip
oder
wget https://github.com/itbayer/rumex/archive/gh-pages.tar.gz
tar -xzvf gh-pages.tar.gz
Jetzt wechsle in das Verzeichnis rumex-gh-pages/.rx
und starte die Befehle make install
und make show
.
cd rumex-gh-pages/.rx/
make install
make show
Fertig :-)
Nach der Installation muss Rumex noch auf dich eingestellt werden. Genauer gesagt sollten folgende Angabe für deine neuen Seite angepasst werden.
Eine Kurzbeschreibung findest du, nach der Installation, auf der Startseite von Rumex oder hier.
Blechschmidt (2013a): Hier fehlt noch die Beschreibung
Blechschmidt (2013a): Hier fehlt noch die Beschreibung@
Mit dem Plugin AutoSave kann man Rumex auch dazu bringen Dateien nicht nur automatisch zu speichern sondern auch gleich die HTML Datei zu erstellen.
Jedoch ist eine kleine Änderung am Plugin notwendig.
diff --git a/plugin/AutoSave.vim b/plugin/AutoSave.vim
index f09a904..ec2f463 100644
--- a/plugin/AutoSave.vim
+++ b/plugin/AutoSave.vim
@@ -11,6 +11,12 @@ else
let g:auto_save_loaded = 1
endif
+if exists("g:rumex")
+ finish
+else
+ let g:rumex = 0
+endif
+
let s:save_cpo = &cpo
set cpo&vim
@@ -33,10 +39,14 @@ function! AutoSave()
if g:auto_save >= 1
let was_modified = &modified
silent! wa
- if was_modified && !&modified
- echo "(AutoSaved at " . strftime("%T") . ")"
- endif
- endif
+ if was_modified && !&modified
+ if g:rumex == 1
+ silent! make html
+ echo "html datei wurde erstellt"
+ endif
+ echo "(AutoSaved at " . strftime("%T") . ")"
+ endif
+endif
endfunction
function! AutoSaveToggle()
Mit dem Befehl :let rumex=1
bzw. let rumex=0
kann das Erstellen der HTML Datei ein bzw. ausgeschaltet werden.
Installiert man sich dann noch im FireFox dann noch die Erweiterung. "Tab Auto Reload" werden die Änderungen im Browser immer gleich angezeigt.
Über die Nutzbarkeit kann man sich streiten da nach einem HTML Lauf der Cursor immer an den Anfang der Zeile, in der man sich gerade befindet, springt. Mir ist die Variante mit <F5>
lieber. Die "Tab Auto Reload" Funktion im Firefox verwende ich aber schon sehr gerne.
Eine Übersicht der Rumex Kurztasten für den Editor vim findest du auf der Seite VIM-Kurztasten.
Eine Übersicht des Rumex Menüs für den Editor gvim findest du auf der Seite GVIM-Menü.
Will man in die Datei einen Dateinamen einbauen, weiß aber nicht mehr genau wie er heißt, kann man folgenden Trick verwenden. In diesem Beispiel wird ein Bildname gesucht. Im Text schreibe man ../bilder/tw
und drückt dann die Tastenkombination C-X + C-F
, gvim öffnet ein Dialogfeld in dem alle Dateien die auf dieses Muster übereinstimmen geöffnet. Gibt es nur einen Treffer wird dieser gleich eingefügt.
Sucht man ein Wort das man im Dokument schon einmal verwendet hat, um zum Beispiel darauf zu verweisen. Schreibt man den Wortanfang und drückt dann C-P
. Es öffnet sich ein Dialogfeld in dem alle Wörter die auf dieses Muster passen angezeigt werden. Gibt es nur einen Treffer wird dieser gleich eingefügt.
Vim bietet ein paar nützliche Erweiterungen in Form von plugins an. Hier eine Liste, der plugins, die ich gerne verwende.
Diese Erweiterung macht das Installieren weitere Erweiterungen einfach. Dabei ist die Installation von pathogen
schnell erledigt.
mkdir -p ~/.vim/autoload ~/.vim/bundle
wget -O ~/.vim/autoload/pathogen.vim //
http://www.vim.org/scripts/download_script.php?src_id=16224
In die .vimrc
muss dann noch nachfolgende Zeile eingebaut werden.
call pathogen#infect()
eingebaut werden.
Jetzt braucht man die Erweiterungen nur mehr in das Verzeichnis .vim/bundle
zu kopieren und vim neu starten. In Verbindung mit git
wieder eine einfache Sache.
cd ~/.vim/bundle
git clone https://github.com/vim-pandoc/vim-pandoc.git
Erweiterung rund um pandoc.
Dateien schnell zum editieren öffnen. Installiert ist diese Erweiterung, vorausgesetzt man verwendet pathogen, mit dem Befehl:
wget -O /tmp/vim-fuzzyfinder.zip http://www.vim.org/scripts/download_script.php?src_id=10588
mkdir ~/.vim/bundle/vim-fuzzyfinder
unzip /tmp/vim-fuzzyfinder.zip -d ~/.vim/bundle/vim-fuzzyfinder/
Für das öffnen dies Datei Dialogs sollte man sich dann noch eine Kurztaste konfigurieren.
" -------------------------------------------------------------
" FuzzyFinder File Suche auf <F12> binden
map <F12> :FuzzyFinderFile <CR>
Blechschmidt (2013a)
make online
- Fertig.Blechschmidt (2013a)
Auf der Seite rumex.it-bayer.de findet man eine Beschreibung wie man den rumex Baukasten auf einen nicht github.com
Server installiert.
Blechschmidt (2013a)
Blechschmidt (2013a)
Im root
Verzeichnis findet man alle HTML
Dateien der Seite. Diese werde vom Baukasten erstellt und müssen nicht von Hand verändert werden. Zusätzlich findet man noch ein folgende Systemdateien:
News Feed Datei, wird vom System erstelle
Beschreibungsdatei die von github.com gebraucht wird
Datei für die Suchmaschinen
Icon für den Browser
Konfiguration für den Apache Server
Blechschmidt (2013b): Beschreibung@
Blechschmidt (2013b): Beschreibung@
Blechschmidt (2013b): Beschreibung@
Standard Template Verzeichnis. In diesem Verzeichnis befinden sich die Dateien die für das Aussehen der Seite verantwortlich sind.
Folgende Dateinen und Verzeichnisse sind hier zu finden
In diesem Verzeichnis werden alle Bilder der Seite abgelegt.
Das Aussehen der Dateien bezüglich des Inhaltsverzeichnisses könnte auch durch die Dateiendung gesteuert werden.
Würde eine HTML Datei ohne Inhaltsverzeichnis erstellen.
Erstellt die HTML Datei mit dem Inhaltsverzeichnis aus den Einträgen der H1 Überschriften.
Erstellt eine HTML Datei mit dem Inhaltsverzeichnis aud den Einträgen der H1 und H2 Überschriften.
Zusätzlich könnte die Dateiendung auch eine unterschiedliche Verwendung der Dateien ermöglichen.
Standard Datei.
Datei die nicht in die Liste auf index.html
eingebunden wird.
Versteckte Datei. Diese taucht weder in der index.html
noch in der sitemap.xml
auf.
Datei mit einer Weiterleitung. Die Weiterleitung wird dabei mittels javascript
realisiert, da github keine .htaccess
Weiterleitung unterstützt.
% Weiterleitung nach beschreibung.html
%
%
<script language="javascript">
<!--
window.location.href="beschreibung.html";
// -->
</script>
Bei der Änderung der Dateiendung bleibt der eigentliche html
Name gleich. Nur die Funktion der Einbindung ändert sich.
Im Verzeichnis pandoc
befinden sich Sonderseiten.
Diese Datei wird vom Programm .bin/make_index.pl
erstellt, muss somit nicht vorhanden sein.
Die start.rx0s
wird als Vortext in die index.rx0x
eingebunden. Mit ihr kann man oberhalb der Seiten Liste einen extra Text in die index.html
eingebunden werden.
Diese Datei ist erforderlich und muss vorhanden sein.
Datei für die RSS Feed Funktion.
Datei für die Impressumsangaben.
Ist nicht zwingend erforderlich. Jedoch muss die .inc/fuss.html
entsprechende bearbeitet, der Link muss raus genommen, werden.
Sie make
Steuerdatei.
Die Startseite markdown/start.rx0s
muss vorhanden sein. Es reicht auch ein `touch markdown/start.rx0s.
Der normale Aufbau könnte so ausschauen. Die pandoc
Kopfzeile sind nicht zwingend erforderlich.
% start.rx0s
%
%
Hier kommt auch schon der Vortext für die index.html
Die Einzelseiten liegen alle im Verzeichnis rumex
und zwar in der Sprache markdown
bzw. der Erweiterung von pandoc
.
Diese Einzelseiten werden in chronologischer Reihenfolge in die Startseite index.html
eingebunden und bilden sozusagen das Inhaltsverzeichnis der Seite. In jeder Einzelseite wird dazu ein sogenannter "Vortext" hinterlegt. Die Seite bzw. der Kopf der Seite hat dabei folgenden Aufbau.
% Seiten Überschrift 1
% Seiten Überschrift 2
% Seiten Überschrift 3
<!--
# Listen-Überschrift
Überschrift und Text der in der Listenübersicht
auf index.html angezeigt wird.
Alles was innerhalb der HTML Kommentar Marken
steht wird nur auf der index.html Seite angezeigt.
-->
Alles was sich außerhalb der HTML Marken
befindet wird auch auf der eigentlichen Seite angezeigt.
Durch das Schlüsselwort "schnipp", das auch in HTML
Kommentar Marken stehen muss, wird der Vortext beendet.
Auf der index.html erscheint an dieser Stelle der Link
"... weiter lesen".
<!-- schnipp -->
Ab hier geht dann der Inhlat der eigentlichen Seite los.
Blechschmidt (2013a)
Änderung gegenüber des Original pandoc
Templates.
5c5,8
< <meta name="generator" content="pandoc">
---
> <!-- rumex Version -->
> <meta name="generator" content="$meta_generator$">
> <!-- rumex Suchmaschine -->
> <meta name="robots" content="$meta_robots$">
30a34,35
> <!-- rumex RSS -->
> <link rel="alternate" type="application/rss+xml" title="$rsstitel$" href="$rssfile$" />
41c46
< <h1 class="title">$title$</h1>
---
> <h1 class="title"><a title="zur Startseite" href="index.html">$title$</a></h1>
43c48
< <h2 class="author">$author$</h2>
---
> <h2 class="author"><a title="zur Startseite" href="index.html">$author$</a></h2>
46c51
< <h3 class="date">$date$</h3>
---
> <h3 class="date"><a title="zur Startseite" href="index.html">$date$</a></h3>
54a60
> <div id=seite>
55a62
> </div>
Blechschmidt (2013a)
Wird nicht aus den einzelnen Dateien erstellt sondern muss manuell editiert werden, Datei .rx/rss.rx0x
.
Jede Überschrift eines Eintrags muss mit einem {.nn1}
enden.
Danach kommen die Angaben zu:
Link: Verweis zur Seite mit weiteren Informationen
Autor: Autor der den Eintrag geschrieben hat
Kategorie: Kategoie des Eintrags
Datum: Datum des Eintrags. Das richtige Format bekommt man mit dem Befehl date -R
.
die in HTML Kommentar Marker eingeschlossen sind.
Anschließend folgt die Meldung. Zur Zeit werden folgende pandoc
Formatierungen unterstützt.
###
-
*
>
[Link](http://muster.tdl)
. Diese dürfen nicht am Anfang einer Zeile stehen.
, Diese dürfen nicht am Anfang einer Zeile stehen.`Code`
.100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
Der Dateiname ist mit rss.xml
vorbelegt und kann über die Variable RSS_FILE
in der config.md
geändert werden.
Der Title des RSS Feed wird durch die Variable RSS_TITEL
angepasst.
RSS_TITEL = "Neuigkeiten von rumex Baukasten"
Den RSS Link kann man auch auslagern so dass dieser auf eine andere Seite zeigt. Dazu setzt man die Variable RSS_EXTERN
mit dem entsprechenden Link. Die Variabel RSS_FILE
wird dadurch nicht mehr verwendet. Auch der RSS Lauf wird dadurch ausgeschaltet und durch eine Meldung ersetzt.
Für die einzelnen Einträge steht auch eine Kurztaste .rnn
zur Verfügung.
In Gvim unter
Rumex -> TextBausteine -> NeuerNews Eintrag
Eingefügt wird dann folgende Vorgabe. Der Wert hinter Datum wird von System ausgelesen und entsprechende gesetzt.
# Neue Nachricht{.nn1}
<!--
| Link: http://www.it-bayer.de/rumex/
| Autor: IT-Bayer
| Kategorie: Neues
| Datum: Mon, 28 Oct 2013 07:36:56 +0100
-->
Ab hier geht die neue Nachricht los.
Durch die beschriebenen RSS Variablen wird die Erstellung des RSS Feed gesteuert. Es wird in jede HTML Datei nachfolgender Header Abschnitt eingebaut wenn die RSS_TITLE
Variable gesetzt wurde. RSS_FILE
bzw. RSS_EXTERN
steuern den href
Eintrag.
<!-- rumex RSS -->
<link rel="alternate" type="application/rss+xml" title="Neuigkeiten von rumex Baukasten" href="rss.xml" />
Rumex kann auch auf einem USB Stich installiert werden. Der Stick muss aber ein Dateiformat besitzt
welches mit Dateirechten und Symbolische Links umgehen kann.
USB Sticks im VFAT Format funktionieren nicht. Man kann zwar die Daten darauf ablegen. Das Arbeiten über den Stick funktioniert nicht wirklich. Auch wenn man die Daten, von einem VFAT Stick, auf ein *nix System kopiert werden muss händisch nach gebessert werden.
LinkTipp: USB Stick unter Linux verschlüsseln
Blechschmidt (2013a)
Gesteuert wird der Baukasten mittels make
im Unterverzeichnis rumex
. Folgende make
Befehle stehen dabei zur Verfügung.
Erstellt die einzelnen html Dateien. Hier kann auch nur make
verwendet werden.
Erstellt die index.md
Datei aus der dann die index.html
Datei erstellt wird.
Eine Zusammenstellung aus make index
und make html
.
Daten auf github hoch laden.
Erstellt Bilder in verschiedenen Auflösungen.
Blechschmidt (2013a)
Wer wünscht es sich nicht einen schnellen Zugriff auf seine Homepage. Sei es um schnell was zu ändern oder genauso schnell was neues einzustellen. Rumex bietet in Verbindung mit tilda
eine schöne, einfache und auch schnelle Lösung.
Die Installation ist nicht umfangreich. Man braucht vim und tilda und dann noch zwei bash Script. Eine Kopiervorlage der beiden Scripte findet man findet man im .rumex/bin/
Verzeichnis.
sudo apt-get install tilda vim
cp .../rumex/.rumex/bin/rxt-rumex.sh ~/bin/.
cp .../rumex/.rumex/bin/rumex-tilda.sh ~/bin/.
Diese beiden bash Scripte müssen anschließend noch angepasst werden.
Die Scripte starten zum einem tilda
und zum anderem übergeben sie tilda
die Kommandos die dafür sorgen vim
im richtigen Rumex Ordner zu öffnet. Installiert werden können diese Scripte im ~/bin
oder /usr/local/bin/
Verzeichnis.
Die Datei rumex-tilda.sh
starte tilda und übergibt der tilda Shell die Befehle um den Rumex Baukasten zu starten, siehe rumex.vim.sh.
#!/bin/bash
/usr/bin/tilda -c ~/bin/rumex-vim.sh
Mit dem Befehl rumex-vim.sh
wird der Rumex Baukastens aufgerufen. Dieser Befehl wird unter anderem auch von rumex-tilda.sh
verwendet. rumex-vim.sh
kann natürlich auch in einem Shellfenster ausgeführt werden.
Mit dem Befehl rumex-gvim.sh
wird der Rumex Baukasten mit dem Editor gvim gestartet.
Nach dem ersten Start wird Tilda in linken oberen Bildschirm Bereich eingeblendet. Man sollte Tilda nun noch an seine Bedürfnissen anpassen. Dazu in das Tilda Fenster mit der rechten Maustaste klicken und Eigenschaften
aus wählen.
Übrigens: Man kann tilda
mehrfach starten. Somit kann auf mehreren Rumex Installationen parallel über diese Weiße zugegriffen werden. Man sollte nur jede tilda
Sitzung ein wenig anders konfigurieren.
Nachteil: Ein Nachteil von tilda
darf man aber nicht verschweigen. Bei wechseln zwischen den Fenstern kann man die Tastenkombination <ALT>+<TAB>
nicht verwenden bzw. man kommt mit dieser Kombination nicht mehr zurück nach tilda
. Schließt und öffnet man tilda
mit der definierten Taste bekommt man aber den Fokus wieder in das Fenster.
Will man die <ALT>+<TAB>
Kombination doch verwenden muss man die Standardeinstellung von tilda ändern. Den erforderlichen Schalter findet man in der Konfiguration, Reiter Allgemein -> Schalter Nicht in der Taskleiste anzeigen.
Blechschmidt, Stefan: Hier fehlt noch was. URL http://www.it-bayer.de. — [Stand Mai 2014]
Blechschmidt, Stefan: Hier fehlt noch was. URL http://www.it-bayer.de. — [Stand Mai 2014]