Where to start +
VK API +
Consider the platform advantages +
From 225f031cfc7c22d9b2320dcea70437f851c6ad55 Mon Sep 17 00:00:00 2001 From: koke228666 <146654074+koke228666@users.noreply.github.com> Date: Thu, 22 May 2025 16:34:05 +0300 Subject: [PATCH] /dev --- Web/Presenters/DevelopersPresenter.php | 72 +++ Web/Presenters/templates/@layout.xml | 2 +- .../Developers/DevelopersBaseArticle.xml | 57 +++ Web/Presenters/templates/Developers/Main.xml | 92 ++++ .../templates/Developers/NoPage.xml | 61 +++ .../templates/Developers/Standalone.xml | 144 ++++++ Web/di.yml | 1 + Web/routes.yml | 10 +- Web/static/css/dev.css | 416 ++++++++++++++++++ Web/static/img/dev/dev_apps.png | Bin 0 -> 2985 bytes Web/static/img/dev/dev_icons.png | Bin 0 -> 7455 bytes Web/static/img/dev/dev_mobile.png | Bin 0 -> 2344 bytes Web/static/img/dev/dev_shops.png | Bin 0 -> 3627 bytes Web/static/img/dev/dev_sites.png | Bin 0 -> 3028 bytes Web/static/js/al_dev.js | 147 +++++++ data/developers/datatypes.md | 1 + data/developers/help.md | 1 + data/developers/main.md | 68 +++ data/developers/methods.md | 1 + data/developers/native.md | 1 + data/developers/rules.md | 1 + data/developers/sites.md | 1 + 22 files changed, 1074 insertions(+), 2 deletions(-) create mode 100644 Web/Presenters/DevelopersPresenter.php create mode 100644 Web/Presenters/templates/Developers/DevelopersBaseArticle.xml create mode 100644 Web/Presenters/templates/Developers/Main.xml create mode 100644 Web/Presenters/templates/Developers/NoPage.xml create mode 100644 Web/Presenters/templates/Developers/Standalone.xml create mode 100644 Web/static/css/dev.css create mode 100644 Web/static/img/dev/dev_apps.png create mode 100644 Web/static/img/dev/dev_icons.png create mode 100644 Web/static/img/dev/dev_mobile.png create mode 100644 Web/static/img/dev/dev_shops.png create mode 100644 Web/static/img/dev/dev_sites.png create mode 100644 Web/static/js/al_dev.js create mode 100644 data/developers/datatypes.md create mode 100644 data/developers/help.md create mode 100644 data/developers/main.md create mode 100644 data/developers/methods.md create mode 100644 data/developers/native.md create mode 100644 data/developers/rules.md create mode 100644 data/developers/sites.md diff --git a/Web/Presenters/DevelopersPresenter.php b/Web/Presenters/DevelopersPresenter.php new file mode 100644 index 00000000..ae2dc9f7 --- /dev/null +++ b/Web/Presenters/DevelopersPresenter.php @@ -0,0 +1,72 @@ +template->_template = "Developers/Main.xml"; + $this->template->responseTime = round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000, 2); + } + + public function renderStandalone(): void + { + $this->template->_template = "Developers/Standalone.xml"; + } + + public function noPage(): void + { + $this->template->_template = "Developers/NoPage.xml"; + } + + public function parseMarkdown(string $path) + { + if (!file_exists("$path")) { + $this->noPage(); + return []; + } + $dataArray = array(); + + $lines = file($path); + if (!preg_match("%^OpenVK-KB-Heading: (.+)$%", $lines[0], $matches)) { + $heading = "Article $name"; + } else { + $heading = $matches[1]; + array_shift($lines); + } + + $content = implode($lines); + + $parser = new Parsedown(); + + $dataArray['heading'] = $heading; + $dataArray['content'] = $parser->text($content); + return $dataArray; + } + + public function renderDevelopersBaseArticle(string $name): void + { + $lang = Session::i()->get("lang", "ru"); + $base = OPENVK_ROOT . "/data/developers"; + if (file_exists("$base/$name.$lang.md")) { + $file = "$base/$name.$lang.md"; + } elseif (file_exists("$base/$name.md")) { + $file = "$base/$name.md"; + } else { + $this->noPage(); + return; + } + + $parsedMd = $this->parseMarkdown($file); + + $this->template->articlename = $name; + $this->template->heading = $parsedMd['heading']; + $this->template->content = $parsedMd['content']; + } +} \ No newline at end of file diff --git a/Web/Presenters/templates/@layout.xml b/Web/Presenters/templates/@layout.xml index 9e6475fe..0b68e895 100644 --- a/Web/Presenters/templates/@layout.xml +++ b/Web/Presenters/templates/@layout.xml @@ -365,7 +365,7 @@ {_footer_rules} {_footer_blog} {_footer_help} - {_footer_developers} + {_footer_developers} {_footer_privacy}
diff --git a/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml b/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml new file mode 100644 index 00000000..a75e5e7e --- /dev/null +++ b/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml @@ -0,0 +1,57 @@ +{extends "../@layout.xml"} + +{block title} + {_developers_title} +{/block} + +{block header} + {_developers_title} +{/block} + +{block content} +{css "css/dev.css"} + +
братишка ты что-то попутал
+