70250019f4
- 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> |
||
---|---|---|
LICENSE | ||
README.md | ||
feed_generator.php | ||
feed_generator_functions.php |
README.md
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.