MM-50750 Remove unused HelpController component (#22861)

* MM-50750 Remove unused HelpController component

* Fix snapshot

* Remove leftover string from bad merge
Этот коммит содержится в:
Harrison Healey
2023-05-02 13:07:30 -04:00
коммит произвёл GitHub
родитель 5adbf6c612
Коммит f77501ec10
12 изменённых файлов: 0 добавлений и 1370 удалений

Просмотреть файл

@@ -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",