added blog entry; added robots.txt and sitemap
This commit is contained in:
		
							parent
							
								
									0343750b0b
								
							
						
					
					
						commit
						a8a532106e
					
				| @ -5,6 +5,8 @@ RewriteEngine On | ||||
| # ------------------------------------------- | ||||
| RewriteRule ^blog/([^/]+)/?$ /blog.php?id=$1 [L,QSA] | ||||
| 
 | ||||
| RewriteRule ^sitemap\.xml$ /sitemap.php | ||||
| 
 | ||||
| # ---------------------------------------------------- | ||||
| # 2. Rewrite /lib/* or /blog/* to /error.php?code=404 | ||||
| #     with 404 response code (internal rewriting) | ||||
|  | ||||
| @ -29,6 +29,8 @@ $rand_send_comment = mt_rand() % 5; | ||||
| 
 | ||||
|     <base target="_blank"> | ||||
| 
 | ||||
|     <meta name="keywords" content="ludwig lehnert,blog,<?= join(",", $blog->keywords) ?>"> | ||||
| 
 | ||||
|     <title><?= $blog->title ?></title>
 | ||||
| 
 | ||||
|     <style> | ||||
|  | ||||
| @ -1,5 +1,9 @@ | ||||
| { | ||||
|     "title": "Test: First Blog Entry", | ||||
|     "keywords": [ | ||||
|         "test", | ||||
|         "first blog entry" | ||||
|     ], | ||||
|     "date": "2025-04-15", | ||||
|     "files": [ | ||||
|         "0.svg" | ||||
|  | ||||
							
								
								
									
										12
									
								
								www/blog/1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								www/blog/1.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| { | ||||
|     "title": "Thoughts about edge computation", | ||||
|     "keywords": [ | ||||
|         "edge", | ||||
|         "edge computation", | ||||
|         "thoughts about edge computation" | ||||
|     ], | ||||
|     "date": "2025-04-17", | ||||
|     "files": [ | ||||
|         "1.svg" | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										1
									
								
								www/blog/1.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								www/blog/1.svg
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 9.3 MiB | 
| @ -6,7 +6,7 @@ require_once __DIR__ . "/lib/_index.php"; | ||||
| 
 | ||||
| $blogs = Blog::getAll(); | ||||
| usort($blogs, function ($a, $b) { | ||||
|     strtotime($b->date) - strtotime($a->date); | ||||
|     return strtotime($b->date) - strtotime($a->date); | ||||
| }); | ||||
| 
 | ||||
| ?><!DOCTYPE html>
 | ||||
|  | ||||
| @ -4,13 +4,15 @@ class Blog | ||||
| { | ||||
|     public readonly string $id; | ||||
|     public readonly string $title; | ||||
|     public readonly array $keywords; | ||||
|     public readonly string $date; | ||||
|     public readonly array $files; | ||||
| 
 | ||||
|     public function __construct(string $id, string $title, string $date, array $files) | ||||
|     public function __construct(string $id, string $title, array $keywords, string $date, array $files) | ||||
|     { | ||||
|         $this->id = $id; | ||||
|         $this->title = $title; | ||||
|         $this->keywords = $keywords; | ||||
|         $this->date = $date; | ||||
|         $this->files = $files; | ||||
|     } | ||||
| @ -35,7 +37,7 @@ class Blog | ||||
| 
 | ||||
|         try { | ||||
|             $json = json_decode(file_get_contents($path), true); | ||||
|             return new Blog($id, $json['title'], $json['date'], $json['files']); | ||||
|             return new Blog($id, $json['title'], $json['keywords'], $json['date'], $json['files']); | ||||
|         } catch (Exception $e) { | ||||
|             return null; | ||||
|         } | ||||
|  | ||||
							
								
								
									
										3
									
								
								www/robots.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								www/robots.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| User-agent: * | ||||
| Disallow: /assets/ | ||||
| Sitemap: https://lehnert.dev/sitemap.xml | ||||
							
								
								
									
										39
									
								
								www/sitemap.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								www/sitemap.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| <?php | ||||
| 
 | ||||
| require_once __DIR__ . "/lib/_index.php"; | ||||
| 
 | ||||
| $blogs = Blog::getAll(); | ||||
| 
 | ||||
| echo '<?'; | ||||
| ?>xml version="1.0" encoding="UTF-8"?>
 | ||||
| <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> | ||||
|     <url> | ||||
|         <loc>https://lehnert.dev/</loc> | ||||
|         <lastmod>2025-04-17</lastmod> | ||||
|         <changefreq>monthly</changefreq> | ||||
|         <priority>1.0</priority> | ||||
|     </url> | ||||
| 
 | ||||
| 
 | ||||
|     <?php foreach ($blogs as $blog): ?>
 | ||||
|         <url> | ||||
|             <loc>https://lehnert.dev/blog/<?= $blog->id ?></loc>
 | ||||
|             <lastmod><?= $blog->date ?></lastmod>
 | ||||
|             <priority>0.8</priority> | ||||
|         </url> | ||||
|     <?php endforeach; ?>
 | ||||
| 
 | ||||
|     <url> | ||||
|         <loc>https://lehnert.dev/imprint</loc> | ||||
|         <lastmod>2025-04-16</lastmod> | ||||
|         <changefreq>yearly</changefreq> | ||||
|         <priority>0.5</priority> | ||||
|     </url> | ||||
| 
 | ||||
|     <url> | ||||
|         <loc>https://lehnert.dev/privacy</loc> | ||||
|         <lastmod>2025-04-16</lastmod> | ||||
|         <changefreq>yearly</changefreq> | ||||
|         <priority>0.5</priority> | ||||
|     </url> | ||||
| </urlset> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user