绿色小软件下载
当前位置:首页 >> 新闻资讯 >> 本站动态 >> 给博客添加一个输出友链RSS的页面

给博客添加一个输出友链RSS的页面

詹姆斯·高斯林 本站动态 27

FreshRSS看了 rz 的文章,跟着做了个订阅博客的页面,然后由 rz 给我将它和友情链接放到了同一个页面,这里记录一下搭建方式,以备日后需要再次使用时查阅(以下内容结合了 rz 和网友小宋的文章,以宝塔为例搭建):1、在安装了 Docker 的宝塔服务器终端输入(此处使用默认 8080 端口,可按需修改):docker run -d --restart unless-stopped --log-opt max-size=10m \

给博客添加一个输出友链RSS的页面

-p 8080:80 \

-e TZ=Europe/Paris \

-e 'CRON_MIN=1。31' \

-v freshrss_data:/var/www/FreshRSS/data \

-v freshrss_extensions:/var/www/FreshRSS/extensions \

--name freshrss \

freshrss/freshrss2、在你的防火墙安全组放行上面设置的端口,我的是 8080,然后访问:服务器 ip:8080(你的端口)3、安装过程中数据库那里选择 "SQLite",不然会报错。

4、在宝塔新建一个站点,域名填你要作为 rss 后台的域名,数据库不用,PHP 设置纯静态即可。

5、创建完毕后,选择站点设置 - 反向代理,其中目标 url 可以根据自己实际设置的端口,我是 8080,就写 刚刚 docker 服务器的 IP:8080,如果你的反代站和 docker 在同一个服务器,就写 127.0.0.1:80806、给域名申请 ssl 证书并配置到刚刚新建的站点上,记得给域名做解析,这时候你就可以用这个域名访问后台了。

7、进入后台,在【设置 -> 管理 -> 认证】去开启允许 api。

8、在【设置 -> 账户 -> 账户管理 ->API 管理】设置密码并提交保存,记住设置的 api 密码9、在自己站点根目录下创建一个 php 文件,用于放 FreshRSS api 调用函数,例如:rss.php,内容:20) {

$short_desc = mb_substr(strip_tags(html_entity_decode($article['summary']['content']。 ENT_QUOTES。 'UTF-8'))。 0。 99。 'UTF-8') . '...';

} else {

$short_desc = strip_tags(html_entity_decode($article['summary']['content']。 ENT_QUOTES。 'UTF-8'));

}

$formattedArticle = array(

'site_name' => $article['origin']['title']。

'title' => $article['title']。

'link' => $article['alternate'][0]['href']。

'time' => date('Y-m-d H:i'。 $article['published'])。

'description' => $short_desc。

);

$subscriptionId = $article['origin']['streamId'];

if (isset($subscriptionMap[$subscriptionId])) {

$subscription = $subscriptionMap[$subscriptionId];

$iconUrl = $subscription['iconUrl'];

$filename = 'https://你部署FreshRSS的域名/'.substr($iconUrl。 strrpos($iconUrl。 '/') + 1);

$formattedArticle['icon'] = $filename;

}

$formattedArticles[] = $formattedArticle;

}

saveToJsonFile($formattedArticles);

return $formattedArticles;

} else {

echo 'Error retrieving articles.';

}

} else {

echo 'Error retrieving articles.';

}

} else {

echo 'Login failed.';

}

return null;

}

function curlRequest($url。 $authToken = null)

{

$ch = curl_init($url);

if ($authToken) {

$headers = array(

'Authorization: GoogleLogin auth=' . $authToken。

);

curl_setopt($ch。 CURLOPT_HTTPHEADER。 $headers);

}

curl_setopt($ch。 CURLOPT_RETURNTRANSFER。 true);

$response = curl_exec($ch);

curl_close($ch);

return $response;

}

/**

* 将数据保存到JSON文件中

*/

function saveToJsonFile($data)

{

$json = json_encode($data。 JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

file_put_contents('output.json'。 $json);

echo '数据已保存到JSON文件中';

}

// 调用函数并提供用户名和密码

getAllSubscribedArticlesAndSaveToJson('这里是FreshRSS的用户名'。 '这里是第3步设置的api密码');PHP10、在宝塔添加一个计划任务,定时访问 url,填写上一步创建的 php 文件(博客地址 /rss.php),时间建议 2 小时访问一次,以更新订阅数据,如果使用 cdn,记得添加白名单,避免被拦截(一般不会)。

11、在你博客需要显示订阅数据的地方插入以下代码。

PHP获取到数据之后需要根据自己博客 UI 调整样式,以下是我的,不含样式文件,仅供参考:

查看全文>>>

?

PHP至此,去 rss 管理后台添加你要订阅的博客就行了。

协助本站SEO优化一下,谢谢!
关键词不能为空

免责声明

本站有部分为网络搜集整理而来, 如有版权及内容质疑,请即刻联系站长整改。分享是美德,欢迎转载,敬请注明出处

同类推荐
控制面板
您好,欢迎到访网站!
  查看权限
  • 最新文章

  • 热评文章

  • 热门文章

标签列表