Die Website soll als Portfolio für meine privaten Projekte dienen.
Ich selbst bin kein großer Schreiber, deshalb wird sie automatisch aus meinem Gitlab aufgebaut.
Sie selbst dient auch gleich als Projekt, um meine Kenntnis in Symfony zu erweitern
und mehr Erfahrung mit c# zu bekommen.
Warum C# 😀 siehe.
Alexander Malk E-Mail: alex@guerilla-coding.com
Es gibt derzeit 11 Projekte in 3 Kategorien. Das zuletzt Aktualisierte Project ist TD Service Sitespeed in der Kategorie NPM und es wurde am 19.01.2024 aktualisiert.Es warten z.Zt. noch ca. 2 Projekte eingefügt zu werden.
Der "Gitlab/Folder Exporter" ist ein Teil dieser Website. Er extrahiert Projekte aus Gitlab und aus Ordnern und schreibt den inhalt in eine MySQL DB und in einen vorher definierten Ordner.
Das ist die erste Version und deshalb noch sehr auf meinen Bedarf zugeschnitten. Aber es werden Updates folgen siehe ToDo
Parameter | Beschreibung |
---|---|
options_file | Der Dateiname in der die Optionen für das Projekt liegen. Beispiel options.json |
public_file | Der Dateiname ohne Endung in dem sich der MD/HTML Content befindet. |
html_output | Der Ordner in dem die HTMl Dateien abgelegt werden sollen. |
media_output | Der Ordner in dem die Media Dateien abgelegt werden sollen. |
media_path | Die relative URL in dem die Media Dateien liegen. Beispiel: /Projects/{project_alias_name}. In Markdown Dateien muss der Pfad zu Media Dateien so aussehen "{media_path}/ablauf.png". |
mysql_string | Der MySQL Connection String |
Es gibt z.Zt. 2 Typen von Sources (Quellen)
Parameter | Beschreibung |
---|---|
type | Hier ist nur "gitlab" erlaubt |
path | Protokoll und Host zur Gitlab Instanz. |
token | Der Token um die API zu verwenden. |
public_folder | Dieser Ordner muss in jedem Repository befinden und beinhalten den teil für die Website. |
Parameter | Beschreibung |
---|---|
type | Hier ist nur "folder" erlaubt. |
path | Der absolute Pfad zum Ordner. |
public_folder | (Optional) Mit diesem Wert ist es möglich nur ein Projekt anzugeben. Das Program würde im "path" nur nach diesem Ordner suchen. siehe Ordner |
Der großteil der Werte wird in der MySQL DB gespeichert und muss vorhanden sein.
Parameter | Beschreibung |
---|---|
type | Gibt an was für eine Datei hinterlegt wurde die für die Website etc. genutzt wird. Die passenden Werte sind hier html oder markdown. |
cloneable | Der Parameter wird derzeit nicht verwendet aber er wird benötigt. Beispiel false |
project_name | Der Name des Projekts. |
project_alias_name | Der Pfad der für die Website genutzt werden kann. |
category | Die Kategorie des Projekts. Muss vorher in der MySQL DB definiert worden sein. |
preview_image | Der Name der Vorschau Datei. Muss im Media Ordner liegen. |
preview_text | Der Vorschau Text für z.B. die Website. |
prod | Soll das Projekt auf der Produktivumgebung gezeigt werden. Eine 1 für ja und 0 für nein. |
tags | Sollen Tags als ZIP geladen und an den HTMl teil angehangen werden. Beispiel: true |
build_job_name | (Optional) Wenn Tags true ist und dieser Wert gesetzt ist wird die artifacts zip Datei vom Tag genommen. |
Im Repository Ordner muss sich ein Ordner befinden der im Parameter "public_folder" definiert wurde. In dem Ordner muss sich ein "media" Ordner eine Markdown/HTMl Datei und eine options.json befinden.
Der Ordner ist aufgebaut wie Gitlab. Die Besonderheit hier ist eher der Parameter "public_folder". Ohne den Parameter würde das Programm alle Unterordner von z.B. /home/alex als Projekt erkennen und benötigt kein "public_folder". Wenn man "public_folder" angibt, wird /home/alex als Projekt gesehen und benötigt auch den "public_folder".
Mountpoint | Beschreibung |
---|---|
/app/config.yml | Der Pfad zur Config Datei. |
/out/media | Wo die Media Dateien gespeichert werden sollen. |
/out/html | Wo die HTML Dateien gespeichert werden sollen. |
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`alias` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `projects` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`path` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`cloneable` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`preview_image` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`preview_text` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
`category_id` int(11) DEFAULT NULL,
`alias` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`last_update` datetime NOT NULL,
`prod` tinyint(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_5C93B3A412469DE2` (`category_id`),
CONSTRAINT `FK_5C93B3A412469DE2` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;