You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
1 year ago
..
activitypub Remove deprecated packages & staticcheck fixes (#22012) 2 years ago
analyze Implement FSFE REUSE for golang files (#21840) 2 years ago
auth Replace deprecated Webauthn library (#22400) 1 year ago
avatar Unify hashing for avatar (#22289) 2 years ago
base Implement FSFE REUSE for golang files (#21840) 2 years ago
cache Fix get system setting bug when enabled redis cache (#22295) 2 years ago
charset Ensure that plain files are rendered correctly even when containing ambiguous characters (#22017) 2 years ago
container Implement FSFE REUSE for golang files (#21840) 2 years ago
context Supports wildcard protected branch (#20825) 1 year ago
csv Implement FSFE REUSE for golang files (#21840) 2 years ago
doctor Add cron method to gc LFS MetaObjects (#22385) 1 year ago
emoji Fix unstable emoji sort (#22346) 2 years ago
eventsource Move `convert` package to services (#22264) 2 years ago
generate Implement FSFE REUSE for golang files (#21840) 2 years ago
git Use git command instead of exec.Cmd in blame (#22098) 2 years ago
gitgraph Implement FSFE REUSE for golang files (#21840) 2 years ago
graceful Implement FSFE REUSE for golang files (#21840) 2 years ago
hcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
highlight Implement FSFE REUSE for golang files (#21840) 2 years ago
hostmatcher Implement FSFE REUSE for golang files (#21840) 2 years ago
html Implement FSFE REUSE for golang files (#21840) 2 years ago
httpcache Implement FSFE REUSE for golang files (#21840) 2 years ago
httplib Implement FSFE REUSE for golang files (#21840) 2 years ago
indexer refactor some functions to support ctx as first parameter (#21878) 2 years ago
issue/template Use path not filepath in template filenames (#21993) 2 years ago
json Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
lfs Implement FSFE REUSE for golang files (#21840) 2 years ago
log Change use of Walk to WalkDir to improve disk performance (#22462) 1 year ago
markup Support asciicast files as new markup (#22448) 1 year ago
mcaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
metrics Implement FSFE REUSE for golang files (#21840) 2 years ago
migration Implement FSFE REUSE for golang files (#21840) 2 years ago
mirror Implement FSFE REUSE for golang files (#21840) 2 years ago
nosql Implement FSFE REUSE for golang files (#21840) 2 years ago
notification Always reuse transaction (#22362) 1 year ago
options Implement FSFE REUSE for golang files (#21840) 2 years ago
packages Use ErrInvalidArgument in packages (#22268) 2 years ago
paginator Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
password Implement FSFE REUSE for golang files (#21840) 2 years ago
pprof Implement FSFE REUSE for golang files (#21840) 2 years ago
private Implement FSFE REUSE for golang files (#21840) 2 years ago
process Implement FSFE REUSE for golang files (#21840) 2 years ago
proxy Implement FSFE REUSE for golang files (#21840) 2 years ago
proxyprotocol Implement FSFE REUSE for golang files (#21840) 2 years ago
public Implement FSFE REUSE for golang files (#21840) 2 years ago
queue Correctly handle select on multiple channels in Queues (#22146) 2 years ago
recaptcha Implement FSFE REUSE for golang files (#21840) 2 years ago
references Implement FSFE REUSE for golang files (#21840) 2 years ago
regexplru Implement FSFE REUSE for golang files (#21840) 2 years ago
repository Change use of Walk to WalkDir to improve disk performance (#22462) 1 year ago
secret Implement FSFE REUSE for golang files (#21840) 2 years ago
session Update gitea-vet to check FSFE REUSE (#22004) 2 years ago
setting Add support for incoming emails (#22056) 1 year ago
sitemap Fix sitemap (#22272) 2 years ago
ssh Implement FSFE REUSE for golang files (#21840) 2 years ago
storage Change use of Walk to WalkDir to improve disk performance (#22462) 1 year ago
structs Supports wildcard protected branch (#20825) 1 year ago
svg Implement FSFE REUSE for golang files (#21840) 2 years ago
sync Implement FSFE REUSE for golang files (#21840) 2 years ago
system Implement FSFE REUSE for golang files (#21840) 2 years ago
templates Display error log when a modified template has an error so that it could recovery when the error fixed (#22261) 2 years ago
test refactor some functions to support ctx as first parameter (#21878) 2 years ago
timeutil Check for zero time instant in `TimeStamp.IsZero()` (#22171) 2 years ago
translation Implement FSFE REUSE for golang files (#21840) 2 years ago
typesniffer Implement FSFE REUSE for golang files (#21840) 2 years ago
updatechecker Implement FSFE REUSE for golang files (#21840) 2 years ago
upload Implement FSFE REUSE for golang files (#21840) 2 years ago
uri Implement FSFE REUSE for golang files (#21840) 2 years ago
user Implement FSFE REUSE for golang files (#21840) 2 years ago
util Add support for incoming emails (#22056) 1 year ago
validation Implement FSFE REUSE for golang files (#21840) 2 years ago
watcher Implement FSFE REUSE for golang files (#21840) 2 years ago
web refactor bind functions based on generics (#22055) 2 years ago
webhook Restructure `webhook` module (#22256) 2 years ago