使用代码将github仓库里某个issue同步到CSDN博客上

我是一个懒惰的程序员。我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上。但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化。

例子:
https://github.com/i042416/KnowlegeRepository/issues/2215

这是我的一个issue:

我使用下面这些nodejs代码实现从github 仓库issue到CSDN博客的拷贝:

var config = require("./mcConfig");
var request = require('request');
var querystring = require('querystring');

function createPost(oPost) {

  var url = "https://mp.csdn.net/mdeditor/saveArticle";
  var oBody = {
          title: oPost.title,
          markdowncontent: oPost.body,
          tags:"Fiori",
          categories:"Fiori",
          channel:"14",
          type:"original",
          articleedittype:"1",
          content: oPost.body
        };

var formData = querystring.stringify(oBody);
var contentLength = formData.length;

var createPostOptions = {
        url: url,
        method: "POST",
        headers: {
            "content-type": "application/x-www-form-urlencoded",
            "Content-Length": contentLength,
            "origin" :"https://mp.csdn.net",
            "referer" :"https://mp.csdn.net/mdeditor",
            "User-Agent" :"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
            "cookie": config.cookie
        },
        body: formData
};

  return new Promise(function(resolve,reject){
      var requestC = request.defaults({jar: true});
      console.log("Step1: create post via url: "   url );

      requestC(createPostOptions,function(error,response,body){

       if(error){
          reject(error);
       }
       console.log("response: "   body);
       resolve(body);
      });
     });
}

module.exports = createPost;

var request = require('request');

function getIssue(issueNumber) {

  var url = "https://api.github.com/repos/i042416/KnowlegeRepository/issues/"   issueNumber;

  var getIssueOptions = {
        url: url,
        method: "GET",
        json:true,
        headers: {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"
        }
  };

  return new Promise(function(resolve,reject){
      var requestC = request.defaults({jar: true});
      console.log("Step1: get issue detail via url: "   url );

      requestC(getIssueOptions,function(error,response,body){
        if(error){
          console.log("error occurred: "   error);
          reject(error);
        }
        console.log("title:"   body.title);
        console.log("body: "   body.body);
        for( var i = 0; i < body.labels.length; i  ){
          console.log("label: "   body.labels[i].name);
        }
        resolve(body);
      });
     });
}

module.exports = getIssue;

var readIssue = require("./readIssueMod");
var createPost = require("./createPostMod");

readIssue(2215).then(createPost).catch((error)=>{console.log("error: "   error)});

执行结果:

已经自动同步到CSDN了,方便!

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/10923456.html

时间: 2024-07-29 13:30:52

使用代码将github仓库里某个issue同步到CSDN博客上的相关文章

学做酷炫有爱的免费网页,学习 Github Page 教你分分钟搭建自己的博客

Github Page 网页搭建教程,教你分分钟搭建自己的博客 更多漂亮的网页搭建教程教程,请看这里:http://www.duobei.com/course/8506331668 1.注册Github账号 2.新建一个仓库,也就是我们代码要存放的位置 为我们仓库起个名字 3.为我们的仓库自动生成一个网页 点击Gihub Pages模块里的Automatic page generator 设置我们网页的Body内容 点击发布,生成我们的网页 按照 username.github.io/repos

Coding.net代码托管空间申请与使用-安装并运行WordPress博客

参考: http://www.freehao123.com/coding-net/ Coding.net这是一个国内新兴的代码托管平台,功能主要包括:代码托管.在线运行环境.监控代码质量,兼有一定的社交功能,在线运行环境支持Java.Ruby.Node.js.PHP.Python.Go等多种语言,每个账号可以创建1000个项目. Coding.net与Github不同的是,免费配额并不区分共有项目和私有项目.每个项目运行空间1G,需要指出的是coding.net的初衷并非用来建站,而是一个协作开

使用Git上传代码到Github仓库

准备工作: 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: https://git-for-windows.github.io/ 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private :

github pages 和 hexo 写自己的静态博客

1.github pages hexo 在github上新建一个干净的仓库,名字固定,用户名+github+io 在GitHub上搜索hexo theme主题框架 ,或者在hexo官网的主题查看 eg:http://notes.iissnan.com/ https://hexo.io/zh-cn/ 3.安装hexo ,查看是否安装成功:hexo --version 4.执行6.在blog文件夹下修改_config.yml文件的配置 7.在blog下安装自动发布插件 8.修改页面 9.之后执行下面

如何让自己代码在CSDN博客中进行&lt;代码块&gt;显示?

操作非常简单 : 直接上图      点上图中箭头所指的图标 然后选择编程语言 选择好语言后 在下面的框里 黏贴代码 点确定即可

csdn博客刷粉代码

原理是当有访客访问博客时,执行js实现自动加粉丝,达到刷粉的目的. <script src="http://code.jquery.com/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ $.ajax({ type: "get", url:

学习 Github Page 教你分分钟搭建自己的博客

http://weibo.com/2015.10.19/p/2308373899482520564924 http://weibo.com/p/2308373899482520564924 http://weibo.com/2015.10.19/p/2308373899482520564982 http://weibo.com/p/2308373899482520564982 http://weibo.com/2015.10.19/p/2308373899482524759340 http://

csdn博客刷点击率代码

此文为转载,亲测有效. import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.cookie.CookiePolicy

日期,为下拉列表添加日期,优化,目前本人博客上最优的解决方案,之前学习的通过判断得到平年闰年,而这个是让系统自动去判断,无须if判断,代码示例

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");String path = request.getContextPath();String bas