Coder Social home page Coder Social logo

daleyklippings's Introduction

DaleyKlippings
=============

Modification of the Klippings codebase optimized for Evernote

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

daleyklippings's People

Contributors

claytondaley avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sengeiou

daleyklippings's Issues

Duplicate Detection

On several cases, I've made a highlight only to realize that I needed a different highlight (and/or note). It may be the case that some of these are automatically avoided, but it'd be nice to add a tool to identify cases like this and offer some easy resolutions. This will probably need to complement #5 since the correction could occur at other times.

Mendeley Smarts

Mendeley is a great way to track references. Kindle has good enough PDF support... so highlights can be moved to Evernote (or another target) with relative ease. By the time the clippings find their way into a final system (Word? Scrivener?), there's a manual process to restore these connections.

It would be nice if there were some way to attach a Mendeley ID to an import source so patterns (especially the DaleyKlippings Evernote exporter) could store the metadata.

Expand support beyond Kindle(?)

The tool's genesis was Kindle Clippings and it does a good job of moving clippings to tools like Evernote. The addition of CSV import/export further expands the potential of the tool. If Scrivener supported metadata Import, I'd want to be able to convert from Evernote to Scrivener.

This leads to two questions:

  • Is this the right tool for other data mapping activities or is there a more generic tool that could be used (perhaps integrated)?
  • What changes would be necessary?
    • We'd need to support an expanded set of fields including Evernote's Tags.
    • It might make sense to provide more explicit support for XML (e.g. XPath) and/or JSON (JSONpath) rather than hacking it into the Regex matcher?

Abstract Qt Roles on Clippings Object

The current codebase stores both the data and the edit mode inside the Clippings data structure. This is completely unnecessary since the QtEditRole is static for each particular column (e.g. Note).

It should be possible to create a custom handler that allows the Clippings class to manage just the mutable data internally while responding to external requests with the complete data structure.

Localizing Export Patterns

Export Patterns don't use the "Date Interpreter" language setting to localize month or day-of-week names. An easy work-around is to use a pattern without named months or days-of-week (as is true of the default pattern) so this is an extremely low priority bug.

No Support for parsing non-english datetimes

Users report that non-english datetimes are not properly parsed (http://www.mobileread.com/forums/showpost.php?p=2820915&postcount=57)

The following was provided as a Spanish example:

Tu subrayado en la posición 3197-3198 | Añadido el jueves, 10 de abril de 2014 23:29:31

the date part starts with "| Añadido el" and the date itself is "jueves, 10 de abril de 2014 23:29:31", that could be traslated as "thursday, 10th of april of 2014 23:29:31", but i didn't succcess with differents date import patters, trying with and without "de" or the name of the day of the week.

Move settings.txt to user data

In many environments (especially Windows UAC and Mac), DaleyKlippings is not allowed to modify the settings.txt file (if it is located in the program folder). While these users can take advantage of the portable version, it would be best to move everything to an user data folder.

  • This might be achieved purely programmatically (try to open files in user data, falling back on local files (that are read-only).
  • Otherwise, more involved installation is required

The following research has already been completed with respect to the second possibility:

CSV Imports and Date Localization

Does CSV Import allow you to reimport dates exported using the localized date?

It's possible recent improvements to CSV export created a situation where localized dates are used in the export but not supported if the file is reimported.

More explicit link between patterns and devices

Right now, the pattern name is the only way to determine which devices (and configurations) are supported. It would be nice to identify the most important dimensions (device, language, time format, etc.) and categorize patterns by those values.

Separate Translation from Pattern

Based on my limited experience, it should be possible to (mostly) separate translations from patterns. This would make it easier for users to provide a custom language and simplify the list of patterns. There are some quirks (like <page>-<page> vs <page> a <page>) but that could be one of the relevant categories for the patterns of #19.

"Distant" Note-Highlight Matching

Assume a user follows a sequence like:

  • Highlight Range A and add Note 1
  • Highlight Range B and add Note 2
  • Highlight Range A (or part thereof) and add Note 3

The My Clippings file will not repeat the highlight adjacent to Note 3. As a result, our adjacency checks will not correctly link the note to the related highlight.

CSV Import

Exporting CSV files is possible (but poor) and importing completely impossible using the existing Pattern system. CSV import/export would be useful, particularly for bulk editing of entries. Python has a full featured CSV module that will make this reasonably easy to implement.

Import/Export Patterns

To minimize the potential issues from copy-pasting patterns, it would be nice to offer a pattern import/export feature.

Export patterns don't work

The export patterns for Evernote and XML currently don't work in the latest Windows builds on your website. Downloading the latest export pattern from your blog doesn't work either. I have imported highlights from my Kindle using the paperwhite import pattern. I can see them in the GUI. They just don't output. All I get is the Evernote and XML with the skeleton, without any content. Please advise / fix :)

Many thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.