Skip to content

Commit

Permalink
Allow <video> in MarkDown (go-gitea#22892) (go-gitea#23236)
Browse files Browse the repository at this point in the history
Backport go-gitea#22892

As you can imagine, for the Blender development process it is rather
nice to be able to include videos in issues, pull requests, etc.

This PR allows the `<video>` HTML tag to be used in MarkDown, with the
`src`, `autoplay`, and `controls` attributes.

## Help Needed

To have this fully functional, personally I feel the following things
are still missing, and would appreciate some help from the Gitea team.

### Styling

Some CSS is needed, but I couldn't figure out which of the LESS files
would work. I tried `web_src/less/markup/content.less` and
`web_src/less/_base.less`, but after running `make` the changes weren't
seen in the frontend.

This I would consider a minimal set of CSS rules to be applied:

```css
video {
  max-width: 100%;
  max-height: 100vh;
}
```

### Default Attributes

It would be fantastic if Gitea could add some default attributes to the
`<video>` tag. Basically `controls` should always be there, as there is
no point in disallowing scrolling through videos, looping them, etc.

### Integration with the attachments system

Another thing that could be added, but probably should be done in a
separate PR, is the integration with the attachments system. Dragging in
a video should attach it, then generate the appropriate MarkDown/HTML.

Co-authored-by: Sybren <[email protected]>
  • Loading branch information
GiteaBot and drsybren authored Mar 2, 2023
1 parent 9843a0b commit f8a40da
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions modules/markup/sanitizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ func createDefaultPolicy() *bluemonday.Policy {

policy.AllowAttrs(generalSafeAttrs...).OnElements(generalSafeElements...)

policy.AllowAttrs("src", "autoplay", "controls").OnElements("video")

policy.AllowAttrs("itemscope", "itemtype").OnElements("div")

// FIXME: Need to handle longdesc in img but there is no easy way to do it
Expand Down

0 comments on commit f8a40da

Please sign in to comment.