首页 > 其他分享 >一键自动化博客发布工具,用过的人都说好(阿里云篇)

一键自动化博客发布工具,用过的人都说好(阿里云篇)

时间:2024-05-08 16:45:22浏览次数:11  
标签:title 一键 博客 summary 发布 阿里 云篇 用过 图片

阿里云有个开发者社区,入驻过的朋友可能想要把自己的博客发布到阿里云社区上。

今天我来介绍一下blog-auto-publishing-tools自动发布博客到阿里云的实现原理。

阿里云的博客发布界面比较简单,只有标题,正文,摘要,关联试用产品,发布子社区,文章图片这几个选项。

一起来看看如何实现吧。

前提条件

前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean2009/blog-auto-publishing-tools

阿里云的实现

因为阿里云的博客发布界面比较简单,只有标题,正文,摘要,关联试用产品,发布子社区,文章图片这几个选项。

其中标题,正文,摘要和文章图片这几个是必须的。

关联试用产品,和发布子社区并不是刚需,所以这两个目前选择默认值即可。

如果有感兴趣的朋友可以自行实现这两个功能。

所以在config/alicloud.yaml中,我们只需要配置阿里云的发文地址即可:

site: https://developer.aliyun.com/article/new#/

有同学要问了,标题,正文,摘要和文章图片在哪里配置呢?

在最新的工具实现中,有两种方式来设置这些值。

  1. 第一种方式

第一种方式是在config/common.yaml中:

# 文章的标题
title: 一键自动化博客发布工具,用过的人都说好(阿里云篇)
# 文章的内容
content: /Users/wayne/Downloads/blogthings/blogs/blog/projects/004-auto-blog-publish-tool-oschina.md
# 文章的摘要
summary: 使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到阿里云上。

这种是最基本的方式。

  1. 第二种方式

如果你的markdown文件中已经包含了title和summary这些信息,那么你就不需要再重复在common.yaml中再写一次了。

这种方式,你需要把title和summary(对应的是description),写到markdown文件的YAML Front Matter中,如下所示:

image-20240507154807745

这样,在程序中会优先读取markdown文件中的YAML Front Matter,免去你重复设置的烦恼。

设置封面图片

封面图片就是在上图的image中设置的。

这里image是一个网络图片链接。一般来说博客的图片上传中上传的图片需要是一张本地的图片。

不过不要担心,这个工具已经实现了自动把远程图片转换成本地图片再上传的整套过程。

大家只管设置即可。

不过能够设置封面图片的前提是博客网站的上传图片是一个input标签。

可惜的是阿里云的上传是一个button,并没有input,所以目前来说阿里云是没有办法通过这个工具来自动上传封面图片的。

这个功能,后续再优化,看看有没有实现的可能。

image-20240507160825718

设置标题

阿里云的标题比较简单,直接通过ID获取,或者通过下面的XPATH来获取,设置:

    # 文章标题
    title = driver.find_element(By.XPATH, '//input[@placeholder="请填写标题"]')
    title.clear()
    if 'title' in front_matter['title'] and front_matter['title']:
        title.send_keys(front_matter['title'])
    else:
        title.send_keys(common_config['title'])
    time.sleep(2)  # 等待3秒

设置正文

阿里云的正文是一个textarea,不像之前的oschina和segmentfault用的是codemirror,那种动态的代码风格。

所以设置正文就比较简单了,我们直接拿到textarea,调用send_keys就行了:

    # 文章内容 markdown版本
    file_content = read_file_with_footer(common_config['content'])
    content = driver.find_element(By.XPATH, '//div[@class="editor"]//textarea[@class="textarea"]')
    content.send_keys(file_content)
    time.sleep(3)  # 等待3秒

设置摘要

阿里云的摘要也是一个textarea,我们可以用类似设置正文的方式来设置摘要:

    # 摘要
    if 'description' in front_matter['description'] and front_matter['description']:
        summary = front_matter['description']
    else:
        summary = common_config['summary']
    if summary:
        summary_input = driver.find_element(By.XPATH, '//div[@class="abstractContent-box"]//textarea[@placeholder="请填写摘要"]')
        summary_input.send_keys(summary)

发布博客

所有的内容都设置好了,接下来我们就可以点击发布博客按钮了。

    # 发布
    if auto_publish:
        publish_button = driver.find_element(By.XPATH, '//div[@class="publish-fixed-box-btn"]/button[contains(text(),"发布文章")]')
        publish_button.click()

