forgejo/modules
Jason Song d9f748a700
Support asciicast files as new markup (#22448)
Support [asciicast
files](https://github.com/asciinema/asciinema/blob/develop/doc/asciicast-v2.md)
as a new markup via
[asciinema-player](https://github.com/asciinema/asciinema-player). For
more on asciinema, see the [introduction](https://asciinema.org/).

So users can use asciinema recorder to generate an asciicast file (or
you can download a sample file from
https://asciinema.org/a/335480.cast?dl=1), then upload it to Gitea and
play it on Gitea.

Snapshots:
<details>

## Upload asciicast files

<img width="1134" alt="image"
src="https://user-images.githubusercontent.com/9418365/212461061-cc2c7181-0e14-4534-af55-1ec60a639fd1.png">

## Open an asciicast file

<img width="1137" alt="image"
src="https://user-images.githubusercontent.com/9418365/212461090-a3b5141f-4894-430d-a2b4-ea257801a0ed.png">

## Play it

<img width="1144" alt="image"
src="https://user-images.githubusercontent.com/9418365/212461157-4e82db69-0e41-471d-928f-ac1fe0737105.png">

## Copy contents from the "video"

<img width="1145" alt="image"
src="https://user-images.githubusercontent.com/9418365/212461286-211612bc-15d6-427a-89a9-6abff5c6a0a5.png">


## View the source

<img width="1140" alt="image"
src="https://user-images.githubusercontent.com/9418365/212461187-05473b2d-ba3d-4072-84a6-4aa1e7d82182.png">


</details>

Known issue:

Don't support the [v1 version asciicast
files](https://github.com/asciinema/asciinema/blob/develop/doc/asciicast-v1.md),
it's a poorly designed version, it does not specify the file extension
and uses `*.json` usually, so it's impossible to recognize the files.

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-01-18 08:46:58 +08:00
..
activitypub Remove deprecated packages & staticcheck fixes (#22012) 2022-12-02 17:06:23 -05:00
analyze Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
auth Replace deprecated Webauthn library (#22400) 2023-01-11 21:51:00 -05:00
avatar Unify hashing for avatar (#22289) 2023-01-02 22:46:39 +01:00
base Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
cache Fix get system setting bug when enabled redis cache (#22295) 2023-01-02 00:06:52 +08:00
charset Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) 2022-12-17 22:22:25 +02:00
container Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
context Supports wildcard protected branch (#20825) 2023-01-16 16:00:22 +08:00
csv Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
doctor Add cron method to gc LFS MetaObjects (#22385) 2023-01-16 13:50:53 -06:00
emoji Fix unstable emoji sort (#22346) 2023-01-05 13:58:51 +02:00
eventsource Move convert package to services (#22264) 2022-12-29 10:57:15 +08:00
generate Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
git Use git command instead of exec.Cmd in blame (#22098) 2023-01-03 16:17:13 +08:00
gitgraph Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
graceful Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hcaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
highlight Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hostmatcher Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
html Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
httpcache Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
httplib Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
indexer refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
issue/template Use path not filepath in template filenames (#21993) 2022-12-02 07:56:51 +08:00
json Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
lfs Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
log Change use of Walk to WalkDir to improve disk performance (#22462) 2023-01-16 16:21:44 +00:00
markup Support asciicast files as new markup (#22448) 2023-01-18 08:46:58 +08:00
mcaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
metrics Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migration Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
mirror Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
nosql Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
notification Always reuse transaction (#22362) 2023-01-08 09:34:58 +08:00
options Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages Use ErrInvalidArgument in packages (#22268) 2022-12-31 12:49:37 +01:00
paginator Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
password Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
pprof Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
private Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
process Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
proxy Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
public Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
queue Correctly handle select on multiple channels in Queues (#22146) 2022-12-30 02:06:47 +02:00
recaptcha Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
references Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
regexplru Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repository Change use of Walk to WalkDir to improve disk performance (#22462) 2023-01-16 16:21:44 +00:00
secret Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
session Update gitea-vet to check FSFE REUSE (#22004) 2022-12-02 22:14:57 +08:00
setting Add support for incoming emails (#22056) 2023-01-14 23:57:10 +08:00
sitemap Fix sitemap (#22272) 2022-12-30 23:31:00 +08:00
ssh Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
storage Change use of Walk to WalkDir to improve disk performance (#22462) 2023-01-16 16:21:44 +00:00
structs Supports wildcard protected branch (#20825) 2023-01-16 16:00:22 +08:00
svg Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sync Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
system Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
templates Display error log when a modified template has an error so that it could recovery when the error fixed (#22261) 2023-01-03 15:17:36 +08:00
test refactor some functions to support ctx as first parameter (#21878) 2022-12-03 10:48:26 +08:00
timeutil Check for zero time instant in TimeStamp.IsZero() (#22171) 2022-12-20 10:04:55 +08:00
translation Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
typesniffer Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
updatechecker Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
upload Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
uri Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
user Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
util Add support for incoming emails (#22056) 2023-01-14 23:57:10 +08:00
validation Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
watcher Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
web refactor bind functions based on generics (#22055) 2022-12-12 16:09:26 +08:00
webhook Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00