Giter VIP home page Giter VIP logo

documentation's Introduction

Mastodon

The documentation currently uses Hugo to generate a static site from Markdown. Use hugo serve to test the site locally.

View the live documentation at https://docs.joinmastodon.org

documentation's People

Contributors

aaaaalbert avatar andypiper avatar audiodude avatar brookmiles avatar clearlyclaire avatar gargron avatar holgerhuo avatar koyuawsmbrtn avatar ktachibanam avatar mahanrahmati avatar markdoliner avatar maxolasersquad avatar mjankowski avatar mkljczk avatar neet avatar nemobis avatar nightpool avatar noellabo avatar nolanlawson avatar renchap avatar rinsuki avatar rmacd avatar smiba avatar tathamoddie avatar thisismissem avatar trwnh avatar umonaca avatar vmstan avatar vyrcossont avatar xeruf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Development guide needs updating

The development guide is out of date. Specifically, it doesn’t mention that you need to run a separate server for the webpack assets (images, CSS).

Before:

You can then run Mastodon with:

bundle exec rails server

We should add a note about starting the webpack dev server:

./bin/webpack-dev-server

And/or, as @nightpool was mentioning in web chat, the development guide should get developers ready with the foreman workflow.

There is an error in the Developer Guide for Mac

I read the official Developer Guide. An error occurred when trying to build the environment on Mac.
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Development-guide.md#prerequisites
I hit $ xcode-select install.
(on MacOS Sierra 10.12.5)

$ xcode-select install
xcode-select: error: invalid argument 'install'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path

error: invalid argument has occurred

$ xcode-select --install is correct

documentation error for posting reports through API

for reporting a user on endpoint api/v1/reports the documentation says

status_ids: The IDs of statuses to report (can be an array)

It seems the status_ids must be an array, otherwise a 404 is returned. So (can be an array) should be (array).

API documentation is incomplete re: notifications

The notifications/dismiss/id one is missing. It seems to have been added on 23 April, but also removed again?

There's also no mention of the possibility of filtering notifications by type. The web interface makes use of it, so it's clearly not meant to be hidden. It's most useful for automated API use to get mentions separately from other types, so please document it fully.

An interface for reading documentation

This is a direct continuation of mastodon/mastodon/issues/1247 on the main repo. The documentation as it is regardless of its content is not easy to browse and read because a Github repo isn’t made for this. We need to set-up a URL with an interface that access the folders and files here and display them in a pretty and navigable way. That’s the address we’ll share with people needing the user’s manual, possibly even having a link in the Mastodon interface itself.

Tools and services mentioned in the other thread:

specifications

Is there any more details on how the protocols in mastodon are implemented ? Other than the FAQ to allow server alternatives ?

Maintenance Task frequency is unclear

I have a daily cron script that runs all my Mastodon maintenance tasks. I'm starting to believe this is not adequate for PuSH subscription refresh. I have found subscriptions dying even on days when the script appeared to have been run.

Keeping feeds from dying should be a solved problem, but I have no idea how often I should refresh subscriptions to ensure a seamless experience with no lost messages. Recommended frequency should be clearly outlined in the documentation. Do I need to do it every hour? Every minute? At what point is it guaranteed to revive expiring subscriptions?

Fails to start: babel-node ./streaming/index.js --presets es2015,stage-2

System is Debian Jessie

Full log from /home/mastodon/live/npm-debug.log is as follows:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'run', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart mastodon@
6 info start mastodon@
7 verbose unsafe-perm in lifecycle true
8 info mastodon@ Failed to exec start script
9 verbose stack Error: mastodon@ start: babel-node ./streaming/index.js --presets es2015,stage-2
9 verbose stack spawn ENOENT
9 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/spawn.js:17:16)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at ChildProcess.emit (events.js:172:7)
9 verbose stack at maybeClose (internal/child_process.js:862:16)
9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:222:5)
10 verbose pkgid mastodon@
11 verbose cwd /home/mastodon/live
12 error Linux 3.16.0-4-amd64
13 error argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "start"
14 error node v4.8.2
15 error npm v2.15.11
16 error file sh
17 error code ELIFECYCLE
18 error errno ENOENT
19 error syscall spawn
20 error mastodon@ start: babel-node ./streaming/index.js --presets es2015,stage-2
20 error spawn ENOENT
21 error Failed at the mastodon@ start script 'babel-node ./streaming/index.js --presets es2015,stage-2'.
21 error This is most likely a problem with the mastodon package,
21 error not with npm itself.
21 error Tell the author that this fails on your system:
21 error babel-node ./streaming/index.js --presets es2015,stage-2
21 error You can get information on how to open an issue for this project with:
21 error npm bugs mastodon
21 error Or if that isn't available, you can get their info via:
21 error
21 error npm owner ls mastodon
21 error There is likely additional logging output above.
22 verbose exit [ 1, true ]

