zoukankan      html  css  js  c++  java
  • octopress第三方插件:博文同步工具syncPost

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

    我在 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 中来:)

  • 相关阅读:
    人人学IoT 助学思维导图
    基于netty4.x开发时间服务器
    JAVA实现的截屏程序
    java获取硬盘ID以及MAC地址
    神经网络joone_engin模式识别示范,eclipse
    神经网络/人工智能 开源库
    双目测距
    OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
    一个java 开源神经网络引擎 joone
    用Java开源项目JOONE实现人工智能编程
  • 原文地址:https://www.cnblogs.com/biaobiaoqi/p/3293472.html
Copyright © 2011-2022 走看看