From a78428c698060b5aac02fec3cf554ba54103b0f7 Mon Sep 17 00:00:00 2001 From: Marco Gavelli Date: Mon, 16 Jul 2018 09:46:52 +0200 Subject: [PATCH] Added EPUB plugin --- .../EpubViewerControl.xaml | 45 ++ .../EpubViewerControl.xaml.cs | 160 +++++++ .../QuickLook.Plugin.EpubViewer/Plugin.cs | 67 +++ .../Properties/AssemblyInfo.cs | 34 ++ .../QuickLook.Plugin.EpubViewer.csproj | 89 ++++ .../packages.config | 5 + .../VersOne.Epub/Entities/EpubBook.cs | 16 + .../Entities/EpubByteContentFile.cs | 7 + .../VersOne.Epub/Entities/EpubChapter.cs | 19 + .../VersOne.Epub/Entities/EpubContent.cs | 13 + .../VersOne.Epub/Entities/EpubContentFile.cs | 9 + .../VersOne.Epub/Entities/EpubContentType.cs | 20 + .../VersOne.Epub/Entities/EpubSchema.cs | 11 + .../Entities/EpubTextContentFile.cs | 7 + QuickLook.Plugin/VersOne.Epub/EpubReader.cs | 231 ++++++++++ .../VersOne.Epub/Readers/BookCoverReader.cs | 40 ++ .../VersOne.Epub/Readers/ChapterReader.cs | 83 ++++ .../VersOne.Epub/Readers/ContentReader.cs | 113 +++++ .../VersOne.Epub/Readers/NavigationReader.cs | 408 ++++++++++++++++++ .../VersOne.Epub/Readers/PackageReader.cs | 399 +++++++++++++++++ .../Readers/RootFilePathReader.cs | 33 ++ .../VersOne.Epub/Readers/SchemaReader.cs | 22 + .../VersOne.Epub/RefEntities/EpubBookRef.cs | 71 +++ .../RefEntities/EpubByteContentFileRef.cs | 22 + .../RefEntities/EpubChapterRef.cs | 37 ++ .../RefEntities/EpubContentFileRef.cs | 83 ++++ .../RefEntities/EpubContentRef.cs | 13 + .../RefEntities/EpubTextContentFileRef.cs | 22 + .../Schema/Navigation/EpubNavigation.cs | 14 + .../Navigation/EpubNavigationContent.cs | 15 + .../Navigation/EpubNavigationDocAuthor.cs | 8 + .../Navigation/EpubNavigationDocTitle.cs | 8 + .../Schema/Navigation/EpubNavigationHead.cs | 8 + .../Navigation/EpubNavigationHeadMeta.cs | 9 + .../Schema/Navigation/EpubNavigationLabel.cs | 12 + .../Schema/Navigation/EpubNavigationList.cs | 12 + .../Schema/Navigation/EpubNavigationMap.cs | 8 + .../Navigation/EpubNavigationPageList.cs | 8 + .../Navigation/EpubNavigationPageTarget.cs | 15 + .../EpubNavigationPageTargetType.cs | 9 + .../Schema/Navigation/EpubNavigationPoint.cs | 20 + .../Schema/Navigation/EpubNavigationTarget.cs | 14 + .../VersOne.Epub/Schema/Opf/EpubGuide.cs | 8 + .../Schema/Opf/EpubGuideReference.cs | 16 + .../VersOne.Epub/Schema/Opf/EpubManifest.cs | 8 + .../Schema/Opf/EpubManifestItem.cs | 20 + .../VersOne.Epub/Schema/Opf/EpubMetadata.cs | 24 ++ .../Schema/Opf/EpubMetadataContributor.cs | 9 + .../Schema/Opf/EpubMetadataCreator.cs | 9 + .../Schema/Opf/EpubMetadataDate.cs | 8 + .../Schema/Opf/EpubMetadataIdentifier.cs | 9 + .../Schema/Opf/EpubMetadataMeta.cs | 12 + .../VersOne.Epub/Schema/Opf/EpubPackage.cs | 11 + .../VersOne.Epub/Schema/Opf/EpubSpine.cs | 9 + .../Schema/Opf/EpubSpineItemRef.cs | 15 + .../VersOne.Epub/Schema/Opf/EpubVersion.cs | 8 + .../VersOne.Epub/Utils/XmlUtils.cs | 28 ++ .../VersOne.Epub/Utils/ZipPathUtils.cs | 32 ++ .../VersOne.Epub/VersOne.Epub.csproj | 15 + .../VersOne.Epub/VersOne.Epub.nuspec | 31 ++ QuickLook.sln | 22 + 61 files changed, 2533 insertions(+) create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/EpubViewerControl.xaml create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/EpubViewerControl.xaml.cs create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/Plugin.cs create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/Properties/AssemblyInfo.cs create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/QuickLook.Plugin.EpubViewer.csproj create mode 100644 QuickLook.Plugin/QuickLook.Plugin.EpubViewer/packages.config create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubBook.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubByteContentFile.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubChapter.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubContent.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubContentFile.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubContentType.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubSchema.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Entities/EpubTextContentFile.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/EpubReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/BookCoverReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/ChapterReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/ContentReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/NavigationReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/PackageReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/RootFilePathReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Readers/SchemaReader.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubBookRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubByteContentFileRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubChapterRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubContentFileRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubContentRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/RefEntities/EpubTextContentFileRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigation.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationContent.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationDocAuthor.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationDocTitle.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationHead.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationHeadMeta.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationLabel.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationList.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationMap.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationPageList.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationPageTarget.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationPageTargetType.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationPoint.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Navigation/EpubNavigationTarget.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubGuide.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubGuideReference.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubManifest.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubManifestItem.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadata.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadataContributor.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadataCreator.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadataDate.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadataIdentifier.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubMetadataMeta.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubPackage.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubSpine.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubSpineItemRef.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Schema/Opf/EpubVersion.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Utils/XmlUtils.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/Utils/ZipPathUtils.cs create mode 100644 QuickLook.Plugin/VersOne.Epub/VersOne.Epub.csproj create mode 100644 QuickLook.Plugin/VersOne.Epub/VersOne.Epub.nuspec diff --git a/QuickLook.Plugin/QuickLook.Plugin.EpubViewer/EpubViewerControl.xaml b/QuickLook.Plugin/QuickLook.Plugin.EpubViewer/EpubViewerControl.xaml new file mode 100644 index 0000000..561d74d --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.EpubViewer/EpubViewerControl.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + +