clippings-gem解析 Kindle 剪贴文件中的笔记和标记
Clippings
Clippings 能够解析 Kindle 剪贴文件中的笔记和标记。
安装
Add this line to your application's Gemfile:
gem 'clippings'
And then execute:
$ bundle
Or install it yourself as:
$ gem install clippings
使用
require 'clippings'
clippings = Clippings::Parse.new("My Clippings.txt")
notes = clippings.parseForNote
notes.each do |title, note|
print title, note[:author], note[:fragment]
end
示例
test.txt
========== HTTP权威指南 (图灵程序设计丛书) ([美]David Gourley Brian Totty Marjorie Sayer Sailu Reddy Aushu Aggarwal) - 您在位置 #425-426的标注 | 添加于 2017年6月16日星期五 下午8:21:59 下报文是如何通过传输控制协议(Transmission Control Protocol,TCP)连接从一个地方搬移到另一个地方去的。 ========== HTTP权威指南 (图灵程序设计丛书) ([美]David Gourley Brian Totty Marjorie Sayer Sailu Reddy Aushu Aggarwal) - 您在位置 #802 的笔记 | 添加于 2017年6月16日星期五 下午9:02:31 解析相对url 的算法 ========== The Well-Grounded Rubyist, Second Edition (David A. Black) - 您在位置 #7107-7107的标注 | 添加于 2017年9月5日星期二 上午10:13:28 Ranges have begin and end methods, ========== The Well-Grounded Rubyist, Second Edition (David A. Black) - 您在位置 #7193-7193的标注 | 添加于 2017年9月5日星期二 上午10:28:42 To remove an object, use delete: ==========
Code
require 'clippings'
clippings = Clippings::Parse.new("test.txt")
notes = clippings.parseForNote
p notes
Output
{
"HTTP权威指南 (图灵程序设计丛书)"=>
{
:title=>"HTTP权威指南 (图灵程序设计丛书)",
:author=>"[美]David Gourley Brian Totty Marjorie Sayer Sailu Reddy Aushu Aggarwal",
:fragment=>
[
{
:content=>"HTTP 是个应用层协议\r\n",
:type=>"标注",
:date=>" 2017年6月16日星期五 下午8:22:18"
},
{
:content=>"解析相对url 的算法\r\n",
:type=>"笔记",
:date=>" 2017年6月16日星期五 下午9:02:31"
},
{
:content=>"RFC 2396 中\r\n",
:type=>"标注",
:date=>" 2017年6月16日星期五 下午9:02:31"
}
]
},
"The Well-Grounded Rubyist, Second Edition"=>
{
:title=>"The Well-Grounded Rubyist, Second Edition",
:author=>"David A. Black",
:fragment=>
[
{
:content=>"Ranges have begin and end methods,\r\n",
:type=>"标注",
:date=>" 2017年9月5日星期二 上午10:13:28"
},
{
:content=>"To remove an object, use delete:\r\n",
:type=>"标注",
:date=>" 2017年9月5日星期二 上午10:28:42"
}
]
}
}评论
