GithubHelp home page GithubHelp logo

rlueder / hypothesis-hardcopy Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 239 KB

Annotate your physical books through the Hypothesis service.

Home Page: https://hypothesis-hardcopy.vercel.app

HTML 0.74% SCSS 11.24% TypeScript 88.02%
annotations hypothesis isbn marginalia react typescript

hypothesis-hardcopy's Introduction

Hi there 👋

There are no artists working in the interface medium who are not, in one way or another, engineers as well. This has always been the case with culture and technology, of course; it's just that we used to pretend it was otherwise, by dutifully keeping the painters and the mechanics separate, on the college campuses, in the museum halls, on the bookshelves⸺wherever the twain had the slightest chance of meeting.

The artisans of interface culture don't bother wasting time with these arbitrary divisions. Their medium reinvents itself too quickly for false oppositions between creative types and programmers. They have become something else, some new fusion of artist and engineer⸺interfacers, cyberpunks, Web masters⸺charged with the epic task of representing our digital machines, making sense of information in its raw form. ⸺ Steven Johnson, Interface Culture, 1997


rlueder

hypothesis-hardcopy's People

Contributors

rlueder avatar

Stargazers

 avatar

Watchers

 avatar

hypothesis-hardcopy's Issues

make layout responsive for small devices

  • set search field type to 'tel'
  • center placeholder text before ISBN search results
  • auto select ISBN on input focus
  • make header disappear when scrolling down
  • expand/collapse book info so annotations take most of screen space
  • style annotation input field/form
  • zoom into cover on tap
  • add toolbar to jump to book info, annotations, add annotation form
  • use icon on Search button
  • use React router to navigate through previous searches
  • set up PWA

support OCR for scanning a passage to be annotated

https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture
https://github.com/naptha/tesseract.js

While the API accepts arbitrary Annotation selectors in the target.selector property, the Hypothesis client currently supports TextQuoteSelector, RangeSelector and TextPositionSelector selector.

from hypothesis/client/src/types/api.js:

/**
 * Selector which identifies a document region using the selected text plus
 * the surrounding context.
 *
 * @typedef TextQuoteSelector
 * @prop {'TextQuoteSelector'} type
 * @prop {string} exact
 * @prop {string} [prefix]
 * @prop {string} [suffix]
 */

/**
 * Selector which identifies a document region using UTF-16 character offsets
 * in the document body's `textContent`.
 *
 * @typedef TextPositionSelector
 * @prop {'TextPositionSelector'} type
 * @prop {number} start
 * @prop {number} end
 */

/**
 * Selector which identifies a document region using XPaths and character offsets.
 *
 * @typedef RangeSelector
 * @prop {'RangeSelector'} type
 * @prop {string} startContainer
 * @prop {string} endContainer
 * @prop {number} startOffset
 * @prop {number} endOffset
 */

Example JSON to be sent to /annotations endpoint:

{
    "type": "TextQuoteSelector",
    "exact": "Across the Hist1 locus, there was a global decrease inH3K27ac and H3K56ac along with decreases in mRNA and protein levels",
    "prefix": "llite cells (Liu et al., 2013). ",
    "suffix": " (Figure S4A-S4D).Decreases in H"
}

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.