.well-known
about
feed
index.php
gmod
images
matrix
minecraft
posts
src
startpage
styles
terraria
.gitignore
.htaccess
README.md
deploy.sh
favicon.ico
index.php
logo.png
test.sh
50 lines
1.6 KiB
PHP
50 lines
1.6 KiB
PHP
<?php header("Content-Type: application/rss+xml; charset=ISO-8859-1"); ?>
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<rss version="2.0">
|
|
<channel>
|
|
<title>9iron</title>
|
|
<link>https://9iron.club/posts</link>
|
|
<description>Ramblings of some dumb young admin guy</description>
|
|
<language>en-us</language>
|
|
<?php
|
|
/* Generate feed */
|
|
$dir = $_SERVER['DOCUMENT_ROOT']."/posts/";
|
|
$posts = scandir($dir, 1);
|
|
$ignore = array("index.php", "feed.php", ".", "..");
|
|
$extensions = array(".php", ".html", ".htm");
|
|
/* Create 25 entries */
|
|
foreach (array_slice($posts, 0, 26) as &$post) {
|
|
/* Check against blacklist */
|
|
if (in_array($post, $ignore)) continue;
|
|
$postlocation = $dir.$post;
|
|
$posturl = "/posts/".$post;
|
|
/* This is a date because I write all my posts as such */
|
|
$postdate = pathinfo($postlocation, PATHINFO_FILENAME);
|
|
/* Fetch title and summary */
|
|
$title = "Title not available";
|
|
$summary = "Summary not available";
|
|
$dom = new DOMDocument();
|
|
if ($dom->loadHTMLFile($postlocation)) {
|
|
$xpath_section = new DOMXpath($dom);
|
|
/* Get title */
|
|
$list = $dom->getElementsByTagName("title");
|
|
if ($list->length > 0) $title = $list->item(0)->textContent;
|
|
/* Get summary */
|
|
$list = $xpath_section->query('//div[@class="section"]//p');
|
|
if ($list->length > 0) $summary = $list->item(0)->nodeValue;
|
|
}
|
|
/* Mark up the data */
|
|
$rssfeed .='
|
|
<item>
|
|
<title>'.$title.'</title>
|
|
<description>'.$summary.'</description>
|
|
<link>https://www.9iron.club'.$posturl.'</link>
|
|
<pubDate>'.date('r', strtotime($postdate)).'</pubDate>
|
|
</item>';
|
|
}
|
|
/* List it */
|
|
echo $rssfeed;
|
|
?>
|
|
</channel>
|
|
</rss>
|