├── .gitignore ├── Images ├── definition_popup.PNG ├── definition_popup_card.PNG ├── definition_selection.PNG ├── dictionary_entry.PNG ├── dictionary_lookup.PNG ├── library_view.PNG └── saved_words.PNG ├── LICENSE ├── Shiori Reader.xcodeproj └── project.pbxproj ├── Shiori Reader ├── App │ ├── AppDelegate.swift │ ├── MainView.swift │ ├── PrivacyInfo.xcprivacy │ └── Shiori_ReaderApp.swift ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ ├── BackgroundColor.colorset │ │ └── Contents.json │ ├── Contents.json │ └── TabBarColor.colorset │ │ └── Contents.json ├── Data │ ├── CoreData │ │ ├── CoreDataManager.swift │ │ └── ShioriReader.xcdatamodeld │ │ │ ├── .xccurrentversion │ │ │ ├── ShioriReader 2.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 3.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 4.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 5.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 6.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 7.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 8.xcdatamodel │ │ │ └── contents │ │ │ ├── ShioriReader 9.xcdatamodel │ │ │ └── contents │ │ │ └── ShioriReader.xcdatamodel │ │ │ └── contents │ ├── Models │ │ ├── AdditionalField.swift │ │ ├── AnkiSettings.swift │ │ ├── Book.swift │ │ ├── BookPreference.swift │ │ ├── Bookmark.swift │ │ ├── CustomTheme.swift │ │ ├── DefaultAppearanceSettings.swift │ │ └── SavedWord.swift │ ├── Repositories │ │ ├── BookRepository.swift │ │ ├── BookmarkRepository.swift │ │ ├── SavedWordRepository.swift │ │ └── SettingsRepository.swift │ └── UserPreference │ │ └── UserPreferences.swift ├── Extensions │ ├── EPUBNavigatorDelegate+Extensions.swift │ ├── UIColor+Hex.swift │ └── UIView+ScrollViewFinder.swift ├── Features │ ├── AnkiExport │ │ ├── AnkiExportService.swift │ │ ├── AnkiSettingsView.swift │ │ ├── AnkiSettingsViewModel.swift │ │ └── DefinitionSelectionPopupView.swift │ ├── Dictionary │ │ ├── Dictionary.swift │ │ ├── DictionaryDetailView.swift │ │ ├── DictionaryEntry.swift │ │ ├── DictionaryMatch.swift │ │ ├── DictionarySettingsView.swift │ │ ├── DictionarySettingsViewModel.swift │ │ ├── DictionaryUtils.swift │ │ ├── MinimalPitchAccentGraphView.swift │ │ ├── PitchAccent.swift │ │ ├── PitchAccentGraphView.swift │ │ └── SimplePitchAccentGraphView.swift │ ├── DictionaryImport │ │ ├── DictionaryDatabaseInspector.swift │ │ ├── DictionaryImportManager.swift │ │ ├── DictionaryManager+YomitanImport.swift │ │ ├── README.md │ │ ├── SQLiteYomitanDictionary.swift │ │ ├── SimpleZipExtractor.swift │ │ ├── YomitanDictionaryImporter.swift │ │ └── YomitanSchemas.swift │ ├── Import │ │ ├── DocumentImporter.swift │ │ ├── DocumentPickerCoordinator.swift │ │ ├── EPUBImportProcessor.swift │ │ └── ImportStatusOverlay.swift │ ├── Library │ │ ├── BookCell.swift │ │ ├── BookCoverImage.swift │ │ ├── BookGrid.swift │ │ ├── BookList.swift │ │ ├── EmptyLibraryView.swift │ │ ├── LibraryManager.swift │ │ └── LibraryView.swift │ ├── Navigation │ │ └── CustomTabBar.swift │ ├── Reader │ │ ├── Coordinators │ │ │ └── EPUBNavigatorCoordinator.swift │ │ ├── ViewModels │ │ │ ├── ReaderSearchViewModel.swift │ │ │ ├── ReaderSettingsViewModel.swift │ │ │ └── ReaderViewModel.swift │ │ └── Views │ │ │ ├── BookmarkView.swift │ │ │ ├── CharacterPickerView.swift │ │ │ ├── CustomThemePickerView.swift │ │ │ ├── DictionaryEntryView.swift │ │ │ ├── DictionaryPopupCardView.swift │ │ │ ├── DictionaryPopupView.swift │ │ │ ├── EPUBNavigatorView.swift │ │ │ ├── ReaderSearchView.swift │ │ │ ├── ReaderSettingsView.swift │ │ │ ├── ReaderView.swift │ │ │ ├── SearchBar.swift │ │ │ ├── SearchResultRow.swift │ │ │ └── TableOfContentsView.swift │ ├── SavedWords │ │ ├── EmptySavedWordsView.swift │ │ ├── SavedWordDetailView.swift │ │ ├── SavedWordsManager.swift │ │ └── SavedWordsView.swift │ ├── Search │ │ ├── DictionaryEntryRow.swift │ │ ├── EntryDetailView.swift │ │ ├── FlowLayout.swift │ │ ├── SearchView.swift │ │ └── SearchViewModel.swift │ ├── Settings │ │ ├── AppAppearanceSettingsView.swift │ │ ├── AppearanceManager.swift │ │ ├── AttributionView.swift │ │ ├── DefaultAppearanceSettingsView.swift │ │ ├── DefaultAppearanceSettingsViewModel.swift │ │ ├── FontSizeButtonControl.swift │ │ └── SettingsView.swift │ └── Welcome │ │ └── WelcomeView.swift ├── JavaScript │ ├── consoleLogger.js │ └── wordSelection.js ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json ├── Resources │ └── deinflect.json ├── Services │ ├── Dictionary │ │ ├── Deinflector.swift │ │ ├── DictionaryManager.swift │ │ ├── FrequencyManager.swift │ │ └── PitchAccentManager.swift │ ├── JapaneseSearchHelper.swift │ ├── JapaneseTextAnalyzer.swift │ ├── ServerManager.swift │ ├── TTSService.swift │ └── WordTapHandler.swift └── Utilities │ ├── BuildConfig.swift │ ├── DebugMenu.swift │ ├── DictionaryColorProvider.swift │ ├── FileTypeExtensions.swift │ ├── JapanesePitchAccentUtils.swift │ ├── KeyboardObserver.swift │ ├── LOGGING-GUIDELINES.md │ ├── Logger.swift │ ├── OrientationManager.swift │ ├── README-Logging.md │ └── ViewImageRenderer.swift ├── Shiori ReaderTests └── Shiori_ReaderTests.swift ├── Shiori ReaderUITests ├── Shiori_ReaderUITests.swift └── Shiori_ReaderUITestsLaunchTests.swift ├── Shiori-Reader-Info.plist ├── Shiori-Reader.entitlements └── readme.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/.gitignore -------------------------------------------------------------------------------- /Images/definition_popup.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/definition_popup.PNG -------------------------------------------------------------------------------- /Images/definition_popup_card.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/definition_popup_card.PNG -------------------------------------------------------------------------------- /Images/definition_selection.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/definition_selection.PNG -------------------------------------------------------------------------------- /Images/dictionary_entry.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/dictionary_entry.PNG -------------------------------------------------------------------------------- /Images/dictionary_lookup.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/dictionary_lookup.PNG -------------------------------------------------------------------------------- /Images/library_view.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/library_view.PNG -------------------------------------------------------------------------------- /Images/saved_words.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Images/saved_words.PNG -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/LICENSE -------------------------------------------------------------------------------- /Shiori Reader.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Shiori Reader/App/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/App/AppDelegate.swift -------------------------------------------------------------------------------- /Shiori Reader/App/MainView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/App/MainView.swift -------------------------------------------------------------------------------- /Shiori Reader/App/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/App/PrivacyInfo.xcprivacy -------------------------------------------------------------------------------- /Shiori Reader/App/Shiori_ReaderApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/App/Shiori_ReaderApp.swift -------------------------------------------------------------------------------- /Shiori Reader/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Assets.xcassets/BackgroundColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Assets.xcassets/BackgroundColor.colorset/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Assets.xcassets/TabBarColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Assets.xcassets/TabBarColor.colorset/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/CoreDataManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/CoreDataManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/.xccurrentversion -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 2.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 2.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 3.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 3.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 4.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 4.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 5.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 5.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 6.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 6.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 7.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 7.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 8.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 8.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 9.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader 9.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/CoreData/ShioriReader.xcdatamodeld/ShioriReader.xcdatamodel/contents -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/AdditionalField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/AdditionalField.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/AnkiSettings.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/AnkiSettings.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/Book.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/Book.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/BookPreference.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/BookPreference.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/Bookmark.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/Bookmark.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/CustomTheme.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/CustomTheme.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/DefaultAppearanceSettings.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/DefaultAppearanceSettings.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Models/SavedWord.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Models/SavedWord.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Repositories/BookRepository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Repositories/BookRepository.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Repositories/BookmarkRepository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Repositories/BookmarkRepository.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Repositories/SavedWordRepository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Repositories/SavedWordRepository.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/Repositories/SettingsRepository.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/Repositories/SettingsRepository.swift -------------------------------------------------------------------------------- /Shiori Reader/Data/UserPreference/UserPreferences.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Data/UserPreference/UserPreferences.swift -------------------------------------------------------------------------------- /Shiori Reader/Extensions/EPUBNavigatorDelegate+Extensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Extensions/EPUBNavigatorDelegate+Extensions.swift -------------------------------------------------------------------------------- /Shiori Reader/Extensions/UIColor+Hex.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Extensions/UIColor+Hex.swift -------------------------------------------------------------------------------- /Shiori Reader/Extensions/UIView+ScrollViewFinder.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Extensions/UIView+ScrollViewFinder.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/AnkiExport/AnkiExportService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/AnkiExport/AnkiExportService.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/AnkiExport/AnkiSettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/AnkiExport/AnkiSettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/AnkiExport/AnkiSettingsViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/AnkiExport/AnkiSettingsViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/AnkiExport/DefinitionSelectionPopupView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/AnkiExport/DefinitionSelectionPopupView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/Dictionary.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/Dictionary.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionaryDetailView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionaryDetailView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionaryEntry.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionaryEntry.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionaryMatch.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionaryMatch.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionarySettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionarySettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionarySettingsViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionarySettingsViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/DictionaryUtils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/DictionaryUtils.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/MinimalPitchAccentGraphView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/MinimalPitchAccentGraphView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/PitchAccent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/PitchAccent.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/PitchAccentGraphView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/PitchAccentGraphView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Dictionary/SimplePitchAccentGraphView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Dictionary/SimplePitchAccentGraphView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/DictionaryDatabaseInspector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/DictionaryDatabaseInspector.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/DictionaryImportManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/DictionaryImportManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/DictionaryManager+YomitanImport.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/DictionaryManager+YomitanImport.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/README.md -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/SQLiteYomitanDictionary.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/SQLiteYomitanDictionary.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/SimpleZipExtractor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/SimpleZipExtractor.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/YomitanDictionaryImporter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/YomitanDictionaryImporter.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/DictionaryImport/YomitanSchemas.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/DictionaryImport/YomitanSchemas.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Import/DocumentImporter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Import/DocumentImporter.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Import/DocumentPickerCoordinator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Import/DocumentPickerCoordinator.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Import/EPUBImportProcessor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Import/EPUBImportProcessor.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Import/ImportStatusOverlay.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Import/ImportStatusOverlay.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/BookCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/BookCell.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/BookCoverImage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/BookCoverImage.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/BookGrid.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/BookGrid.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/BookList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/BookList.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/EmptyLibraryView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/EmptyLibraryView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/LibraryManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/LibraryManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Library/LibraryView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Library/LibraryView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Navigation/CustomTabBar.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Navigation/CustomTabBar.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Coordinators/EPUBNavigatorCoordinator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Coordinators/EPUBNavigatorCoordinator.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/ViewModels/ReaderSearchViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/ViewModels/ReaderSearchViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/ViewModels/ReaderSettingsViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/ViewModels/ReaderSettingsViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/ViewModels/ReaderViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/ViewModels/ReaderViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/BookmarkView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/BookmarkView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/CharacterPickerView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/CharacterPickerView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/CustomThemePickerView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/CustomThemePickerView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/DictionaryEntryView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/DictionaryEntryView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/DictionaryPopupCardView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/DictionaryPopupCardView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/DictionaryPopupView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/DictionaryPopupView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/EPUBNavigatorView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/EPUBNavigatorView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/ReaderSearchView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/ReaderSearchView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/ReaderSettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/ReaderSettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/ReaderView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/ReaderView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/SearchBar.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/SearchBar.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/SearchResultRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/SearchResultRow.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Reader/Views/TableOfContentsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Reader/Views/TableOfContentsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/SavedWords/EmptySavedWordsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/SavedWords/EmptySavedWordsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/SavedWords/SavedWordDetailView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/SavedWords/SavedWordDetailView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/SavedWords/SavedWordsManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/SavedWords/SavedWordsManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/SavedWords/SavedWordsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/SavedWords/SavedWordsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Search/DictionaryEntryRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Search/DictionaryEntryRow.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Search/EntryDetailView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Search/EntryDetailView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Search/FlowLayout.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Search/FlowLayout.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Search/SearchView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Search/SearchView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Search/SearchViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Search/SearchViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/AppAppearanceSettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/AppAppearanceSettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/AppearanceManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/AppearanceManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/AttributionView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/AttributionView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/DefaultAppearanceSettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/DefaultAppearanceSettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/DefaultAppearanceSettingsViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/DefaultAppearanceSettingsViewModel.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/FontSizeButtonControl.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/FontSizeButtonControl.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Settings/SettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Settings/SettingsView.swift -------------------------------------------------------------------------------- /Shiori Reader/Features/Welcome/WelcomeView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Features/Welcome/WelcomeView.swift -------------------------------------------------------------------------------- /Shiori Reader/JavaScript/consoleLogger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/JavaScript/consoleLogger.js -------------------------------------------------------------------------------- /Shiori Reader/JavaScript/wordSelection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/JavaScript/wordSelection.js -------------------------------------------------------------------------------- /Shiori Reader/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Shiori Reader/Resources/deinflect.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Resources/deinflect.json -------------------------------------------------------------------------------- /Shiori Reader/Services/Dictionary/Deinflector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/Dictionary/Deinflector.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/Dictionary/DictionaryManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/Dictionary/DictionaryManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/Dictionary/FrequencyManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/Dictionary/FrequencyManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/Dictionary/PitchAccentManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/Dictionary/PitchAccentManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/JapaneseSearchHelper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/JapaneseSearchHelper.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/JapaneseTextAnalyzer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/JapaneseTextAnalyzer.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/ServerManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/ServerManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/TTSService.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/TTSService.swift -------------------------------------------------------------------------------- /Shiori Reader/Services/WordTapHandler.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Services/WordTapHandler.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/BuildConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/BuildConfig.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/DebugMenu.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/DebugMenu.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/DictionaryColorProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/DictionaryColorProvider.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/FileTypeExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/FileTypeExtensions.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/JapanesePitchAccentUtils.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/JapanesePitchAccentUtils.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/KeyboardObserver.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/KeyboardObserver.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/LOGGING-GUIDELINES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/LOGGING-GUIDELINES.md -------------------------------------------------------------------------------- /Shiori Reader/Utilities/Logger.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/Logger.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/OrientationManager.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/OrientationManager.swift -------------------------------------------------------------------------------- /Shiori Reader/Utilities/README-Logging.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/README-Logging.md -------------------------------------------------------------------------------- /Shiori Reader/Utilities/ViewImageRenderer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori Reader/Utilities/ViewImageRenderer.swift -------------------------------------------------------------------------------- /Shiori ReaderTests/Shiori_ReaderTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori ReaderTests/Shiori_ReaderTests.swift -------------------------------------------------------------------------------- /Shiori ReaderUITests/Shiori_ReaderUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori ReaderUITests/Shiori_ReaderUITests.swift -------------------------------------------------------------------------------- /Shiori ReaderUITests/Shiori_ReaderUITestsLaunchTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori ReaderUITests/Shiori_ReaderUITestsLaunchTests.swift -------------------------------------------------------------------------------- /Shiori-Reader-Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori-Reader-Info.plist -------------------------------------------------------------------------------- /Shiori-Reader.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/Shiori-Reader.entitlements -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/russgrav/Shiori-Reader/HEAD/readme.md --------------------------------------------------------------------------------