Commit d2e93d00 authored by Deimos's avatar Deimos
Browse files

Massive re-organization+update by Algernon_Asimov

parent 5ecd21ae
......@@ -22,7 +22,7 @@ If any other sites (or companies) decide to use Tildes code as a base, this lice
## Technology
From the technical side, Tildes aims to [use modern versions of simple, reliable, "boring" technology](https://docs.tildes.net/technical-goals#use-modern-versions-of-simple-reliable-boring-technology). This is especially important as an open-source project hoping for outside contributions, since it means that people can get involved much more easily.
From the technical side, Tildes aims to [use modern versions of simple, reliable, "boring" technology](https://docs.tildes.net/philosophy/site-implementation#use-modern-versions-of-simple-reliable-boring-technology). This is especially important as an open-source project hoping for outside contributions, since it means that people can get involved much more easily.
The core technologies are [Python 3.7](https://docs.python.org/3.7/) (using the [Pyramid](http://docs.pylonsproject.org/projects/pyramid/en/latest/) web framework) and [PostgreSQL 10](https://www.postgresql.org/docs/10/static/). A few other systems are used for specific needs, but overall, Tildes is structured as a fairly "old-school" server-side web application, with Python and PostgreSQL handling as much as possible.
......
Title: Commenting on Tildes
[TOC]
### Making a comment
There are two types of comment:
* Replies to a topic.
* Replies to another comment.
To reply to a topic, scroll to the bottom of the page to find the 'Post a comment' text box. This is at the bottom of the page by deliberate design: it's intended to make you read the other comments before adding your own. It reduces duplication: if other people have already said what you want to say, then you can add your vote to their comments. It increases engagement: if you see other interesting comments as you're scrolling down, you can join in the conversation.
To reply to a comment, click on the 'Reply' link just below it.
While writing your comment, you can apply formatting using a variant of Markdown: [Text Formatting](https://tildes.net/~tildes.official/wiki/instructions/text_formatting).
### Labelling comments
You can apply labels to other people's comments (but not your own). These labels affect the sorting and display of those comments.
Note that labels are only available to users with accounts more than 7 days old. You can't apply labels during your first week on Tildes.
To apply a label to a comment, click on the 'Label' link below the comment, and choose one of the 5 labels:
* Exemplary.
* Offtopic.
* Joke.
* Noise.
* Malice.
You can apply more than one of these labels to a comment (for example, you might label a comment as "joke" *and* "noise" if that's appropriate). Labels generally become active when the collective label weight of all users that applied this label exceeds 1.0. The default weight of new users is 0.5, so two users applying a label should be enough to trigger an effect.
#### "Exemplary" label
The "Exemplary" label is for recognising excellent comments, which are of high quality and which add something significant to the discussion.
You will need to type a brief note when applying an "Exemplary" label to a comment. Your note will be visible to the comment's author (but noone else). Your note can be as short as "good comment", or as long as you like. The note is anonymous: the comment author will not know who wrote it (although you can type that information in your note if you want).
After applying an "Exemplary" label to a comment, you must wait 8 hours before being able to apply another "Exemplary" label.
The "Exemplary" label is visible on comments as a cyan stripe on the left side of the post. Only the person who wrote the comment will be able to see the number of times a comment has been labelled "Exemplary" and the accompanying messages from the labellers.
Each "Exemplary" label applied to a comment increases its weighting in vote-based sorting: the amount of votes is multiplied with the total Exemplary label weight. Going with the default weight, 0.5:
* *A comment with 0 "Exemplary" labels will have its vote weight multiplied by 1 + (0 x 0.5) = 1.0. If this comment has 10 votes, its weighted vote will be 10 x 1.0 = 10 votes.*
* *A comment with 1 "Exemplary" label will have its vote weight multiplied by 1 + (1 x 0.5) = 1.5. If this comment has 10 votes, its weighted vote will be 10 x 1.5 = 15 votes.*
* *A comment with 2 "Exemplary" labels will have its vote weight multiplied by 1 + (2 x 0.5) = 2.0. If this comment has 10 votes, its weighted vote will be 10 x 2.0 = 20 votes.*
... and so on. The effect of "Exemplary" labels is cumulative: the more "Exemplary" labels a comment has, the higher its voting weight will be.
#### "Offtopic" label
The "Offtopic" label is for identifying comments which have veered away from the main subject of discussion in a thread. They might be good-quality or bad-quality comments, but they're about a different subject.
The "Offtopic" label is not visible on comments.
If the Offtopic label is active on a comment, it will cause the comment to be sorted below replies with no labels, acting as if it had -1 total votes.
#### "Joke" label
The "Joke" label is for comments which exist only to make a joke. They're not adding anything to the discussion, they're there just to deliver a punchline. The "joke" label should *not* be applied to an otherwise good comment which happens to include a minor humorous remark, only for comments where humour is the only ingredient.
The "Joke" label is not visible on comments.
If the "Joke" label is active on a comment, it decreases its weighting in the relevance sorting by a factor of 0.5: the vote weight on any comment labelled as a joke will be halved. The effect of "Joke" labels is not cumulative.
#### "Noise" label
The "Noise" label is for comments which make no difference to the discussion. These might include remarks such as "This^" or "Thanks." or "Good news!" or "This sucks."
The "Noise" label is not visible on comments.
If the Noise label is active on a comment, it will cause the comment to be sorted below replies with no and Offtopic labels, acting as if it had -2 total votes. Also, the comment will be autocollapsed, so that it is hidden (all its child comments will also be hidden). Collapsed comments can be manually expanded and viewed.
#### "Malice" label
The "Malice" label is for comments which contain negative language. This includes:
* Personal attacks on other Tilders.
* Bigoted language (such as racism, homophobia, transphobia, misogyny, religious slurs, and so on).
* Incitement to violence.
* Hate speech.
The "Malice" label is not visible on comments.
Each application of a "Malice" label on any comment will send a notification to the moderator/s, who will review the comment and take appropriate action. Currently, the only person with the ability to view Malice labels is @Deimos, the site admin.
#### References
Reference: [Comment tags now affect sorting, more changes coming](https://tildes.net/~tildes.official/6hn/comment_tags_now_affect_sorting_more_changes_coming)
Reference: [Many updates to The Feature Formerly Known as Comment Tagging](https://tildes.net/~tildes.official/6ue/many_updates_to_the_feature_formerly_known_as_comment_tagging)
Reference: [Comment labels](https://tildes.net/~tildes.official/wiki/instructions/commenting_on_tildes#labelling_comments)
Title: Development Setup
Summary: How to initially set up a development version of Tildes
[TOC]
......@@ -75,4 +74,4 @@ If you want to use the hooks, go into the `git_hooks/` directory in the base fol
### Start developing!
That's it for initial setup, you should now be able to start working on your development version. For more general information and knowledge that will be useful throughout the process, see the [Development](/development) page.
That's it for initial setup, you should now be able to start working on your development version. For more general information and knowledge that will be useful throughout the process, see the [Development](https://tildes.net/~tildes.official/wiki/instructions/development) page.
Title: Development
Summary: General info for working on a development version of Tildes
[TOC]
*Note: This page is fairly scattered overall and should be split up into multiple pages in the future. The goal is mostly to have a lot of information that developers might find useful so that they, at least, have a starting point to find out more about how something works.*
**If you haven't already, follow the instructions on [the Development Setup page](/development-setup) to get a development version running on your local machine.**
**If you haven't already, follow the instructions on [the Development Setup page](https://tildes.net/~tildes.official/wiki/instructions/development_setup) to get a development version running on your local machine.**
## Vagrant
......@@ -19,14 +18,17 @@ In general, you shouldn't need to do very much with Vagrant directly, but there
### Changing the Vagrant box's resources
This generally shouldn't be necessary, but it's possible to give the Vagrant box access to more resources by creating a file named `Customfile` in the same directory as the `Vagrantfile`. For example, to give it 4GB of memory and 2 CPUs, the file should contain:
This generally shouldn't be necessary, but it's possible to change the resources the Vagrant box has access to by editing the `Vagrantfile` in the base directory. By default, the box is set up with 4GB of RAM and 4 CPUs, but you can adjust these by editing these two lines near the bottom of the file:
```ruby
vb.memory = "4096"
vb.cpus = "4"
```
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = "2"
end
```
**Important - if you edit those lines**:
* Do not set the memory lower than `2048` (2GB). The VM will almost certainly end up swapping itself to death if it has less memory than that.
* If you change the values, run `git update-index --assume-unchanged Vagrantfile` so that git ignores those changes to the file and won't always want to commit them along with any actual updates you make to the Tildes code.
## SSHing into the VM
......@@ -170,8 +172,9 @@ Once you start making changes to the code that you want to contribute to the pro
* `mypy .` - Runs the [mypy static type checks](#type-checking-with-mypy).
* `black --check .` - Runs [the Black code-formatter](https://black.readthedocs.io/) checks (issues don't need to be fixed manually, just run `black .` to reformat your code).
* `prospector` - Runs the code style checks.
* `npm run lint` - Runs the javascript and SCSS linters.
If you use the included [Git hooks](/development-setup#set-up-git-hooks-optional-but-strongly-recommended), then the tests, mypy, and Black will automatically be run whenever you commit (and prevent you from committing if they fail), and all checks will be run before you can push your code to a remote repo.
If you use the included [Git hooks](https://tildes.net/~tildes.official/wiki/instructions/development_setup#set_up_git_hooks_optional_but_strongly_recommended), then the tests, mypy, and Black will automatically be run whenever you commit (and prevent you from committing if they fail), and all checks will be run before you can push your code to a remote repo.
## Testing
......
Title: Hierarchical Tags Short Rules
[TOC]
Here are listed condensed versions of the tagging suggestions from the [Hierarchical Tags](https://tildes.net/~tildes.official/wiki/instructions/hierarchical_tags) page. These are intended to be easy to reference and use accordingly for users/members with tag perms and so are very concise; for the full detailing of how these tags are used, their history, and other things of that nature, see again the [main page](https://tildes.net/~tildes.official/wiki/instructions/hierarchical_tags).
# Generally group-specific tags
## ~health
### `health.` and `medicine.`
* Use `health.` and `medicine.` when there are [applicable branches](https://en.wikipedia.org/wiki/Medicine#Branches) of medicine (i.e. `medicine.veterinary`) or modifiers (i.e `health.public` and `medicine.alternative`).
* `health.mental` and `mental health` are both acceptable.
## ~humanities
### `religion.`
* Religions always take the form `[religion name].[denomination]` (i.e. `judaism.orthodox`, `christianity.catholic`, `islam.sunni`).
* Languages, where needed, take the form `[language].[dialect]` (i.e. `english.british`, `english.american`, `espanol.peninsular`, `espanol.mexicano`).
## ~science
### `socialscience.`
* When posted in science, all social science related posts take `socialscience.[discipline]` tag (i.e. `socialscience.psychology`, `socialscience.sociology`,`socialscience.anthropology`).
# Non-group specific tags
## `recurring.`
* Use `recurring.` for threads on a specific, consistent interval; otherwise, just use standalone `recurring`.
## `economics.`
* Use hierarchical tags for branches and sub-branches of economics and modifiers like `policy` and `trade` (`economics.macro` for example).
* If posting in ~science use `socialscience.` as the parent tag instead of `economics.`
## `law.`
* Use subtags whenever there's a modifier, with the modifier being the subtag (`law.labor` for example).
* If a location tag is needed, tag it separately (`law.labor` and `usa` for example).
* Do not use `law.martial` for martial law or `law.enforcement` for law enforcement/policing.
## `nsfw.` and `trigger.`
* Use `trigger.` (if desired) to specify the potentially triggering content (`trigger.rape` for example).
* Use `nsfw.` in the same way as `trigger.` for actively graphic content or links which could expose people to actively graphic content.
## `hurricanes.`, `cyclones.`, `typhoons.`
* Use the relevant parent tag for the storm, with the storm name being a subtag even if it's not a formal hurricane/typhoon/cyclone (i.e. `hurricanes.patricia`, `cyclones.tracy`, and `typhoons.yutu`).
* If the storm only has a nickname or best known name, try a truncation of that name (such as `hurricanes.1938 new england`)
Title: Hierarchical Tags
[TOC]
**DISCLAIMER:** This article is an early __WORK IN PROGRESS__. It will likely go through significant revision.
## What are hierarchical tags?
Hierarchical tags (occasionally known as __subtags__ and similar terms) can essentially be thought of as specifiers to a parent tag:
>Similar to groups, tags also support a hierarchy by separating "sections" with periods. For example, tagging something with rock.progressive will cause it to still be treated as though it has a rock tag (being found in searches and affected by filters), but is more specific and could allow more detailed filtering/searching.
This is a good starting point, but it doesn't expound very well on how you're intended to use them, nor does it really go into how the community has come to use them. Thus, the purpose of this document is firstly to explain some of the conventions of how these tags are used on Tildes; secondly to explain and note where they are used and not used currently; and thirdly, to put forward a "standard" of sorts by which to use them for the future
### Examples of hierarchical tags:
Here are some examples of hierarchical tags in action which demonstrate how they modify and narrow down their parent tag:
* `canada` shows that this topic is about something in the country of Canada.
* `canada.qc` shows that this topic is about something in the province of Quebec within the country of Canada.
* `canada.qc.montreal` shows that this topic is about something in the city of Montreal in the province of Quebec within the country of Canada.
* `ask` shows that this topic is asking a question.
* `ask.recommendations` shows that this topic is asking for recommendations.
* `ask.survey` shows that this topic is asking for people's opinions ("best", "worst", "favourite").
These are quite commonplace examples and fairly straightforward; however, hierarchical tags are used on Tildes in a number of other ways not reflected by either of these examples. This gets to the crux of this document: how else are hierarchical tags used on Tildes, where are places they might be better used or not used at all, and what sort of standard--if any--exists for hierarchical tagging and how can that standard be improved upon and made more consistent?
## Hierarchical tags in practice
### Mostly group-specific tags
Many sections have group-specific or mostly group-specific uses of hierarchical tags. This section covers most of these conventions, organized by the group or groups they are best associated with.
#### ~health
For `medicine.`, `health.` and similar tags, use is somewhat complicated. These tags should generally parallel, but currently and historically do not.
`medicine.` is more frequent than `health.`, generally speaking. The following existing constructions should mostly be used for `medicine.` tags:
* `medicine.veterinary` and other branches of medicine. Wikipedia compiles a [helpful list](https://en.wikipedia.org/wiki/Medicine#Branches) of these branches which you can draw from.
* `medicine.ethics` and similar constructions
* `medicine.technology` and similar constructions
Constructions like `alternative.medicine` should be avoided and converted to the above where they exist.
`health.` is similar. The following constructions exist and should be used and emulated accordingly:
* `health.public` (for public health)
* `health.environmental` (for environmental health)
* `health.brain` (for brain health)
...and so on, as needed.
The tag `public health` is extant, but should generally be deprecated in favor of `health.public` to follow with the trend above. _However_, the similar tag `mental health` is so well established that letting it stand is probably a better idea.
---
#### ~news
* consistent use of place standard for subtags. note that abbreviated and truncated forms generally win out with the subtag despite longform use on the tagging document: no `usa.california` or `canada.british columbia` for example; rather `usa.ca` and `canada.bc`
* note no use of `politics.[place]`; `politics` is standalone tag. ditto no `elections.`; `elections` is also standalone.
---
#### ~music
~music is, frankly, kind of a fucking disaster without consistent tags. Here is an effort to parse out every running tag that exists or which needs to probably become the standard, based on the hierarchical tag system.
##### under the `folk` heading
`folk.pop`
##### under the `rock` heading
`rock.alternative`; `rock.art`; `rock.carnatic`; `rock.experimental`; `rock.folk`; `rock.indie`; `rock.industrial`; `rock.opera`; `rock.progressive`; `rock.psychadelic`; `rock.pub`; `rock.punk`; `rock.rap`
##### under the `pop` heading
`pop.art`; `pop.indie`; `pop.jangle`; `pop.noise`; `pop.power`
##### under the `punk` heading
`punk.art`; `punk.post`
---
#### ~humanities
* For religions, use `[religion name].[denomination]` - such as `judaism.orthodox`, `christianity.catholic`, `islam.sunni`.
* For languages, use `[language].[dialect]`, such as `english.british`, `english.american`, `espanol.peninsular`, `espanol.mexicano`.
---
#### ~science
In the absence of a ~socialscience group, post social science-related topics in ~science with a `socialscience.[discipline]` tag - such as `socialscience.psychology`, `socialscience.sociology`,`socialscience.anthropology`, (examples [here](https://tildes.net/~science?tag=socialscience)).
---
#### ~sports
Sports has a large number of specific tags, some of which make use of hierarchical tags. However, this is one of the few cases where hierarchical tags are messier, more ambiguous, and just a general pain in the ass (particularly the occasional use of `football.`) and should probably be deprecated across the board for those reasons.
##### The specific mess of `football.`
The tag `football.` and similar conventions should probably be mothballed. This tag is, while technically correct, a giant mess because it tries to contain what could be as many as six different sports (and their countless variants) into a single tag, even though many of those sports only nominally resemble each other. It should probably be de-rolled in all cases and broken down as follows:
| Current tag(s) | Convert into |
|-----------------------------------------------------------------|--------------------------------|
| `football.soccer` `soccer.football` `soccer` | `football` |
| `football.american` `football` (referring to American football) | `american football` |
| `football.college` | `college football` |
| `football.canadian` | `canadian football` |
| `football.gridiron` | `gridiron football` |
| `football.australian (rules)` | `australian rules football` |
| `football.gaelic` | `gaelic football` |
| `football.international rules` | `international rules football` |
| `football.rugby` | `rugby` |
##### Possible use cases
Beyond the `football.` tag, there is some on-and-off use of the `[sport].college` convention for college sports related topics. This is fine, but to keep things simpler, it may be best to the `college [sport]` convention, in line with how the `football.` tag should probably be used going forward.
### Mostly group non-specific tags
There are also a number of tags which are more general and occur or can occur in several or all groups on the website. Some of the more common conventions of hierarchical tags that are generally not group-specific are:
#### `recurring.`
`recurring.` is a relatively new set of hierarchical tags, but is used fairly simply. The interval of the thread is used as the subtag, i.e. `weekly`, `biweekly`, `monthly,` and so on. There are three established tags in this vein which cover all known use-cases as of now.
* `recurring.weekly`
* `recurring.biweekly`
* `recurring.monthly`
The tag `recurring.daily` can also be used (as can any other permutation of interval) but thus far has not.
---
#### `nsfw.`, `trigger.`, `tw.`, `cw.` and similar tags
`nsfw.`, `trigger.`, `tw`, and `cw.` are all universal tags that have been used in one form or another to separate out content which might be objectionable and which are still useful for these purposes. Although all four have been used, the community has largely settled on a standard of using `trigger.` over `tw.` and `cw.` with potentially triggering content primarily for reasons of clarity (the `trigger.` tag also been [put forward by Deimos](https://tildes.net/~tildes/50o/trigger_warning_tag_special_flair#comment-1fso) previously as a way of handing potentially triggering and objectionable content). `nsfw.` is also sometimes used, but this is less frequent and usually carries a different implication than `trigger.` does.
As mentioned above, if you are using intending to use a tag of this sort, the preferred option in almost all cases is `trigger.` over `tw.` or `cw.`. For all intents and purposes, `tw.` and `cw.` should be considered mothballed and previous uses of them should probably be converted into `trigger.` at some point (particularly the duplicates `tw.death`, `tw.suicide`, and `tw.selfharm`).
The main established tags under the `trigger.` banner are:
* `trigger.death`
* `trigger.selfharm`
* `trigger.suicide`
* `trigger.sexual violence`
* `trigger.rape`
* `trigger.assault`
* `trigger.child abuse`
* `trigger.transphobia`
* `trigger.homophobia` (not used yet, but presumably applicable due to `trigger.transphobia`'s existence)
These are self explanatory for the most part, and cover most bases; however, if you feel that a particular topic is likely to be triggering for some people, it would be courteous to tag it accordingly in line the above tags. (Do also note that all of these tags can be and often are applied as standalone tags instead of being grouped under `trigger.` due to the fact that `trigger.` has waxed and waned in popularity over Tildes's existence.)
If you are intending to post _graphic_ content, or content which has the potential of exposing people to graphic content (broadly construed), `nsfw.` is generally preferable over `trigger.`. `nsfw.` is quite rare, but one example of it in action is the `nsfw.racism` tag on [Ignore The Poway Synagogue Shooter’s Manifesto: Pay Attention To 8chan’s /pol/ Board](https://tildes.net/~news/csv/ignore_the_poway_synagogue_shooters_manifesto_pay_attention_to_8chans_pol_board) due to the exceptionally racist content screencapped as a part of the submitted article. `nsfw.sex` is also seen on [Do Police Know How To Handle Abuse Within Kinky Relationships?](https://tildes.net/~misc/d9y/do_police_know_how_to_handle_abuse_within_kinky_relationships) due to the explicitly sexual nature of the article's subject, but this is more of a courteous measure than a necessary one--a qualified `nsfw` tag is generally not necessary, and if one is a moderator will most likely add it after the fact.
---
#### `economics.` and similar tags
The `economics` tag can occur in several groups, most often ~science, ~news, and ~misc. While it can take hierarchical tags, standalone `economics` is usually fine. Nonetheless, with specific branches of economics like microeconomics and macroeconomics, hierarchical tags should probably be used (thus `economics.micro`, `economics.macro`, `economics.applied`, and so on). Examples of this in action (and further specification under this scheme) are:
* `economics.trade` (economics and trade)
* `economics.micro.urban` (urban microeconomics)
* `economics.policy.employment` (economic policy with respect to employment)
However, when placed in ~science, the standard is always `socialsciences.economics` over `economics.` to align with the standards of tagging in that group, thus `socialsciences.economics.trade` instead of `economics.trade`. Given that `economics.` in this case is itself a hierarchical tag, it may be pertinent to break off the last hierarchical tag into its own tag where it would lead to three consecutive hierarchical tags, like so:
* `socialsciences.economics.micro` and `urban areas`
* `socialsciences.economics.policy` and `employment`
---
#### `law.`
The `law` tag takes a very large number of modifiers and can be used in just about every group due to the fact that law generally transcends the current set of groups Tildes has. Historically, topics related to law have been tagged in the `[modifier] law` format (i.e. `medical law`, `copyright law`, `us law`, and so on); however, this has generally been phased out by the community in favor of using hierarchical tags for the modifiers. Therefore, with respect to pre-existing tags, constructions like `medical law` should be deprecated in favor of `law.medical`. In addition, the following tags which do exist should be converted accordingly:
* `medical law` (convert to `law.medical`)
* `international law` (convert to `law.international`)
* `labor law` (convert to `law.labor`)
* `employment law` (convert to `law.employment`)
* `antidiscrimination laws` (convert to `law.antidiscrimination`)
* `copyright law` (convert to `law.copyright`)
* `maritime law` (convert to `law.maritime`)
* `environmental law` (convert to `law.environmental`)
* `gun laws` (convert to `law.guns`)
All single modifier tags should follow a pattern like this. In other words, if you were going to tag something as "abortion law", you should do `law.abortion` instead of `abortion law`. Currently well established tags following this format are: `law.citizenship`, `law.international`, `law.labor`, `law.marriage`, and `law.juvenile`.
The following tags with location tags in them (and similar tags like them) should be converted slightly differently from the above tags. Instead of being rolled directly, the locator tag (or what would be the locator tag) should be broken out from the tag, and the tag that is left should have its modifier turned into a hierarchical tag if possible. Thus:
* `usa federal laws` is converted to `law.federal` and `usa`. (To elaborate in this case, the `usa` is separated, leaving `federal laws` which can be converted into `law.federal`)
* `us law` is similarly converted to `law` and `usa`
* `european law` is converted to `law` and `european union`
However, this should generally _not_ be done with tags which refer to specific laws. For example `religious neutrality law`, `blue laws` and `safe haven law` are tags which should not be converted to use hierarchical tags because it makes little sense to do so.
There are also two specific tags which should generally not be rolled, which are `martial law` and `law enforcement`. Martial law is mostly used to refer to a specific state of affairs rather than an actual subset of law, so it makes little sense for this to be grouped into the `law` tag, while law enforcement is not really law in the sense being tagged here and is also covered by other tags like `policing`; using `law.enforcement` for this purpose would also be ambiguous, since it more likely would refer to enforcement of legal doctrine.
The use of the `sharia law` tag is ambiguous. Since sharia is _de jure_ a form of law, it would make sense to roll it like the other examples so that the tag is `law.sharia`; however the two uses of it on Tildes are `sharia law` and there is currently no real consensus on whether or not to roll it in this manner.
---
#### `hurricanes.`, `cyclones.`, and `typhoons.`
Tropical cyclone news generally fits into several places, most often ~news, ~enviro, or ~science. Generally, the standard for tagging tropical cyclones, whether they are hurricanes, cyclones, typhoons, or other similar storms is to use the applicable term for the storm in question, and then use a hierarchical tag for the storm's name. Actual examples of this are:
* [`typhoons.yutu`](https://tildes.net/?tag=typhoons.yutu) for the Pacific typhoon basin's Typhoon Yutu
* [`hurricanes.michael`](https://tildes.net/?tag=hurricanes.michael) for the Atlantic basin's Hurricane Michael
* [`cyclones.idai`](https://tildes.net/?tag=cyclones.idai) for the South-West Indian basin's Cyclone Idai
This is relatively straightforward, and covers the nomenclature of all existing basins. However, some basins have not been represented on Tildes thus far, so here are the two cases where standards overlap for reference:
* the Pacific hurricane basin and the South Atlantic basin would both be represented by the same standard as the Atlantic basin (thus, `hurricanes.patricia` for the Pacific [Hurricane Patricia](https://en.wikipedia.org/wiki/Hurricane_Patricia) and `hurricanes.catarina` for the South Atlantic [Hurricane Catarina](https://en.wikipedia.org/wiki/Hurricane_Catarina))
* the Australian, North Indian, and South Pacific basins would be represented by the South-West Indian basin's standard (thus, `cyclones.tracy` for Australian [Cyclone Tracy](https://en.wikipedia.org/wiki/Cyclone_Tracy), `cyclones.fani` for North Indian [Cyclone Fani](https://en.wikipedia.org/wiki/Cyclone_Fani), and `cyclones.gita` for South Pacific [Cyclone Gita](https://en.wikipedia.org/wiki/Cyclone_Gita)).
For convenience purposes, storms which are named but have not hit hurricane status should probably still be referred to with the corresponding cyclonic storm tag for their basin, even though they have not formally reached hurricane, cyclone, or typhoon status.
If there is no name to refer to (i.e. a name has not been designated for the storm), a hierarchical tag should probably not be applied at all, since that would get messy and likely necessitate updates. With storms that have only nicknames or lack a name under the nomenclature since they predate cyclone naming (for example, the [1938 New England Hurricane](https://en.wikipedia.org/wiki/1938_New_England_hurricane)) there's really no best way to do things, however, using a truncation of the nickname may be the most preferable option (for example: `hurricanes.1938 new england`).
Title: Instructions
Here you will find instructions about:
* How to use Tildes
* How to set up a Tildes development environment
## How to use Tildes
Here you'll find information about how to do various things on Tildes, from posting topics to bookmarking them.
**DISCLAIMER:** These instructions are a **WORK IN PROGRESS** in two ways.
*First*, the instructions are not yet complete. They are being written progressively. Most sections are finished, but some sections are just stubs and some sections are not yet started. As time goes by, it will become more and more complete.
*Second*, Tildes is an alpha-testing website which is still under development. Features are being changed and being added. Therefore, even for the finished sections, these instructions will be current only at a point in time. Right now, that's 26th May 2019. Anything that has been changed on Tildes after this date is not yet reflected in these instructions.
* [The Tildes front page](https://tildes.net/~tildes.official/wiki/instructions/tildes_front_page)
* [Tildes groups](https://tildes.net/~tildes.official/wiki/instructions/tildes_groups)
* [Posting on Tildes](https://tildes.net/~tildes.official/wiki/instructions/posting_on_tildes)
* [Commenting on Tildes](https://tildes.net/~tildes.official/wiki/instructions/commenting_on_tildes)
* [Navigating Tildes](https://tildes.net/~tildes.official/wiki/instructions/navigating_tildes)
* [Replying and messaging](https://tildes.net/~tildes.official/wiki/instructions/replying_and_messaging)
* [User settings](https://tildes.net/~tildes.official/wiki/instructions/user_settings)
* [Mobile devices](https://tildes.net/~tildes.official/wiki/instructions/mobile_devices)
* [The Tildes wiki](https://tildes.net/~tildes.official/wiki/instructions/the_tildes_wiki)
---
## How to set up a Tildes development environment
* [Development Setup](https://tildes.net/~tildes.official/wiki/instructions/development_setup): the requirements and steps to set up your own local development version of Tildes.
* [Development](https://tildes.net/~tildes.official/wiki/instructions/development): how to work on your local development version of Tildes.
Title: Mobile Devices
**There is no Tildes mobile app**, and there is no plan to make an official app for Tildes.
To use Tildes on your tablet or smartphone, simply open your internet browser and navigate to https://tildes.net. The Tildes website will automatically adapt its display settings to fit your screen, whether large or small. Some browsers also allow you to create a shortcut on the device's home screen, which will take you directly to the website.
Reference: [The site is the main mobile interface, not an app](https://docs.tildes.net/philosophy/site-implementation#the-site-is-the-main-mobile-interface-not-an-app)
Title: Navigating Tildes
[TOC]
### Viewing links and comments
When you're viewing the front page, you can click on topics to view the linked item, or to view the comments on the topic.
To open **the linked item** in a topic (article, video, blog), click on the big bold title. Depending on your [user settings](https://tildes.net/~tildes.official/wiki/instructions/user_settings#opening_links), the linked item can open in either a new tab or the current tab.
To open **the comments** on a topic, click on the small link that says 'X comments' below the title. Depending on your [user settings](https://tildes.net/~tildes.official/wiki/instructions/user_settings#opening_links), the comments page can open in either a new tab or the current tab.
### Sorting comments
When viewing a topic page, you can sort the comments in four ways:
* **most votes** sorts the comments by the highest number of votes. Top-level comments with the most votes appear at the top of the page, and top-level comments with the fewest votes appear at the bottom of the page.
* **newest first** sorts the comments so that the most recent top-level comment is at the top of the page and the oldest top-level comment is at the bottom of the page.
* **order posted** sorts the comments so that the oldest top-level comment is at the top of the page and the most recent top-level comment is at the bottom of the page.
* **relevance** sorts the comments by the highest number of votes, including any effects from [comment labels](https://tildes.net/~tildes.official/wiki/instructions/commenting_on_tildes#labelling_comments).
### Finding new comments
There is a user setting which will allows you to highlight new comments in a thread (comments which have been posted since the last time you looked at the thread). You can find more information about that in the '[Marking new comments](https://tildes.net/~tildes.official/wiki/instructions/user_settings#marking_new_comments)' section on the User Settings page of these instructions.
### Collapsing replies
At the top of the comments on a topic page, there are two buttons:
* Collapse replies
* Expand all
If you click on "Collapse replies", all reply comments will be hidden, leaving only top-level comments visible. You can restore any old comments by clicking on the "+" button on the comment stub.
If you click on "Expand all", all comments will be restored to normal visibility.
[Added buttons to collapse all reply comments and expand all comments](https://tildes.net/~tildes.official/5c8/added_buttons_to_collapse_all_reply_comments_and_expand_all_comments)
### Comment highlights
* Blue left-hand border = Exemplary comment
* Black left-hand border = Original Poster's (OP's) comment
* Red left-hand border = New comment
* Brown left-hand border = Linked comment
### Viewing a group
To view a group on Tildes, go to the front page, and look in the sidebar for the button that says 'Browse the list of groups' (at the bottom). The 'Browse groups' page lists all groups on Tildes.
If you're already subscribed to the group, it will appear directly in the sidebar of your front page. Click on the link in the sidebar.
Title: Posting on Tildes
[TOC]
Posts on Tildes are called "topics". There are two types of topics:
* **Link topics**, which are links to an offsite article or video.
* **Text topics**, which contain text that is written and hosted on Tildes.
(Note: you can use text topics to post links, if you want to provide an introduction or some context for what you're posting. Simply include the URL in the text field as part of what you type.)
### Creating a topic
To create a topic on Tildes, you must first [navigate to the group](https://tildes.net/~tildes.official/wiki/instructions/navigating_tildes#viewing_a_group) you want to post the topic in. All topics must be posted in a group or sub-group. (It's okay if you're not sure which group to post your topic in. Just pick the group or sub-group you think is most appropriate. If there's a better place for your topic, someone else will probably come along and [move it for you](https://tildes.net/~tildes.official/wiki/instructions/posting_on_tildes#moving_topics).)
In the sidebar of the group, click on the "Post a new topic" button to create a topic. There are three fields to complete: Title, Link, and Text.
* For a **link topic**, complete the Title and Link fields. Type a title for the topic: this will usually be the title of the article or video you're posting. Paste the URL of the article or video into the Link field.
* For a **text topic**, complete the Title and Text fields. Type a title for your topic. Enter your text in the Text field. Use this option if you're asking a question, or presenting your own topic for discussion.
* If you want to post a link topic, and simultaneously post the first comment under your topic, complete all three fields: Title, Link, and Text. Type the title for the topic from the title of the article or video you're posting; paste the URL of the article or video into the Link field; type your opening comment into the Text field.
To submit your topic, click on the "Post topic" button under the entry fields.
Reference: [Daily Tildes discussion (and changelog) - "new topic" page and process updated](https://tildes.net/~tildes.official/2kh/daily_tildes_discussion_and_changelog_new_topic_page_and_process_updated)
### Tagging topics
You can apply tags to your post, which can be used by people [to filter their front page](https://tildes.net/~tildes.official/wiki/instructions/tildes_front_page#filtering_the_topics). Tags are not compulsory, but they are *extremely* useful and helpful. If you don't enter tags on your topic, someone else will probably come along and [add some for you](https://tildes.net/~tildes.official/wiki/instructions/posting_on_tildes#changing_tags)!
Tags go in the 'Tags' field.
Tags should describe what the topic is about. They can be geographic identifiers ("usa", "china", "india"), or they can indicate the subject matter ("biology", "social media", "history"), or they can indicate the type of topic ("ask", "introductions", "casual").
Tags are hierarchical: there can be sub-tags. For instance, a geographical tag can include the country *and* the state/province/county. Or a tag for the type of topic can show the sub-type as well. To include a sub-tag in a tag, use a full stop / period (".") character between the top-level tag and a sub-level tag. They can go to multiple levels.
For example:
* "canada" shows that this topic is about something in the country of Canada.
* "canada.qc" shows that this topic is about something in the province of Quebec within the country of Canada.
* "canada.qc.montreal" shows that this topic is about something in the city of Montreal in the province of Quebec within the country of Canada.
* "ask" shows that this topic is asking a question.
* "ask.recommendations" shows that this topic is asking for recommendations.
* "ask.survey" shows that this topic is asking for people's opinions ("best", "worst", "favourite").
Tags can include *only* letters, numbers, and the space character. No special characters are permitted. "smartphones" and "smart phones" are valid tags; "smart-phones" is not a valid tag.
Tags are not case sensitive: any uppercase letters you enter will be converted to lower case letters.
As you start typing a tag, you will see a list of suggested tags starting with the letter(s) you have typed. This list of suggestions is taken from the most popular tags in the group you are posting to. With each extra letter you type, the list will narrow to match your typing. For example: