From 7b41a1d395a5b1a5d3910428cebd3edd2ee125c8 Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Fri, 13 Feb 2026 14:14:52 +0100 Subject: [PATCH] 0.2.0 add footer, flag image and date updated --- caluta_flag.png | Bin 0 -> 5312 bytes composer.json | 2 +- index.php | 39 +++++++++++++++++++++++++++++++++++++-- pages/dict.md | 14 ++++++++++++++ pages/index.md | 8 ++++++++ src/PageLoader.php | 11 ++++++++--- 6 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 caluta_flag.png diff --git a/caluta_flag.png b/caluta_flag.png new file mode 100644 index 0000000000000000000000000000000000000000..da4408b5d7dc6db64625fccab9d7407eb0623bea GIT binary patch literal 5312 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 literal 0 HcmV?d00001 diff --git a/composer.json b/composer.json index daf0d6a..462633f 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "yusurko/caluta7", "type": "project", - "version": "0.1.3", + "version": "0.2.0", "require": { "league/commonmark": "^2.8", "symfony/yaml": "^7.0", diff --git a/index.php b/index.php index 96e13ea..0f3710f 100644 --- a/index.php +++ b/index.php @@ -7,13 +7,18 @@ $link = $_GET['link'] ?? 'index'; $pl = new PageLoader(); $pl->load($link); +if ($pl->getError() !== false) { + $error = $pl->getError(); + http_response_code($error['status']); +} + ?> - Caluta, Inc. + <?= htmlspecialchars($pl->getTitle()); ?> | Caluta, Inc.
+ getError() === false): ?>

getTitle()); ?>

+ getUpdatedAt() !== false): ?> +

Last update: getUpdatedAt())); ?>

+ + +

getError()['status']}" ?>

+

getError()['message']}" ?>

+
+ getError() === false): ?> getHtml(); ?> +
+ \ No newline at end of file diff --git a/pages/dict.md b/pages/dict.md index 4a44205..0d5c233 100644 --- a/pages/dict.md +++ b/pages/dict.md @@ -2,18 +2,28 @@ Jytky Kalpy: Lemeryj (r9: dictionary for the language of Jytlynd) +* **-ady** / part. / nominalizer (for words of HkM origin) * **-s** / part. / suffix for genitive * **-tza** / part. / suffix for past * **-tzu** / part. / suffix for continuous or te-form * **am** / pp. / by, to (dative) * **amgwan** / v. / to remember (used at past tense) * **atempty** / v. / to attempt +* **barasjky** / a. / Maraśań +* **cjat** / n. / chat, conversation +* **cjendy** / n. / estrogen +* **dœd** / a., n. / dead * **em** / v. / to be * **ersjalky** / a. / Imerchali +* **fysj** / n. / fish +* **fytt** / a., n. / fat, fatty acid +* **galagy** / n. / south +* **galutky** / a. / Calutan * **gryvary** / n. / script, alphabet * **gryvy** / v. / to grief, vandalize * **hynd** / n. / dog * **i** / pp. / in +* **iglisy** / n. / north * **je** / p. / I * **jotky** / a. / Jutish (of Jotlond) * **jytky** / a. / Jutish (of Jytlynd) @@ -28,11 +38,15 @@ Jytky Kalpy: Lemeryj * **nym** / n. / name * **oj** / p. / it * **oksygyn** / n. / oxygen +* **pastynagy** / n. / carrot * **pergwan** / v. / to forget (used at past tense) +* **pyjpa** / n. / paper * **som** / a. / some * **supry** / a. / good, super * **trok** / n. / crime * **tzyjar** / n. / animal (also as insult) * **vatry** / a. / bad, gross, not aight +* **vy** / c. / why * **yky** / v. / to go * **yvyly** / a. / evil, silly +* **zajady** / n. / cut diff --git a/pages/index.md b/pages/index.md index 315e7f3..dfb8372 100644 --- a/pages/index.md +++ b/pages/index.md @@ -1,4 +1,12 @@ +Caluta, Inc. +Caluta, Inc. is an evil corporation selling vegetables, paper and pharmauceuticals to the rest of the Ŋorld. Lorem ipsum dolor sit amet +## Languages + +* [Jytky Kalpy](https://mc.nguh.org/wiki/Jytky_Kalpy) +* *other languages* + + diff --git a/src/PageLoader.php b/src/PageLoader.php index 34464e4..90d57d3 100644 --- a/src/PageLoader.php +++ b/src/PageLoader.php @@ -9,9 +9,10 @@ define('PAGES_PATH', dirname(__DIR__) . '/pages'); class PageLoader { - protected string $name, $title; - protected mixed $error; - protected $updatedAt; + protected string $name; + protected string $title = ''; + protected mixed $error = false; + protected mixed $updatedAt = false; protected string $raw_content; public function __construct() { @@ -129,4 +130,8 @@ class PageLoader { public function isIndex () { return $this->name === 'index'; } + + public function getUpdatedAt () { + return $this->updatedAt; + } } \ No newline at end of file