mirror of
				https://github.com/jasm1nii/xml-feed-generator.git
				synced 2025-11-04 08:58:35 +00:00 
			
		
		
		
	- the previous script sorted entries alphanumerically instead of chronologically, which was an issue for people who don't use numbered directories. - functions have been separated from the config file for better readability and ease of use. Signed-off-by: Jasmine Amalia <67263692+jasm1nii@users.noreply.github.com>
xml-feed-generator
an RSS/atom feed generator for my personal site 🐱 tested to work with PHP version 8.2.
how it works
- match files in a specificied directory.
 - load the DOM of each file.
 - for each child of 
<entry>in the XML feed, output a string value from one of the following HTML elements/file properties, in order of priority: 
| original HTML | XML output | 
|---|---|
1. class="p-name" | 
<title> | 
2. the first <title> element | 
|
| 3. the XML feed title | |
1. datetime attribute of class="dt-updated" | 
<updated> | 
2. datetime attribute of the first <time> element | 
|
| 3. file modification date, retrieved from the server | |
1. datetime attribute of class="dt-published" | 
<published> | 
2. datetime attribute of the first <time> element | 
|
| 3. file creation date, retrieved from the server | |
1. class="p-summary" | 
<summary> | 
2. <meta property="description"> | 
|
1. class="e-content" | 
<content> | 
2. <article> | 
|
| 1. /path/to/blog/entry | <id> and <link rel="alternate"> | 
- save all of the above into a new file named articles.xml (default name, but can be changed).
 
ways to use
- 
configure a cron job on your web server to run automatically every now and then.
- if you manage your site with cPanel, here's how to do that.
 
 - 
run the script locally on your machine.
- you can open the file on a local server like five server for vscode or XAMPP.
 - or if PHP is installed on your system, simply open the file from the command line:
 
php /path/to/feed_generator.php 
example output
feel free to check out the resulting file that i've generated.
alternatives
Description
				
					Languages
				
				
								
								
									PHP
								
								100%