Skip to content

Commit 2552832

Browse files
authored
Add edit meets and packages
2 parents ba6d02a + 660e55c commit 2552832

File tree

105 files changed

+2108
-1197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2108
-1197
lines changed

README.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
## Документация (Работа с кодом)
99

1010
- [ ] Корректное отображение кода - Убедиться, что код в документации отображается правильно, с соблюдением форматирования, подсветкой синтаксиса
11-
- [ ] Корректное отображение таблиц - Убедиться, что таблицы в документации отображаются так, чтобы данные были читаемыми и оформлены правильно, с правильным выравниванием содержимого ячеек.
11+
- [x] Корректное отображение таблиц - Убедиться, что таблицы в документации отображаются так, чтобы данные были читаемыми и оформлены правильно, с правильным выравниванием содержимого ячеек.
1212
- [ ] Корректное отображение коллекций (столбцов) - Проверить, что коллекции (например, списки или словари) в документации правильно отображаются, особенно когда имеются вложенные структуры данных.
1313
- [ ] Корректное отображение цитат - Убедиться, что цитаты в документации выделяются и форматируются соответствующим образом для читаемости и понятности.
1414
- [ ] Корректное отображение предупреждений - Проверить, что предупреждения в документации явно выделяются, чтобы пользователи могли обратить на них внимание.
15-
- [ ] Типограф - Применить правила типографики к тексту документации с целью улучшения его читаемости, например, автоматическое исправление ошибок в расстановке кавычек, дефисов и других знаков препинания.
16-
- [ ] Команда для загрузки документов из git - Создать команду, которая будет позволять загружать документацию напрямую из системы контроля версий Git, чтобы всегда иметь актуальную версию документации доступной для пользователей.
15+
- [x] Типограф - Применить правила типографики к тексту документации с целью улучшения его читаемости, например, автоматическое исправление ошибок в расстановке кавычек, дефисов и других знаков препинания.
16+
- [x] Команда для загрузки документов из git - Создать команду, которая будет позволять загружать документацию напрямую из системы контроля версий Git, чтобы всегда иметь актуальную версию документации доступной для пользователей.
1717
- [ ] Поиск по документации - Реализовать функциональность поиска в документации, чтобы пользователи могли быстро находить нужную информацию по ключевым словам или фразам.
1818
- [ ] Проверка прошлых версий на работоспособность - Регулярно тестировать документацию на старых версиях продукта, чтобы убедиться, что все примеры и инструкции все еще актуальны и работоспособны.
19-
- [ ] Переключение версий - Предоставить возможность пользователям выбирать нужную версию документации
19+
- [x] Переключение версий - Предоставить возможность пользователям выбирать нужную версию документации
2020
- [ ] Обноавить инструкцию для системы переводов, что бы её было легко понять
21-
- [ ] Записывать последний доступный хэш коммита
21+
- [x] Записывать последний доступный хэш коммита
2222
- [ ] Дружелюбно показывать если документация отстаёт от оригинала и на сколько сильно
2323
- [ ] Форматирование отступов, что бы последнего не было никогда.
2424

@@ -39,17 +39,17 @@
3939
## Публикации
4040

4141
- [x] Возможность пользователю делать публикации
42-
- [ ] Markdown редактор (Пусть пользователь сразу привыкает к тому, что ему придётся иметь дело именно с markdown)
42+
- [x] Markdown редактор (Пусть пользователь сразу привыкает к тому, что ему придётся иметь дело именно с markdown)
4343
- [ ] Маркер, для того что бы пользователь определился сам, как будет выглядеть короткая версия поста, либо сделать это автоматически
4444
- [ ] Генерация изображений для социальных сетей и ссылок, где бы заголовок отображался на картинке красиво
4545
- [ ] Предпросмотр того как статья будет выглядеть ещё до публикации
4646
- [ ] Теги публикации, лучше всего из списка Enum и до 1/2/3
4747
- [ ] Рейтинг +1 / -1 где пользователь может высказывать понравилась ли ему публикация
48-
- [ ] Система коментариев с поддержкой (Не большой?) вложенности
48+
- [x] Система коментариев с поддержкой (Не большой?) вложенности
4949
- [ ] Рейтинг у комментария
5050
- [ ] Меншены в комментариях?
5151
- [ ] Возможность загрузки изображений через редактор и их эффективное удаление/ресайз
52-
- [ ] Блок с самыми полулярными публикациями
52+
- [x] Блок с самыми полулярными публикациями
5353
- [ ] Push/Site уведомления о новых комментариях или упоминаний
5454

