MM-50750 Remove unused HelpController component (#22861)
* MM-50750 Remove unused HelpController component * Fix snapshot * Remove leftover string from bad merge
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
5adbf6c612
Коммит
f77501ec10
@@ -1,173 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
|
||||
export default function Attaching(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.title'
|
||||
defaultMessage='Attaching Files'
|
||||
/>
|
||||
</h1>
|
||||
<hr/>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.methods.title'
|
||||
defaultMessage='Attachment Methods'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.methods.description'
|
||||
defaultMessage='There are three ways to attach a file. You can drag and drop files, use the **Attachment** icon, or copy and paste files.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.dragdrop.title'
|
||||
defaultMessage='Drag and Drop Files'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.dragdrop.description'
|
||||
defaultMessage='Upload a file, or a selection of files, by dragging the files from your computer into the right-hand sidebar or center pane. Dragging and dropping attaches the files to the message input box, then you can optionally type a message and press **ENTER** to post the message.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.icon.title'
|
||||
defaultMessage='Use the Attachment Icon'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.icon.description'
|
||||
defaultMessage='Alternatively, upload files by selecting the **Attachment** icon inside the message input box. In the system file viewer, navigate to the desired files, then select **Open** to upload them to the message input box. Optionally type a message, then press **ENTER** to post the message.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.pasting.title'
|
||||
defaultMessage='Copy and Paste Files'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.attaching.pasting.description'
|
||||
defaultMessage='On Chrome and Edge browsers, you can upload files by pasting them from the system clipboard. This is not yet supported on other browsers.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.previewer.title'
|
||||
defaultMessage='View Previewer'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.attaching.previewer.description'
|
||||
defaultMessage='Mattermost has a built-in file previewer used to view media, download files, and to share public links. Select the thumbnail of an attached file to open it in the file previewer.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.publicLinks.title'
|
||||
defaultMessage='Share Public Links'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.publicLinks.description'
|
||||
defaultMessage='Public links enable you to share file attachments with people outside your Mattermost team. Open the file previewer by selecting the thumbnail of an attachment, then select **Get a public link**. Copy the link provided. When the link is shared and opened by another user, the file automatically downloads.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.publicLinks2'
|
||||
defaultMessage='If the **Get a public link** option is not visible in the file previewer, and you want this feature enabled, ask your System Admin to enable this feature in the System Console under **Site Configuration > Public Links**.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.downloading.title'
|
||||
defaultMessage='Download Files'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.attaching.downloading.description'
|
||||
defaultMessage='Download an attached file by selecting the Download icon next to the file thumbnail, or by opening the file previewer and selecting **Download**.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supported.title'
|
||||
defaultMessage='Supported Media Types'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supported.description'
|
||||
defaultMessage='If you are trying to preview a media type that is not supported, the file previewer opens a standard media attachment icon. Supported media formats depend heavily on your browser and operating system. The following formats are supported by Mattermost on most browsers:'
|
||||
/>
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supportedListItem1'
|
||||
defaultMessage='Images: BMP, GIF, JPG, JPEG, PNG, SVG'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supportedListItem2'
|
||||
defaultMessage='Video: MP4'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supportedListItem3'
|
||||
defaultMessage='Audio: MP3, M4A'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMessage
|
||||
id='help.attaching.supportedListItem4'
|
||||
defaultMessage='Documents: PDF, TXT'
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.attaching.notSupported'
|
||||
defaultMessage='Other document formats (such as Word, Excel, or PPT) are not yet supported.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.attaching.limitations.title'
|
||||
defaultMessage='File Size Limitations'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.attaching.limitations.description'
|
||||
defaultMessage='Mattermost supports up to ten files attached per post. The default maximum file size is 100 MB (megabytes), but this can be changed by your System Admin. Image files can be a maximum size of 7680 pixels x 4320 pixels, with a maximum image resolution of 33 MP (mega pixels) or 8K resolution, and a maximum raw image file size of approximately 253 MB.'
|
||||
/>
|
||||
</p>
|
||||
<HelpLinks excludedLinks={[HelpLink.Attaching]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
import ExternalLink from 'components/external_link';
|
||||
|
||||
export default function HelpCommands(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.commands.title'
|
||||
defaultMessage='Executing Commands'
|
||||
/>
|
||||
</h1>
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.commands.intro1'
|
||||
defaultMessage='You can execute commands, called slash commands, by typing into the text input box to perform operations in Mattermost. To run a slash command, type `/` followed by a command and some arguments to perform actions.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.commands.builtin.title'
|
||||
defaultMessage='Built-In Commands'
|
||||
/>
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.commands.intro2'
|
||||
defaultMessage='Built-in slash commands come with all Mattermost installations. See the <link>product documentation</link> for a list of available built-in slash commands.'
|
||||
values={{
|
||||
link: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://docs.mattermost.com/messaging/executing-slash-commands.html'
|
||||
location='help_commands'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.commands.builtin2'
|
||||
defaultMessage='Begin by typing `/`. A list of slash command options displays above the text input box. The autocomplete suggestions provide you with a format example in black text and a short description of the slash command in grey text.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/slash-commands.gif'
|
||||
alt='Slash command autocomplete'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.commands.custom.title'
|
||||
defaultMessage='Custom Commands'
|
||||
/>
|
||||
</h2>
|
||||
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.commands.custom.description'
|
||||
defaultMessage='Custom slash commands can integrate with external applications. For example, a team might configure a custom slash command to check internal health records with `/patient joe smith` or check the weekly weather forecast in a city with `/weather toronto week`. Check with your System Admin, or open the autocomplete list by typing `/`, to determine whether custom slash commands are available for your organization.'
|
||||
/>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.commands.custom2'
|
||||
defaultMessage='Custom slash commands are disabled by default and can be enabled by the System Admin in the System Console by going to <strong>Integrations > Integration Management</strong>. Learn about configuring custom slash commands in the <link>developer documentation</link>.'
|
||||
values={{
|
||||
link: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://developers.mattermost.com/integrate/slash-commands/'
|
||||
location='help_commands'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
strong: (msg: React.ReactNode) => <strong>{msg}</strong>,
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
|
||||
<HelpLinks excludedLinks={[HelpLink.Commands]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
|
||||
export default function HelpComposing(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.title'
|
||||
defaultMessage='Sending Messages'
|
||||
/>
|
||||
</h1>
|
||||
<hr/>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.types.title'
|
||||
defaultMessage='Message Types'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.composing.types.description'
|
||||
defaultMessage='Reply to posts to keep conversations organized in threads.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.posts.title'
|
||||
defaultMessage='Posts'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.composing.posts.description'
|
||||
defaultMessage='Posts are considered parent messages when they start a thread of replies. Posts are composed and sent from the text input box at the bottom of the center pane.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.replies.title'
|
||||
defaultMessage='Replies'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.replies.description1'
|
||||
defaultMessage='Select the **Reply** icon next to any message to open the right-hand sidebar to respond to a thread.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.replies.description2'
|
||||
defaultMessage='When composing a reply, select the **Expand Sidebar/Collapse Sidebar** icon in the top right corner of the right-hand sidebar to make conversations easier to read.'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.posting.title'
|
||||
defaultMessage='Post a Message'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.posting.description'
|
||||
defaultMessage='Write a message by typing into the text input box, then press **ENTER** to send it. Press **SHIFT+ENTER** to create a new line without sending a message. To send messages by pressing **CTRL+ENTER**, go to **Settings > Advanced > Send Messages on CTRL/CMD+ENTER**.'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.editing.title'
|
||||
defaultMessage='Edit a Message'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.editing.description'
|
||||
defaultMessage={'Edit a message by selecting the **More Actions [...]** icon next to any message text that you\'ve composed, then select **Edit**. After making modifications to the message text, press **ENTER** to save the modifications. Message edits don\'t trigger new @mention notifications, desktop notifications, or notification sounds.'}
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.deleting.title'
|
||||
defaultMessage='Delete a Message'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.deleting.description'
|
||||
defaultMessage={'Delete a message by selecting the **More Actions [...]** icon next to any message text that you\'ve composed, then select **Delete**. System and Team Admins can delete any message on their system or team.'}
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.composing.linking.title'
|
||||
defaultMessage='Link to a Message'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.composing.linking.description'
|
||||
defaultMessage='Get a permanent link to a message by selecting the **More Actions [...]** icon next to any message, then select **Copy Link**. Users must be a member of the channel to view the message link.'
|
||||
/>
|
||||
</p>
|
||||
<HelpLinks excludedLinks={[HelpLink.Composing]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,444 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import Markdown from 'components/markdown';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
import ExternalLink from 'components/external_link';
|
||||
|
||||
export default function HelpFormatting(): JSX.Element {
|
||||
const renderRawExample = (example: string | React.ReactNode): JSX.Element => {
|
||||
return (
|
||||
<div className='post-code post-code--wrap'>
|
||||
<code className='hljs'>{example}</code>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const renderRawExampleWithResult = (example: string | React.ReactNode): JSX.Element => {
|
||||
return (
|
||||
<div>
|
||||
{renderRawExample(example)}
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.renders'
|
||||
defaultMessage='Renders as:'
|
||||
/>
|
||||
</p>
|
||||
{' '}
|
||||
<Markdown message={example ? example.toString() : ''}/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.title'
|
||||
defaultMessage='Formatting Messages Using Markdown'
|
||||
/>
|
||||
</h1>
|
||||
<hr/>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.intro'
|
||||
defaultMessage='Markdown makes it easy to format messages. Type a message as you normally would, then use the following syntax options to format your message a specific way.'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.style.title'
|
||||
defaultMessage='Text Style'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.style.description'
|
||||
defaultMessage='You can use either `_` or `*` around a word to make it italic. Use two to make a word bold.'
|
||||
/>
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.style.listItem1'
|
||||
defaultMessage='`_italics_` renders as _italics_'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.style.listItem2'
|
||||
defaultMessage='`**bold**` renders as **bold**'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.style.listItem3'
|
||||
defaultMessage='`**_bold-italic_**` renders as **_bold-italics_**'
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.style.listItem4'
|
||||
defaultMessage='`~~strikethrough~~` renders as ~~strikethrough~~'
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.code.title'
|
||||
defaultMessage='Code Block'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.code.description'
|
||||
defaultMessage='Create a code block by indenting each line by four spaces, or by placing ``` on the line above and below your code.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.example'
|
||||
defaultMessage='Example:'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.codeBlock'
|
||||
defaultMessage='Code block'
|
||||
>
|
||||
{(example) => renderRawExampleWithResult('```\n' + example + '\n```')}
|
||||
</FormattedMessage>
|
||||
<h3 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.syntax.title'
|
||||
defaultMessage='Syntax Highlighting'
|
||||
/>
|
||||
</h3>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.syntax.description'
|
||||
defaultMessage='To add syntax highlighting, type the language to be highlighted after the ``` at the beginning of the code block. Mattermost also offers four different code themes (GitHub, Solarized Dark, Solarized Light, Monokai) that can be changed in **Settings > Display > Theme > Custom Theme > Center Channel Styles > Code Theme**.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.supportedSyntax'
|
||||
defaultMessage={'Supported languages are: `applescript`, `as`, `atom`, `bas`, `bash`, `boot`, `_coffee`, `c++`, `c`, `cake`, `cc`, `cl2`, `clj`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `cjsx`, `cson`, `coffee`, `cpp`, `cs`, `csharp`, `css`, `d`, `dart`, `dfm`, `di`, `delphi`, `diff`, `django`, `docker`, `dockerfile`, `dpr`, `erl`, `fortran`, `freepascal`, `fs`, `fsharp`, `gcode`, `gemspec`, `go`, `groovy`, `gyp`, `h++`, `h`, `handlebars`, `hbs`, `hic`, `hpp`, `html`, `html.handlebars`, `html.hbs`, `hs`, `hx`, `iced`, `irb`, `java`, `jinja`, `jl`, `js`, `json`, `jsp`, `jsx`, `kt`, `ktm`, `kts`, `latexcode`, `lazarus`, `less`, `lfm`, `lisp`, `lpr`, `lua`, `m`, `mak`, `matlab`, `md`, `mk`, `mkd`, `mkdown`, `ml`, `mm`, `nc`, `objc`, `obj-c`, `osascript`, `pas`, `pascal`, `perl`, `pgsql`, `php`, `php3`, `php4`, `php5`, `php6`, `pl`, `plist`, `podspec`, `postgres`, `postgresql`, `ps`, `ps1`, `pp`, `py`, `r`, `rb`, `rs`, `rss`, `ruby`, `scala`, `scm`, `scpt`, `scss`, `sh`, `sld`, `st`, `styl`, `sql`, `swift`, `tex`, `texcode`, `thor`, `ts`, `tsx`, `v`, `vb`, `vbnet`, `vbs`, `veo`, `xhtml`, `xml`, `xsl`, `yaml`, `zsh`.'}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.example'
|
||||
defaultMessage='Example:'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.syntaxEx'
|
||||
defaultMessage={'```go\npackage main\nimport "fmt"\nfunc main() {\n fmt.Println("Hello, 世界")\n}\n```'}
|
||||
values={{dummy: ''}}
|
||||
>
|
||||
{(example) => renderRawExample(example)}
|
||||
</FormattedMessage>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.renders'
|
||||
defaultMessage='Renders as:'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.githubTheme'
|
||||
defaultMessage='**GitHub Theme**'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/syntax-highlighting-github.png'
|
||||
alt='go syntax-highlighting'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.solirizedDarkTheme'
|
||||
defaultMessage='**Solarized Dark Theme**'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/syntax-highlighting-sol-dark.png'
|
||||
alt='go syntax-highlighting'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.solirizedLightTheme'
|
||||
defaultMessage='**Solarized Light Theme**'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/syntax-highlighting-sol-light.png'
|
||||
alt='go syntax-highlighting'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.monokaiTheme'
|
||||
defaultMessage='**Monokai Theme**'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/syntax-highlighting-monokai.png'
|
||||
alt='go syntax-highlighting'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.inline.title'
|
||||
defaultMessage='In-line Code'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.inline.description'
|
||||
defaultMessage='Create in-line monospaced font by surrounding it with backticks.'
|
||||
/>
|
||||
</p>
|
||||
{renderRawExample('`monospace`')}
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.renders'
|
||||
defaultMessage='Renders as:'
|
||||
>
|
||||
{(text) => (<Markdown message={text + ' `monospace`'}/>)}
|
||||
</FormattedMessage>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.links.title'
|
||||
defaultMessage='Links'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.links.description'
|
||||
defaultMessage='Create labeled links by putting the desired text in square brackets and the associated link in normal brackets.'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.linkEx'
|
||||
defaultMessage={'[Check out Mattermost!](https://mattermost.com/)'}
|
||||
>
|
||||
{(example) => (
|
||||
<div>
|
||||
<Markdown message={'`' + example + '`'}/>
|
||||
<FormattedMessage
|
||||
id='help.formatting.renders'
|
||||
defaultMessage='Renders as:'
|
||||
>
|
||||
{(text) => (<Markdown message={text + ' ' + example}/>)}
|
||||
</FormattedMessage>
|
||||
</div>
|
||||
)}
|
||||
</FormattedMessage>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.images.title'
|
||||
defaultMessage='In-line Images'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.images.description'
|
||||
defaultMessage='Create in-line images using an `!` followed by the alt text in square brackets and the link in normal brackets. Add hover text by placing it in quotes after the link. See the <link>product documentation</link> for details on working with in-line images.'
|
||||
values={{
|
||||
link: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://docs.mattermost.com/messaging/formatting-text.html#in-line-images'
|
||||
location='formatting_help'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.emojis.title'
|
||||
defaultMessage='Emojis'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.emojis.description'
|
||||
defaultMessage={'Open the emoji autocomplete by typing `:`. A full list of emojis can be found <linkEmoji>online</linkEmoji>. It is also possible to create your own <linkCustomEmoji>Custom Emoji</linkCustomEmoji> if the emoji you want to use doesn\'t exist.'}
|
||||
values={{
|
||||
linkEmoji: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='http://www.emoji-cheat-sheet.com/'
|
||||
location='formatting_help'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
linkCustomEmoji: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://docs.mattermost.com/messaging/using-emoji.html#creating-custom-emojis'
|
||||
location='formatting_help'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
{renderRawExampleWithResult(':smile: :+1: :sheep:')}
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.lines.title'
|
||||
defaultMessage='Lines'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.lines.description'
|
||||
defaultMessage='Create a line by using three `*`, `_`, or `-`.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.renders'
|
||||
defaultMessage='Renders as:'
|
||||
>
|
||||
{(text) => <Markdown message={'`***` ' + text}/>}
|
||||
</FormattedMessage>
|
||||
</p>
|
||||
<Markdown message='***'/>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.quotes.title'
|
||||
defaultMessage='Block quotes'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.quotes.description'
|
||||
defaultMessage='Create block quotes using `>`.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.quotesExample'
|
||||
defaultMessage='`> block quotes` renders as:'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.quotesRender'
|
||||
defaultMessage='> block quotes'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.lists.title'
|
||||
defaultMessage='Lists'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.lists.description'
|
||||
defaultMessage='Create a list by using `*` or `-` as bullets. Indent a bullet point by adding two spaces in front of it.'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.listExample'
|
||||
defaultMessage={'* list item one\n* list item two\n * item two sub-point'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.ordered'
|
||||
defaultMessage='Make it an ordered list by using numbers instead:'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.orderedExample'
|
||||
defaultMessage={'1. Item one\n2. Item two'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.checklist'
|
||||
defaultMessage='Make a task list by including square brackets:'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.checklistExample'
|
||||
defaultMessage={'- [ ] Item one\n- [ ] Item two\n- [x] Completed item'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.tables.title'
|
||||
defaultMessage='Tables'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.tables.description'
|
||||
defaultMessage={'Create a table by placing a dashed line under the header row and separating the columns with a pipe `|`. (The columns don\'t need to line up exactly for it to work). Choose how to align table columns by including colons `:` within the header row.'}
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.tableExample'
|
||||
defaultMessage={'| Left-Aligned | Center Aligned | Right Aligned |\n| :------------ |:---------------:| -----:|\n| Left column 1 | this text | $100 |\n| Left column 2 | is | $10 |\n| Left column 3 | centered | $1 |'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.formatting.headings.title'
|
||||
defaultMessage='Headings'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.headings.description'
|
||||
defaultMessage={'Make a heading by typing # and a space before your title. For smaller headings, use more #\'s.'}
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.headingsExample'
|
||||
defaultMessage={'## Large Heading\n### Smaller Heading\n#### Even Smaller Heading'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.formatting.headings2'
|
||||
defaultMessage='Alternatively, you can underline the text using `===` or `---` to create headings.'
|
||||
/>
|
||||
</p>
|
||||
<FormattedMessage
|
||||
id='help.formatting.headings2Example'
|
||||
defaultMessage={'Large Heading\n-------------'}
|
||||
>
|
||||
{(example) => renderRawExampleWithResult(example)}
|
||||
</FormattedMessage>
|
||||
<HelpLinks excludedLinks={[HelpLink.Formatting]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import {FormattedMessage, useIntl} from 'react-intl';
|
||||
import {Link} from 'react-router-dom';
|
||||
|
||||
import * as I18n from 'i18n/i18n';
|
||||
|
||||
import {useQuery} from 'utils/http_utils';
|
||||
|
||||
import {HelpLink} from 'components/help/types';
|
||||
|
||||
type Props = {
|
||||
excludedLinks?: HelpLink[];
|
||||
}
|
||||
|
||||
type HelpLinkContent = {
|
||||
path: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
const HelpLinks: React.FC<Props> = ({excludedLinks = []}: Props) => {
|
||||
// If the current page has locale query param in it, we want to preserve it when navigating to any of the help pages
|
||||
let localeQueryParam = '';
|
||||
const currentLocaleFromQueryParam = useQuery().get('locale');
|
||||
if (currentLocaleFromQueryParam && I18n.isLanguageAvailable(currentLocaleFromQueryParam)) {
|
||||
localeQueryParam = `?locale=${currentLocaleFromQueryParam}`;
|
||||
}
|
||||
|
||||
const {formatMessage} = useIntl();
|
||||
|
||||
const HELP_LINK_CONTENT: {[key in HelpLink]: HelpLinkContent} = {
|
||||
[HelpLink.Messaging]: {
|
||||
path: '/help/messaging',
|
||||
message: formatMessage({
|
||||
id: 'help.link.messaging',
|
||||
defaultMessage: 'Basic Messaging',
|
||||
}),
|
||||
},
|
||||
[HelpLink.Composing]: {
|
||||
path: '/help/composing',
|
||||
message: formatMessage({
|
||||
id: 'help.link.composing',
|
||||
defaultMessage: 'Composing Messages and Replies',
|
||||
}),
|
||||
},
|
||||
[HelpLink.Mentioning]: {
|
||||
path: '/help/mentioning',
|
||||
message: formatMessage({
|
||||
id: 'help.link.mentioning',
|
||||
defaultMessage: 'Mentioning Teammates',
|
||||
}),
|
||||
},
|
||||
[HelpLink.Formatting]: {
|
||||
path: '/help/formatting',
|
||||
message: formatMessage({
|
||||
id: 'help.link.formatting',
|
||||
defaultMessage: 'Formatting Messages Using Markdown',
|
||||
}),
|
||||
},
|
||||
[HelpLink.Attaching]: {
|
||||
path: '/help/attaching',
|
||||
message: formatMessage({
|
||||
id: 'help.link.attaching',
|
||||
defaultMessage: 'Attaching Files',
|
||||
}),
|
||||
},
|
||||
[HelpLink.Commands]: {
|
||||
path: '/help/commands',
|
||||
message: formatMessage({
|
||||
id: 'help.link.commands',
|
||||
defaultMessage: 'Executing Commands',
|
||||
}),
|
||||
},
|
||||
};
|
||||
|
||||
const linksToBeRendered: HelpLink[] = Object.values(HelpLink).
|
||||
filter((link: HelpLink) => !excludedLinks.includes(link));
|
||||
|
||||
return (
|
||||
<>
|
||||
<p className='links'>
|
||||
<FormattedMessage
|
||||
id='help.learnMore'
|
||||
defaultMessage='Learn more about:'
|
||||
/>
|
||||
</p>
|
||||
<ul>
|
||||
{
|
||||
linksToBeRendered.map((linkType: HelpLink) => {
|
||||
const {path, message}: HelpLinkContent = HELP_LINK_CONTENT[linkType];
|
||||
|
||||
return (
|
||||
<li key={linkType}>
|
||||
<Link to={`${path}${localeQueryParam}`}>
|
||||
{message}
|
||||
</Link>
|
||||
</li>
|
||||
);
|
||||
})
|
||||
}
|
||||
</ul>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default HelpLinks;
|
||||
@@ -1,125 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
import ExternalLink from 'components/external_link';
|
||||
|
||||
export default function Mentioning(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.title'
|
||||
defaultMessage='Mentioning Teammates'
|
||||
/>
|
||||
</h1>
|
||||
<hr/>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.mentions.title'
|
||||
defaultMessage='@Mentions'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.mentions.description'
|
||||
defaultMessage='Use @mentions to get the attention of specific team members.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.username.title'
|
||||
defaultMessage='@Username Mentions'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.mentioning.username.description1'
|
||||
defaultMessage='You can mention a teammate by using the `@` symbol plus their username to send them a mention notification.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.username.description2'
|
||||
defaultMessage='Type `@` to bring up a list of team members who can be mentioned. To filter the list, type the first few letters of any username, first name, last name, or nickname. Use the <strong>Up</strong> and <strong>Down</strong> keyboard arrow keys to scroll through entries in the list, then press <strong>ENTER</strong> to select the user to mention. Once selected, the username is automatically replaced with the full name or nickname. The following example sends a special mention notification to <strong>alice</strong> that alerts her of the channel and message where she has been mentioned. If <strong>alice</strong> is away from Mattermost and has <link>email notifications</link> turned on, then she will receive an email alert for the mention along with the message text.'
|
||||
values={{
|
||||
strong: (msg: React.ReactNode) => <strong>{msg}</strong>,
|
||||
link: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://docs.mattermost.com/messaging/configuring-notifications.html#email-notifications'
|
||||
location='mentioning_help'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<div className='post-code post-code--wrap'>
|
||||
<code className='hljs'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.usernameExample'
|
||||
defaultMessage='@alice how did your interview go with the new candidate?'
|
||||
/>
|
||||
</code>
|
||||
</div>
|
||||
<p/>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.mentioning.usernameCont'
|
||||
defaultMessage='If the user you mentioned is not a member of the channel, a System Message is posted to let you know. The System Message is a temporary message only seen by the person who triggered it. To add the mentioned user to the channel, go to the dropdown menu beside the channel name and select **Add Members**.'
|
||||
/>
|
||||
</p>
|
||||
<h4 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.channel.title'
|
||||
defaultMessage='@Channel Mentions'
|
||||
/>
|
||||
</h4>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.mentioning.channel.description'
|
||||
defaultMessage='You can mention an entire channel by typing `@channel`. All members of the channel receive a mention notification that behaves the same way as if the members had been mentioned individually. The following example sends a special mention notification to everyone in the current channel to congratulate them on a job well done.'
|
||||
/>
|
||||
</p>
|
||||
<div className='post-code post-code--wrap'>
|
||||
<code className='hljs'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.channelExample'
|
||||
defaultMessage='@channel great work on interviews this week. I think we found some excellent potential candidates!'
|
||||
/>
|
||||
</code>
|
||||
</div>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.triggers.title'
|
||||
defaultMessage='Words That Trigger Mentions'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.mentioning.triggers.description'
|
||||
defaultMessage='In addition to being notified with @username and @channel mentions, you can configure Mattermost to trigger mention notifications based on specific words by going to **Settings > Notifications > Words That Trigger Mentions**. By default, you receive mention notifications on your first name. Add more words by typing them into the input box separated by commas. This is useful if you want to be notified of all posts on certain topics, for example, "interviewing" or "marketing".'
|
||||
/>
|
||||
</p>
|
||||
<h2 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.mentioning.recent.title'
|
||||
defaultMessage='Recent Mentions'
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.mentioning.recent.description'
|
||||
defaultMessage='Select `@` next to the Search box to query for your most recent @mentions and words that trigger mentions. Select **Jump** next to a search result in the right-hand sidebar to jump the center pane to the channel and location of the message with the mention.'
|
||||
/>
|
||||
</p>
|
||||
<HelpLinks excludedLinks={[HelpLink.Mentioning]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import {FormattedMessage} from 'react-intl';
|
||||
|
||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||
import HelpLinks from 'components/help/components/help_links';
|
||||
import {HelpLink} from 'components/help/types';
|
||||
import ExternalLink from 'components/external_link';
|
||||
|
||||
export default function Messaging(): JSX.Element {
|
||||
return (
|
||||
<div>
|
||||
<h1 className='markdown__heading'>
|
||||
<FormattedMessage
|
||||
id='help.messaging.title'
|
||||
defaultMessage='Messaging Basics'
|
||||
/>
|
||||
</h1>
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.messaging.write'
|
||||
defaultMessage='**Write Messages:** Use the text input box at the bottom of the Mattermost interface to write a message. Press **ENTER** to send the message. Use **SHIFT+ENTER** to create a new line without sending a message.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.messaging.reply'
|
||||
defaultMessage='**Reply to Messages:** Select the **Reply Arrow** icon next to the text input box.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/reply-icon.png'
|
||||
alt='Reply Arrow icon'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.messaging.notify'
|
||||
defaultMessage='**Notify Teammates:** Type `@username` to get the attention of specific team members.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.messaging.format'
|
||||
defaultMessage='**Format Your Messages:** Use Markdown to include text styling, headings, links, emoticons, code blocks, block quotes, tables, lists, and in-line images in your messages. See the following table for common formatting examples.'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
src='https://docs.mattermost.com/_images/messagesTable1.png'
|
||||
alt='Use Markdown in your messages'
|
||||
className='markdown-inline-img'
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='help.messaging.emoji'
|
||||
defaultMessage={'<strong>Add Emoji:</strong> Type ":" to open an emoji autocomplete. If the existing emojis don\'t say what you want to express, you can also create your own <link>Custom Emoji</link>.'}
|
||||
values={{
|
||||
strong: (msg: React.ReactNode) => <strong>{msg}</strong>,
|
||||
link: (msg: React.ReactNode) => (
|
||||
<ExternalLink
|
||||
href='https://docs.mattermost.com/messaging/using-emoji.html#creating-custom-emojis'
|
||||
location='messaging_help'
|
||||
>
|
||||
{msg}
|
||||
</ExternalLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMarkdownMessage
|
||||
id='help.messaging.attach'
|
||||
defaultMessage='**Attach Files:** Drag and drop files into Mattermost, or select the **Attachment** icon in the text input box.'
|
||||
/>
|
||||
</p>
|
||||
<HelpLinks excludedLinks={[HelpLink.Messaging]}/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import {Switch, Route} from 'react-router-dom';
|
||||
|
||||
import Messaging from './components/messaging';
|
||||
import Composing from './components/composing';
|
||||
import Mentioning from './components/mentioning';
|
||||
import Formatting from './components/formatting';
|
||||
import Attaching from './components/attaching';
|
||||
import Commands from './components/commands';
|
||||
|
||||
type Props = {
|
||||
match: {
|
||||
url: string;
|
||||
};
|
||||
}
|
||||
|
||||
export default class HelpController extends React.PureComponent<Props> {
|
||||
public componentDidUpdate(): void {
|
||||
const helpControllerNode = ReactDOM.findDOMNode(this);
|
||||
|
||||
if (helpControllerNode && helpControllerNode instanceof HTMLDivElement) {
|
||||
helpControllerNode.scrollIntoView();
|
||||
}
|
||||
}
|
||||
|
||||
public render(): JSX.Element {
|
||||
return (
|
||||
<div className='help-page'>
|
||||
<div className='container col-sm-10 col-sm-offset-1'>
|
||||
<Switch>
|
||||
<Route
|
||||
path={`${this.props.match.url}/messaging`}
|
||||
component={Messaging}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/composing`}
|
||||
component={Composing}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/mentioning`}
|
||||
component={Mentioning}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/formatting`}
|
||||
component={Formatting}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/attaching`}
|
||||
component={Attaching}
|
||||
/>
|
||||
<Route
|
||||
path={`${this.props.match.url}/commands`}
|
||||
component={Commands}
|
||||
/>
|
||||
</Switch>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
export enum HelpLink {
|
||||
Messaging = 'Messaging',
|
||||
Composing = 'Composing',
|
||||
Mentioning = 'Mentioning',
|
||||
Formatting = 'Formatting',
|
||||
Attaching = 'Attaching',
|
||||
Commands = 'Commands',
|
||||
}
|
||||
@@ -39,10 +39,6 @@ exports[`components/Root Routes Should mount public product routes 1`] = `
|
||||
component={[Function]}
|
||||
path="/claim"
|
||||
/>
|
||||
<HFTRoute
|
||||
component={[Function]}
|
||||
path="/help"
|
||||
/>
|
||||
<LoggedInRoute
|
||||
component={[Function]}
|
||||
path="/terms_of_service"
|
||||
|
||||
@@ -68,7 +68,6 @@ const LazyTermsOfService = React.lazy(() => import('components/terms_of_service'
|
||||
const LazyShouldVerifyEmail = React.lazy(() => import('components/should_verify_email/should_verify_email'));
|
||||
const LazyDoVerifyEmail = React.lazy(() => import('components/do_verify_email/do_verify_email'));
|
||||
const LazyClaimController = React.lazy(() => import('components/claim'));
|
||||
const LazyHelpController = React.lazy(() => import('components/help/help_controller'));
|
||||
const LazyLinkingLandingPage = React.lazy(() => import('components/linking_landing_page'));
|
||||
const LazySelectTeam = React.lazy(() => import('components/select_team'));
|
||||
const LazyAuthorize = React.lazy(() => import('components/authorize'));
|
||||
@@ -107,7 +106,6 @@ const Signup = makeAsyncComponent('SignupController', LazySignup);
|
||||
const ShouldVerifyEmail = makeAsyncComponent('ShouldVerifyEmail', LazyShouldVerifyEmail);
|
||||
const DoVerifyEmail = makeAsyncComponent('DoVerifyEmail', LazyDoVerifyEmail);
|
||||
const ClaimController = makeAsyncComponent('ClaimController', LazyClaimController);
|
||||
const HelpController = makeAsyncComponent('HelpController', LazyHelpController);
|
||||
const LinkingLandingPage = makeAsyncComponent('LinkingLandingPage', LazyLinkingLandingPage);
|
||||
const SelectTeam = makeAsyncComponent('SelectTeam', LazySelectTeam);
|
||||
const Authorize = makeAsyncComponent('Authorize', LazyAuthorize);
|
||||
@@ -584,10 +582,6 @@ export default class Root extends React.PureComponent<Props, State> {
|
||||
path={'/claim'}
|
||||
component={ClaimController}
|
||||
/>
|
||||
<HFTRoute
|
||||
path={'/help'}
|
||||
component={HelpController}
|
||||
/>
|
||||
<LoggedInRoute
|
||||
path={'/terms_of_service'}
|
||||
component={TermsOfService}
|
||||
|
||||
@@ -3626,135 +3626,6 @@
|
||||
"group_member_list.searchError": "There was a problem getting results. Clear your search term and try again.",
|
||||
"group_member_list.sendMessageButton": "Send message to {user}",
|
||||
"group_member_list.sendMessageTooltip": "Send message",
|
||||
"help.attaching.downloading.description": "Download an attached file by selecting the Download icon next to the file thumbnail, or by opening the file previewer and selecting **Download**.",
|
||||
"help.attaching.downloading.title": "Download Files",
|
||||
"help.attaching.dragdrop.description": "Upload a file, or a selection of files, by dragging the files from your computer into the right-hand sidebar or center pane. Dragging and dropping attaches the files to the message input box, then you can optionally type a message and press **ENTER** to post the message.",
|
||||
"help.attaching.dragdrop.title": "Drag and Drop Files",
|
||||
"help.attaching.icon.description": "Alternatively, upload files by selecting the **Attachment** icon inside the message input box. In the system file viewer, navigate to the desired files, then select **Open** to upload them to the message input box. Optionally type a message, then press **ENTER** to post the message.",
|
||||
"help.attaching.icon.title": "Use the Attachment Icon",
|
||||
"help.attaching.limitations.description": "Mattermost supports up to ten files attached per post. The default maximum file size is 100 MB (megabytes), but this can be changed by your System Admin. Image files can be a maximum size of 7680 pixels x 4320 pixels, with a maximum image resolution of 33 MP (mega pixels) or 8K resolution, and a maximum raw image file size of approximately 253 MB.",
|
||||
"help.attaching.limitations.title": "File Size Limitations",
|
||||
"help.attaching.methods.description": "There are three ways to attach a file. You can drag and drop files, use the **Attachment** icon, or copy and paste files.",
|
||||
"help.attaching.methods.title": "Attachment Methods",
|
||||
"help.attaching.notSupported": "Other document formats (such as Word, Excel, or PPT) are not yet supported.",
|
||||
"help.attaching.pasting.description": "On Chrome and Edge browsers, you can upload files by pasting them from the system clipboard. This is not yet supported on other browsers.",
|
||||
"help.attaching.pasting.title": "Copy and Paste Files",
|
||||
"help.attaching.previewer.description": "Mattermost has a built-in file previewer used to view media, download files, and to share public links. Select the thumbnail of an attached file to open it in the file previewer.",
|
||||
"help.attaching.previewer.title": "File Previewer",
|
||||
"help.attaching.publicLinks.description": "Public links enable you to share file attachments with people outside your Mattermost team. Open the file previewer by selecting the thumbnail of an attachment, then select **Get a public link**. Copy the link provided. When the link is shared and opened by another user, the file automatically downloads.",
|
||||
"help.attaching.publicLinks.title": "Share Public Links",
|
||||
"help.attaching.publicLinks2": "If the **Get a public link** option is not visible in the file previewer, and you want this feature enabled, ask your System Admin to enable this feature in the System Console under **Site Configuration > Public Links**.",
|
||||
"help.attaching.supported.description": "If you are trying to preview a media type that is not supported, the file previewer opens a standard media attachment icon. Supported media formats depend heavily on your browser and operating system. The following formats are supported by Mattermost on most browsers:",
|
||||
"help.attaching.supported.title": "Supported Media Types",
|
||||
"help.attaching.supportedListItem1": "Images: BMP, GIF, JPG, JPEG, PNG, SVG",
|
||||
"help.attaching.supportedListItem2": "Video: MP4",
|
||||
"help.attaching.supportedListItem3": "Audio: MP3, M4A",
|
||||
"help.attaching.supportedListItem4": "Documents: PDF, TXT",
|
||||
"help.attaching.title": "Attaching Files",
|
||||
"help.commands.builtin.title": "Built-In Commands",
|
||||
"help.commands.builtin2": "Begin by typing `/`. A list of slash command options displays above the text input box. The autocomplete suggestions provide you with a format example in black text and a short description of the slash command in grey text.",
|
||||
"help.commands.custom.description": "Custom slash commands can integrate with external applications. For example, a team might configure a custom slash command to check internal health records with `/patient joe smith` or check the weekly weather forecast in a city with `/weather toronto week`. Check with your System Admin, or open the autocomplete list by typing `/`, to determine whether custom slash commands are available for your organization.",
|
||||
"help.commands.custom.title": "Custom Commands",
|
||||
"help.commands.custom2": "Custom slash commands are disabled by default and can be enabled by the System Admin in the System Console by going to <strong>Integrations > Integration Management</strong>. Learn about configuring custom slash commands in the <link>developer documentation</link>.",
|
||||
"help.commands.intro1": "You can execute commands, called slash commands, by typing into the text input box to perform operations in Mattermost. To run a slash command, type `/` followed by a command and some arguments to perform actions.",
|
||||
"help.commands.intro2": "Built-in slash commands come with all Mattermost installations. See the <link>product documentation</link> for a list of available built-in slash commands.",
|
||||
"help.commands.title": "Executing Commands",
|
||||
"help.composing.deleting.description": "Delete a message by selecting the **More Actions [...]** icon next to any message text that you've composed, then select **Delete**. System and Team Admins can delete any message on their system or team.",
|
||||
"help.composing.deleting.title": "Delete a message",
|
||||
"help.composing.editing.description": "Edit a message by selecting the **More Actions [...]** icon next to any message text that you've composed, then select **Edit**. After making modifications to the message text, press **ENTER** to save the modifications. Message edits don't trigger new @mention notifications, desktop notifications, or notification sounds.",
|
||||
"help.composing.editing.title": "Edit a Message",
|
||||
"help.composing.linking.description": "Get a permanent link to a message by selecting the **More Actions [...]** icon next to any message, then select **Copy Link**. Users must be a member of the channel to view the message link.",
|
||||
"help.composing.linking.title": "Link to a message",
|
||||
"help.composing.posting.description": "Write a message by typing into the text input box, then press **ENTER** to send it. Use **SHIFT+ENTER** to create a new line without sending a message. To send messages by pressing **CTRL+ENTER**, go to **Settings > Advanced > Send Messages on CTRL/CMD+ENTER**.",
|
||||
"help.composing.posting.title": "Post a Message",
|
||||
"help.composing.posts.description": "Posts are considered parent messages when they start a thread of replies. Posts are composed and sent from the text input box at the bottom of the center pane.",
|
||||
"help.composing.posts.title": "Posts",
|
||||
"help.composing.replies.description1": "Select the **Reply** icon next to any message to open the right-hand sidebar to respond to a thread.",
|
||||
"help.composing.replies.description2": "When composing a reply, select the <strong>Expand Sidebar/Collapse Sidebar</strong> icon in the top right corner of the right-hand sidebar to make conversations easier to read.",
|
||||
"help.composing.replies.title": "Replies",
|
||||
"help.composing.title": "Sending Messages",
|
||||
"help.composing.types.description": "Reply to posts to keep conversations organized in threads.",
|
||||
"help.composing.types.title": "Message Types",
|
||||
"help.formatting.checklist": "Make a task list by including square brackets:",
|
||||
"help.formatting.checklistExample": "- [ ] Item one\n- [ ] Item two\n- [x] Completed item",
|
||||
"help.formatting.code.description": "Create a code block by indenting each line by four spaces, or by placing ``` on the line above and below your code.",
|
||||
"help.formatting.code.title": "Code Block",
|
||||
"help.formatting.codeBlock": "Code block",
|
||||
"help.formatting.emojis.description": "Open the emoji autocomplete by typing \":\". A full list of emojis can be found <linkEmoji>online</linkEmoji>. It is also possible to create your own <linkCustomEmoji>Custom Emoji</linkCustomEmoji> if the emoji you want to use doesn't exist.",
|
||||
"help.formatting.emojis.title": "Emojis",
|
||||
"help.formatting.example": "Example:",
|
||||
"help.formatting.githubTheme": "**GitHub Theme**",
|
||||
"help.formatting.headings.description": "Make a heading by typing # and a space before your title. For smaller headings, use more #'s.",
|
||||
"help.formatting.headings.title": "Headings",
|
||||
"help.formatting.headings2": "Alternatively, you can underline the text using `===` or `---` to create headings.",
|
||||
"help.formatting.headings2Example": "Large Heading\n-------------",
|
||||
"help.formatting.headingsExample": "## Large Heading\n### Smaller Heading\n#### Even Smaller Heading",
|
||||
"help.formatting.images.description": "Create in-line images using an `!` followed by the alt text in square brackets and the link in normal brackets. Add hover text by placing it in quotes after the link. See the <link>product documentation</link> for details on working with in-line images.",
|
||||
"help.formatting.images.title": "In-line Images",
|
||||
"help.formatting.inline.description": "Create in-line monospaced font by surrounding it with backticks.",
|
||||
"help.formatting.inline.title": "In-line Code",
|
||||
"help.formatting.intro": "Markdown makes it easy to format messages. Type a message as you normally would, then use the following syntax options to format your message a specific way.",
|
||||
"help.formatting.lines.description": "Create a line by using three `*`, `_`, or `-`.",
|
||||
"help.formatting.lines.title": "Lines",
|
||||
"help.formatting.linkEx": "[Check out Mattermost!](https://mattermost.com/)",
|
||||
"help.formatting.links.description": "Create labeled links by putting the desired text in square brackets and the associated link in normal brackets.",
|
||||
"help.formatting.links.title": "Links",
|
||||
"help.formatting.listExample": "* list item one\n* list item two\n * item two sub-point",
|
||||
"help.formatting.lists.description": "Create a list by using `*` or `-` as bullets. Indent a bullet point by adding two spaces in front of it.",
|
||||
"help.formatting.lists.title": "Lists",
|
||||
"help.formatting.monokaiTheme": "**Monokai Theme**",
|
||||
"help.formatting.ordered": "Make it an ordered list by using numbers instead:",
|
||||
"help.formatting.orderedExample": "1. Item one\n2. Item two",
|
||||
"help.formatting.quotes.description": "Create block quotes using `>`.",
|
||||
"help.formatting.quotes.title": "Block quotes",
|
||||
"help.formatting.quotesExample": "`> block quotes` renders as:",
|
||||
"help.formatting.quotesRender": "> block quotes",
|
||||
"help.formatting.renders": "Renders as:",
|
||||
"help.formatting.solirizedDarkTheme": "**Solarized Dark Theme**",
|
||||
"help.formatting.solirizedLightTheme": "**Solarized Light Theme**",
|
||||
"help.formatting.style.description": "You can use either `_` or `*` around a word to make it italic. Use two to make a word bold.",
|
||||
"help.formatting.style.listItem1": "`_italics_` renders as _italics_",
|
||||
"help.formatting.style.listItem2": "`**bold**` renders as **bold**",
|
||||
"help.formatting.style.listItem3": "`**_bold-italic_**` renders as **_bold-italics_**",
|
||||
"help.formatting.style.listItem4": "`~~strikethrough~~` renders as ~~strikethrough~~",
|
||||
"help.formatting.style.title": "Text Style",
|
||||
"help.formatting.supportedSyntax": "Supported languages are: `applescript`, `as`, `atom`, `bas`, `bash`, `boot`, `_coffee`, `c++`, `c`, `cake`, `cc`, `cl2`, `clj`, `cljc`, `cljs`, `cljs.hl`, `cljscm`, `cljx`, `cjsx`, `cson`, `coffee`, `cpp`, `cs`, `csharp`, `css`, `d`, `dart`, `dfm`, `di`, `delphi`, `diff`, `django`, `docker`, `dockerfile`, `dpr`, `erl`, `fortran`, `freepascal`, `fs`, `fsharp`, `gcode`, `gemspec`, `go`, `groovy`, `gyp`, `h++`, `h`, `handlebars`, `hbs`, `hic`, `hpp`, `html`, `html.handlebars`, `html.hbs`, `hs`, `hx`, `iced`, `irb`, `java`, `jinja`, `jl`, `js`, `json`, `jsp`, `jsx`, `kt`, `ktm`, `kts`, `latexcode`, `lazarus`, `less`, `lfm`, `lisp`, `lpr`, `lua`, `m`, `mak`, `matlab`, `md`, `mk`, `mkd`, `mkdown`, `ml`, `mm`, `nc`, `objc`, `obj-c`, `osascript`, `pas`, `pascal`, `perl`, `pgsql`, `php`, `php3`, `php4`, `php5`, `php6`, `pl`, `plist`, `podspec`, `postgres`, `postgresql`, `ps`, `ps1`, `pp`, `py`, `r`, `rb`, `rs`, `rss`, `ruby`, `scala`, `scm`, `scpt`, `scss`, `sh`, `sld`, `st`, `styl`, `sql`, `swift`, `tex`, `texcode`, `thor`, `ts`, `tsx`, `v`, `vb`, `vbnet`, `vbs`, `veo`, `xhtml`, `xml`, `xsl`, `yaml`, `zsh`.",
|
||||
"help.formatting.syntax.description": "To add syntax highlighting, type the language to be highlighted after the ``` at the beginning of the code block. Mattermost also offers four different code themes (GitHub, Solarized Dark, Solarized Light, Monokai) that can be changed in **Settings > Display > Theme > Custom Theme > Center Channel Styles > Code Theme**.",
|
||||
"help.formatting.syntax.title": "Syntax Highlighting",
|
||||
"help.formatting.syntaxEx": "```goAA\npackage main\nimport \"fmt\"\nfunc main() {\n fmt.Println(\"Hello, 世界\")\n}\n```",
|
||||
"help.formatting.tableExample": "| Left-Aligned | Center Aligned | Right Aligned |\n| :------------ |:---------------:| -----:|\n| Left column 1 | this text | $100 |\n| Left column 2 | is | $10 |\n| Left column 3 | centered | $1 |",
|
||||
"help.formatting.tables.description": "Create a table by placing a dashed line under the header row and separating the columns with a pipe `|`. (The columns don't need to line up exactly for it to work). Choose how to align table columns by including colons \":\" within the header row.",
|
||||
"help.formatting.tables.title": "Tables",
|
||||
"help.formatting.title": "Formatting Messages Using Markdown",
|
||||
"help.learnMore": "Learn more about:",
|
||||
"help.link.attaching": "Attaching Files",
|
||||
"help.link.commands": "Executing Commands",
|
||||
"help.link.composing": "Composing Messages and Replies",
|
||||
"help.link.formatting": "Formatting Messages Using Markdown",
|
||||
"help.link.mentioning": "Mentioning Teammates",
|
||||
"help.link.messaging": "Basic Messaging",
|
||||
"help.mentioning.channel.description": "You can mention an entire channel by typing `@channel`. All members of the channel will receive a mention notification that behaves the same way as if the members had been mentioned personally.",
|
||||
"help.mentioning.channel.title": "@Channel",
|
||||
"help.mentioning.channelExample": "@channel great work on interviews this week. I think we found some excellent potential candidates!",
|
||||
"help.mentioning.mentions.description": "Use @mentions to get the attention of specific team members.",
|
||||
"help.mentioning.mentions.title": "@Mentions",
|
||||
"help.mentioning.recent.description": "Click `@` next to the search box to query for your most recent @mentions and words that trigger mentions. Click **Jump** next to a search result in the right-hand sidebar to jump the center pane to the channel and location of the message with the mention.",
|
||||
"help.mentioning.recent.title": "Recent Mentions",
|
||||
"help.mentioning.title": "Mentioning Teammates",
|
||||
"help.mentioning.triggers.description": "In addition to being notified by @username and @channel, you can customize words that trigger mention notifications in **Settings > Notifications > Words that trigger mentions**. By default, you will receive mention notifications on your first name, and you can add more words by typing them into the input box separated by commas. This is useful if you want to be notified of all posts on certain topics, for example, \"interviewing\" or \"marketing\".",
|
||||
"help.mentioning.triggers.title": "Words That Trigger Mentions",
|
||||
"help.mentioning.username.description1": "You can mention a teammate by using the `@` symbol plus their username to send them a mention notification.",
|
||||
"help.mentioning.username.description2": "Type `@` to bring up a list of team members who can be mentioned. To filter the list, type the first few letters of any username, first name, last name, or nickname. The <strong>Up</strong> and <strong>Down</strong> arrow keys can then be used to scroll through entries in the list, and pressing <strong>ENTER</strong> will select which user to mention. Once selected, the username will automatically replace the full name or nickname. The following example sends a special mention notification to <strong>alice</strong> that alerts her of the channel and message where she has been mentioned. If <strong>alice</strong> is away from Mattermost and has <link>email notifications</link> turned on, then she will receive an email alert of her mention along with the message text.",
|
||||
"help.mentioning.username.title": "@Username",
|
||||
"help.mentioning.usernameCont": "If the user you mentioned does not belong to the channel, a System Message will be posted to let you know. This is a temporary message only seen by the person who triggered it. To add the mentioned user to the channel, go to the dropdown menu beside the channel name and select **Add Members**.",
|
||||
"help.mentioning.usernameExample": "@alice how did your interview go with the new candidate?",
|
||||
"help.messaging.attach": "**Attach Files:** Drag and drop files into Mattermost, or select the **Attachment** icon in the text input box.",
|
||||
"help.messaging.emoji": "<strong>Add Emoji:</strong> Type \":\" to open an emoji autocomplete. If the existing emojis don't say what you want to express, you can also create your own <link>Custom Emoji</link>.",
|
||||
"help.messaging.format": "**Format Your Messages:** Use Markdown to include text styling, headings, links, emoticons, code blocks, block quotes, tables, lists, and in-line images in your messages. See the following table for common formatting examples.",
|
||||
"help.messaging.notify": "**Notify Teammates:** Type `@username` to get the attention of specific team members.",
|
||||
"help.messaging.reply": "**Reply to Messages:** Select the **Reply Arrow** icon next to the text input box.",
|
||||
"help.messaging.title": "Messaging Basics",
|
||||
"help.messaging.write": "**Write Messages:** Use the text input box at the bottom of the Mattermost interface to write a message. Press **ENTER** to send the message. Use **SHIFT+ENTER** to create a new line without sending a message.",
|
||||
"incoming_webhooks.header": "Incoming Webhooks",
|
||||
"inProduct_notices.adminOnlyMessage": "Visible to Admins only",
|
||||
"input.clear": "Clear",
|
||||
|
||||
Ссылка в новой задаче
Block a user