Skip to content

Commit af4ef21

Browse files
authored
ci: use MkDocs for documentation site (#460)
* Use MkDocs for documentation Using Material for MkDocs * Enable edit buttons on pages * Updates to mkdocs.yml
1 parent 8469131 commit af4ef21

33 files changed

+512
-197
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
*Please add an appropriate title for this issue.*
1010
11-
Before reporting, read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/doc/index.md) and search existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
11+
Before reporting, read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/docs/index.md) and search existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
1212
Validate that you are using an up-to-date version[^1], your issue might already be fixed!
1313
Questions, guidance, and usage goes in [discussions](https://github.com/TagStudioDev/TagStudio/discussions). Invalid issues will be closed.
1414
@@ -20,7 +20,7 @@ body:
2020
options:
2121
- label: I am using an up-to-date version.
2222
required: true
23-
- label: I have read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/doc/index.md).
23+
- label: I have read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/docs/index.md).
2424
required: true
2525
- label: I have searched existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
2626
required: true

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
*Please add an appropriate title for this feature request.*
1010
11-
Before suggesting, read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/doc/index.md) and search existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
11+
Before suggesting, read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/docs/index.md) and search existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
1212
Validate that you are using an up-to-date version[^1], your feature might already be implemented!
1313
Questions, guidance, and usage goes in [discussions](https://github.com/TagStudioDev/TagStudio/discussions). Invalid issues will be closed.
1414
@@ -20,7 +20,7 @@ body:
2020
options:
2121
- label: I am using an up-to-date version.
2222
required: true
23-
- label: I have read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/doc/index.md).
23+
- label: I have read the [documentation](https://github.com/TagStudioDev/TagStudio/blob/main/docs/index.md).
2424
required: true
2525
- label: I have searched existing [issues](https://github.com/TagStudioDev/TagStudio/issues).
2626
required: true

.github/workflows/publish_docs.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
11+
concurrency:
12+
group: publish-docs
13+
cancel-in-progress: true
14+
15+
jobs:
16+
deploy:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-python@v5
21+
with:
22+
python-version: 3.x
23+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
24+
- uses: actions/cache@v4
25+
with:
26+
key: mkdocs-material-${{ env.cache_id }}
27+
path: .cache
28+
restore-keys: |
29+
mkdocs-material-
30+
- run: pip install mkdocs-material mkdocs-material[imaging]
31+
- run: mkdocs gh-deploy --force
32+
33+

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ Thank you so much for showing interest in contributing to TagStudio! Here are a
66

77
## Getting Started
88

9-
- Check the [Planned Features](https://github.com/TagStudioDev/TagStudio/blob/main/doc/updates/planned_features.md) page, [FAQ](/README.md/#faq), as well as the open [Issues](https://github.com/TagStudioDev/TagStudio/issues) and [Pull Requests](https://github.com/TagStudioDev/TagStudio/pulls).
9+
- Check the [Planned Features](https://github.com/TagStudioDev/TagStudio/blob/main/docs/updates/planned_features.md) page, [FAQ](/README.md/#faq), as well as the open [Issues](https://github.com/TagStudioDev/TagStudio/issues) and [Pull Requests](https://github.com/TagStudioDev/TagStudio/pulls).
1010
- If you'd like to add a feature that isn't on the roadmap or doesn't have an open issue, **PLEASE create a feature request** issue for it discussing your intentions so any feedback or important information can be given by the team first.
1111
- We don't want you wasting time developing a feature or making a change that can't/won't be added for any reason ranging from pre-existing refactors to design philosophy differences.
1212

1313
### Contribution Checklist
1414

15-
- I've read the [Planned Features](https://github.com/TagStudioDev/TagStudio/blob/main/doc/updates/planned_features.md) page
15+
- I've read the [Planned Features](https://github.com/TagStudioDev/TagStudio/blob/main/docs/updates/planned_features.md) page
1616
- I've read the [FAQ](/README.md/#faq), including the "[Features I Likely Won't Add/Pull](/README.md/#features-i-likely-wont-addpull)" section
1717
- I've checked the open [Issues](https://github.com/TagStudioDev/TagStudio/issues) and [Pull Requests](https://github.com/TagStudioDev/TagStudio/pulls)
1818
- **I've created a new issue for my feature _before_ starting work on it**, or have at least notified others in the relevant existing issue(s) of my intention to work on it

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# TagStudio (Alpha): A User-Focused Document Management System
22

33
<p align="center">
4-
<img width="60%" src="github_header.png">
4+
<img width="60%" src="docs/assets/github_header.png">
55
</p>
66

77
> [!CAUTION]
@@ -11,7 +11,7 @@
1111
TagStudio is a photo & file organization application with an underlying system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.
1212

1313
<figure align="center">
14-
<img width="80%" src="screenshot.jpg" alt="TagStudio Screenshot" align="center">
14+
<img width="80%" src="docs/assets/screenshot.jpg" alt="TagStudio Screenshot" align="center">
1515

1616
<figcaption><i>TagStudio Alpha v9.1.0 running on Windows 10.</i></figcaption>
1717
</figure>
@@ -53,7 +53,7 @@ TagStudio is a photo & file organization application with an underlying system t
5353
- Special search conditions for entries that are: `untagged`/`no tags` and `empty`/`no fields`.
5454

5555
> [!NOTE]
56-
> For more information on the project itself, please see the [FAQ](#faq) section as well as the [documentation](/doc/index.md).
56+
> For more information on the project itself, please see the [FAQ](#faq) section as well as the [documentation](/docs/index.md).
5757
5858
## Contributing
5959

@@ -178,7 +178,7 @@ As of writing (Alpha v9.3.0) the project is in a useable state, however it lacks
178178
### What Features Are You Planning on Adding?
179179

180180
> [!IMPORTANT]
181-
> See the [Planned Features](/doc/updates/planned_features.md) documentation for the latest feature lists. The lists here are currently being migrated over there with individual pages for larger features.
181+
> See the [Planned Features](/docs/updates/planned_features.md) documentation for the latest feature lists. The lists here are currently being migrated over there with individual pages for larger features.
182182
183183
Of the several features I have planned for the project, these are broken up into “priority” features and “future” features. Priority features were originally intended for the first public release, however are currently absent from the Alpha v9.x.x builds.
184184

doc/index.md

Lines changed: 0 additions & 24 deletions
This file was deleted.

doc/library/library.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

doc/library/tag_categories.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

doc/library/tag_overrides.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

doc/updates/planned_features.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

doc/utilities/macro.md

Lines changed: 0 additions & 43 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.

docs/assets/icon.ico

361 KB
Binary file not shown.

docs/assets/icon.png

677 KB
Loading
File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/index.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Home
3+
---
4+
5+
# Welcome to the TagStudio Documentation!
6+
7+
!!! warning
8+
This documentation is still a work in progress, and is intended to aide with deconstructing and understanding of the core mechanics of TagStudio and how it operates.
9+
10+
![TagStudio Alpha](assets/github_header.png)
11+
12+
13+
TagStudio is a photo & file organization application with an underlying system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure.
14+
15+
<figure markdown="span">
16+
![TagStudio screenshot](assets/screenshot.jpg)
17+
<figcaption>TagStudio Alpha v9.1.0 running on Windows 10</figcaption>
18+
</figure>
19+
20+
## Goals
21+
22+
- To achieve a portable, privacy-oriented, open, extensible, and feature-rich system of organizing and rediscovering files.
23+
- To provide powerful methods for organization, notably the concept of tag composition, or “taggable tags”.
24+
- To create an implementation of such a system that is resilient against a user’s actions outside the program (modifying, moving, or renaming files) while also not burdening the user with mandatory sidecar files or otherwise requiring them to change their existing file structures and workflows.
25+
- To support a wide range of users spanning across different platforms, multi-user setups, and those with large (several terabyte) libraries.
26+
- To make the darn thing look like nice, too. It’s 2024, not 1994.
27+
28+
## Priorities
29+
30+
1. **The concept.** Even if TagStudio as a project or application fails, I’d hope that the idea lives on in a superior project. The [goals](#goals) outlined above don’t reference TagStudio once - _TagStudio_ is what references the _goals._
31+
2. **The system.** Frontends and implementations can vary, as they should. The core underlying metadata management system is what should be interoperable between different frontends, programs, and operating systems. A standard implementation for this should settle as development continues. This opens up the doors for improved and varied clients, integration with third-party applications, and more.
32+
3. **The application.** If nothing else, TagStudio the application serves as the first (and so far only) implementation for this system of metadata management. This has the responsibility of doing the idea justice and showing just what’s possible when it comes to user file management.
33+
4. (The name.) I think it’s fine for an app or client, but it doesn’t really make sense for a system or standard. I suppose this will evolve with time.
34+
35+
## Current Features
36+
37+
- Create libraries/vaults centered around a system directory. Libraries contain a series of entries: the representations of your files combined with metadata fields. Each entry represents a file in your library’s directory, and is linked to its location.
38+
- Add metadata to your library entries, including:
39+
- Name, Author, Artist (Single-Line Text Fields)
40+
- Description, Notes (Multiline Text Fields)
41+
- Tags, Meta Tags, Content Tags (Tag Boxes)
42+
- Create rich tags composed of a name, a list of aliases, and a list of “subtags” - being tags in which these tags inherit values from.
43+
- Search for entries based on tags, ~~metadata~~ (TBA), or filenames/filetypes (using `filename: <query>`)
44+
- Special search conditions for entries that are: `untagged`/`no tags` and `empty`/`no fields`.
45+
46+
## Important Updates
47+
48+
### [Database Migration](updates/db_migration.md)
49+
50+
The "Database Migration", "DB Migration", or "SQLite Migration" is an upcoming update to TagStudio which will replace the current JSON [library](library/index.md) with a SQL-based one, and will additionally include some fundamental changes to how some features such as [tags](library/tag.md) will work.

docs/install.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Installation
2+
3+
To download TagStudio, visit the [Releases](https://github.com/TagStudioDev/TagStudio/releases) section of the GitHub repository and download the latest release for your system under the "Assets" section. TagStudio is available for **Windows**, **macOS** _(Apple Silicon & Intel)_, and **Linux**. Windows and Linux builds are also available in portable versions if you want a more self-contained executable to move around.
4+
5+
For video thumbnails and playback, you'll also need [FFmpeg](https://ffmpeg.org/download.html) installed on your system.
6+
7+
!!! info "For macOS Users"
8+
On macOS, you may be met with a message saying _""TagStudio" can't be opened because Apple cannot check it for malicious software."_ 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 _""TagStudio" was blocked from use because it is not from an identified developer."_ Click the "Open Anyway" button to allow TagStudio to run. You should only have to do this once after downloading the application.
9+
10+
## Optional Arguments
11+
12+
Optional arguments to pass to the program:
13+
14+
`--open <path>` / `-o <path>`
15+
: Path to a TagStudio Library folder to open on start.
16+
17+
`--config-file <path>` / `-c <path>`
18+
: Path to the TagStudio config file to load.

0 commit comments

Comments
 (0)