5555
## Как использовать этот репозиторий

app/Casts/PackageTypeEnum.php

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
3+
namespace App\Casts;
4+
5+
use App\Services\ColorText;
6+
7+
enum PackageTypeEnum: string
8+
{
9+
case FileManagement = 'file-management';
10+
case AuthAndPermission = 'auth-and-permission';
11+
case DatabaseAndEloquent = 'database-and-Eloquent';
12+
case DebuggingAndDevTools = 'debugging-and-dev-tools';
13+
case DevOps = 'dev-ops';
14+
//case Localization = 'localization';
15+
case API = 'api';
16+
//case SEO = 'seo';
17+
case Testing = 'testing';
18+
//case Payment = 'payment';
19+
case Security = 'security';
20+
//case Mail = 'mail';
21+
case ECommerce = 'e-commerce';
22+
case CMSAndAdminPanels = 'cms-and-admin-panels';
23+
case CodeArchitecture = 'code-architecture';
24+
case Notifications = 'notifications';
25+
case UIAndBladeComponents = 'ui-and-blade-components';
26+
case UtilitiesAndHelpers = 'utilities-and-helpers';
27+
28+
public function text(): string
29+
{
30+
return match ($this) {
31+
self::FileManagement => 'Управление файлами',
32+
self::AuthAndPermission => 'Аутентификация и разрешения',
33+
self::DatabaseAndEloquent => 'Базы данных и Eloquent',
34+
self::DebuggingAndDevTools => 'Инструменты разработчика',
35+
self::DevOps => 'DevOps',
36+
//self::Localization => 'Локализация',
37+
self::API => 'API',
38+
//self::SEO => 'Оптимизация для поисковых систем (SEO)',
39+
self::Testing => 'Тестирование',
40+
//self::Payment => 'Платежи',
41+
self::Security => 'Безопасность',
42+
//self::Mail => 'Почта',
43+
self::ECommerce => 'Интернет-торговля',
44+
self::CMSAndAdminPanels => 'CMS и панели администратора',
45+
self::CodeArchitecture => 'Архитектура кода',
46+
self::Notifications => 'Уведомления',
47+
self::UIAndBladeComponents => 'UI и компоненты Blade',
48+
self::UtilitiesAndHelpers => 'Утилиты',
49+
50+
};
51+
}
52+
53+
public function colorBg(): string
54+
{
55+
return ColorText::Hex($this->text(), '21');//подобрать подходящее значение
56+
}
57+
58+
public function colorText(): string
59+
{
60+
return ColorText::Hex($this->text());
61+
}
62+
}

app/Docs.php

+8-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ public function __construct(string $version, string $file)
7474
$this->page = Storage::disk('docs')->get($this->path);
7575

7676
// Abort the request if the page doesn't exist
77-
abort_if($this->page === null, 404);
77+
abort_if(
78+
$this->page === null && Document::where('file', $this->file)->exists(),
79+
redirect(status: 300)->route('docs', ['version' => $version, 'page' => 'installation'])
80+
);
7881

7982
$variables = Str::of($this->page)->after('---')->before('---');
8083

@@ -137,7 +140,10 @@ public function getMenu(): array
137140
*/
138141
public function title(): ?string
139142
{
140-
$title = (new Crawler(Str::of($this->page)->markdown()))->filterXPath('//h1');
143+
$crawler = new Crawler();
144+
$crawler->addHtmlContent(Str::of($this->page)->markdown());
145+
146+
$title = $crawler->filterXPath('//h1');
141147

142148
return count($title) ? $title->text() : null;
143149
}

