Some basic docs updates

This commit is contained in:
Hydrus Network Developer 2022-02-22 17:35:58 -06:00
parent c499059d98
commit f4df12eb3f
13 changed files with 34 additions and 37 deletions

View File

@ -6,7 +6,7 @@ I am continually working on the software and try to put out a new release every
This github repository is currently a weekly sync with my home dev environment, where I work on hydrus by myself. **Feel free to fork and do whatever you like with my code, but please do not make pull requests.** The [issue tracker here on Github](https://github.com/hydrusnetwork/hydrus/issues) is active and run by blessed volunteer users. I am not active here on Github, and I have difficulty keeping up with social media in general, but I welcome feedback of any sort and will eventually catch up with and reply to email, the 8chan or Endchan, tumblr, twitter, or the discord.
The client can do quite a lot! Please check out the help inside the release or [here](https://hydrusnetwork.github.io/hydrus/), which includes a comprehensive getting started guide.
The client can do quite a lot! Please check out the help inside the release or [here](https://hydrusnetwork.github.io/hydrus/), which includes a comprehensive getting started guide. If you are running from source and would like a local copy of the help, check [here](https://hydrusnetwork.github.io/hydrus/about_docs.html)!
A rudimentary documentation for the [container](https://github.com/hydrusnetwork/hydrus/pkgs/container/hydrus) setup can be found [here](https://github.com/hydrusnetwork/hydrus/blob/master/static/build_files/docker/README.md).

View File

@ -1,5 +0,0 @@
If you are reading this, you probably extracted rather than installed, so you were not prompted to read the help.
The hydrus client can do a lot, so do please go into the help folder and open up index.html so you don't get lost. Thanks!
I use a number of the Silk Icons by Mark James at famfamfam.com.

View File

@ -8,7 +8,7 @@ or *Myths and facts about the Public Tag Repository*
## What is the PTR?
Short for <b>P</b>ublic <b>T</b>ag <b>R</b>epository, a now community managed repository of tags. Locally it acts as a tag service, just like `my tags`. At the time of writing 54 million files have tags on it. The PTR only store the sha256 hash and tag mappings of a file, not the files themselves or any non-tag meta data. In other words: If you don not see it in the tag list then it is not stored.
Most of the things in this document also applies to [self-hosted servers](https://hydrusnetwork.github.io/hydrus/help/server.html), except for tag guidelines.
Most of the things in this document also applies to [self-hosted servers](https://hydrusnetwork.github.io/hydrus/server.html), except for tag guidelines.
## Connecting to the PTR
The easiest method is to use the built in function, found under `help -> add the public tag repository`. For adding it manually, if you so desire, read the Hydrus help document on [access keys](access_keys.md).
@ -16,7 +16,7 @@ If you are starting out completely fresh you can also download a fully synced cl
Once you are connected Hydrus will proceed to download and then process the update files. The progress of this can be seen under `services -> review services -> remote -> tag repositories -> public tag repository`. Here you can view its status, your account (the default account is a shared public account. Currently only janitors and the administrator have personal accounts), tag status, and how synced you are. Being behind on the sync by a certain amount makes you unable to push tags and petitions until you are caught up again.
## How does it work?
For something to end up on the PTR it has to be pushed there. Tags can either be entered into the tag service manually by the user through the `manage tags` window, or be routed there by a parser when downloading files. See [parsing tags](https://hydrusnetwork.github.io/hydrus/help/getting_started_downloading.html). Once tags have been entered into the PTR tag service they are pending until pushed. This is indicated by the `pending ()` that will appear between `tags` and `help` in the menu bar. Here you can chose to either push your changes to the PTR or discard them.
For something to end up on the PTR it has to be pushed there. Tags can either be entered into the tag service manually by the user through the `manage tags` window, or be routed there by a parser when downloading files. See [parsing tags](https://hydrusnetwork.github.io/hydrus/getting_started_downloading.html). Once tags have been entered into the PTR tag service they are pending until pushed. This is indicated by the `pending ()` that will appear between `tags` and `help` in the menu bar. Here you can chose to either push your changes to the PTR or discard them.
- Adding tags pass automatically.
- Deleting (petitioning) tags requires janitor action.
@ -95,4 +95,4 @@ When making parents, make sure it's an always factually correct relationship. `c
`meta:`
: This namespace is used for information that isn't visible in the image itself or where you might need to go to the source. Some examples include: third-party edit, paid reward (patreon/enty/gumroad/fantia/fanbox), translated, commentary, and such. **What you know about the image.**
Namespaces not listed above are not "supported" by the janitors and are liable to get siblinged out, removed, and/or mocked if judged being bad and annoying enough to justify the work. Do not take this to mean that all un-listed namespaces are bad, some are created and used by parsers to indicate where an image came from which can be helpful if somebody else wants to fetch the original or check source tags against the PTR tags. But do exercise some care in what you put on the PTR if you use custom namespaces. Recently `clothing:` was removed due to being disliked, no booru using it, and the person(s) pushing for it seeming to have disappeared, leaving a less-than-finished mess behind. It was also rife with lossy siblings and things that just plain don't belong with clothing, such as `clothing:brown hair`.
Namespaces not listed above are not "supported" by the janitors and are liable to get siblinged out, removed, and/or mocked if judged being bad and annoying enough to justify the work. Do not take this to mean that all un-listed namespaces are bad, some are created and used by parsers to indicate where an image came from which can be helpful if somebody else wants to fetch the original or check source tags against the PTR tags. But do exercise some care in what you put on the PTR if you use custom namespaces. Recently `clothing:` was removed due to being disliked, no booru using it, and the person(s) pushing for it seeming to have disappeared, leaving a less-than-finished mess behind. It was also rife with lossy siblings and things that just plain don't belong with clothing, such as `clothing:brown hair`.

View File

@ -1,34 +1,31 @@
# About These Docs
The Hydrus docs are built with [MkDocs](https://www.mkdocs.org/) using the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme.
The Hydrus docs are built with [MkDocs](https://www.mkdocs.org/) using the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme. The .md files in the `docs` directory are converted into nice html in the `help` directory. This is done automatically in the built releases, but if you run from source, you will want to build your own.
## Local Setup
To work on the docs locally, [install `mkdocs-material`](https://squidfunk.github.io/mkdocs-material/getting-started/):
To see or work on the docs locally, [install `mkdocs-material`](https://squidfunk.github.io/mkdocs-material/getting-started/):
The recommended installation method is `pip`:
```
pip install mkdocs-material
```
## Building
To build the help, run:
```
mkdocs build -d help
```
In the base hydrus directory (same as the `mkdocs.yml` file), which will build it into the `help` directory. You will then be good!
Repeat the command and MkDocs will clear out the old directory and update it, so you can fold this into any update script.
## Live Preview
Once installed you can run the live preview development server with
To edit the `docs` directory, you can run the live preview development server with:
```
mkdocs serve
```
It will automatically rebuild the site when you save it and reload the page in your browser.
## Building
To build the docs site (for example if running from source), run:
```
mkdocs build
```
This by default builds the docs into the `site/` directory. To build to the traditional `help/` directory use
```
mkdocs build -d help
```
The docs are automatically deployed to GitHub Pages on every push to the `master` branch. They are also built automatically in the GitHub Actions workflows for each release and included in those builds.
Again in the base hydrus directory. It will host the help site at [http://127.0.0.1:8000/](http://127.0.0.1:8000/), and when you change a file, it will automatically rebuild and reload the page in your browser.

View File

@ -1,4 +1,4 @@
# Changelog
# changelog
!!! note
This is the new changelog. For versions prior to 466 see the [old changelog](old_changelog.html).
@ -296,4 +296,4 @@
* fixed some 'broken object load' error handling to print the timestamp of the specific bad object, not whatever timestamp was requested. this error handling now also prints the full dump name and version to the log, and version to the exported filename. I was working with a user who had broken subs this week, and lacking this full info made things just a little trickier to put back together
* fixed some drag and drop handling where it was possible to drop thumbnails on a certain location of a page of pages that held an empty page of pages but it would not create a new child media page to hold them
* misc serverside db code cleanup
* fixed python 3.10 type bugs in window coordinate saving and Qt image generation from buffer (issue #1027)
* fixed python 3.10 type bugs in window coordinate saving and Qt image generation from buffer (issue #1027)

View File

@ -129,6 +129,8 @@ As a result, if you get a failure on trying to do a big update, try cutting the
If you narrow the gap down to just one version and still get an error, please let me know. I am very interested in these sorts of problems and will be happy to help figure out a fix with you (and everyone else who might be affected).
_All that said, and while updating is complex and every client is different, one user recently did a giant multi-year update and found this route worked and was efficient: 204 > 238 > 246 > 291 > 328 > 335 > 376 > 421 > 466 > 474_
## backing up
!!! danger "I am not joking around: if you end up liking hydrus, you should back up your database"

View File

@ -635,7 +635,7 @@
<li>if you have autocomplete tag search typed, and results from thumbnails displayed, and you flip 'searching immediately' off, the search will now automatically update and give you full database numbers immediately</li>
<li>.</li>
<li>help:</li>
<li>I moved 'searching with wildcards' from the advanced help to the 'more getting started with files' help here: https://hydrusnetwork.github.io/hydrus/help/getting_started_more_files.html</li>
<li>I moved 'searching with wildcards' from the advanced help to the 'more getting started with files' help here: https://hydrusnetwork.github.io/hydrus/getting_started_more_files.html</li>
<li>I also wrote a more detailed description of what the autocomplete dropdown buttons do in that page</li>
<li>I also wrote a brief description of how a system:limit query will try to clip according to the current file sort, getting the n 'biggest files' and so on</li>
<li>.</li>
@ -754,7 +754,7 @@
<li>consolidated and optimised the pre-work checks on all importers/downloaders in pages. pages with idling/finished/paused downloaders will consume just a little less CPU and need to talk to fewer important objects</li>
<li>renamed the shortcut sets for viewer/preview media windows and clarified that they are mouse only for now. the new seek command works with these, but you'd have to map ctrl+right-click or something</li>
<li>improved the system predicate unit tests to catch datatype problems like with last week's hotfix and system:time imported</li>
<li>advanced archive/delete stuff: wrote up a neat idea I had about using local parents applied to the PTR to make fast multi-tag processing workflows here: https://hydrusnetwork.github.io/hydrus/help/advanced_parents.html#parent_favourites</li>
<li>advanced archive/delete stuff: wrote up a neat idea I had about using local parents applied to the PTR to make fast multi-tag processing workflows here: https://hydrusnetwork.github.io/hydrus/advanced_parents.html#parent_favourites</li>
<li>.</li>
<li>bug fixes:</li>
<li>an important tag search bug is fixed. for some users, files that were imported before a service was added were not appearing in some of that service's search results, or their tag counts were not added in certain tag autocomplete results. this file miscount is fixed, and holes will be filled on database update. it should not take too long to fix, although different users will have different situations</li>
@ -1633,7 +1633,7 @@
<li>fixed a bug in the 'add tags before import' dialog for local imports where deleting a 'quick namespace' was not updating the tag list above</li>
<li>.</li>
<li>windows clean install:</li>
<li>I moved to a new windows dev machine this week and a bunch of libraries were updated. I do not believe the update on Windows _needs_ a clean install this week, as a new dll conflict actually hits the coincidentally now-optional PyOpenSSL, but it is worth doing if you want to start using the Client API soon, and it has been a while, so let's be nice and clean. if you extract the release on Windows, please check out this guide: https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#clean_installs</li>
<li>I moved to a new windows dev machine this week and a bunch of libraries were updated. I do not believe the update on Windows _needs_ a clean install this week, as a new dll conflict actually hits the coincidentally now-optional PyOpenSSL, but it is worth doing if you want to start using the Client API soon, and it has been a while, so let's be nice and clean. if you extract the release on Windows, please check out this guide: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs</li>
<li>the Windows installer has been updated to remove many old files. it should now do clever clean installs every week, you have nothing to worry about!™</li>
<li>.</li>
<li>boring db breakup:</li>
@ -1896,7 +1896,7 @@
<li>misc cleanup for duplicates page</li>
<li>.</li>
<li>database modes:</li>
<li>a new 'program launch arguments' help page now talks about all the available command line switches, here: https://hydrusnetwork.github.io/hydrus/help/launch_arguments.html</li>
<li>a new 'program launch arguments' help page now talks about all the available command line switches, here: https://hydrusnetwork.github.io/hydrus/launch_arguments.html</li>
<li>added the '--db_journal_mode' launch switch to set the SQLite journal mode. default is WAL, permitted values are also TRUNCATE, PERSIST, and MEMORY</li>
<li>ensured --db_synchronous_override was hooked up correctly</li>
<li>the old disk cache options under _speed and memory_ are removed, along with various deprecated disk cache load calls and code</li>
@ -8240,7 +8240,7 @@
</ul>
<li><h3 id="version_245"><a href="#version_245">version 245</a></h3></li>
<ul>
<li>fixed a v244 update problem for clients updating from <v238</li>
<li>fixed a v244 update problem for clients updating from < v238</li>
<li>some misc stuff:</li>
<li>if you start editing many subscriptions, cancelling a single dialog will break the chain of loading new dialogs</li>
<li>reduced some redundancy in regular client file import</li>

View File

@ -1,4 +1,4 @@
# Privacy
# privacy
!!! tldr "tl;dr"
Using a trustworthy VPN for all your remotely fun internet traffic is a good idea. It is cheap and easy these days, and it offers multiple levels of general protection.
@ -133,4 +133,4 @@ As the PTR moved to multiple accounts, we talked more about the potential accoun
Therefore, hydrus repositories now completely anonymise all uploads after a certain delay. It works by assigning ownership of every file, mapping, or tag sibling/parent to a special 'null' account, so all trace that your account uploaded any of it is deleted. It happens by default 90 days after the content is uploaded, but it can be more or less depending on the local admin and janitors. You can see the current 'anonymisation' period under _review services_.
If you are a janitor with the ability to modify accounts based on uploaded content, you will see anything old will bring up the null account. It is specially labelled, so you can't miss it. You cannot ban or otherwise alter this account. No one can actually use it.
If you are a janitor with the ability to modify accounts based on uploaded content, you will see anything old will bring up the null account. It is specially labelled, so you can't miss it. You cannot ban or otherwise alter this account. No one can actually use it.

View File

@ -144,4 +144,4 @@ markdown_extensions:
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
- pymdownx.snippets
- pymdownx.snippets

View File

@ -1,3 +1,4 @@
pyoxidizer
mock>=4.0.0
httmock>=1.4.0
mkdocs-material

View File

@ -1,3 +1,4 @@
PyInstaller
mock>=4.0.0
httmock>=1.4.0
mkdocs-material

View File

@ -4,3 +4,4 @@ pypiwin32
pywin32-ctypes
mock>=4.0.0
httmock>=1.4.0
mkdocs-material

View File

@ -13,7 +13,7 @@ The client runs with default permissions of `1000:1000`, ~~this can be changed b
If you have enough RAM, mount `/tmp` as tmpfs. If not, download more RAM.
As of `v359` hydrus understands IPFS `nocopy`. And can be easily run with go-ipfs container.
Read [Hydrus IPFS help](https://hydrusnetwork.github.io/hydrus/help/ipfs.html). Mount `HOST_PATH_DB/client_files` to `/data/client_files` in ipfs. Go manage the ipfs service and set the path to `/data/client_files`, you'll know where to put it in.
Read [Hydrus IPFS help](https://hydrusnetwork.github.io/hydrus/ipfs.html). Mount `HOST_PATH_DB/client_files` to `/data/client_files` in ipfs. Go manage the ipfs service and set the path to `/data/client_files`, you'll know where to put it in.
Example compose file:
```yaml