热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

octopress第三方插件:博文同步工具syncPost

为了增加外链等考虑,独立博客往往有将博文同步到其他博客社区的需求。自己人肉黏贴的方式笨拙、重复,对于程序猿而言,着实不可取。我在githu

为了增加外链等考虑,独立博客往往有将博文同步到其他博客社区的需求。自己人肉黏贴的方式笨拙、重复,对于程序猿而言,着实不可取。

我在 github 上找到了 syncPost 这个针对 octopress 的第三方工具,能够通过一些论坛提供的 metaWeblog 服务实现 octopress 最新一篇博文的同步提交。

这大概就是我要找的东西吧。不过,其中有些细节并不是我想要的:

  • 1.在本地配置文件存储论坛账户的密码。虽然可以设置为 ignore 不提交到 git 代码库中,但这也并不安全。
  • 2.只能同步最新的一篇博客,没有整体的博文搬家功能。
  • 3.先比其他的 octopress 插件,原来版本的代码结构难于维护,比如有自己单独的配置文件,而不是使用全局的_config.yml(在那个版本中大概是为了不把明文密码提交到版本库中),比如 ruby 文件单独在一个_custom文件夹下等

基于这些点,我 fork 了作者的代码,定制成了它现在的样子。

功能

通过 rake 的方式实现同步功能:

  • 1.同步所有 octopress 的博文到目标博客。 (rake sync_all_posts)
  • 2.同步最新一篇博文到目标博客。(rake sync_lates_post)

开发

这个 octopress 插件的结构很简单:

  • 安装nokogirimetaweblog两个 gem。前者实现对 octopress 生成的 html 页面的解析,找到对应的博文。提供了客户端发起 MetaWeblog 请求的功能。
  • 在全局配置文件_config.yml中配置了目标博客 MetaWeblog 的服务地址、用户的账号信息。
  • octopress/plugins/sync_*.rb 三个文件则是代码实现。其中 sync_post.rb 中包含了 post 类,是主要的逻辑代码所在,sync_all_posts.rb 和 sync_latest_post.rb 则是对前者的调用。
  • 修改了 octopress 的 Rakefile,通过 rake 的方式实现功能。

下一步

希望能进一步完善这个插件,现在考虑到的有:

  • 增加同步所有博文功能中,对目标博客中已有博文的查重功能。即对于已经同步过去的博客,不再发送请求,或者实现编辑功能的同步功能。由于站点的 MetaWeblog 服务大多对请求有时限控制,同步过程中可能出现中断,此时部分博文已经同步过去,而部分没有,这种情况下,暂时没有好的解决方式。
  • 测试其他有 MetaWeblog 服务的博客站点(现在仅测试了 cnblog)。
  • cnblog 的博文显示中,似乎不支持 octopress 的代码块样式。

欢迎感兴趣的朋友参与到这个 repo 中来:)

 原文地址:http://biaobiaoqi.github.com/blog/2013/08/31/octopress-3rd-party-plugin-syncpost/
 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0


转:https://www.cnblogs.com/biaobiaoqi/p/3293472.html



推荐阅读
  • npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 【MEGA DEAL】Ruby on Rails编码训练营(97%折扣)限时特惠!
    本文介绍了JCG Deals商店提供的Ruby on Rails编码训练营的超值优惠活动,现在只需29美元即可获得,原价为$1,296。Ruby on Rails是一种用于Web开发的编程语言,即使没有编程或网页设计经验,也能在几分钟内构建专业的网站。该训练营共有6门课程,包括使用Ruby on Rails进行BDD的课程,使用RSpec 3和Capybara等。限时特惠,机会难得,赶快行动吧! ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • 让你明白kvm是什么
    参考:https:blog.csdn.netbbwangjarticledetails80465320KVM工具集合:libvirt:操作和管理KVM虚机的虚拟化API ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
author-avatar
zhan168
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有