Skip to content

YDTRINLEY/hexo-circle-of-friends

 
 

Repository files navigation

友链朋友圈

你是否经常烦恼于友链过多但没有时间浏览?那么友链朋友圈将解决这一痛点。你可以随时获取友链网站的更新内容,并了解友链的活跃情况 。

效果如下:

目前 release 1.19 版本:
① 支持butterfly、volantis、matery、sakura、fluid主题的友链获取
② 支持小康友链及 volantis 主题友链,即部署于 gitee 上的 issuse 友链获取
③ 支持 butterfly、volantis、matery、sakura、fluid主题的最新文章获取
④ 支持大部分拥有 sitemap 网站的文章获取
⑤ 拥有友链屏蔽、关键词屏蔽、等自定义 yaml 的配置项
⑥ 代码重构并规范化,便于二次开发

bug修复
① 重复爬取同一文章问题
② 非bf主题爬取报错
③ sitemap重新置后(不通用)
④ hexo-theme-sakura主题两种时间格式引发错误
⑤ 屏蔽链接修复

预览链接:https://noionion.top/friendcircle/

教程请查阅:https://zfe.space/post/friend-link-circle.html


开发者说明

主程序说明

业务流程: 主程序-->(处理器handlers)控件—->组件(component)

组件作为最底层,单向调用。 处理器可以调用组件,组件不可以调用处理里代码块。 避免产生双向调用执行流程不清。

处理器之间,不能互相调用。 避免出现处理器相互依赖,做到移除单一处理器时,不会导致其他处理器出错。 (特例:coreSettings.py,其他处理器可以单向调用coreSettings.py的值, 但coreSettings.py不能调用其他处理器的函数/类来处理)。 处理器避免直接调用外部settings.py里的参数,而是使用coreSettings.py来调用设置的值。 如要全局设置中的值,由coreSettings.py处理器统筹,使调用收束。

主程序只负责:

  • 调用处理器;
  • 程序的整体执行流程;
  • 打印执行信息.

注意

  • request_data 即将移除;

日后开发者,避免去是用 request_data 路径下的任何东西.

  • 更高层级 handlers(处理器) coreRequest(推荐) 或使用 component(组件)中 getWeb 来作为替代

主题爬虫适配

请在theme文件夹处增添以主题名命名的.py文件,文件中至少包含以下两个函数:

友链爬取函数 get_friendlink(friendpage_link, friend_poor)

传入友链页面地址friendpage和友链列表friend_poor两个参数,无需返回值。

对于爬取到的友链地址user_info中应带有如下几个值(有序):namelinkimg/avatar。格式如:user_info = [name, link, img]

然后将其放入列表frieng_poor中:friend_poor.append(user_info)

最新文章爬取函数 get_last_post(user_info,post_poor)

传入友链信息列表uesr_info(格式如上)和文章列表post_poor两个参数,需返回值error,标记是否错误

对于爬取到的文章信息post_info中应带有如下键值对: ?

post_info = {
   'title':    , 
    'time':     ,
    'link':     ,
    'name':     ,
   'img':      
}

然后将其放入列表post_poor中:post_poor.append(post_info)

注意函数名,变量名保持一致,否则主函数将无法正确运行

主函数部分只需导入对应的文件和增添对象即可,修改部分如下所示:

(示例即为当前版本适配)

# component
from theme import butterfly,matery,volantis,sakura,fluid

# theme fit massage
themes = [
    butterfly,
    matery,
    volantis,
    sakura,
    fluid
]

开发者名单

@Zfour @DeSireFire @2X-ercha
Zfour RaXianch noionion

star记录


相关

npm安装前端方案:参照 Friend link subscription

npm install hexo-butterfly-fcircle --save

About

Python gets the friend's articles from hexo's friend-links

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%