Explorar o código

Make articles viewable

axkuhta hai 1 ano
pai
achega
25c212562b

+ 2 - 2
app/Console/Commands/LoadSampleData.php

@@ -31,14 +31,14 @@ class LoadSampleData extends Command
 		$article = new Article;
 		$article->title = "Использование netcat-openbsd в качестве HTTP сервера";
 		$article->description = "Если нет нормального веб-сервера...";
-		$article->content = "<p>При необходимости передать файл по HTTP, но отсутствии какого-либо веб-сервера, можно использовать netcat:</p><code><pre>cat <(echo -en \"HTTP/1.0 200 OK\r\n\r\n\") arch/x86/boot/bzImage | nc -N -l -p 8080</pre></code>";
+		$article->content = "<p>При необходимости передать файл по HTTP, но отсутствии какого-либо веб-сервера, можно использовать netcat:</p><pre><code>cat <(echo -en \"HTTP/1.0 200 OK\\r\\n\\r\\n\") arch/x86/boot/bzImage | nc -N -l -p 8080</code></pre>";
 		$article->publish_at = now();
 		$article->save();
 
 		$article = new Article;
 		$article->title = "Построение спектрограмм при помощи ffmpeg";
 		$article->description = "Спектрограммы с микрофона в реальном времени";
-		$article->content = "<p>Под Linux, если есть pipewire (Или вообще везде так можно?), можно сделать так:<p><code><pre>ffplay -f lavfi -i 'amovie=mpv:f=pulse,aderivative,volume=10,showspectrum=color=viridis:s=1024x384' -an</pre></code><p>Просмотреть доступные устройства можно так:</p><code><pre>$ pw-link -o\nMidi-Bridge:Midi Through:(capture_0) Midi Through Port-0\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FL\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FR\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FL\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FR\nmpv:output_FL\nmpv:output_FR\n</pre></code>";
+		$article->content = "<p>Под Linux, если есть pipewire (Или вообще везде так можно?), можно сделать так:<p><pre><code>ffplay -f lavfi -i 'amovie=mpv:f=pulse,aderivative,volume=10,showspectrum=color=viridis:s=1024x384' -an</code></pre><p>Просмотреть доступные устройства можно так:</p><pre><code>$ pw-link -o\nMidi-Bridge:Midi Through:(capture_0) Midi Through Port-0\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FL\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FR\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FL\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FR\nmpv:output_FL\nmpv:output_FR\n</code></pre>";
 		$article->publish_at = now();
 		$article->save();
 

+ 6 - 0
app/Http/Controllers/ArticleController.php

@@ -14,4 +14,10 @@ class ArticleController extends Controller
 	function add() {
 		return view("add_article_form");
 	}
+
+	function view(Article $article) {
+		return view("article", [
+			"article" => $article
+		]);
+	}
 }

+ 7 - 0
resources/views/article.blade.php

@@ -0,0 +1,7 @@
+@extends("layouts.app")
+
+@section("content")
+<h1>{{$article->title}}</h1>
+<div>{{$article->publish_at}}</div>
+{!! $article->content !!}
+@endsection

+ 4 - 0
resources/views/layouts/app.blade.php

@@ -123,6 +123,10 @@
 			.article-list-description {
 				margin: 1rem 0;
 			}
+
+			pre {
+				overflow: scroll;
+			}
 		</style>
 	</head>
 	<body>

+ 1 - 0
routes/web.php

@@ -46,3 +46,4 @@ Route::get('/api/books', function() { return Resources\BookResource::collection(
 
 // Публикации
 Route::get('/articles', [Controllers\ArticleController::class, 'index']);
+Route::get('/article/{article}', [Controllers\ArticleController::class, 'view']);