总结

阿里云的博客发布界面还是中规中矩的,没有太多特殊的地方,除了上传封面没有使用input标签之外,其他都还是挺常规的用法。

点我查看更多精彩内容:www.flydean.com

标签:title,一键,博客,summary,发布,阿里,云篇,用过,图片
From: https://www.cnblogs.com/flydean/p/18180202

相关文章

  • 推荐几款AI写作工具:智能在线一键文章创作、代码编写、论文等
    在五一节的休假期结束之后,广大员工常常体验到了显著的疲劳,对立即恢复工作状态感到抗拒。虽然这种心态在职场中并不罕见,但工作的责任与需求仍需要我们去面对。在这种背景下,如何能够既保证工作效率与质量,又能为自己争取到宝贵的调整时间,成为了许多人士所关心的问题。确实,在长假过后......
  • .net 8中使用过滤器记录系统日志 ActionFilter+Serilog
    1、添加自定义日志过滤器类usingSerilog;usingMicrosoft.AspNetCore.Mvc.Filters;namespaceADTO.CMS.Common.Filter{///<summary>///日志记录过滤器///</summary>publicclassLogActionFilter:IActionFilter{///<summary>///......
  • 使用pycnblog一键拖拽同步markdown和图片
    目录原因解决办法参考链接准备工作配置config.yaml其他设置图片运行原因本地使用Typora写完文档,上传博客园时,图片不能同步解决办法参考链接博客园上传markdown文件准备工作下载工具pycnblog安装Python3pipinstallpyyaml配置config.yamlblog_url:htt......
  • 一键接入大模型:One-Api本地安装配置实操
    前言最近准备学习一下SemanticKernel,OpenAI的Api申请麻烦,所以想通过One-api对接一下国内的在线大模型,先熟悉一下SemanticKernel的基本用法,本篇文章重点记录一下OneApi安装配置的过程。讯飞星火有3.5模型的200w个人免费token,可以拿来学习。讯飞星火申请链接......
  • 函数调用过程分析
    参考:轩辕之风——从0开始学逆向第7天函数调用约定定义在计算机科学中,调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于:参数和返回值放置的位置、参数传递的顺序、调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配,被......
  • 一键自动化博客发布工具,chrome和firfox详细配置
    blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。很多小伙伴可能对于如何进行配置和启动不是很了解,今天带给大家一个详细的保姆教程,只需要跟着我的步骤一步来就可以无障碍启动了。前提条件前提条件当然是先下载blog-auto-publishing-tools......
  • 本地化部署hoppscotch —— 使用docker compose一键部署 + https支持
    一、前言研究了好久,终于完成了hoppscotch本地一键部署,并支持https。hoppscotch的介绍这里就不做过多描述,网络上非常多,这里先放几张使用效果1、api界面 2、管理界面 2、部署效果:a.使用脚本,./create_and_start.sh(后面会提供),需要传入本机ip(能访问到的),可用的smtpurl(建议使......
  • Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
    一、写在开头最近一直在更新《Java成长计划》这个专栏,主要是Java全流程学习的一个记录,目前已经更新到Java并发多线程部分,后续会继续更新;而今天准备开设一个全新的专栏《EfficientFarm》。EfficientFarm:高效农场,期许软件开发工作能够像很多国外的高效农场一般机械化,自动化。拿来......
  • html,js代码编译,加密,代码一键打包软件,HTML转exe程序
    个人软件注意杀毒软件会报毒,,放行便可小尘web打包程序可以将整个web工程项目打包成一个exe程序运行不是打包浏览器内核应用,是代码打包软件,打包后和原来一样放在nginx类软件里运行下载地址https://download.csdn.net/download/rllmqe/88789653链接:https://pan.baidu.com/s/1HTql......
  • 简析智慧灯杆一键告警功能的实用场景
    随着城市人口持续增长,城区面积持续扩大,社会公共安全面临的挑战也与日俱增。智慧路灯杆是一种兼具智能化和多功能的新型物联网基础设施,通过搭载一键告警对讲盒,能够大大丰富安防及报警求助资源,实现对事件现场的精确定位、实时音视频采集传输、人员快速调遣等功能,对提升城市的安全性......