Can I use an index to specify an array of GET queries in the API?

In the parameter type section of API, it is written as follows.

Square brackets can be indexed but can also be empty.

https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#parameter-types

Not use index

For example, a request with no index will succeed.

https://mastodon.social/api/v1/accounts/relationships?id%5B%5D=3&id%5B%5D=2&id%5B%5D=1
(Encoded https://mastodon.social/api/v1/accounts/relationships?id[]=3&id[]=2&id[]=1)

Results:

{
	"id": 1,
	"following": true,
	"followed_by": true,
	"blocking": false,
	"muting": false,
	"requested": false
}
{
	"id": 2,
	"following": true,
	"followed_by": true,
	"blocking": false,
	"muting": false,
	"requested": false
}
{
	"id": 3,
	"following": true,
	"followed_by": true,
	"blocking": false,
	"muting": false,
	"requested": false
}

Use index

An indexed request fails.

Index from 0

https://mastodon.social/api/v1/accounts/relationships?id%5B0%5D=3&id%5B1%5D=2&id%5B2%5D=1
(Encoded https://mastodon.social/api/v1/accounts/relationships?id[0]=3&id[1]=2&id[2]=1)

Results: 404 Not Found

Index from 1

https://mastodon.social/api/v1/accounts/relationships?id%5B1%5D=3&id%5B2%5D=2&id%5B3%5D=1
(Encoded https://mastodon.social/api/v1/accounts/relationships?id[1]=3&id[2]=2&id[3]=1)

Results: 404 Not Found

If the index can not be used, need to fix the document.

A guide for setting up lets encrypt?

Hello,

Sorry I'm so noob at nginx. I'm following the guide here and stuck at this question:

Select the webroot for monero.fun:
-------------------------------------------------------------------------------
1: Enter a new webroot
-------------------------------------------------------------------------------
Press 1 [enter] to confirm the selection (press 'c' to cancel): 1
Input the webroot for monero.fun: (Enter 'c' to cancel):

Documentation about Translation is not updated

  1. All *.jsx has been renamed as *.js
  2. mastodon.js and the locale folder has been relocated.
  3. The javascript locale files has been changed from jsx files to json.
  4. There is no mention about the command line tools (i18n-tasks, translationRunner.js)

Config example may need updating, also 'unexpectedly closed the connection'

I had to add this to the config file

http {
map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

and commented out the lines for ssl (until I can get the lets encrypt ssl working, but I'm getting "unexpectedly closed the connection" now.

When I run nginx -g 'daemon off;'
I get

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

"Gotchas" section in Mastodon's Translating.md (plurals, mainly)

Quite a few translators (ja, zh-*, pl at least) are confused by rails-i18n's plural handling. They tend to translate the one message while their locale only takes the other case (ja, zh, "other"). pl is messed up in another way: their locale takes four plural forms (here). Perhaps someone can add a list of such common errors to the howto file?

Request: FAQ Addition - What's the default image upload size limit?

See title, and additionally is there a way to inspect an instance's upload size limit? I've noticed that if Tusky can't upload to an instance (due to the Mastodon limit, reverse-proxy limit, or load balancer limit) it will give a non-descriptive error - support for getting an instance's limit could somewhat improve this.

[very minor] Transfer repository

Right now the repository looks like this:

image

it would be great if we could either have Github remove that (I hear they do it if you ask them), or have @dereckson transfer the repository to this account, so that you have the "original" copy and it doesn't show that message

Production Guide: git checkout command doesn’t get latest tag

The command stated in the Production Guide will not checkout the latest tag due to release candidate tags appearing lower in the list as returned by git tag:

git checkout $(git tag | tail -n 1)

Currently gets v1.4rc6 instead of v1.4.3.

There are two options as I see it to fixing this:

  1. Rename the RC tags. (Might break things)
  2. Change the instructions in the document (this will be a more manual process where the person has to find the latest version number and substitute it)

Or…

  1. Something I haven’t thought of that’s a better solution :)

Resources needed page

One of the items lists Sidekiq params as "5 threads, DB_POOL=10". That is a waste of 5 database connections, because 5 threads will use only 5 connections. -c should always equal DB_POOL.

Also, the median traffic in/out between the two listed instances is too drastically different - i am assuming because the number of active users is different. I think the table should list daily active users or number of nginx connections, instead of total users. Otherwise the metrics are not very useful.

Using IFTTT with Mastodon

I hope it's OK to use issues here to make documentation. I'm not sure where else this should live right now.

You can use IFTTT and a user's Atom feed to trigger actions from Mastodon posts to other systems. I made this example applet that posts to my Twitter account if I include the keyword share in my post

To post from other systems into Mastodon will need something like the IFTTT webhook system. I found this example https://gist.github.com/austinhuang0131/3846a66790ecc240ec470229b4318cdf/

If we can figure out the format that Mastodon takes to it's API endpoint, then we can potentially also automate posting INTO your mastodon feed (but I think that will also require an API key or similar?)

error Command "webpack" not found.

I'm trying to setup mastodon v1.4.4 on Ubuntu Server 16.04 LTS without Docker.

I'm kind of stuck on precompile step in production-guide below and can't figure out how should I do.
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md

mastodon@ubuntu:~/live$ RAILS_ENV=production bundle exec rails assets:precompile                                                                                                                           
Webpacker is installed 🎉 🍰
Using /home/mastodon/live/config/webpacker.yml file for setting up webpack paths
[Webpacker] Compiling assets 🎉
[Webpacker] Compilation Failed
yarn run v0.24.5
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

error Command "webpack" not found.

Any help would be greatly appreciated.

List of Rake tasks

I could not find the documentation of the list of Rake tasks. I think this documentation is helpful for us to confirm all Rake tasks clearly and quickly. The command to show the usage of each task (bundle exec rails rake -T) is helpful but we don't know the detailed information and the usage examples.

Development with vagrant

As Mastodon gets more and more moving parts, might make sense to introduce a .vagrantfile that sets up all the the dependencies.

As yet, Running-Mastodon/Development-guide.md merely advises against Docker, which makes sense. Still, running redis and postgres and all that straight on your development machine isn't that great.

High-Level Changelog for the API

Right now, it's hard to tell which things were added to the API in which version at a glance.

I'd like to propose that the API documentation should, from now on forward, include a Changelog (that doesn't need to be more complicated than just "1.4.1: added X, Y and Z"). This would make it a LOT easier for me (and probably other library authors) to keep up with changes - right now, I have to comb through git history, and miss stuff often.

Documentation License

Hello.

I hava a question.
Looks like these documentation in this repository are copied from main repository.
Are these same license(AGPLv3)?
I couldn't make sure it because there is no license file.

Regards,

Missing link to mailinglist in Administration guide

Hi,

I think I saw a message a couple of days ago mentioning a mailinglist (?) for instance admins / operators, but it is not in the Admin guide. Could somebody who knows the details add them, so I can join :-)

Step-By-Step Upgrades

I have several questions about upgrading to the newest version:

  1. How do I find out what version I'm running right now?
  2. How do I find out what's the latest stable version?
  3. Is there a step-by-step guide on how to upgrade from my current version to the latest?
  4. I'm running Ubuntu... would the steps be different for different Linux distros?
  5. If I'm several versions behind, do I need to upgrade to each incremental version, or can I upgrade directly to the latest version?

Thanks!

How to get an access token with 2FA enabled?

Hi there, first of all, great project and great work with the documentation.

I have a question:
I was trying to get an access token but couldn't for the life of me make it happen (kept getting a 302 asking me to sign in).

After some time trying different approaches it occurred to me to disable 2FA and that resulted in a success.

I went back to the documentation but couldn't find how to retrieve an access token with 2FA enabled.

Would it be possible to get an explanation on how to accomplish this?

I would gladly improve the docs with a PR with the explanation given here (if there's no trace of this in the current documentation).

Thanks 🙇

Production Guide: Does not work "sudo -iu mastodon"?

Since #306, Production Guide has guide to useradd.

sudo useradd --system --user-group --shell /bin/false --create-home --home /home/mastodon mastodon

This sets /bin/false as shell, so "sudo -iu mastodon" takes no effect.

Is this guide correct?

Release branches for documentation

Some changes of Mastodon such as #234 and #235 requires this documentation to be updated, but it is not necessary or possibly inappropriate for past releases. Could we have a branch for releases, as mastodon repository has 1.3-stable?

Please add examples and more explanation to the API documentation

I'm not sure if it's okay to ask for this, but it's pretty hard to figure out how to use the API properly >_<;

For example, several endpoints mention to get max_id and since_id from something called a "link header". (for example https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#getting-who-account-is-following). The only explanation of what a "link header" is is at the top of the page as a link to an RFC. A simple example would explain things much quicker and simpler than pointing to an abstract and complex design document.

Another example, it's mentioned at the top of the page that a file needs to be "form-encoded". But later on, https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md#updating-the-current-user says that images need to be "base64 encoded". So, which is it? Are they different? How to accomplish these encodings? An example of an API call that accomplishes the thing properly would be much easier to understand than describing it in words.

Some other things that aren't explained:

mv misc to "alternatives" ?

I've got a pending PR that adds supervisord configs to the production guide. It was requested that I split it into a new file and I'd like to propose a files called Alternatives.md to make it clear about what it contains. I'd be happy to merge misc into it as well as pull the apache config out of production.

Extend localization to ISO 639-2

Hello,
I noticed that the localization is only limited to languages in ISO 639-1.
Would you like extend localization to ISO 639-2. We would like localize Mastodon into Kabyle.

Regrads,

M.Belkacem
Kabyle localizer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.