PageSourceSearch

https://doclib-pwa.netlify.app/structured-data.js

js doclib-pwa.netlify.app collected 2026-10-03 10:39:32 UTC 2,772 bytes, 78 lines download raw bytes

1(function() {
2  function injectLD(data) {
3    var s = document.createElement('script');
4    s.type = 'application/ld+json';
5    s.textContent = JSON.stringify(data);
6    document.head.appendChild(s);
7  }
8
9  // Primary: SoftwareApplication schema
10  injectLD({
11    "@context": "https://schema.org",
12    "@type": "SoftwareApplication",
13    "name": "DocLib",
14    "alternateName": ["DocLib PWA", "DocLib PDF Library", "DocLib Offline PDF Reader"],
15    "url": "https://doclib.pro/",
16    "sameAs": [
17      "https://github.com/nileshkr17/doclib",
18      "https://doclib.pro/landing"
19    ],
20    "image": "https://doclib.pro/metash.png",
21    "screenshot": "https://doclib.pro/metash.png",
22    "description": "DocLib is a free offline-first PDF library and AI study app. Store, read, and chat with your PDFs entirely in the browser — no account, no cloud uploads, 100% private. Generates AI flashcards, mindmaps, and instant answers from your documents.",
23    "applicationCategory": "EducationApplication",
24    "applicationSubCategory": "PDF Reader",
25    "operatingSystem": "Any (Web Browser)",
26    "browserRequirements": "Requires a modern browser with Service Worker support",
27    "softwareVersion": "5.9.0",
28    "releaseNotes": "https://doclib.pro/landing",
29    "offers": {
30      "@type": "Offer",
31      "price": "0",
32      "priceCurrency": "USD",
33      "availability": "https://schema.org/InStock"
34    },
35    "featureList": [
36      "Offline PDF reading — works without internet after install",
37      "AI Flashcard Generator from PDF content",
38      "Ask AI questions about your documents",
39      "PDF highlights and annotations",
40      "Reading timer with streaks",
41      "Mind map generation from PDFs",
42      "Privacy first — no uploads, no account required",
43      "PWA — installable on any device"
44    ],
45    "author": {
46      "@type": "Person",
47      "name": "nileshkr17",
48      "url": "https://github.com/nileshkr17"
49    },
50    "publisher": {
51      "@type": "Organization",
52      "name": "DocLib",
53      "url": "https://doclib.pro",
54      "logo": {
55        "@type": "ImageObject",
56        "url": "https://doclib.pro/icons/icon-512.png"
57      }
58    }
59  });
60
61  // Secondary: WebSite schema for sitelinks search box eligibility
62  injectLD({
63    "@context": "https://schema.org",
64    "@type": "WebSite",
65    "name": "DocLib",
66    "alternateName": "DocLib – Offline PDF Library",
67    "url": "https://doclib.pro/",
68    "description": "Free offline-first PDF library with AI study tools. No account required.",
69    "potentialAction": {
70      "@type": "SearchAction",
71      "target": {
72        "@type": "EntryPoint",
73        "urlTemplate": "https://doclib.pro/blog?q={search_term_string}"
74      },
75      "query-input": "required name=search_term_string"
76    }
77  });
78})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.