snippets.md 3,4 КБ
Newer Older
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
1
2
# Snippets

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
3
With GitLab Snippets you can store and share bits of code and text with other users.
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
4

Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
5
6
![GitLab Snippet](img/gitlab_snippet.png)

Evan Read's avatar
Evan Read включено в состав коммита
7
8
9
10
11
12
Snippets can be maintained using [snippets API](../api/snippets.md).

There are two types of snippets:

- Personal snippets.
- Project snippets.
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
13

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
14
## Personal snippets
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
15

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
16
17
18
Personal snippets are not related to any project and can be created completely
independently. There are 3 visibility levels that can be set, public, internal
and private. See [Public access](../public_access/public_access.md) for more information.
Marcia Ramos's avatar
Marcia Ramos включено в состав коммита
19

Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
20
21
## Project snippets

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
22
Project snippets are always related to a specific project.
Marcel Amirault's avatar
Marcel Amirault включено в состав коммита
23
See [Project features](project/index.md#project-features) for more information.
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
24

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
25
26
27
## Discover snippets

There are two main ways of how you can discover snippets in GitLab.
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
28

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
29
30
31
32
33
34
35
For exploring all snippets that are visible to you, you can go to the Snippets
dashboard of your GitLab instance via the top navigation. For GitLab.com you can
find it [here](https://gitlab.com/dashboard/snippets). This navigates you to an
overview that shows snippets you created and allows you to explore all snippets.

If you want to discover snippets that belong to a specific project, you can navigate
to the Snippets page via the left side navigation on the project page.
🙈  jacopo beschi 🙉's avatar
🙈 jacopo beschi 🙉 включено в состав коммита
36
37
38
39
40
Project snippets are enabled and available by default, but they can
be disabled by navigating to your project's **Settings**, expanding
**Visibility, project features, permissions** and scrolling down to
**Snippets**. From there, you can toggle to disable them or select a
different visibility level from the dropdown menu.
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
41
42
43

## Snippet comments

GitLab Bot's avatar
GitLab Bot включено в состав коммита
44
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/12910) in GitLab 9.2.
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
45
46
47

With GitLab Snippets you engage in a conversation about that piece of code,
facilitating the collaboration among users.
Jarka Kadlecova's avatar
Jarka Kadlecova включено в состав коммита
48
49
50
51
52

## Downloading snippets

You can download the raw content of a snippet.

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
53
54
55
56
By default snippets will be downloaded with Linux-style line endings (`LF`). If
you want to preserve the original line endings you need to add a parameter `line_ending=raw`
(e.g., `https://gitlab.com/snippets/SNIPPET_ID/raw?line_ending=raw`). In case a
snippet was created using the GitLab web interface the original line ending is Windows-like (`CRLF`).
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
57

Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
58
## Embedded snippets
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
59
60
61
62
63
64
65
66
67
68
69
70
71
72

> Introduced in GitLab 10.8.

Public snippets can not only be shared, but also embedded on any website. This
allows to reuse a GitLab snippet in multiple places and any change to the source
is automatically reflected in the embedded snippet.

To embed a snippet, first make sure that:

- The project is public (if it's a project snippet)
- The snippet is public
- In **Project > Settings > Permissions**, the snippets permissions are
  set to **Everyone with access**

GitLab Bot's avatar
GitLab Bot включено в состав коммита
73
74
Once the above conditions are met, the "Embed" section will appear in your
snippet where you can simply click on the "Copy" button. This copies a one-line
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
75
76
77
78
79
80
81
82
83
84
script that you can add to any website or blog post.

Here's how an example code looks like:

```html
<script src="https://gitlab.com/namespace/project/snippets/SNIPPET_ID.js"></script>
```

Here's how an embedded snippet looks like:

GitLab Bot's avatar
GitLab Bot включено в состав коммита
85
<script src="https://gitlab.com/gitlab-org/gitlab-foss/snippets/1717978.js"></script>
Andreas Kämmerle's avatar
Andreas Kämmerle включено в состав коммита
86
87
88
89

Embedded snippets are displayed with a header that shows the file name if defined,
the snippet size, a link to GitLab, and the actual snippet content. Actions in
the header allow users to see the snippet in raw format and download it.