clippings-gem

解析 Kindle 剪贴文件中的笔记和标记
授权协议 MIT
开发语言 Ruby
所属分类 应用工具、 个人助理软件
软件类型 开源软件
地区 国产
投 递 者 濮阳弘扬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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"
                    }
                ]
        }
}
 相关资料
  • 问题内容: 我有一个HTML文档集合,我需要为其解析部分中 标记的内容。这些是我感兴趣的唯一HTML标记,即不需要在部分中解析任何内容。 我试图使用JDom提供的XPath支持来解析这些值。但是,这不能很好地解决,因为部分中的许多HTML都是无效的XML。 有人对我可能如何处理格式错误的HTML解析这些标记值有任何建议吗? 干杯,唐 问题答案: 您可能会使用Jericho HTML Parser

  • 我实际上正在用Java开发一个文本解析器,有人要求我通过用它解析HTML来增强它。解析器的目的是将被解析的文件分成另外三个文件,一个包含文件中包含的所有单词,一个包括所有句子,另一个包含所有问题。 *.txt部分工作得很好,但我在解析HTML时遇到了一个问题。 我创建了一个扩展名为*.txt的临时文件,并将其在我的文本解析器中传递,但是如果我传递一个带有HTML文件链接的URL,其格式如下所示:

  • 有关于OpenNLP中解析器标记含义的文档吗?我知道POS标记类型遵循树库约定,但不幸的是,我没有找到任何关于解析器标记的信息,例如“SBAR”等。 这个留档是存在于某个地方还是我必须自己弄清楚?

  • 在系统剪贴板上执行复制和剪贴操作 进程: 主进程, 渲染进程​ 复制字符串例子: 1 const {clipboard} = require('electron') 2 clipboard.writeText('Example String') Copied! 在X Window系统上,还有一个选择剪贴板。要操作它,你需要传递selection到每个方法: 1 const {clipboard}

  • 在系统剪贴板上执行复制和粘贴操作。 进程: Main, Renderer 下面的示例演示如何将字符串写入剪贴板: const { clipboard } = require('electron') clipboard.writeText('Example String') On Linux, there is also a selection clipboard. To manipulate it

  • Microsoft Windows剪贴簿允许把数据从一个程序传送到另一个程序中。它的原理相对而言比较简单,把数据存放到剪贴簿上的程序或从剪贴簿上取出数据的程序都无须太多的负担。Windows 98和Microsoft Windows NT都提供了剪贴簿浏览程序,该程序可以显示剪贴簿的目前内容。 许多处理文件或者其它数据的程序都包含一个「Edit」菜单,其中包括「Cut」、「Copy」和「Paste