move images to content dir and use relative paths
This is necessary for the website upgrade to Astro v3, which has a new built-in image API.
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 227 KiB After Width: | Height: | Size: 227 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 240 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 219 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
@ -168,7 +168,7 @@ The `Forgejo runner` needs to connect to a `Forgejo` instance and must be regist
|
|||
- in `/user/settings/actions/runners` to accept workflows from all repositories of the logged in user
|
||||
- in `/{owner}/{repository}/settings/actions/runners` to accept workflows from a single repository.
|
||||
|
||||
![add a runner](../../../../images/v1.21/user/actions/runners-add.png)
|
||||
![add a runner](../_images/user/actions/runners-add.png)
|
||||
|
||||
For instance, using a token obtained for a test repository from `next.forgejo.org`:
|
||||
|
||||
|
@ -343,7 +343,7 @@ To verify it is actually available for the targeted repository, go to `/{owner}/
|
|||
- available to all repositories within an organization or a user
|
||||
- available to all repositories, with the **Global** type
|
||||
|
||||
![list the runners](../../../../images/v1.21/user/actions/list-of-runners.png)
|
||||
![list the runners](../_images/user/actions/list-of-runners.png)
|
||||
|
||||
Adding the `.forgejo/workflows/demo.yaml` file to the test repository:
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ The following guide explains key **concepts** to help understand how `workflows`
|
|||
## Quick start
|
||||
|
||||
- Verify that `Enable Repository Actions` is checked in the `Repository` tab of the `/{owner}/{repository}/settings` page. If the checkbox does not show it means the administrator of the Forgejo instance did not activate the feature.
|
||||
![enable actions](../../../../images/v1.21/user/actions/enable-repository.png)
|
||||
![enable actions](../_images/user/actions/enable-repository.png)
|
||||
- Add the following to the `.forgejo/workflows/demo.yaml` file in the repository.
|
||||
```yaml
|
||||
on: [push]
|
||||
|
@ -21,11 +21,11 @@ The following guide explains key **concepts** to help understand how `workflows`
|
|||
steps:
|
||||
- run: echo All Good
|
||||
```
|
||||
![demo.yaml file](../../../../images/v1.21/user/actions/demo-yaml.png)
|
||||
![demo.yaml file](../_images/user/actions/demo-yaml.png)
|
||||
- Go to the `Actions` tab of the `/{owner}/{repository}/actions` page of the repository to see the result of the run.
|
||||
![actions results](../../../../images/v1.21/user/actions/actions-demo.png)
|
||||
![actions results](../_images/user/actions/actions-demo.png)
|
||||
- Click on the workflow link to see the details and the job execution logs.
|
||||
![actions results](../../../../images/v1.21/user/actions/workflow-demo.png)
|
||||
![actions results](../_images/user/actions/workflow-demo.png)
|
||||
|
||||
## Concepts
|
||||
|
||||
|
@ -142,33 +142,33 @@ The password to authenticate with the registry where the image is located.
|
|||
|
||||
A `Forgejo runner` listens on a `Forgejo` instance, waiting for jobs. To figure out if a runner is available for a given repository, go to `/{owner}/{repository}/settings/actions/runners`. If there are none, you can run one for yourself on your laptop.
|
||||
|
||||
![list of runners](../../../../images/v1.21/user/actions/list-of-runners.png)
|
||||
![list of runners](../_images/user/actions/list-of-runners.png)
|
||||
|
||||
Some runners are **Global** and are available for every repository, others are only available for the repositories within a given user or organization. And there can even be runners dedicated to a single repository. The `Forgejo` administrator is the only one able to launch a **Global** runner. But the user who owns an organization can launch a runner without requiring any special permission. All they need to do is to get a runner registration token and install the runner on their own laptop or on a server of their choosing (see the [Forgejo Actions administrator guide](../../admin/actions/) for more information).
|
||||
|
||||
Clicking on the pencil icon next to a runner shows the list of tasks it executed, with the status and a link to display the details of the execution.
|
||||
|
||||
![show the runners tasks](../../../../images/v1.21/user/actions/runner-tasks.png)
|
||||
![show the runners tasks](../_images/user/actions/runner-tasks.png)
|
||||
|
||||
## The list of tasks in a repository
|
||||
|
||||
From the `Actions` tab in a repository, the list of ongoing and past tasks triggered by this repository is displayed with their status.
|
||||
|
||||
![the list of actions in a repository](../../../../images/v1.21/user/actions/actions-list.png)
|
||||
![the list of actions in a repository](../_images/user/actions/actions-list.png)
|
||||
|
||||
Following the link on a task displays the logs and the `Re-run all jobs` button. It is also possible to re-run a specific job by hovering on it and clicking on the arrows.
|
||||
|
||||
![the details of an action](../../../../images/v1.21/user/actions/actions-detail.png)
|
||||
![the details of an action](../_images/user/actions/actions-detail.png)
|
||||
|
||||
## Pull request actions are moderated
|
||||
|
||||
The first time a user proposes a pull request, the task is blocked to reduce the security risks.
|
||||
|
||||
![blocked action](../../../../images/v1.21/user/actions/action-blocked.png)
|
||||
![blocked action](../_images/user/actions/action-blocked.png)
|
||||
|
||||
It can be approved by a maintainer of the project and there will be no need to unblock future pull requests.
|
||||
|
||||
![button to approve an action](../../../../images/v1.21/user/actions/action-approve.png)
|
||||
![button to approve an action](../_images/user/actions/action-approve.png)
|
||||
|
||||
## Secrets
|
||||
|
||||
|
@ -178,11 +178,11 @@ A repository, a user or an organization can hold secrets, a set of key/value pai
|
|||
- in `/user/settings/actions/secrets` to be available in all the repositories that belong to the logged in user
|
||||
- in `/{owner}/{repo}/settings/actions/secrets` to be available to the `workflows` of a single repository
|
||||
|
||||
![add a secret](../../../../images/v1.21/user/actions/secret-add.png)
|
||||
![add a secret](../_images/user/actions/secret-add.png)
|
||||
|
||||
Once the secret is added, its value cannot be changed or displayed.
|
||||
|
||||
![secrets list](../../../../images/v1.21/user/actions/secret-list.png)
|
||||
![secrets list](../_images/user/actions/secret-list.png)
|
||||
|
||||
## Workflow reference guide
|
||||
|
||||
|
@ -259,7 +259,7 @@ The actual machine provided by the runner **entirely depends on how the `Forgejo
|
|||
|
||||
The list of available `labels` for a given repository can be seen in the `/{owner}/{repo}/settings/actions/runners` page.
|
||||
|
||||
![actions results](../../../../images/v1.21/user/actions/list-of-runners.png)
|
||||
![actions results](../_images/user/actions/list-of-runners.png)
|
||||
|
||||
##### container
|
||||
|
||||
|
|
|
@ -9,11 +9,11 @@ Blocking another user is desirable if they are acting maliciously or are spammin
|
|||
|
||||
In order to block another user, go to their profile page and click on the "Block" button.
|
||||
|
||||
![Profile card where block button is shown](../../../../images/v1.21/user/block/profile.png)
|
||||
![Profile card where block button is shown](../_images/user/block/profile.png)
|
||||
|
||||
A popup will show; please read carefully what blocking another user implies, and if you accept the implications, click on Yes.
|
||||
|
||||
![Popup where implications of the block action is listed](../../../../images/v1.21/user/block/popup.png)
|
||||
![Popup where implications of the block action is listed](../_images/user/block/popup.png)
|
||||
|
||||
## How to block someone as an organization
|
||||
|
||||
|
@ -21,19 +21,19 @@ It is possible to block a user from an organization, this has the same implicati
|
|||
|
||||
Navigate to your organization's settings and select the Blocked Users page.
|
||||
|
||||
![Blocked Users page being selected in the table](../../../../images/v1.21/user/block/org_page.png)
|
||||
![Blocked Users page being selected in the table](../_images/user/block/org_page.png)
|
||||
|
||||
Find the person you want to block in the search bar, select the user and click block.
|
||||
|
||||
![Search results being shown to the search query in the search bar](../../../../images/v1.21/user/block/org_search.png)
|
||||
![Search results being shown to the search query in the search bar](../_images/user/block/org_search.png)
|
||||
|
||||
You will now see the blocked users in the list, along with the date they were blocked.
|
||||
|
||||
![Blocked person being shown in the blocked users list](../../../../images/v1.21/user/block/org_successful.png)
|
||||
![Blocked person being shown in the blocked users list](../_images/user/block/org_successful.png)
|
||||
|
||||
To unblock that person, you can click the unblock button next to their name.
|
||||
|
||||
![Blocked person being shown in the blocked users list](../../../../images/v1.21/user/block/org_unblock.png)
|
||||
![Blocked person being shown in the blocked users list](../_images/user/block/org_unblock.png)
|
||||
|
||||
## Implications of blocking a user
|
||||
|
||||
|
|
|
@ -16,11 +16,11 @@ To create a new repository, you need be logged in to your account.
|
|||
|
||||
When you're logged in, you can use one of the two buttons shown in the two following screenshots to create a new repository:
|
||||
|
||||
![screenshot of the expanded menu in the upper right corner to create a new repository](../../../../images/v1.19/user/first-repository/create-repo.png)
|
||||
![screenshot of the expanded menu in the upper right corner to create a new repository](../_images/user/first-repository/create-repo.png)
|
||||
|
||||
This will lead you to this page below.
|
||||
|
||||
![screenshot of new repository page](../../../../images/v1.21/user/first-repository/create-repo-2.png)
|
||||
![screenshot of new repository page](../_images/user/first-repository/create-repo-2.png)
|
||||
|
||||
Here's an explanation of the form's fields:
|
||||
|
||||
|
@ -41,7 +41,7 @@ After filling out the fields, click the green "Create Repository" button on the
|
|||
|
||||
You should now see a screen similar to the one below. If you haven't chosen to generate `LICENSE`, `README` and `.gitignore` the screen might show instructions instead, which will vanish after [your first commit](#making-your-first-commit/).
|
||||
|
||||
![screenshot showing a freshly baken repository](../../../../images/v1.21/user/first-repository/create-repo-3.png)
|
||||
![screenshot showing a freshly baken repository](../_images/user/first-repository/create-repo-3.png)
|
||||
|
||||
Here's what the most important buttons do:
|
||||
|
||||
|
@ -86,7 +86,7 @@ knut@iceberg:~/repositories$
|
|||
|
||||
To clone your newly created repository, execute `git clone` with the URL that is shown in your repository:
|
||||
|
||||
![screenshot of the two options to receive a clone URL for git](../../../../images/v1.21/user/first-repository/repo-url.png)
|
||||
![screenshot of the two options to receive a clone URL for git](../_images/user/first-repository/repo-url.png)
|
||||
|
||||
```bash
|
||||
knut@iceberg:~/repositories$ git clone https://codeberg.org/knut/foobar
|
||||
|
@ -249,6 +249,6 @@ When connecting via HTTPS, Git will ask you for your username and password, whic
|
|||
|
||||
After refreshing the repository page, you should now see something similar to this:
|
||||
|
||||
![screenshot showing the updated README on Codeberg](../../../../images/v1.21/user/first-repository/hello-world.png)
|
||||
![screenshot showing the updated README on Codeberg](../_images/user/first-repository/hello-world.png)
|
||||
|
||||
Congratulations - you've just made your first source code contribution on Forgejo!
|
||||
|
|
|
@ -11,7 +11,7 @@ direction, ask questions and much more.
|
|||
|
||||
### The Issue Tracker
|
||||
|
||||
![Issues list](../../../../images/v1.21/user/issue-tracking-basics/issues-list.png)
|
||||
![Issues list](../_images/user/issue-tracking-basics/issues-list.png)
|
||||
|
||||
You can access the issue tracker of a project by clicking its "Issues" tab **(1)**.
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ You can use labels to classify issues and pull requests and to improve your over
|
|||
|
||||
For repositories, labels can be created by going to `Issues` and clicking on `Labels`.
|
||||
|
||||
![create a label](../../../../images/v1.21/user/labels/label-new.png)
|
||||
![create a label](../_images/user/labels/label-new.png)
|
||||
|
||||
For organizations, you can define organization-wide labels that are shared with all organization repositories, including both already-existing repositories as well as newly created ones. Organization-wide labels can be created in the organization `Settings`.
|
||||
|
||||
|
@ -18,7 +18,7 @@ Labels have a mandatory name, a mandatory color, an optional description, and mu
|
|||
|
||||
When you create a repository, you can ensure certain labels exist by using the `Issue Labels` option. This option lists a number of available label sets that are configured globally on your instance. Its contained labels will all be created as well while creating the repository.
|
||||
|
||||
![list of labels](../../../../images/v1.21/user/labels/label-apply.png)
|
||||
![list of labels](../_images/user/labels/label-apply.png)
|
||||
|
||||
When you create a repository, you can ensure certain labels exist by using the `Issue Labels` option. This option lists a number of available label sets that are configured globally on your instance. Its contained labels will all be created as well while creating the repository.
|
||||
|
||||
|
@ -26,7 +26,7 @@ When you create a repository, you can ensure certain labels exist by using the `
|
|||
|
||||
Scoped labels are used to ensure at most a single label with the same scope is assigned to an issue or pull request. For example, if labels `kind/bug` and `kind/enhancement` have the Exclusive option set, an issue can only be classified as a bug or an enhancement.
|
||||
|
||||
![list of labels](../../../../images/v1.21/user/labels/label-list.png)
|
||||
![list of labels](../_images/user/labels/label-list.png)
|
||||
|
||||
A scoped label must contain `/` in its name (not at either end of the name). The scope of a label is determined based on the **last** `/`, so for example the scope of label `scope/subscope/item` is `scope/subscope`.
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@ shows to the left, under their avatar. It can now be fully
|
|||
personalized with a markdown file that is displayed instead of the
|
||||
list of repositories.
|
||||
|
||||
![Profile page](../../../../images/v1.21/user/profile/profile-step1.png)
|
||||
![Profile page](../_images/user/profile/profile-step1.png)
|
||||
|
||||
It uses the `README.md` file from the `.profile` repository of the
|
||||
user, if it exists.
|
||||
|
||||
![Profile README.md](../../../../images/v1.21/user/profile/profile-step2.png)
|
||||
![Profile README.md](../_images/user/profile/profile-step2.png)
|
||||
|
||||
> **NOTE:** if a the `.profile` repository is private the `README.md` they contain will be displayed publicly. It is **strongly recommended** to verify no such repository exist in a given instance before upgrading.
|
||||
|
|
|
@ -5,10 +5,10 @@ license: 'CC-BY-SA-4.0'
|
|||
|
||||
A project is a [kanban board](<https://en.wikipedia.org/wiki/Kanban_(development)>) to organize issues.
|
||||
|
||||
![screenshot of the project page](../../../../images/v1.21/user/project/project.png)
|
||||
![screenshot of the project page](../_images/user/project/project.png)
|
||||
|
||||
## Card previews images
|
||||
|
||||
If the card preview in the project is set to **Images and Text**, the card preview displays images found in the corresponding issue. The most recent is displayed first, up to five images.
|
||||
|
||||
![example of card image preview](../../../../images/v1.21/user/project/project-image.png)
|
||||
![example of card image preview](../_images/user/project/project-image.png)
|
||||
|
|
|
@ -13,7 +13,7 @@ request.
|
|||
To protect a branch, you need to go to the repository’s **Settings** >
|
||||
**Branch** page and add a new rule.
|
||||
|
||||
![Add a new rule](../../../../images/v1.21/user/protection/branch-protect.png)
|
||||
![Add a new rule](../_images/user/protection/branch-protect.png)
|
||||
|
||||
The name of the branch can be a glob where / is the separator and **
|
||||
spans accross separators. For instance `main`, `release/**`or`precious\*`.
|
||||
|
|
|
@ -14,7 +14,7 @@ Visibility of your repositories is in general inherited from your profile. So ot
|
|||
|
||||
If you want to limit visibility access to your repositories you can set your **user visibility** in the user privacy settings to **Limited**. Even if your repository is public, non-contributors will get a 404-error if they try to access your repository.
|
||||
|
||||
![screenshot showing the updated README](../../../../images/v1.21/user/repo-permissions/user-settings-privacy-limited.webp)
|
||||
![screenshot showing the updated README](../_images/user/repo-permissions/user-settings-privacy-limited.webp)
|
||||
|
||||
## Collaborators
|
||||
|
||||
|
|
|
@ -183,6 +183,6 @@ There is a Test Delivery button in the webhook settings that allows to test the
|
|||
|
||||
Forgejo webhooks can be configured to send an [authorization header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization) to the target.
|
||||
|
||||
![screenshot of the webhook definition webpage](../../../../images/v1.21/user/webhooks/authorization-header.png)
|
||||
![screenshot of the webhook definition webpage](../_images/user/webhooks/authorization-header.png)
|
||||
|
||||
The authentication string is stored encrypted in the database.
|
||||
|
|
|
@ -32,7 +32,7 @@ After you have enabled the wiki you are prompted to create the initial page `Hom
|
|||
|
||||
The web UI in your browser is currently limited to adding, updating, and deleting pages; you can't manage assets like images this way.
|
||||
|
||||
![Wiki home page with edit buttons](../../../../images/v1.21/user/wiki/wiki_pageview.png)
|
||||
![Wiki home page with edit buttons](../_images/user/wiki/wiki_pageview.png)
|
||||
|
||||
Clicking on the "Insert Image" button will make the following text appear in your text editor: `![](https://)`
|
||||
|
||||
|
|