68 Matching Annotations
  1. Jan 2024
    1. https://web.archive.org/web/20240106090941/https://web.hypothes.is/blog/ebook-partnership/

      Hypothes.is announced a partnership to bring annotation to epub e-books in 2017, but after 2018 no mention of it on their blog. Mailed them to ask about any progress since. Read someone's msg on Masto that they have trouble keeping epub annotations connected to the book (unlike e.g. my kindle annotations that reside in the book, but also are linked back to the location by my obsidian kindle plugin, maintaining the connection and reference. epub is xhtml so it should be doable.

      epub is part of w3c standards (cause xhtml)

    1. https://web.archive.org/web/20240104082611/https://alexcabal.com/posts/standard-ebooks-and-classic-web-tech

      first published #2022/02/11

      Apart from the framing of this post more as an apology than as a show of strength of keeping things simple and sturdy, interesting nuggets: Epub ebooks are xhtml and static so rapidly served without the need for a fancy framework or even a database. Flat texts are small, and their current collection fits in RAM entirely. PHP is used without frills. All in all a strong call to keep things simple, and to embrace my current use of php for local tools too: it's very fast.

      Also makes me wonder: #openvraag what can one do with Epub books outside an ebook reader, in terms of excerpting e.g. and ripping things out for re-use elsewhere. I've got loads of them on my laptop

  2. Jan 2023
  3. Dec 2022
  4. May 2022
    1. The plugin convert content of your blog posts and pages to most popular e-book formats for readers – pdf, ePub, mobi and fb2, using php-librasries: mPDF; PHPePub; MOBIClass; bgFB2. Plugin displays a icons form for download converted files before and/or after content on your blog pages. You can create OPDS catalogue on your site with this plugin, if you enable the option. OPDS catalog support the file-types: 'epub', 'fb2', 'pdf', 'mobi', 'zip', 'rtf', 'doc', 'docx', 'htm', 'html', 'txt', 'djvu', 'mp3', 'm4a', 'm4b'.

      Q.: How can users access the OPDS catalogue?

      A.: OPDS catalogue URL http://yoursite.com/feed/opds.

    1. I’m looking forward to the first scholarly publisher that not only provides ePub files of his journal articles, but also makes them available via OPDS. Although OPDS is currently used mostly for electronic books, I think that this is a very interesting protocol for scholarly publishers.
    1. With some extra work, you can download the entire text version of Moby-Dick from Project Gutenberg using Axios.

      ```js const axios = require('axios'); const epub = require('epub-gen');

      axios.get('http://www.gutenberg.org/files/2701/2701-0.txt'). then(res => res.data). then(text => { text = text.slice(text.indexOf('EXTRACTS.')); text = text.slice(text.indexOf('CHAPTER 1.'));

      const lines = text.split('\r\n');
      const content = [];
      for (let i = 0; i < lines.length; ++i) {
        const line = lines[i];
        if (line.startsWith('CHAPTER ')) {
          if (content.length) {
            content[content.length - 1].data = content[content.length - 1].data.join('\n');
          }
          content.push({
            title: line,
            data: ['<h2>' + line + '</h2>']
          });
        } else if (line.trim() === '') {
          if (content[content.length - 1].data.length > 1) {
            content[content.length - 1].data.push('</p>');
          }
          content[content.length - 1].data.push('<p>');
        } else {
          content[content.length - 1].data.push(line);
        }
      }
      
      const options = {
        title: 'Moby-Dick',
        author: 'Herman Melville',
        output: './moby-dick.epub',
        content
      };
      
      return new epub(options).promise;
      

      }). then(() => console.log('Done')); ```

    1. This specification, Open Annotation in EPUB, defines a profile of the W3C Open Annotation specification [OpenAnnotation] for the creation, distribution and rendering of annotations for EPUB® Publications.

      This appendix is informative

      All examples use the same hypothetical publication of Alice in Wonderland, and are given in the collection structure with a single annotation.

      • Commentary Annotation on Publication with URI json-ld { "@context": "http://www.idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "annotations": [ { "@id": "urn:uuid:E7E3799F-3CD5-4F69-87C6-5478B22873D6", "@type": "oa:Annotation", "hasTarget": { "@type": "oa:SpecificResource", "hasSource": { "@id": "http://www.example.org/ebooks/A1B0D67E-2E81-4DF5/v2.epub", "@type": "dctypes:Text" } }, "hasBody": { "@type": "dctypes:Text", "format": "application/xhtml+xml", "chars": "<div xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>I love Alice in Wonderland</div>", "language": "en" }, "motivatedBy": "oa:commenting" } ] }

      • Commentary Annotation on Publication without Identifying URI json-ld { "@context": "http://www.idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "annotations": [ { "@id": "urn:uuid:E7E3799F-3CD5-4F69-87C6-5478B22873D6", "@type": "oa:Annotation", "hasTarget": { "@type": "oa:SpecificResource", "hasSource": { "@type": "dctypes:Text", "uniqueIdentifier": "isbn:123456789x", "originURL": "http://www.example.com/publisher/book/", "dc:identifier": "urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809", "dcterms:modified": "2011-01-01T12:00:00Z" } }, "hasBody": { "@type": "dctypes:Text", "format": "application/xhtml+xml", "chars": "<div xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>I love Alice in Wonderland</div>", "language": "en" }, "motivatedBy": "oa:commenting" } ] }

      • Collection Metadata json-ld { "@context": "http://www.idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "dc:title": "Alice in Wonderland Annotations", "dc:publisher": "Example Organization", "dc:creator": "Anne O'Tater", "dcterms:modified": "2014-03-17T12:30:00Z", "dc:description": "Anne's collection of annotations on Alice in Wonderland", "dc:rights": [ { "@value": "Quelques droits en Français", "@language": "fr" }, { "@value": "Some Rights in English", "@language": "en" } ], "annotations": [ { "@id": "urn:uuid:E7E3799F-3CD5-4F69-87C6-5478B22873D6", "@type": "oa:Annotation", "hasTarget": { "@type": "oa:SpecificResource", "hasSource": { "@type": "dctypes:Text", "uniqueIdentifier": "isbn:123456789x", "originURL": "http://www.example.com/publisher/book/", "dc:identifier": "urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809", "dcterms:modified": "2011-01-01T12:00:00Z" } }, "hasBody": { "@type": "dctypes:Text", "format": "application/xhtml+xml", "chars": "<div xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>I love Alice in Wonderland</div>", "language": "en" }, "motivatedBy": "oa:commenting" } ] }

      • Annotation with Ancillary Resources in the Zip json-ld { "@context": "http://www.idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "annotations": [ { "@id": "urn:uuid:E7E3799F-3CD5-4F69-87C6-5478B22873D6", "@type": "oa:Annotation", "hasTarget": { "@type": "oa:SpecificResource", "hasSource": { "@type": "dctypes:Text", "uniqueIdentifier": "isbn:123456789x", "originURL": "http://www.example.com/publisher/book/", "dc:identifier": "urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809", "dcterms:modified": "2011-01-01T12:00:00Z" } }, "hasBody": { "@type": "dctypes:Text", "format": "application/xhtml+xml", "chars": "<div xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>I love Alice in Wonderland! <img src='/imgs/heart.jpg'/></div>" }, "motivatedBy": "oa:commenting" } ] }

      • Styling of Selection

      json-ld { "@context": "http://www.idpf.org/epub/oa/1.0/context.json", "@id": "http://example.org/epub/annotations.json", "@type": "epub:AnnotationCollection", "annotations": [ { "@id": "urn:uuid:E7E3799F-3CD5-4F69-87C6-5478B22873D6", "@type": "oa:Annotation", "styledBy": { "@type": "oa:CssStyle", "format": "text/css", "chars": ".red { border: 1px solid red; }" }, "hasTarget": { "@type": "oa:SpecificResource", "hasSelector": { "@type": "oa:FragmentSelector", "value": "epubcfi(/6/4[chap01ref]!/4[body01]/10[para05]/3:10)" }, "hasSource": { "@type": "dctypes:Text", "uniqueIdentifier": "isbn:123456789x", "originURL": "http://www.example.com/publisher/book/", "dc:identifier": "urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809", "dcterms:modified": "2011-01-01T12:00:00Z" }, "styleClass": "red" }, "hasBody": { "@type": "dctypes:Text", "format": "application/xhtml+xml", "chars": "<div xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>I love this part of the text</div>", "language": "en" }, "motivatedBy": "oa:commenting" } ] }

    1. We use the Web Annotation Protocol to sync bookmarks and last reading position across devices. At a glance it covers all the use cases here, and it's a well-defined protocol with multiple independent implementations. In particular, WAP defines a relation for discovery. Here's how we link to the annotation endpoint for a specific book in an OPDS 1.2 feed. Note the distinctive link relation and media type:

      xml <link href="https://circulation.librarysimplified.org/NYNYPL/annotations/Gutenberg%20ID/40278/" type="application/ld+json; profile=&quot;http://www.w3.org/ns/anno.jsonld&quot;" rel="http://www.w3.org/ns/oa#annotationService"/>

  5. Mar 2022
  6. Jul 2021
  7. Jun 2021
  8. Apr 2020
  9. Mar 2020
  10. Oct 2019
  11. Feb 2019
    1. “But wait—you could still re­lease your book in EPUB [or some other open e-book for­mat].” If you can show me an e-book for­mat that gives me the same con­trol over ty­pog­ra­phy and lay­out that I can get in a web browser, I’ll con­sider it. As far as I know, it doesn’t ex­ist. (If I’m wrong, please con­tact me.)Thus my op­tion here is to use EPUB to make a ty­po­graph­i­cally ugly book about ty­pog­ra­phy. Do I want to make that? No. Do you really want to read it? I doubt it. A key point in why does ty­pog­ra­phy mat­ter is that ty­pog­ra­phy in­flu­ences reader at­ten­tion. If you like this book, in part it’s be­cause the ty­pog­ra­phy is help­ing you en­joy it. If I re­move the ty­pog­ra­phy, I can al­ready fore­see the results.
  12. Nov 2018
  13. Sep 2018
  14. Nov 2017
  15. Jan 2016
  16. Dec 2015
    1. The EDUPUB Initiative VitalSource regularly collaborates with independent consultants and industry experts including the National Federation of the Blind (NFB), American Foundation for the Blind (AFB), Tech For All, JISC, Alternative Media Access Center (AMAC), and others. With the help of these experts, VitalSource strives to ensure its platform conforms to applicable accessibility standards including Section 508 of the Rehabilitation Act and the Accessibility Guidelines established by the Worldwide Web Consortium known as WCAG 2.0. The state of the platform's conformance with Section 508 at any point in time is made available through publication of Voluntary Product Accessibility Templates (VPATs).  VitalSource continues to support industry standards for accessibility by conducting conformance testing on all Bookshelf platforms – offline on Windows and Macs; online on Windows and Macs using standard browsers (e.g., Internet Explorer, Mozilla Firefox, Safari); and on mobile devices for iOS and Android. All Bookshelf platforms are evaluated using industry-leading screen reading programs available for the platform including JAWS and NVDA for Windows, VoiceOver for Mac and iOS, and TalkBack for Android. To ensure a comprehensive reading experience, all Bookshelf platforms have been evaluated using EPUB® and enhanced PDF books.

      Could see a lot of potential for Open Standards, including annotations. What’s not so clear is how they can manage to produce such ePub while maintaining their DRM-focused practice. Heard about LCP (Lightweight Content Protection). But have yet to get a fully-accessible ePub which is also DRMed in such a way.

  17. Sep 2015
    1. The W3C Annotation Working Group has a joint deliverable with the W3C Web Application Working Group called “Robust Anchoring”. This deliverable will provide a general framework for anchoring; and, although defined within the framework of annotations, the specification can also be used for other fragment identification use cases. Similarly, the W3C Media Fragments specification [media-frags] may prove useful to address some of the use cases. Finally, the Streamable Package Format draft, mentioned above, also includes a fragment identification mechanism. Would that package format be adopted for EPUB+WEB, that fragment identification may also come to the fore as an important mechanism to consider.

      Anchors are a key issue. Hope that deliverable will suffice.