将你的博客存到Dropbox和Github(Nodejs实现方法)
将你的博客存到Dropbox和Github(Nodejs实现方法)
前几天心血来潮挖了个坑,花了一天的时间弄了个Purelog的alpah版,后来我想干脆把这个坑挖大点,于时又折腾了整整四天,于是Purelog的beta发布了,同时还发布Purelog的官方网站。http://Purelog.org
欢迎到github上star和fore,欢迎pull request、 无限欢迎开发插件与开发主题,欢迎使用评测,欢迎练手,各种欢迎 具体的配置与插件开发,我在官方网站上有写指南。
#以下是摘自readme的介绍
如果你憎恨Wordpress的臃肿与性能,如果你想专注于写作,如果你正在或者准备使用Markdown写作,如果希望将你的文章保存到Dropbox或者Gibhub,如果你想获取极高的响应速度,如果你是一个Node.js的开发者,那么你一定要尝试一下Purelog。
##Purelog的特点
- 极速,Purelog在启动的时候,会将博客的文章读取内存,完全不需要再读取硬盘,所以响应非常快速
- 基于Markdown,Purelog基于文件式的Markdown,这就意味你只需要将Markdown文件保存到某个文件夹就可以了
- 支持Dropbox共享链接的读取,你可以将文章保存至Dropbox,不需要Dropbox的授权
- 支持Git仓库,你可以将文章提交至Git,然后Purelog会自动索引Git仓库中的文章。
- 支持多主题
- 支持插件扩展
##Purelog适合于哪些人群
- 有自己的VPS或者云主机,如Appflog,总之,你需要Node.js的环境
- 有一定的动手能力,比如说能部署Node.js,会使用
npm install -g purelog
- 正在或者准备用Markdown写作
- 希望专注写作
- Node.js的开发者,或者其它程序员
如果你有两项匹配,我建议你可以尝试一下Purelog。
##如何安装Purelog
Purelog的安装非常简单,首先要确保你安装了Node.js,然后在命令行按如下步骤:
npm install -g purelog
,注意这里一定要用-g
的参数cd
至你要安装博客的目录,例如/var/www/purelog
,这里最好是一个空目录。执行purelog --init
- 如果执行成功,你会看到成功的提示,根据提示,再执行
npm install && node app.js
只需要简单的三步,你的Purelog就能正常运行了,访问http://localhost:13111 就可以访问你的博客了。但这时候Purelog还是默认配置,你需要修改一些简单的配置。如何修改Purelog的配置
##Github
作为一个开源系统,Github当然是必需要提供的了:Purelog on Github
将你的博客存到Dropbox和Github(Nodejs实现方法)
前几天心血来潮挖了个坑,花了一天的时间弄了个Purelog的alpha版,后来我想干脆把这个坑挖大点,于是又折腾了整整四天,于是Purelog的beta发布了,同时还发布Purelog的官方网站。http://purelog.org
欢迎到GitHub上star和fork,欢迎pull request、无限欢迎开发插件与开发主题,欢迎使用评测,欢迎练手,各种欢迎。 具体的配置与插件开发,我在官方网站上有写指南。
#以下是摘自README的介绍
如果你憎恨WordPress的臃肿与性能,如果你想专注于写作,如果你正在或者准备使用Markdown写作,如果希望将你的文章保存到Dropbox或者GitHub,如果你想获取极高的响应速度,如果你是一个Node.js的开发者,那么你一定要尝试一下Purelog。
Purelog的特点
- 极速:Purelog在启动的时候,会将博客的文章读取到内存,完全不需要再读取硬盘,所以响应非常快速。
- 基于Markdown:Purelog基于文件式的Markdown,这就意味着你只需要将Markdown文件保存到某个文件夹即可。
- 支持Dropbox共享链接的读取:你可以将文章保存至Dropbox,不需要Dropbox的授权。
- 支持Git仓库:你可以将文章提交至Git,然后Purelog会自动索引Git仓库中的文章。
- 支持多主题
- 支持插件扩展
Purelog适合于哪些人群
- 有自己的VPS或者云主机,如Appfog,总之,你需要Node.js的环境。
- 有一定的动手能力,比如说能部署Node.js,会使用
npm install -g purelog
。 - 正在或者准备用Markdown写作。
- 希望专注写作。
- Node.js的开发者,或者其他程序员。
如果你有两项匹配,我建议你可以尝试一下Purelog。
如何安装Purelog
Purelog的安装非常简单,首先要确保你安装了Node.js,然后在命令行按如下步骤:
npm install -g purelog
,注意这里一定要用-g
的参数。cd
至你要安装博客的目录,例如/var/www/purelog
,这里最好是一个空目录。执行purelog --init
。- 如果执行成功,你会看到成功的提示,根据提示,再执行
npm install && node app.js
。
只需要简单的三步,你的Purelog就能正常运行了,访问http://localhost:13111
就可以访问你的博客了。但这时候Purelog还是默认配置,你需要修改一些简单的配置。如何修改Purelog的配置
GitHub
作为一个开源系统,GitHub当然是必需要提供的了:Purelog on GitHub
接下来,我们将详细探讨如何使用Node.js将博客内容存储到Dropbox和GitHub。
存储到Dropbox
首先,你需要在Dropbox开发者网站上创建一个应用,并获取API密钥。然后,你可以使用dropbox-sdk-js
库来实现文件上传和下载。
const Dropbox = require('dropbox').Dropbox;
// 初始化Dropbox客户端
const dbx = new Dropbox({ accessToken: 'YOUR_ACCESS_TOKEN' });
// 上传文件到Dropbox
async function uploadFile(filePath, dropboxPath) {
try {
const result = await dbx.filesUpload({
path: dropboxPath,
contents: fs.createReadStream(filePath),
});
console.log(`File uploaded to ${result.path_display}`);
} catch (error) {
console.error(error);
}
}
uploadFile('/path/to/local/file.md', '/blog/file.md');
存储到GitHub
对于GitHub,你可以使用simple-github
库来实现文件操作。首先,你需要在GitHub上创建一个仓库,并获取API密钥。
const simpleGit = require('simple-git')();
// 克隆仓库
simpleGit.clone('https://github.com/yourusername/yourrepo.git', './local-repo');
// 添加文件
simpleGit.add('./*.md');
// 提交更改
simpleGit.commit('Add blog posts');
// 推送到远程仓库
simpleGit.push(['origin', 'master']);
通过以上步骤,你就可以轻松地将你的博客内容同步到Dropbox和GitHub了。
界面挺喜欢的, 但操作略麻烦… 没力气折腾了…
- 0 前台的界面不就是ghost的默认皮么
是阿,是改的ghost吧…
两句命令的事都麻烦。。。。
用的Ghost主题
除了主题,和Ghost没有一行代码是相关的
小清新的,赞一个
不错,哥你很牛B。
界面是Ghost的,要夸得夸他们 :)
菜鸟一只,本来是自用的,觉得Ghost不合我,做完发现开源也不错
为了回答“将你的博客存到Dropbox和Github(Nodejs实现方法)”这个问题,我们将重点放在如何使用Node.js实现将博客内容同步到Dropbox和GitHub上。以下是一个简化的示例代码和说明:
Dropbox 同步
首先,你需要使用dropbox
Node.js库来与Dropbox API交互。你可以通过以下步骤来设置:
-
安装
dropbox
库:npm install dropbox
-
使用以下代码示例将文件上传到Dropbox:
const { Dropbox } = require('dropbox'); const fs = require('fs'); // 初始化 Dropbox 客户端 const client = new Dropbox({ accessToken: 'YOUR_DROPBOX_ACCESS_TOKEN' }); // 上传文件 const filePath = '/path/to/your/blog/post.md'; const fileName = 'post.md'; fs.readFile(filePath, (err, data) => { if (err) throw err; client.filesUpload({ path: '/' + fileName, contents: data }) .then(res => console.log('File uploaded to Dropbox:', res)) .catch(err => console.error('Error uploading file:', err)); });
GitHub 同步
接下来,我们使用simple-github
库来与GitHub API交互:
-
安装
simple-github
库:npm install simple-github
-
使用以下代码示例将文件提交到GitHub仓库:
const GitHub = require('simple-github'); // 初始化 GitHub 客户端 const github = new GitHub({ token: 'YOUR_GITHUB_ACCESS_TOKEN' }); // 读取文件内容并提交 const filePath = '/path/to/your/blog/post.md'; fs.readFile(filePath, (err, data) => { if (err) throw err; const repoPath = 'yourusername/yourrepo'; const branch = 'main'; // 或者 master const commitMessage = 'Update blog post'; github.repos.createOrUpdateFileContents({ owner: repoPath.split('/')[0], repo: repoPath.split('/')[1], path: 'posts/' + filePath.split('/').pop(), message: commitMessage, content: data.toString('base64'), branch: branch }).then(res => console.log('File committed to GitHub:', res)) .catch(err => console.error('Error committing file:', err)); });
总结
以上代码示例展示了如何使用Node.js将博客文章同步到Dropbox和GitHub。这些操作可以帮助你备份和分享你的博客内容。确保替换代码中的访问令牌和文件路径为实际值。