docs: add github magiclinks, update navigation titles and styling

This commit is contained in:
Travis Abendshien
2026-05-19 03:00:31 -07:00
parent c7eb22b253
commit e1a02ca843
20 changed files with 499 additions and 359 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
---
title: Colors
icon: material/palette
---

View File

@@ -1,11 +1,12 @@
---
title: Contributing
icon: material/file-plus
---
<!-- SPDX-FileCopyrightText: (c) TagStudio Contributors -->
<!-- SPDX-License-Identifier: GPL-3.0-only -->
# :material-file-plus: Contributing
# :material-file-plus: Contribution Guidelines
Thank you so much for showing interest in contributing to TagStudio! This page goes over the instructions and guidelines for contributing to the TagStudio. This page will change over time, so make sure that your contributions still line up with the current guidelines before submitting a pull request.

View File

@@ -1,4 +1,5 @@
---
title: Developing
icon: material/code-braces
---
@@ -189,7 +190,7 @@ Pyright/basedpyright should automatically discover the configuration options ins
### Pytest
[Pytest](<(https://github.com/pytest-dev/pytest)>) runs our Python code against the tests inside the [`tests/`](https://github.com/TagStudioDev/TagStudio/tree/main/tests) directory.
[Pytest](https://github.com/pytest-dev/pytest) runs our Python code against the tests inside the [`tests/`](https://github.com/TagStudioDev/TagStudio/tree/main/tests) directory.
Pytest is installed alongside the `pip install -e ".[dev]"` command.

View File

@@ -1,4 +1,5 @@
---
title: Entries
icon: material/file
---

View File

@@ -1,4 +1,5 @@
---
title: Fields
icon: material/text-box
---

View File

@@ -1,4 +1,5 @@
---
title: Installing FFmpeg
icon: material/movie-open-cog
---

View File

@@ -1,4 +1,5 @@
---
title: Installation
icon: material/download
---
@@ -229,15 +230,17 @@ To generate thumbnails for RAR-based files (like `.cbr`) you'll need an extracto
- :fontawesome-brands-apple: On macOS `unrar` can be installed through Homebrew's [`rar`](https://formulae.brew.sh/cask/rar) formula.
<!-- prettier-ignore -->
<!-- prettier-ignore -->
!!! warning ":fontawesome-brands-apple: macOS "Privacy & Security" Popup"
On macOS, you may be met with a message similar to "**"unrar" Not Opened. Apple could not verify "unrar" is free of malware that may harm your Mac or compromise your privacy**" If you encounter this, then you'll need to go to the "Settings" app, navigate to "Privacy & Security", and scroll down to a section that says "**"unrar" was blocked from use because it is not from an identified developer.**" Click the "Open Anyway" button to allow unrar to be used.
On macOS, you may be met with a message similar to "**"unrar" Not Opened. Apple could not verify "unrar" is free of malware that may harm your Mac or compromise your privacy**" If you encounter this, then you'll need to go to the "Settings" app, navigate to "Privacy & Security", and scroll down to a section that says "**"unrar" was blocked from use because it is not from an identified developer.**" Click the "Open Anyway" button to allow unrar to be used.
- :fontawesome-brands-windows: On Windows you'll need to install either [`WinRAR`](https://www.rarlab.com/download.htm) or [`7-zip`](https://www.7-zip.org/) and add their folder to you `PATH`.
<!-- prettier-ignore -->
<!-- prettier-ignore -->
!!! tip "WinRAR License"
Both `unrar` and `WinRAR` require a license, but since the evaluation copy has no time limit you can simply dismiss the prompt.
Both `unrar` and `WinRAR` require a license, but since the evaluation copy has no time limit you can simply dismiss the prompt.
### ripgrep

View File

@@ -1,4 +1,5 @@
---
title: Libraries
icon: material/database
---

View File

@@ -1,4 +1,5 @@
---
title: Library Format
icon: material/database-edit
---
@@ -98,9 +99,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening
#### Version 100
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [74383e3](https://github.com/TagStudioDev/TagStudio/commit/74383e3c3c12f72be1481ab0b86c7360b95c2d85) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| --------- | ------ | ----------------------------------------------- |
| 74383e3 | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Introduces built-in minor versioning
- The version number divided by 100 (and floored) constitutes the **major** version. Major version indicate breaking changes that prevent libraries from being opened in TagStudio versions older than the ones they were created in.
@@ -109,9 +110,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening
#### Version 101
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [12e074b](https://github.com/TagStudioDev/TagStudio/commit/12e074b71d8860282b44e49e0e1a41b7a2e4bae8)/[v9.5.4](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.4) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| ------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| 12e074b/[v9.5.4](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.4) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Deprecates the `preferences` table, set to be removed in a future TagStudio version.
- Introduces the `versions` table
@@ -123,24 +124,24 @@ Migration from the legacy JSON format is provided via a walkthrough when opening
#### Version 102
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [71d0425](https://github.com/TagStudioDev/TagStudio/commit/71d04254cf87f4200bb7ffc81656e50dfb122e4d) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| --------- | ------ | ----------------------------------------------- |
| 71d0425 | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Applies repairs to the `tag_parents` table created in [version 100](#version-100), removing rows that reference tags that have been deleted.
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [88d0b47](https://github.com/TagStudioDev/TagStudio/commit/88d0b47a86821ccfadba653f30a515abce5b24b0)/[v9.5.7](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.7) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| ------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| 88d0b47/[v9.5.7](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.7) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Adds the `is_hidden` column to the `tags` table (default `0`). Used for excluding entries tagged with hidden tags from library searches.
- Sets the `is_hidden` field on the built-in Archived tag to `1`, to match the Archived tag now being hidden by default.
#### Version 104
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [ad2cbbc](https://github.com/TagStudioDev/TagStudio/commit/ad2cbbca483018d245b44348e2c4f5a0e0bb28f1) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| --------- | ------ | ----------------------------------------------- |
| ad2cbbc | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Removes the `preferences` table, after migrating the contained extension list to the .ts_ignore file, if necessary.
@@ -148,9 +149,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening
#### Version 200
| Used From | Format | Location |
| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- |
| [c15e2b5](https://github.com/TagStudioDev/TagStudio/commit/c15e2b56eedd0a3c13391fa43571b8f8f7c7a91f) | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
| Used From | Format | Location |
| --------- | ------ | ----------------------------------------------- |
| c15e2b5 | SQLite | `<Library Folder>`/.TagStudio/ts_library.sqlite |
- Adds `text_field_templates` and `date_field_templates` tables.
- Drops `boolean_fields` and `value_type` tables.

View File

@@ -1,4 +1,5 @@
---
title: Tools & Macros
icon: material/script-text
---

View File

@@ -1,4 +1,5 @@
---
title: Supported Previews
icon: material/image-check
---

View File

@@ -1,4 +1,5 @@
---
title: Roadmap
icon: material/map-check
---
@@ -143,7 +144,7 @@ Some form of official plugin support for TagStudio, likely with its own API that
---
## [Library](libraries.md)
## Library
### :material-wrench: Library Mechanics
@@ -160,9 +161,9 @@ Some form of official plugin support for TagStudio, likely with its own API that
- [x] Thumbnail Caching **[[v9.5.0](changelog.md#950-march-3rd-2025)]**
- [ ] Audio Waveform Caching :material-chevron-double-up:{ .priority-med title="Medium Priority" } **[v9.7.x]**
### :material-grid: [Entries](entries.md)
### :material-grid: Entries
Library representations of files or file-like objects.
File or file-like [entries](entries.md) stored in the library.
- [x] File Entries **[v1.0.0]**
- [ ] Folder Entries :material-chevron-triple-up:{ .priority-high title="High Priority" }
@@ -181,7 +182,7 @@ Library representations of files or file-like objects.
- [ ] Group is treated as entry with tags and metadata :material-chevron-double-up:{ .priority-med title="Medium Priority" }
- [ ] Nested groups :material-chevron-double-up:{ .priority-med title="Medium Priority" }
### :material-tag-text: [Tags](tags.md)
### :material-tag-text: Tags
Discrete library objects representing [attributes](<https://en.wikipedia.org/wiki/Property_(philosophy)>). Can be applied to library [entries](entries.md), or applied to other tags to build traversable relationships.
@@ -212,7 +213,7 @@ Discrete library objects representing [attributes](<https://en.wikipedia.org/wik
- [ ] Tag Overrides :material-chevron-double-up:{ .priority-med title="Medium Priority" }
- [ ] Tag Merging :material-chevron-double-up:{ .priority-med title="Medium Priority" }
### :material-magnify: [Search](search.md)
### :material-magnify: Search
- [x] Tag Search **[v8.0.0]**
- [x] Filename Search **[[v9.5.0](changelog.md#950-march-3rd-2025)]**
@@ -246,7 +247,7 @@ Discrete library objects representing [attributes](<https://en.wikipedia.org/wik
- [ ] OCR Search :material-chevron-up:{ .priority-low title="Low Priority" }
- [ ] Fuzzy Search :material-chevron-up:{ .priority-low title="Low Priority" }
### :material-file-cog: [Macros](macros.md)
### :material-file-cog: Macros
- [ ] Standard, Human Readable Format (TOML) :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.5.x]**
- [ ] Versioning System :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.5.x]**

View File

@@ -1,4 +1,5 @@
---
title: Searching
icon: material/magnify
---

View File

@@ -1,4 +1,5 @@
---
title: Style Guide
icon: material/sign-text
---

View File

@@ -1,4 +1,5 @@
---
title: Tags
icon: material/tag-text
---

View File

@@ -1,4 +1,5 @@
---
title: Basic Usage
icon: material/mouse
---

View File

@@ -116,6 +116,7 @@ markdown_extensions:
- md_in_html
- tables
- toc:
title: Table of Contents
permalink: true
toc_depth: 3
@@ -133,6 +134,11 @@ markdown_extensions:
- pymdownx.inlinehilite
- pymdownx.keys
- pymdownx.mark
- pymdownx.magiclink:
repo_url_shorthand: True
provider: github
user: TagStudioDev
repo: TagStudio
- pymdownx.smartsymbols
- pymdownx.snippets
- pymdownx.superfences:
@@ -150,6 +156,7 @@ markdown_extensions:
plugins:
- search
- tags
- typeset
- social: # social embed cards
enabled: !ENV [CI, false] # enabled only when running in CI (eg GitHub Actions)
- redirects:

View File

@@ -3,13 +3,24 @@
<!-- SPDX-License-Identifier: MIT -->
<!-- Table of contents item -->
<li class="md-nav__item">
<a href="{{ toc_item.url }}" class="md-nav__link">
<span class="md-ellipsis">
<a href="{{ toc_item.url }}" class="md-nav__link">
<span class="md-ellipsis">
<!-- Typeset title -->
{% if toc_item.typeset %}
<span class="md-typeset">
{{ toc_item.typeset.title }}
</span>
<!-- Regular title -->
{% else %}
{{ toc_item.title }}
</span>
</a>
{% endif %}
</span>
</a>
<!-- Table of contents list -->
{% if toc_item.children %}

View File

@@ -43,7 +43,7 @@ dependencies = [
[project.optional-dependencies]
dev = ["tagstudio[mkdocs,pyright,pre-commit,pyinstaller,pytest,ruff]"]
mkdocs = ["mkdocs-material[imaging]>=9.6.14", "mkdocs-redirects~=1.2"]
mkdocs = ["mkdocs-material[imaging]>=9.7", "mkdocs-redirects~=1.2"]
pyright = ["pyright~=1.1.409"]
pre-commit = ["pre-commit~=4.2"]
pyinstaller = ["Pyinstaller~=6.13"]