app/Ecosystem.php

+178
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
<?php
2+
3+
namespace App;
4+
5+
class Ecosystem
6+
{
7+
/**
8+
* Get the ecosystem items.
9+
*
10+
* @return array
11+
*/
12+
public static function items(): array
13+
{
14+
return [
15+
'breeze' => [
16+
'name' => 'Breeze',
17+
'image-alt' => 'Laravel Breeze Logo Logo',
18+
'description' => 'Lightweight starter kit scaffolding for new applications with Blade or Inertia.',
19+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/starter-kits#laravel-breeze',
20+
'color' => '#F3C14B',
21+
],
22+
'cashier' => [
23+
'name' => 'Cashier',
24+
'image-alt' => 'Laravel Cashier Logo',
25+
'description' => 'Take the pain out of managing subscriptions on Stripe or Paddle.',
26+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/billing',
27+
'color' => '#91D630'
28+
],
29+
'dusk' => [
30+
'name' => 'Dusk',
31+
'image-alt' => 'Laravel Dusk Logo',
32+
'description' => 'Automated browser testing to ship your application with confidence.',
33+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/dusk',
34+
'color' => '#BB358B'
35+
],
36+
'echo' => [
37+
'name' => 'Echo',
38+
'image-alt' => 'Laravel Echo Logo',
39+
'description' => 'Listen for WebSocket events broadcast by your Laravel application.',
40+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/broadcasting',
41+
'color' => '#4AB2B0'
42+
],
43+
'envoyer' => [
44+
'name' => 'Envoyer',
45+
'image-alt' => 'Envoyer Logo',
46+
'description' => 'Deploy your Laravel applications to customers with zero downtime.',
47+
'href' => 'https://envoyer.io',
48+
'color' => '#F56857'
49+
],
50+
'forge' => [
51+
'name' => 'Forge',
52+
'image-alt' => 'Forge Logo',
53+
'description' => 'Server management doesn\'t have to be a nightmare.',
54+
'href' => 'https://forge.laravel.com',
55+
'color' => '#1EB786'
56+
],
57+
'herd' => [
58+
'name' => 'Herd',
59+
'image-alt' => 'Herd Logo',
60+
'description' => 'The fastest Laravel local development experience - exclusively for macOS.',
61+
'href' => 'https://herd.laravel.com',
62+
'color' => '#dc2626'
63+
],
64+
'horizon' => [
65+
'name' => 'Horizon',
66+
'image-alt' => 'Laravel Horizon Logo',
67+
'description' => 'Beautiful UI for monitoring your Redis driven Laravel queues.',
68+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/horizon',
69+
'color' => '#8C6ED3'
70+
],
71+
'inertia' => [
72+
'name' => 'Inertia',
73+
'image-alt' => 'Inertia Logo',
74+
'description' => 'Create modern single-page React and Vue apps using classic server-side routing.',
75+
'href' => 'https://inertiajs.com',
76+
'color' => '#9553e9'
77+
],
78+
'jetstream' => [
79+
'name' => 'Jetstream',
80+
'image-alt' => 'Laravel Jetstream Logo',
81+
'description' => 'Robust starter kit including authentication and team management.',
82+
'href' => 'https://jetstream.laravel.com',
83+
'color' => '#6875f5'
84+
],
85+
'livewire' => [
86+
'name' => 'Livewire',
87+
'image-alt' => 'Laravel Livewire Logo',
88+
'description' => 'Build reactive, dynamic applications using Laravel and Blade.',
89+
'href' => 'https://livewire.laravel.com',
90+
'color' => '#fb70a9'
91+
],
92+
'nova' => [
93+
'name' => 'Nova',
94+
'image-alt' => 'Laravel Nova Logo',
95+
'description' => 'Thoughtfully designed administration panel for your Laravel applications.',
96+
'href' => 'https://nova.laravel.com',
97+
'color' => '#4099DE'
98+
],
99+
'octane' => [
100+
'name' => 'Octane',
101+
'image-alt' => 'Laravel Octane Logo',
102+
'description' => 'Supercharge your application\'s performance by keeping it in memory.',
103+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/octane',
104+
'color' => '#CA3A31'
105+
],
106+
'pennant' => [
107+
'name' => 'Pennant',
108+
'image-alt' => 'Laravel Pennant Logo',
109+
'description' => 'A simple, lightweight library for managing feature flags.',
110+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/pennant',
111+
'color' => '#1aa44a'
112+
],
113+
'pint' => [
114+
'name' => 'Pint',
115+
'image-alt' => 'Laravel Pint Logo',
116+
'description' => 'Opinionated PHP code style fixer for minimalists.',
117+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/pint',
118+
'color' => '#ffd000'
119+
],
120+
'prompts' => [
121+
'name' => 'Prompts',
122+
'image-alt' => 'Laravel Prompts Logo',
123+
'description' => 'Beautiful and user-friendly forms for command-line applications.',
124+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/prompts',
125+
'color' => '#4ade80'
126+
],
127+
'sail' => [
128+
'name' => 'Sail',
129+
'image-alt' => 'Laravel Sail Logo',
130+
'description' => 'Hand-crafted Laravel local development experience using Docker.',
131+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/sail',
132+
'color' => '#38BDF7'
133+
],
134+
'sanctum' => [
135+
'name' => 'Sanctum',
136+
'image-alt' => 'Laravel Sanctum Logo',
137+
'description' => 'API and mobile application authentication without wanting to pull your hair out.',
138+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/sanctum',
139+
'color' => '#1D5873'
140+
],
141+
'scout' => [
142+
'name' => 'Scout',
143+
'image-alt' => 'Laravel Scout Logo',
144+
'description' => 'Lightning fast full-text search for your application\'s Eloquent models.',
145+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/scout',
146+
'color' => '#F55D5C'
147+
],
148+
'socialite' => [
149+
'name' => 'Socialite',
150+
'image-alt' => 'Laravel Socialite Logo',
151+
'description' => 'Social authentication via Facebook, Twitter, GitHub, LinkedIn, and more.',
152+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/socialite',
153+
'color' => '#E394BA'
154+
],
155+
'spark' => [
156+
'name' => 'Spark',
157+
'image-alt' => 'Laravel Spark Logo',
158+
'description' => 'Launch your next business with our fully-featured, drop-in billing portal.',
159+
'href' => 'https://spark.laravel.com',
160+
'color' => '#9B8BFB'
161+
],
162+
'telescope' => [
163+
'name' => 'Telescope',
164+
'image-alt' => 'Laravel Telescope Logo',
165+
'description' => 'Debug your application using our debugging and insight UI.',
166+
'href' => '/docs/' . Docs::DEFAULT_VERSION . '/telescope',
167+
'color' => '#4040C8'
168+
],
169+
'vapor' => [
170+
'name' => 'Vapor',
171+
'image-alt' => 'Laravel Vapor Logo',
172+
'description' => 'Laravel Vapor is a serverless deployment platform for Laravel, powered by AWS.',
173+
'href' => 'https://vapor.laravel.com',
174+
'color' => '#25c4f2'
175+
]
176+
];
177+
}
178+
}

app/Http/Controllers/CommentsController.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ public function show(Post $post, array $data = [])
2727

2828
return view('components.comments', array_merge($data, [
2929
'model' => $post,
30-
]))
31-
->fragmentIf(!request()->isMethod('GET'), 'comments');
30+
]));
3231
}
3332

3433
/**

app/Http/Controllers/DocsController.php

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public function status(string $version = Docs::DEFAULT_VERSION)
3333
{
3434
$documents = Document::where('version', $version)
3535
->orderByDesc('behind')
36+
->orderBy('file')
3637
->get();
3738

3839
return view('docs.status', [

0 commit comments

Comments
 (0)