From 84d7e72d38cc24188a6d163f1ccc2a19cea8f8c2 Mon Sep 17 00:00:00 2001 From: Paul Friederichsen Date: Wed, 30 Aug 2023 11:28:38 -0500 Subject: [PATCH] Docs update: new filetype list, search on local help, other corrections (#1430) * Fix typo in running from source * Add new page listing filetypes * Add a return * Enable searching docs when offline * Add last updated date to docs pages and edit buttons when hosted * Add mkdocs-git-revision-date-localized-plugin plugin to gh actions * Correction * Update publish_docs gh actions * Exclude index.md from last update dates * flv files are actually viewable in hydrus * Add note about how Hydrus determines filetypes --- .github/workflows/publish_docs.yml | 8 ++- docs/filetypes.md | 99 ++++++++++++++++++++++++++++++ docs/getting_started_files.md | 35 ++--------- docs/index.md | 7 +-- docs/running_from_source.md | 2 +- mkdocs-gh-pages.yml | 15 +++++ mkdocs.yml | 7 ++- 7 files changed, 131 insertions(+), 42 deletions(-) create mode 100644 docs/filetypes.md diff --git a/.github/workflows/publish_docs.yml b/.github/workflows/publish_docs.yml index f5f5e867..61888789 100644 --- a/.github/workflows/publish_docs.yml +++ b/.github/workflows/publish_docs.yml @@ -13,9 +13,11 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 with: python-version: 3.x - - run: pip install mkdocs-material mkdocs-redirects + - run: pip install mkdocs-material mkdocs-redirects mkdocs-git-revision-date-localized-plugin - run: mkdocs gh-deploy --force --config-file mkdocs-gh-pages.yml \ No newline at end of file diff --git a/docs/filetypes.md b/docs/filetypes.md new file mode 100644 index 00000000..c09370cc --- /dev/null +++ b/docs/filetypes.md @@ -0,0 +1,99 @@ +--- +title: Supported Filetypes +--- + +This is a list of all filetypes Hydrus can import. Hydrus determines the filetype based on examining the file itself rather than the extension or MIME type. + +## Images + +| Filetype | Extension | MIME type | Thumbnails | Viewable in Hydrus | Notes | +| ---------- | --------- | -------------- | :--------: | :----------------: | ------------------------------------------ | +| jpeg | `.jpeg` | `image/jpeg` | ✅ | ✅ | | +| png | `.png` | `image/png` | ✅ | ✅ | | +| static gif | `.gif` | `image/gif` | ✅ | ✅ | | +| webp | `.webp` | `image/webp` | ✅ | ✅ | Animated webp files will display as static | +| tiff | `.tiff` | `image/tiff` | ✅ | ✅ | | +| qoi | `.qoi` | `image/qoi` | ✅ | ✅ | Quite OK Image Format | +| icon | `.ico` | `image/x-icon` | ✅ | ✅ | | +| bmp | `.bmp` | `image/bmp` | ✅ | ✅ | Gets converted to png | +| heif | `.heif` | `image/heif` | ✅ | ✅ | | +| heic | `.heic` | `image/heic` | ✅ | ✅ | | +| avif | `.avif` | `image/avif` | ✅ | ✅ | | + + +## Animations + +| Filetype | Extension | MIME type | Thumbnails | Viewable in Hydrus | Notes | +| ------------- | --------- | --------------------- | :--------: | :----------------: | ----- | +| animated gif | `.gif` | `image/gif` | ✅ | ✅ | | +| apng | `.apng` | `image/apng` | ✅ | ✅ | | +| heif sequence | `.heifs` | `image/heif-sequence` | ✅ | ✅ | | +| heic sequence | `.heics` | `image/heic-sequence` | ✅ | ✅ | | +| avif sequence | `.avifs` | `image/avif-sequence` | ✅ | ✅ | | + + +## Video + +| Filetype | Extension | MIME type | Thumbnails | Viewable in Hydrus | Notes | +| --------- | --------- | ------------------------ | :--------: | :----------------: | ----- | +| mp4 | `.mp4` | `video/mp4` | ✅ | ✅ | | +| webm | `.webm` | `video/webm` | ✅ | ✅ | | +| matroska | `.mkv` | `video/x-matroska` | ✅ | ✅ | | +| avi | `.avi` | `video/x-msvideo` | ✅ | ✅ | | +| flv | `.flv` | `video/x-flv` | ✅ | ✅ | | +| quicktime | `.mov` | `video/quicktime` | ✅ | ✅ | | +| mpeg | `.mpeg` | `video/mpeg` | ✅ | ✅ | | +| ogv | `.ogv` | `video/ogg` | ✅ | ✅ | | +| realvideo | `.rm` | `video/vnd.rn-realvideo` | ✅ | ✅ | | +| wmv | `.wmv` | `video/x-ms-wmv` | ✅ | ✅ | | + + +## Audio + +| Filetype | Extension | MIME type | Viewable in Hydrus | Notes | +| -------------- | --------- | ------------------------ | :----------------: | ----- | +| mp3 | `.mp3` | `audio/mp3` | ✅ | | +| ogg | `.ogg` | `audio/ogg` | ✅ | | +| flac | `.flac` | `audio/flac` | ✅ | | +| m4a | `.m4a` | `audio/mp4` | ✅ | | +| matroska audio | `.mkv` | `audio/x-matroska` | ✅ | | +| mp4 audio | `.mp4` | `audio/mp4` | ✅ | | +| realaudio | `.ra` | `audio/vnd.rn-realaudio` | ✅ | | +| tta | `.tta` | `audio/x-tta` | ✅ | | +| wave | `.wav` | `audio/x-wav` | ✅ | | +| wavpack | `.wv` | `audio/wavpack` | ✅ | | +| wma | `.wma` | `audio/x-ms-wma` | ✅ | | + + +## Applications + +| Filetype | Extension | MIME type | Thumbnails | Viewable in Hydrus | Notes | +| -------- | --------- | ------------------------------- | :--------: | :----------------: | ----- | +| flash | `.swf` | `application/x-shockwave-flash` | ✅ | ❌ | | +| pdf | `.pdf` | `application/pdf` | ❌ | ❌ | | + + +## Image Project Files + +| Filetype | Extension | MIME type | Thumbnails | Viewable in Hydrus | Notes | +| --------- | ------------ | ----------------------------- | :--------: | :----------------: | ----------------- | +| psd | `.psd` | `image/vnd.adobe.photoshop` | ✅ | ✅ | Adobe Photoshop | +| clip | `.clip` | `application/clip`[^1] | ✅ | ❌ | Clip Studio Paint | +| sai2 | `.sai2` | `application/sai2`[^1] | ❌ | ❌ | PaintTool SAI2 | +| krita | `.kra` | `application/x-krita` | ✅ | ❌ | | +| svg | `.svg` | `image/svg+xml` | ✅ | ❌ | | +| xcf | `.xcf` | `application/x-xcf` | ❌ | ❌ | GIMP | +| procreate | `.procreate` | `application/x-procreate`[^1] | ✅ | ❌ | Procreate app | + + +## Archives + +| Filetype | Extension | MIME type | Notes | +| -------- | --------- | ----------------------------- | ----- | +| 7z | `.7z` | `application/x-7z-compressed` | | +| gzip | `.gz` | `application/gzip` | | +| rar | `.rar` | `application/vnd.rar` | | +| zip | `.zip` | `application/zip` | | + + +[^1]: This filetype doesn't have an official or de facto media type, the one listed was made up for Hydrus. \ No newline at end of file diff --git a/docs/getting_started_files.md b/docs/getting_started_files.md index 0c621968..b056ae0e 100644 --- a/docs/getting_started_files.md +++ b/docs/getting_started_files.md @@ -65,38 +65,11 @@ Now: * Play with the system tags more if you like, and the sort-by dropdown. The collect-by dropdown is advanced, so wait until you understand _namespaces_ before expecting it to do anything. * To close a page, middle-click its tab. -### The client can currently import the following mimetypes: -* **image/bmp** (.bmp - converted to image/png on import) -* **image/gif** (.gif) -* **image/png** (.png) -* **image/apng** (.apng) -* **image/jpeg** (.jpg) -* **image/svg+xml** (.svg) -* **image/tiff** (.tiff) -* **image/webp** (.webp) -* **video/x-msvideo** (.avi) -* **video/x-flv** (.flv) -* **video/x-matroska** (.mkv) -* **video/quicktime** (.mov) -* **video/mp4** (.mp4) -* **video/mpeg** (.mpeg) -* **video/webm** (.webm) -* **video/x-ms-wmv** (.wmv) -* **audio/mp3** (.mp3) -* **audio/ogg** (.ogg) -* **audio/flac** (.flac) -* **audio/x-ms-wma** (.wma) -* **application/x-shockwave-flash** (.swf) -* **application/pdf** (.pdf) -* **application/x-photoshop** (.psd) -* **application/clip** (.clip) -* **application/x-krita** (.kra, .krz) -* **application/sai2** (.sai2) -* **application/vnd.rar** (.rar) -* **application/zip** (.zip) -* **application/x-7z-compressed** (.7z) -* **application/gzip** (.gz) + +### Filetype support + +Hydrus supports many filetypes. A full list can be viewed on the [Supported Filetypes](filetypes.md) page. Although some support is imperfect for the complicated filetypes. For the Windows and Linux built releases, hydrus now embeds an MPV player for video, audio and gifs, which provides smooth playback and audio, but some other environments may not support MPV and so will default when possible to the native hydrus software renderer, which does not support audio. When something does not render how you want, right-clicking on its thumbnail presents the option 'open externally', which will open the file in the appropriate default program (e.g. ACDSee, VLC). diff --git a/docs/index.md b/docs/index.md index 5068509b..36968e59 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,12 +11,7 @@ The hydrus network client is a desktop application written for Anonymous and oth The software is constantly being improved. I try to put out a new release every Wednesday by 8pm Eastern. -Currently importable filetypes are: - -* images - jpg, gif (including animated), png (including animated!), tiff, webp, bmp -* video - webm, mp4, mpeg, avi, mov, mkv, flv, wmv -* audio - mp3, flac, ogg, wma -* misc - swf, pdf, psd, clip, sai2, zip, rar, 7z +Hydrus supports various filetypes for images, video and audio files, image project files, and more. A full list of supported filetypes is [here](filetypes.md). On the Windows and Linux builds, an MPV window is embedded to play video and audio smoothly. For files like pdf, which cannot currently be viewed in the client, it is easy to launch any file with your OS's default program. diff --git a/docs/running_from_source.md b/docs/running_from_source.md index 24f07de2..2e0567e8 100644 --- a/docs/running_from_source.md +++ b/docs/running_from_source.md @@ -29,7 +29,7 @@ There are now setup scripts that make this easy on Windows and Linux. You do not === "Linux" - You should already have a fairly new python. Ideally, you want at last 3.9. + You should already have a fairly new python. Ideally, you want at least 3.9. === "macOS" diff --git a/mkdocs-gh-pages.yml b/mkdocs-gh-pages.yml index 52e52687..bb948ec6 100644 --- a/mkdocs-gh-pages.yml +++ b/mkdocs-gh-pages.yml @@ -4,6 +4,9 @@ site_url: https://hydrusnetwork.github.io/hydrus/ plugins: - search + - git-revision-date-localized: + exclude: + - index.md - redirects: redirect_maps: 'help/access_keys.md': 'access_keys.md' @@ -47,3 +50,15 @@ plugins: 'help/server.md': 'server.md' 'help/support.md': 'support.md' 'help/wine.md': 'wine.md' + +theme: + features: + - navigation.tracking + - navigation.sections + - navigation.tabs + - content.tabs.link + - navigation.top + - search.suggest + - content.code.annotate + - navigation.instant + - content.action.edit \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 32d42473..d3b11fec 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,6 +11,7 @@ nav: - gettingStartedOverview.md - getting_started_installing.md - getting_started_files.md + - filetypes.md - getting_started_importing.md - getting_started_tags.md - getting_started_searching.md @@ -89,8 +90,8 @@ theme: logo: assets/hydrus-white.svg favicon: assets/favicon.svg font: false + language: en features: - - navigation.instant - navigation.tracking - navigation.sections - navigation.tabs @@ -157,3 +158,7 @@ markdown_extensions: custom_checkbox: true - pymdownx.tilde - pymdownx.snippets + +plugins: + - search + - offline \ No newline at end of file