Commit d19c0db

Eric Bower  ·  2023-08-05 14:09:44 -0400 EDT
parent 7575c0b
chore: formatting
9 files changed,  +1420, -42
M go.mod
M go.sum
+1, -0
......@@ -7,6 +7,7 @@ build:
77 .PHONY: build
88
99 static: build clean
10+ cp -R ./static ./public
1011 ./pgit
1112 .PHONY:
1213
M go.mod
+52, -4
......@@ -4,25 +4,73 @@ go 1.18
44
55 require (
66 github.com/gogs/git-module v1.6.0
7+ github.com/picosh/pico v1.1.6
78 github.com/spf13/viper v1.12.0
89 )
910
1011 require (
12+ github.com/alecthomas/chroma v0.10.0 // indirect
13+ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
14+ github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de // indirect
15+ github.com/aymerick/douceur v0.2.0 // indirect
16+ github.com/disintegration/imaging v1.6.2 // indirect
17+ github.com/dlclark/regexp2 v1.7.0 // indirect
18+ github.com/dsoprea/go-exif v0.0.0-20221012082141-d21ac8e2de85 // indirect
19+ github.com/dsoprea/go-exif/v2 v2.0.0-20221012082141-d21ac8e2de85 // indirect
20+ github.com/dsoprea/go-iptc v0.0.0-20200610044640-bc9ca208b413 // indirect
21+ github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd // indirect
22+ github.com/dsoprea/go-photoshop-info-format v0.0.0-20200610045659-121dd752914d // indirect
23+ github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d // indirect
24+ github.com/dsoprea/go-utility v0.0.0-20221003172846-a3e1774ef349 // indirect
25+ github.com/dustin/go-humanize v1.0.0 // indirect
1126 github.com/fsnotify/fsnotify v1.5.4 // indirect
27+ github.com/gliderlabs/ssh v0.3.5 // indirect
28+ github.com/go-errors/errors v1.4.2 // indirect
29+ github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
30+ github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 // indirect
31+ github.com/google/uuid v1.3.0 // indirect
32+ github.com/gorilla/css v1.0.0 // indirect
33+ github.com/gorilla/feeds v1.1.1 // indirect
1234 github.com/hashicorp/hcl v1.0.0 // indirect
35+ github.com/json-iterator/go v1.1.12 // indirect
36+ github.com/klauspost/compress v1.15.13 // indirect
37+ github.com/klauspost/cpuid/v2 v2.2.2 // indirect
38+ github.com/kolesa-team/go-webp v1.0.2 // indirect
39+ github.com/lib/pq v1.10.7 // indirect
1340 github.com/magiconair/properties v1.8.6 // indirect
1441 github.com/mcuadros/go-version v0.0.0-20190308113854-92cdf37c5b75 // indirect
42+ github.com/microcosm-cc/bluemonday v1.0.21 // indirect
43+ github.com/minio/md5-simd v1.1.2 // indirect
44+ github.com/minio/minio-go/v7 v7.0.45 // indirect
45+ github.com/minio/sha256-simd v1.0.0 // indirect
1546 github.com/mitchellh/mapstructure v1.5.0 // indirect
47+ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
48+ github.com/modern-go/reflect2 v1.0.2 // indirect
49+ github.com/neurosnap/go-exif-remove v0.0.0-20221010134343-50d1e3c35577 // indirect
50+ github.com/neurosnap/go-jpeg-image-structure v0.0.0-20221010133817-70b1c1ff679e // indirect
51+ github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
1652 github.com/pelletier/go-toml v1.9.5 // indirect
1753 github.com/pelletier/go-toml/v2 v2.0.1 // indirect
54+ github.com/rs/xid v1.4.0 // indirect
55+ github.com/sirupsen/logrus v1.9.0 // indirect
1856 github.com/spf13/afero v1.8.2 // indirect
1957 github.com/spf13/cast v1.5.0 // indirect
2058 github.com/spf13/jwalterweatherman v1.1.0 // indirect
2159 github.com/spf13/pflag v1.0.5 // indirect
2260 github.com/subosito/gotenv v1.3.0 // indirect
23- golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
24- golang.org/x/text v0.3.7 // indirect
25- gopkg.in/ini.v1 v1.66.4 // indirect
61+ github.com/yuin/goldmark v1.5.3 // indirect
62+ github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594 // indirect
63+ github.com/yuin/goldmark-meta v1.1.0 // indirect
64+ go.uber.org/atomic v1.10.0 // indirect
65+ go.uber.org/multierr v1.8.0 // indirect
66+ go.uber.org/zap v1.24.0 // indirect
67+ golang.org/x/crypto v0.4.0 // indirect
68+ golang.org/x/exp v0.0.0-20221211140036-ad323defaf05 // indirect
69+ golang.org/x/image v0.2.0 // indirect
70+ golang.org/x/net v0.4.0 // indirect
71+ golang.org/x/sys v0.3.0 // indirect
72+ golang.org/x/text v0.5.0 // indirect
73+ gopkg.in/ini.v1 v1.67.0 // indirect
2674 gopkg.in/yaml.v2 v2.4.0 // indirect
27- gopkg.in/yaml.v3 v3.0.0 // indirect
75+ gopkg.in/yaml.v3 v3.0.1 // indirect
2876 )
M go.sum
+164, -9
......@@ -38,6 +38,15 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
3838 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
3939 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
4040 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
41+github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek=
42+github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s=
43+github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
44+github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
45+github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de h1:FxWPpzIjnTlhPwqqXc4/vE0f7GvRjuAsbW+HOIe8KnA=
46+github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw=
47+github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
48+github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
49+github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
4150 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
4251 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
4352 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
......@@ -49,6 +58,37 @@ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnht
4958 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5059 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
5160 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
61+github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c=
62+github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4=
63+github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
64+github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo=
65+github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
66+github.com/dsoprea/go-exif v0.0.0-20221012082141-d21ac8e2de85 h1:+wKSjK8wh5Ybb63Fx1QvTSIfWU/n1nmqEzZy+82pqbQ=
67+github.com/dsoprea/go-exif v0.0.0-20221012082141-d21ac8e2de85/go.mod h1:lOaOt7+UEppOgyvRy749v3do836U/hw0YVJNjoyPaEs=
68+github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4/go.mod h1:Lm2lMM2zx8p4a34ZemkaUV95AnMl4ZvLbCUbwOvLC2E=
69+github.com/dsoprea/go-exif/v2 v2.0.0-20200604193436-ca8584a0e1c4/go.mod h1:9EXlPeHfblFFnwu5UOqmP2eoZfJyAZ2Ri/Vki33ajO0=
70+github.com/dsoprea/go-exif/v2 v2.0.0-20221012082141-d21ac8e2de85 h1:sgMOHQHMiddteUitH9QYgaRTwAcqqr5X9z5j4yNXDuY=
71+github.com/dsoprea/go-exif/v2 v2.0.0-20221012082141-d21ac8e2de85/go.mod h1:oKrjk2kb3rAR5NbtSTLUMvMSbc+k8ZosI3MaVH47noc=
72+github.com/dsoprea/go-exif/v3 v3.0.0-20200717053412-08f1b6708903/go.mod h1:0nsO1ce0mh5czxGeLo4+OCZ/C6Eo6ZlMWsz7rH/Gxv8=
73+github.com/dsoprea/go-exif/v3 v3.0.0-20210512043655-120bcdb2a55e/go.mod h1:cg5SNYKHMmzxsr9X6ZeLh/nfBRHHp5PngtEPcujONtk=
74+github.com/dsoprea/go-iptc v0.0.0-20200609062250-162ae6b44feb/go.mod h1:kYIdx9N9NaOyD7U6D+YtExN7QhRm+5kq7//yOsRXQtM=
75+github.com/dsoprea/go-iptc v0.0.0-20200610044640-bc9ca208b413 h1:YDRiMEm32T60Kpm35YzOK9ZHgjsS1Qrid+XskNcsdp8=
76+github.com/dsoprea/go-iptc v0.0.0-20200610044640-bc9ca208b413/go.mod h1:kYIdx9N9NaOyD7U6D+YtExN7QhRm+5kq7//yOsRXQtM=
77+github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696/go.mod h1:Nm/x2ZUNRW6Fe5C3LxdY1PyZY5wmDv/s5dkPJ/VB3iA=
78+github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8=
79+github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd h1:l+vLbuxptsC6VQyQsfD7NnEC8BZuFpz45PgY+pH8YTg=
80+github.com/dsoprea/go-logging v0.0.0-20200710184922-b02d349568dd/go.mod h1:7I+3Pe2o/YSU88W0hWlm9S22W7XI1JFNJ86U0zPKMf8=
81+github.com/dsoprea/go-photoshop-info-format v0.0.0-20200609050348-3db9b63b202c/go.mod h1:pqKB+ijp27cEcrHxhXVgUUMlSDRuGJJp1E+20Lj5H0E=
82+github.com/dsoprea/go-photoshop-info-format v0.0.0-20200610045659-121dd752914d h1:dg6UMHa50VI01WuPWXPbNJpO8QSyvIF5T5n2IZiqX3A=
83+github.com/dsoprea/go-photoshop-info-format v0.0.0-20200610045659-121dd752914d/go.mod h1:pqKB+ijp27cEcrHxhXVgUUMlSDRuGJJp1E+20Lj5H0E=
84+github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d h1:8+qI8ant/vZkNSsbwSjIR6XJfWcDVTg/qx/3pRUUZNA=
85+github.com/dsoprea/go-png-image-structure v0.0.0-20210512210324-29b889a6093d/go.mod h1:yTR3tKgyk20phAFg6IE9ulMA5NjEDD2wyx+okRFLVtw=
86+github.com/dsoprea/go-utility v0.0.0-20200711062821-fab8125e9bdf/go.mod h1:95+K3z2L0mqsVYd6yveIv1lmtT3tcQQ3dVakPySffW8=
87+github.com/dsoprea/go-utility v0.0.0-20221003172846-a3e1774ef349 h1:/py11NlxDaOxkT9OKN+gXgT+QOH5xj1ZRoyusfRIlo4=
88+github.com/dsoprea/go-utility v0.0.0-20221003172846-a3e1774ef349/go.mod h1:KVK+/Hul09ujXAGq+42UBgCTnXkiJZRnLYdURGjQUwo=
89+github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e/go.mod h1:uAzdkPTub5Y9yQwXe8W4m2XuP0tK4a9Q/dantD0+uaU=
90+github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
91+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
5292 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
5393 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
5494 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
......@@ -58,11 +98,25 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
5898 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
5999 github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
60100 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
101+github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
102+github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
103+github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
104+github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
105+github.com/go-errors/errors v1.1.1/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
106+github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
107+github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
61108 github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
62109 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
63110 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
111+github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
112+github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U=
113+github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
64114 github.com/gogs/git-module v1.6.0 h1:71GdRM9/pFxGgSUz8t2DKmm3RYuHUnTjsOuFInJXnkM=
65115 github.com/gogs/git-module v1.6.0/go.mod h1:8jFYhDxLUwEOhM2709l2CJXmoIIslobU1xszpT0NcAI=
116+github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
117+github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
118+github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 h1:gtexQ/VGyN+VVFRXSFiguSNcXmS6rkKT+X7FdIrTtfo=
119+github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
66120 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
67121 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
68122 github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
......@@ -100,6 +154,7 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
100154 github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
101155 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
102156 github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
157+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
103158 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
104159 github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
105160 github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
......@@ -115,41 +170,90 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
115170 github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
116171 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
117172 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
173+github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
174+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
118175 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
119176 github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
120177 github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
178+github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY=
179+github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c=
180+github.com/gorilla/feeds v1.1.1 h1:HwKXxqzcRNg9to+BbvJog4+f3s/xzvtZXICcQGutYfY=
181+github.com/gorilla/feeds v1.1.1/go.mod h1:Nk0jZrvPFZX1OBe5NPiddPw7CfwF6Q9eqzaBbaightA=
121182 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
122183 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
123184 github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
124185 github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
125186 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
126187 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
188+github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
189+github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
190+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
127191 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
128192 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
129193 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
194+github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0=
195+github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
196+github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
197+github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
198+github.com/klauspost/cpuid/v2 v2.2.2 h1:xPMwiykqNK9VK0NYC3+jTMYv9I6Vl3YdjZgPZKG3zO0=
199+github.com/klauspost/cpuid/v2 v2.2.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
200+github.com/kolesa-team/go-webp v1.0.2 h1:XCrWqxI7tNOI3dr0YufD9TUb+54vBDogg9KsHH7q5Lc=
201+github.com/kolesa-team/go-webp v1.0.2/go.mod h1:oMvdivD6K+Q5qIIkVC2w4k2ZUnI1H+MyP7inwgWq9aA=
130202 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
131203 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
132204 github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
133205 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
134206 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
135207 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
208+github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
209+github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
136210 github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
137211 github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
212+github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
213+github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
138214 github.com/mcuadros/go-version v0.0.0-20190308113854-92cdf37c5b75 h1:Pijfgr7ZuvX7QIQiEwLdRVr3RoMG+i0SbBO1Qu+7yVk=
139215 github.com/mcuadros/go-version v0.0.0-20190308113854-92cdf37c5b75/go.mod h1:76rfSfYPWj01Z85hUf/ituArm797mNKcvINh1OlsZKo=
216+github.com/microcosm-cc/bluemonday v1.0.21 h1:dNH3e4PSyE4vNX+KlRGHT5KrSvjeUkoNPwEORjffHJg=
217+github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM=
218+github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
219+github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
220+github.com/minio/minio-go/v7 v7.0.45 h1:g4IeM9M9pW/Lo8AGGNOjBZYlvmtlE1N5TQEYWXRWzIs=
221+github.com/minio/minio-go/v7 v7.0.45/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw=
222+github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
223+github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
140224 github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
141225 github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
226+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
227+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
228+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
229+github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
230+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
231+github.com/neurosnap/go-exif-remove v0.0.0-20221010134343-50d1e3c35577 h1:hVmVNttSLNloGsbFKVXAUHonXTd8KKrv30U/8UkloKI=
232+github.com/neurosnap/go-exif-remove v0.0.0-20221010134343-50d1e3c35577/go.mod h1:G3Cu1AW+dmRLDFpOi8eUAfc3cGoRHUjTkGjeRcndgl4=
233+github.com/neurosnap/go-jpeg-image-structure v0.0.0-20221010133817-70b1c1ff679e h1:76Dng5ms0fR+26doKZAvNqhi2UPfnLxGfPIDEr+BBlM=
234+github.com/neurosnap/go-jpeg-image-structure v0.0.0-20221010133817-70b1c1ff679e/go.mod h1:nZBDA7+RD63GDJwjZmxhxac65MJqiCIHUUUvdYOsFkk=
235+github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
236+github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
142237 github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
143238 github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
144239 github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
145240 github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
241+github.com/picosh/pico v1.1.6 h1:Kw0gP/WVOwD9DkvEfTFt84pXJSv4yKI4n9ncIJHpOnQ=
242+github.com/picosh/pico v1.1.6/go.mod h1:dbiKZsgsm/4KWzN6g4hCkqPj4itd9KzplPYZqs1JWLg=
243+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
146244 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
147245 github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
148246 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
149247 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
150248 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
249+github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
151250 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
152251 github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
252+github.com/rs/xid v1.4.0 h1:qd7wPTDkN6KQx2VmMBLrpHkiyQwgFXRnkOLacUiaSNY=
253+github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
254+github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg=
255+github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
256+github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
153257 github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
154258 github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
155259 github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
......@@ -162,30 +266,51 @@ github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
162266 github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI=
163267 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
164268 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
269+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
165270 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
166271 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
167272 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
168-github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
169273 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
274+github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
170275 github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
171276 github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
172277 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
173278 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
174279 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
175280 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
281+github.com/yuin/goldmark v1.4.5/go.mod h1:rmuwmfZ0+bvzB24eSC//bk1R1Zp3hM0OXYv/G2LIilg=
282+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
283+github.com/yuin/goldmark v1.5.3 h1:3HUJmBFbQW9fhQOzMgseU134xfi6hU+mjWywx5Ty+/M=
284+github.com/yuin/goldmark v1.5.3/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
285+github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594 h1:yHfZyN55+5dp1wG7wDKv8HQ044moxkyGq12KFFMFDxg=
286+github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594/go.mod h1:U9ihbh+1ZN7fR5Se3daSPoz1CGF9IYtSvWwVQtnzGHU=
287+github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
288+github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
176289 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
177290 go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
178291 go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
179292 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
180293 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
181294 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
295+go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
296+go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
297+go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
298+go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
299+go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
300+go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
301+go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
302+go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
182303 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
183304 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
184305 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
185306 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
186307 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
187308 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
309+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
188310 golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
311+golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
312+golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
313+golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
189314 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
190315 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
191316 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
......@@ -196,8 +321,14 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
196321 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
197322 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
198323 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
324+golang.org/x/exp v0.0.0-20221211140036-ad323defaf05 h1:T8EldfGCcveFMewH5xAYxxoX3PSQMrsechlUGVFlQBU=
325+golang.org/x/exp v0.0.0-20221211140036-ad323defaf05/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
199326 golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
200327 golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
328+golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
329+golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
330+golang.org/x/image v0.2.0 h1:/DcQ0w3VHKCC5p0/P2B0JpAZ9Z++V2KOo2fyU89CXBQ=
331+golang.org/x/image v0.2.0/go.mod h1:la7oBXb9w3YFjBqaAwtynVioc1ZvOnNteUNrifGNmAI=
201332 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
202333 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
203334 golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
......@@ -219,6 +350,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
219350 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
220351 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
221352 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
353+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
222354 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
223355 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
224356 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
......@@ -237,6 +369,7 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLL
237369 golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
238370 golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
239371 golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
372+golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
240373 golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
241374 golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
242375 golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
......@@ -250,6 +383,11 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY
250383 golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
251384 golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
252385 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
386+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
387+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
388+golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
389+golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
390+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
253391 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
254392 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
255393 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
......@@ -268,8 +406,9 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
268406 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
269407 golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
270408 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
271-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs=
272409 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
410+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
411+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
273412 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
274413 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
275414 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
......@@ -302,20 +441,32 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w
302441 golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
303442 golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
304443 golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
444+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
305445 golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
306446 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
307447 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
308-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
309448 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
449+golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
450+golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
451+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
452+golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
453+golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
454+golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
455+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
310456 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
457+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
458+golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
459+golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI=
311460 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
312461 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
313462 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
314463 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
315464 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
316465 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
317-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
466+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
318467 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
468+golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
469+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
319470 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
320471 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
321472 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
......@@ -366,6 +517,7 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f
366517 golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
367518 golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
368519 golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
520+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
369521 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
370522 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
371523 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
......@@ -459,17 +611,20 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
459611 google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
460612 google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
461613 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
462-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
463614 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
615+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
464616 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
465-gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
466-gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
617+gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
618+gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
467619 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
620+gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
621+gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
468622 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
469623 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
470624 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
471-gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
472-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
625+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
626+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
627+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
473628 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
474629 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
475630 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+1, -0
......@@ -11,6 +11,7 @@
1111 <meta name="keywords" content="git code forge repo repository" />
1212
1313 <link rel="stylesheet" href="/main.css" />
14+ <link rel="stylesheet" href="/syntax.css" />
1415 </head>
1516 <body>
1617 {{template "content" .}}
+25, -24
......@@ -9,7 +9,7 @@
99 <dd><a href="{{.Data.CommitURL}}">{{.Data.Commit.ID}}</a></dd>
1010
1111 <dt>parent</dt>
12- <dd><a href="{{.Data.ParentURL}}">parent {{.Data.Parent}}</a></dd>
12+ <dd><a href="{{.Data.ParentURL}}">{{.Data.Parent}}</a></dd>
1313
1414 <dt>author</dt>
1515 <dd>{{.Data.Commit.Author.Name}}</dd>
......@@ -18,33 +18,34 @@
1818 <dd>{{.Data.Commit.Author.When}}</dd>
1919 </dl>
2020
21- <p>
22- {{.Data.Commit.Message}}
23- </p>
21+ <pre>{{.Data.Commit.Message}}</pre>
2422
25- <p>
26- <strong>{{.Data.Diff.NumFiles}}</strong> files changed,
23+ <div class="box mono">
24+ <div>
25+ <strong>{{.Data.Diff.NumFiles}}</strong> files changed,&nbps;
2726 <span class="color-green">+{{.Data.Diff.TotalAdditions}}</span>,
2827 <span class="color-red">-{{.Data.Diff.TotalDeletions}}</span>
29- </p>
30-
31- {{range .Data.Diff.Files}}
32-
33- <p>
34- {{.OldMode}} {{.OldName}} => {{.Mode}} {{.Name}}
35- </p>
36-
37- <div>
38- <span class="color-green">+{{.NumAdditions}}</span>,
39- <span class="color-red">-{{.NumDeletions}}</span>
28+ </div>
29+
30+ <div>
31+ {{range .Data.Diff.Files}}
32+ <div>
33+ <span>{{.FileType}}</span>
34+ <span>{{.Name}}</span>
35+ </div>
36+ {{end}}
37+ </div>
4038 </div>
4139
42- <pre>
43- {{range .Sections}}
44- {{range .Lines}}
45- {{.Content}}
46- {{end}}
47- {{end}}
48- </pre>
40+ {{range .Data.Diff.Files}}
41+ <div class="flex justify-between mono">
42+ <span>{{.FileType}} {{.OldName}} => {{.Name}}</span>
43+ <div>
44+ <span class="color-green">+{{.NumAdditions}}</span>,
45+ <span class="color-red">-{{.NumDeletions}}</span>
46+ </div>
47+ </div>
48+
49+ {{.Content}}
4950 {{end}}
5051 {{end}}
+1, -1
......@@ -6,5 +6,5 @@
66
77 <h1>{{.Name}}</h1>
88
9- <pre>{{.Data.Contents}}</pre>
9+ {{.Data.Contents}}
1010 {{end }}
+74, -4
......@@ -2,12 +2,14 @@ package main
22
33 import (
44 "fmt"
5+ "html/template"
56 html "html/template"
67 "os"
78 "path/filepath"
89 "strings"
910
1011 git "github.com/gogs/git-module"
12+ "github.com/picosh/pico/pastes"
1113 "github.com/spf13/viper"
1214 )
1315
......@@ -55,8 +57,9 @@ type PageData struct {
5557 }
5658
5759 type CommitPageData struct {
60+ CommitMsg template.HTML
5861 Commit *CommitData
59- Diff *git.Diff
62+ Diff *DiffRender
6063 Repo *RepoData
6164 Parent string
6265 ParentURL string
......@@ -72,6 +75,38 @@ type WriteData struct {
7275 Repo *RepoData
7376 }
7477
78+type DiffRender struct {
79+ NumFiles int
80+ TotalAdditions int
81+ TotalDeletions int
82+ Files []*DiffRenderFile
83+}
84+
85+type DiffRenderFile struct {
86+ FileType string
87+ OldMode git.EntryMode
88+ OldName string
89+ Mode git.EntryMode
90+ Name string
91+ Content template.HTML
92+ NumAdditions int
93+ NumDeletions int
94+}
95+
96+func diffFileType(_type git.DiffFileType) string {
97+ if _type == git.DiffFileAdd {
98+ return "A"
99+ } else if _type == git.DiffFileChange {
100+ return "M"
101+ } else if _type == git.DiffFileDelete {
102+ return "D"
103+ } else if _type == git.DiffFileRename {
104+ return "R"
105+ }
106+
107+ return ""
108+}
109+
75110 func bail(err error) {
76111 if err != nil {
77112 panic(err)
......@@ -225,7 +260,7 @@ func writeRefs(data *PageData) {
225260 }
226261
227262 type FileData struct {
228- Contents string
263+ Contents template.HTML
229264 }
230265
231266 func writeHTMLTreeFiles(data *PageData) {
......@@ -235,10 +270,14 @@ func writeHTMLTreeFiles(data *PageData) {
235270 file.NumLines = len(strings.Split(string(b), "\n"))
236271
237272 d := filepath.Dir(file.Path)
273+ contents, err := pastes.ParseText(file.Entry.Name(), string(b))
274+ if err != nil {
275+ panic(err)
276+ }
238277 writeHtml(&WriteData{
239278 Name: fmt.Sprintf("%s.html", file.Entry.Name()),
240279 Template: "./html/file.page.tmpl",
241- Data: &FileData{Contents: string(b)},
280+ Data: &FileData{Contents: template.HTML(contents)},
242281 RepoName: data.Repo.Name,
243282 Subdir: filepath.Join("tree", data.RevName, "item", d),
244283 Repo: data.Repo,
......@@ -278,9 +317,40 @@ func writeLogDiffs(project string, repo *git.Repository, data *PageData, cache m
278317 git.DiffOptions{Base: commitID},
279318 )
280319
320+ rnd := &DiffRender{
321+ NumFiles: diff.NumFiles(),
322+ TotalAdditions: diff.TotalAdditions(),
323+ TotalDeletions: diff.TotalDeletions(),
324+ }
325+ fls := []*DiffRenderFile{}
326+ for _, file := range diff.Files {
327+ fl := &DiffRenderFile{
328+ FileType: diffFileType(file.Type),
329+ OldMode: file.OldMode(),
330+ OldName: file.OldName(),
331+ Mode: file.Mode(),
332+ Name: file.Name,
333+ NumAdditions: file.NumAdditions(),
334+ NumDeletions: file.NumDeletions(),
335+ }
336+ content := ""
337+ for _, section := range file.Sections {
338+ for _, line := range section.Lines {
339+ content += fmt.Sprintf("%s\n", line.Content)
340+ }
341+ }
342+ finContent, err := pastes.ParseText("commit.diff", content)
343+ if err != nil {
344+ panic(err)
345+ }
346+ fl.Content = template.HTML(finContent)
347+ fls = append(fls, fl)
348+ }
349+ rnd.Files = fls
350+
281351 commitData := &CommitPageData{
282352 Commit: commit,
283- Diff: diff,
353+ Diff: rnd,
284354 Repo: data.Repo,
285355 Parent: parentID,
286356 CommitURL: CommitURL(project, commitID),
+402, -0
......@@ -0,0 +1,402 @@
1+*,
2+::before,
3+::after {
4+ box-sizing: border-box;
5+}
6+
7+::-moz-focus-inner {
8+ border-style: none;
9+ padding: 0;
10+}
11+:-moz-focusring {
12+ outline: 1px dotted ButtonText;
13+}
14+:-moz-ui-invalid {
15+ box-shadow: none;
16+}
17+
18+@media (prefers-color-scheme: light) {
19+ :root {
20+ --white: #6a737d;
21+ --code: #fff8d3;
22+ --code-border: #f0d547;
23+ --pre: #f6f8fa;
24+ --bg-color: #fff;
25+ --text-color: #24292f;
26+ --link-color: #005cc5;
27+ --visited: #6f42c1;
28+ --blockquote: #005cc5;
29+ --blockquote-bg: #fff;
30+ --hover: #d73a49;
31+ --grey: #ccc;
32+ --success: #50fa7b;
33+ --error: #ff5555;
34+ }
35+}
36+
37+@media (prefers-color-scheme: dark) {
38+ :root {
39+ --white: #f2f2f2;
40+ --code: #414558;
41+ --code-border: #252525;
42+ --pre: #252525;
43+ --bg-color: #282a36;
44+ --text-color: #f2f2f2;
45+ --link-color: #8be9fd;
46+ --visited: #bd93f9;
47+ --blockquote: #bd93f9;
48+ --blockquote-bg: #414558;
49+ --hover: #ff80bf;
50+ --grey: #414558;
51+ --success: #50fa7b;
52+ --error: #ff5555;
53+ }
54+}
55+
56+html {
57+ background-color: var(--bg-color);
58+ color: var(--text-color);
59+ line-height: 1.5;
60+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
61+ Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial,
62+ sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
63+ -webkit-text-size-adjust: 100%;
64+ -moz-tab-size: 4;
65+ tab-size: 4;
66+}
67+
68+body {
69+ margin: 0 auto;
70+ max-width: 720px;
71+}
72+
73+img {
74+ max-width: 100%;
75+ height: auto;
76+}
77+
78+b,
79+strong {
80+ font-weight: bold;
81+}
82+
83+code,
84+kbd,
85+samp,
86+pre {
87+ font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo,
88+ monospace;
89+ font-size: 0.8rem;
90+}
91+
92+code,
93+kbd,
94+samp {
95+ background-color: var(--code);
96+ border: 1px solid var(--code-border);
97+}
98+
99+pre > code {
100+ background-color: inherit;
101+ padding: 0;
102+ border: none;
103+}
104+
105+code {
106+ border-radius: 0.3rem;
107+ padding: 0.15rem 0.2rem 0.05rem;
108+}
109+
110+pre {
111+ border-radius: 5px;
112+ padding: 1rem;
113+ margin: 1rem 0;
114+ overflow-x: auto;
115+ background-color: var(--pre) !important;
116+}
117+
118+.mono {
119+ font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo,
120+ monospace;
121+}
122+
123+.box {
124+ font-size: 0.8rem;
125+ border-radius: 5px;
126+ padding: 1rem;
127+ margin: 1rem 0;
128+ overflow-x: auto;
129+ background-color: var(--pre) !important;
130+}
131+
132+small {
133+ font-size: 0.8rem;
134+}
135+
136+summary {
137+ display: list-item;
138+}
139+
140+h1,
141+h2,
142+h3 {
143+ margin: 0;
144+ padding: 0.6rem 0 0 0;
145+ border: 0;
146+ font-style: normal;
147+ font-weight: inherit;
148+ font-size: inherit;
149+}
150+
151+hr {
152+ color: inherit;
153+ border: 0;
154+ margin: 0;
155+ height: 1px;
156+ background: var(--grey);
157+ margin: 2rem auto;
158+ text-align: center;
159+}
160+
161+a {
162+ text-decoration: underline;
163+ color: var(--link-color);
164+}
165+
166+a:hover,
167+a:visited:hover {
168+ color: var(--hover);
169+}
170+
171+a:visited {
172+ color: var(--visited);
173+}
174+
175+a.link-grey {
176+ text-decoration: underline;
177+ color: var(--white);
178+}
179+
180+a.link-grey:visited {
181+ color: var(--white);
182+}
183+
184+section {
185+ margin-bottom: 1.4rem;
186+}
187+
188+section:last-child {
189+ margin-bottom: 0;
190+}
191+
192+header {
193+ margin: 1rem auto;
194+}
195+
196+p {
197+ margin: 0.8rem 0;
198+}
199+
200+article {
201+ overflow-wrap: break-word;
202+}
203+
204+blockquote {
205+ border-left: 5px solid var(--blockquote);
206+ background-color: var(--blockquote-bg);
207+ padding: 0.8rem;
208+ margin: 1rem 0;
209+}
210+
211+blockquote > p {
212+ margin: 0;
213+}
214+
215+ul,
216+ol {
217+ padding: 0 0 0 2rem;
218+ list-style-position: outside;
219+}
220+
221+ul[style*="list-style-type: none;"] {
222+ padding: 0;
223+}
224+
225+li {
226+ margin: 0.5rem 0;
227+}
228+
229+li > pre {
230+ padding: 0;
231+}
232+
233+footer {
234+ text-align: center;
235+ margin-bottom: 4rem;
236+}
237+
238+dt {
239+ font-weight: bold;
240+}
241+
242+dd {
243+ margin-left: 0;
244+}
245+
246+dd:not(:last-child) {
247+ margin-bottom: 0.5rem;
248+}
249+
250+figure {
251+ margin: 0;
252+}
253+
254+.color-green {
255+ color: var(--success);
256+}
257+
258+.color-red {
259+ color: var(--error);
260+}
261+
262+.post-date {
263+ width: 130px;
264+}
265+
266+.text-grey {
267+ color: var(--grey);
268+}
269+
270+.text-2xl {
271+ font-size: 1.85rem;
272+ line-height: 1.15;
273+}
274+
275+.text-xl {
276+ font-size: 1.55rem;
277+ line-height: 1.15;
278+}
279+
280+.text-lg {
281+ font-size: 1.35rem;
282+ line-height: 1.15;
283+}
284+
285+.text-md {
286+ font-size: 1.15rem;
287+ line-height: 1.15;
288+}
289+
290+.text-sm {
291+ font-size: 0.875rem;
292+}
293+
294+.text-center {
295+ text-align: center;
296+}
297+
298+.font-bold {
299+ font-weight: bold;
300+}
301+
302+.font-italic {
303+ font-style: italic;
304+}
305+
306+.inline {
307+ display: inline;
308+}
309+
310+.flex {
311+ display: flex;
312+}
313+
314+.items-center {
315+ align-items: center;
316+}
317+
318+.m-0 {
319+ margin: 0;
320+}
321+
322+.mt {
323+ margin-top: 0.5rem;
324+}
325+
326+.mb {
327+ margin-bottom: 0.5rem;
328+}
329+
330+.mr {
331+ margin-right: 0.5rem;
332+}
333+
334+.ml {
335+ margin-left: 0.5rem;
336+}
337+
338+.my {
339+ margin-top: 0.5rem;
340+ margin-bottom: 0.5rem;
341+}
342+
343+.my-2 {
344+ margin-top: 1rem;
345+ margin-bottom: 1rem;
346+}
347+
348+.mx {
349+ margin-left: 0.5rem;
350+ margin-right: 0.5rem;
351+}
352+
353+.mx-2 {
354+ margin-left: 1rem;
355+ margin-right: 1rem;
356+}
357+
358+.justify-between {
359+ justify-content: space-between;
360+}
361+
362+.flex-1 {
363+ flex: 1;
364+}
365+
366+.layout-aside {
367+ max-width: 50rem;
368+}
369+
370+.layout-aside aside {
371+ width: 200px;
372+}
373+
374+.layout-aside img {
375+ border-radius: 5px;
376+}
377+
378+#readme {
379+ display: none;
380+}
381+
382+@media only screen and (max-width: 600px) {
383+ body {
384+ padding: 1rem;
385+ }
386+
387+ header {
388+ margin: 0;
389+ }
390+
391+ .layout-aside main {
392+ flex-direction: column;
393+ }
394+
395+ aside {
396+ display: none;
397+ }
398+
399+ #readme {
400+ display: block;
401+ }
402+}
+700, -0
......@@ -0,0 +1,700 @@
1+@media (prefers-color-scheme: light) {
2+ /* Background */
3+ .bg {
4+ background-color: #ffffff;
5+ }
6+ /* PreWrapper */
7+ .chroma {
8+ background-color: #ffffff;
9+ }
10+ /* Other */
11+ .chroma .x {
12+ }
13+ /* Error */
14+ .chroma .err {
15+ background-color: #a848a8;
16+ }
17+ /* CodeLine */
18+ .chroma .cl {
19+ }
20+ /* LineTableTD */
21+ .chroma .lntd {
22+ vertical-align: top;
23+ padding: 0;
24+ margin: 0;
25+ border: 0;
26+ }
27+ /* LineTable */
28+ .chroma .lntable {
29+ border-spacing: 0;
30+ padding: 0;
31+ margin: 0;
32+ border: 0;
33+ }
34+ /* LineHighlight */
35+ .chroma .hl {
36+ background-color: #ffffcc;
37+ }
38+ /* LineNumbersTable */
39+ .chroma .lnt {
40+ white-space: pre;
41+ user-select: none;
42+ margin-right: 0.4em;
43+ padding: 0 0.4em 0 0.4em;
44+ color: #7f7f7f;
45+ }
46+ /* LineNumbers */
47+ .chroma .ln {
48+ white-space: pre;
49+ user-select: none;
50+ margin-right: 0.4em;
51+ padding: 0 0.4em 0 0.4em;
52+ color: #7f7f7f;
53+ }
54+ /* Line */
55+ .chroma .line {
56+ display: flex;
57+ }
58+ /* Keyword */
59+ .chroma .k {
60+ color: #2838b0;
61+ }
62+ /* KeywordConstant */
63+ .chroma .kc {
64+ color: #444444;
65+ font-style: italic;
66+ }
67+ /* KeywordDeclaration */
68+ .chroma .kd {
69+ color: #2838b0;
70+ font-style: italic;
71+ }
72+ /* KeywordNamespace */
73+ .chroma .kn {
74+ color: #2838b0;
75+ }
76+ /* KeywordPseudo */
77+ .chroma .kp {
78+ color: #2838b0;
79+ }
80+ /* KeywordReserved */
81+ .chroma .kr {
82+ color: #2838b0;
83+ }
84+ /* KeywordType */
85+ .chroma .kt {
86+ color: #2838b0;
87+ font-style: italic;
88+ }
89+ /* Name */
90+ .chroma .n {
91+ }
92+ /* NameAttribute */
93+ .chroma .na {
94+ color: #388038;
95+ }
96+ /* NameBuiltin */
97+ .chroma .nb {
98+ color: #388038;
99+ }
100+ /* NameBuiltinPseudo */
101+ .chroma .bp {
102+ font-style: italic;
103+ }
104+ /* NameClass */
105+ .chroma .nc {
106+ color: #287088;
107+ }
108+ /* NameConstant */
109+ .chroma .no {
110+ color: #b85820;
111+ }
112+ /* NameDecorator */
113+ .chroma .nd {
114+ color: #287088;
115+ }
116+ /* NameEntity */
117+ .chroma .ni {
118+ color: #709030;
119+ }
120+ /* NameException */
121+ .chroma .ne {
122+ color: #908828;
123+ }
124+ /* NameFunction */
125+ .chroma .nf {
126+ color: #785840;
127+ }
128+ /* NameFunctionMagic */
129+ .chroma .fm {
130+ color: #b85820;
131+ }
132+ /* NameLabel */
133+ .chroma .nl {
134+ color: #289870;
135+ }
136+ /* NameNamespace */
137+ .chroma .nn {
138+ color: #289870;
139+ }
140+ /* NameOther */
141+ .chroma .nx {
142+ }
143+ /* NameProperty */
144+ .chroma .py {
145+ }
146+ /* NameTag */
147+ .chroma .nt {
148+ color: #2838b0;
149+ }
150+ /* NameVariable */
151+ .chroma .nv {
152+ color: #b04040;
153+ }
154+ /* NameVariableClass */
155+ .chroma .vc {
156+ }
157+ /* NameVariableGlobal */
158+ .chroma .vg {
159+ color: #908828;
160+ }
161+ /* NameVariableInstance */
162+ .chroma .vi {
163+ }
164+ /* NameVariableMagic */
165+ .chroma .vm {
166+ color: #b85820;
167+ }
168+ /* Literal */
169+ .chroma .l {
170+ }
171+ /* LiteralDate */
172+ .chroma .ld {
173+ }
174+ /* LiteralString */
175+ .chroma .s {
176+ color: #b83838;
177+ }
178+ /* LiteralStringAffix */
179+ .chroma .sa {
180+ color: #444444;
181+ }
182+ /* LiteralStringBacktick */
183+ .chroma .sb {
184+ color: #b83838;
185+ }
186+ /* LiteralStringChar */
187+ .chroma .sc {
188+ color: #a848a8;
189+ }
190+ /* LiteralStringDelimiter */
191+ .chroma .dl {
192+ color: #b85820;
193+ }
194+ /* LiteralStringDoc */
195+ .chroma .sd {
196+ color: #b85820;
197+ font-style: italic;
198+ }
199+ /* LiteralStringDouble */
200+ .chroma .s2 {
201+ color: #b83838;
202+ }
203+ /* LiteralStringEscape */
204+ .chroma .se {
205+ color: #709030;
206+ }
207+ /* LiteralStringHeredoc */
208+ .chroma .sh {
209+ color: #b83838;
210+ }
211+ /* LiteralStringInterpol */
212+ .chroma .si {
213+ color: #b83838;
214+ text-decoration: underline;
215+ }
216+ /* LiteralStringOther */
217+ .chroma .sx {
218+ color: #a848a8;
219+ }
220+ /* LiteralStringRegex */
221+ .chroma .sr {
222+ color: #a848a8;
223+ }
224+ /* LiteralStringSingle */
225+ .chroma .s1 {
226+ color: #b83838;
227+ }
228+ /* LiteralStringSymbol */
229+ .chroma .ss {
230+ color: #b83838;
231+ }
232+ /* LiteralNumber */
233+ .chroma .m {
234+ color: #444444;
235+ }
236+ /* LiteralNumberBin */
237+ .chroma .mb {
238+ color: #444444;
239+ }
240+ /* LiteralNumberFloat */
241+ .chroma .mf {
242+ color: #444444;
243+ }
244+ /* LiteralNumberHex */
245+ .chroma .mh {
246+ color: #444444;
247+ }
248+ /* LiteralNumberInteger */
249+ .chroma .mi {
250+ color: #444444;
251+ }
252+ /* LiteralNumberIntegerLong */
253+ .chroma .il {
254+ color: #444444;
255+ }
256+ /* LiteralNumberOct */
257+ .chroma .mo {
258+ color: #444444;
259+ }
260+ /* Operator */
261+ .chroma .o {
262+ color: #666666;
263+ }
264+ /* OperatorWord */
265+ .chroma .ow {
266+ color: #a848a8;
267+ }
268+ /* Punctuation */
269+ .chroma .p {
270+ color: #888888;
271+ }
272+ /* Comment */
273+ .chroma .c {
274+ color: #888888;
275+ font-style: italic;
276+ }
277+ /* CommentHashbang */
278+ .chroma .ch {
279+ color: #287088;
280+ font-style: italic;
281+ }
282+ /* CommentMultiline */
283+ .chroma .cm {
284+ color: #888888;
285+ font-style: italic;
286+ }
287+ /* CommentSingle */
288+ .chroma .c1 {
289+ color: #888888;
290+ font-style: italic;
291+ }
292+ /* CommentSpecial */
293+ .chroma .cs {
294+ color: #888888;
295+ font-style: italic;
296+ }
297+ /* CommentPreproc */
298+ .chroma .cp {
299+ color: #289870;
300+ }
301+ /* CommentPreprocFile */
302+ .chroma .cpf {
303+ color: #289870;
304+ }
305+ /* Generic */
306+ .chroma .g {
307+ }
308+ /* GenericDeleted */
309+ .chroma .gd {
310+ color: #c02828;
311+ }
312+ /* GenericEmph */
313+ .chroma .ge {
314+ font-style: italic;
315+ }
316+ /* GenericError */
317+ .chroma .gr {
318+ color: #c02828;
319+ }
320+ /* GenericHeading */
321+ .chroma .gh {
322+ color: #666666;
323+ }
324+ /* GenericInserted */
325+ .chroma .gi {
326+ color: #388038;
327+ }
328+ /* GenericOutput */
329+ .chroma .go {
330+ color: #666666;
331+ }
332+ /* GenericPrompt */
333+ .chroma .gp {
334+ color: #444444;
335+ }
336+ /* GenericStrong */
337+ .chroma .gs {
338+ font-weight: bold;
339+ }
340+ /* GenericSubheading */
341+ .chroma .gu {
342+ color: #444444;
343+ }
344+ /* GenericTraceback */
345+ .chroma .gt {
346+ color: #2838b0;
347+ }
348+ /* GenericUnderline */
349+ .chroma .gl {
350+ text-decoration: underline;
351+ }
352+ /* TextWhitespace */
353+ .chroma .w {
354+ color: #a89028;
355+ }
356+}
357+
358+@media (prefers-color-scheme: dark) {
359+ /* Background */
360+ .bg {
361+ color: #f8f8f2;
362+ background-color: #282a36;
363+ }
364+ /* PreWrapper */
365+ .chroma {
366+ color: #f8f8f2;
367+ background-color: #282a36;
368+ }
369+ /* Other */
370+ .chroma .x {
371+ }
372+ /* Error */
373+ .chroma .err {
374+ }
375+ /* CodeLine */
376+ .chroma .cl {
377+ }
378+ /* LineTableTD */
379+ .chroma .lntd {
380+ vertical-align: top;
381+ padding: 0;
382+ margin: 0;
383+ border: 0;
384+ }
385+ /* LineTable */
386+ .chroma .lntable {
387+ border-spacing: 0;
388+ padding: 0;
389+ margin: 0;
390+ border: 0;
391+ }
392+ /* LineHighlight */
393+ .chroma .hl {
394+ background-color: #ffffcc;
395+ }
396+ /* LineNumbersTable */
397+ .chroma .lnt {
398+ white-space: pre;
399+ user-select: none;
400+ margin-right: 0.4em;
401+ padding: 0 0.4em 0 0.4em;
402+ color: #7f7f7f;
403+ }
404+ /* LineNumbers */
405+ .chroma .ln {
406+ white-space: pre;
407+ user-select: none;
408+ margin-right: 0.4em;
409+ padding: 0 0.4em 0 0.4em;
410+ color: #7f7f7f;
411+ }
412+ /* Line */
413+ .chroma .line {
414+ display: flex;
415+ }
416+ /* Keyword */
417+ .chroma .k {
418+ color: #ff79c6;
419+ }
420+ /* KeywordConstant */
421+ .chroma .kc {
422+ color: #ff79c6;
423+ }
424+ /* KeywordDeclaration */
425+ .chroma .kd {
426+ color: #8be9fd;
427+ font-style: italic;
428+ }
429+ /* KeywordNamespace */
430+ .chroma .kn {
431+ color: #ff79c6;
432+ }
433+ /* KeywordPseudo */
434+ .chroma .kp {
435+ color: #ff79c6;
436+ }
437+ /* KeywordReserved */
438+ .chroma .kr {
439+ color: #ff79c6;
440+ }
441+ /* KeywordType */
442+ .chroma .kt {
443+ color: #8be9fd;
444+ }
445+ /* Name */
446+ .chroma .n {
447+ }
448+ /* NameAttribute */
449+ .chroma .na {
450+ color: #50fa7b;
451+ }
452+ /* NameBuiltin */
453+ .chroma .nb {
454+ color: #8be9fd;
455+ font-style: italic;
456+ }
457+ /* NameBuiltinPseudo */
458+ .chroma .bp {
459+ }
460+ /* NameClass */
461+ .chroma .nc {
462+ color: #50fa7b;
463+ }
464+ /* NameConstant */
465+ .chroma .no {
466+ }
467+ /* NameDecorator */
468+ .chroma .nd {
469+ }
470+ /* NameEntity */
471+ .chroma .ni {
472+ }
473+ /* NameException */
474+ .chroma .ne {
475+ }
476+ /* NameFunction */
477+ .chroma .nf {
478+ color: #50fa7b;
479+ }
480+ /* NameFunctionMagic */
481+ .chroma .fm {
482+ }
483+ /* NameLabel */
484+ .chroma .nl {
485+ color: #8be9fd;
486+ font-style: italic;
487+ }
488+ /* NameNamespace */
489+ .chroma .nn {
490+ }
491+ /* NameOther */
492+ .chroma .nx {
493+ }
494+ /* NameProperty */
495+ .chroma .py {
496+ }
497+ /* NameTag */
498+ .chroma .nt {
499+ color: #ff79c6;
500+ }
501+ /* NameVariable */
502+ .chroma .nv {
503+ color: #8be9fd;
504+ font-style: italic;
505+ }
506+ /* NameVariableClass */
507+ .chroma .vc {
508+ color: #8be9fd;
509+ font-style: italic;
510+ }
511+ /* NameVariableGlobal */
512+ .chroma .vg {
513+ color: #8be9fd;
514+ font-style: italic;
515+ }
516+ /* NameVariableInstance */
517+ .chroma .vi {
518+ color: #8be9fd;
519+ font-style: italic;
520+ }
521+ /* NameVariableMagic */
522+ .chroma .vm {
523+ }
524+ /* Literal */
525+ .chroma .l {
526+ }
527+ /* LiteralDate */
528+ .chroma .ld {
529+ }
530+ /* LiteralString */
531+ .chroma .s {
532+ color: #f1fa8c;
533+ }
534+ /* LiteralStringAffix */
535+ .chroma .sa {
536+ color: #f1fa8c;
537+ }
538+ /* LiteralStringBacktick */
539+ .chroma .sb {
540+ color: #f1fa8c;
541+ }
542+ /* LiteralStringChar */
543+ .chroma .sc {
544+ color: #f1fa8c;
545+ }
546+ /* LiteralStringDelimiter */
547+ .chroma .dl {
548+ color: #f1fa8c;
549+ }
550+ /* LiteralStringDoc */
551+ .chroma .sd {
552+ color: #f1fa8c;
553+ }
554+ /* LiteralStringDouble */
555+ .chroma .s2 {
556+ color: #f1fa8c;
557+ }
558+ /* LiteralStringEscape */
559+ .chroma .se {
560+ color: #f1fa8c;
561+ }
562+ /* LiteralStringHeredoc */
563+ .chroma .sh {
564+ color: #f1fa8c;
565+ }
566+ /* LiteralStringInterpol */
567+ .chroma .si {
568+ color: #f1fa8c;
569+ }
570+ /* LiteralStringOther */
571+ .chroma .sx {
572+ color: #f1fa8c;
573+ }
574+ /* LiteralStringRegex */
575+ .chroma .sr {
576+ color: #f1fa8c;
577+ }
578+ /* LiteralStringSingle */
579+ .chroma .s1 {
580+ color: #f1fa8c;
581+ }
582+ /* LiteralStringSymbol */
583+ .chroma .ss {
584+ color: #f1fa8c;
585+ }
586+ /* LiteralNumber */
587+ .chroma .m {
588+ color: #bd93f9;
589+ }
590+ /* LiteralNumberBin */
591+ .chroma .mb {
592+ color: #bd93f9;
593+ }
594+ /* LiteralNumberFloat */
595+ .chroma .mf {
596+ color: #bd93f9;
597+ }
598+ /* LiteralNumberHex */
599+ .chroma .mh {
600+ color: #bd93f9;
601+ }
602+ /* LiteralNumberInteger */
603+ .chroma .mi {
604+ color: #bd93f9;
605+ }
606+ /* LiteralNumberIntegerLong */
607+ .chroma .il {
608+ color: #bd93f9;
609+ }
610+ /* LiteralNumberOct */
611+ .chroma .mo {
612+ color: #bd93f9;
613+ }
614+ /* Operator */
615+ .chroma .o {
616+ color: #ff79c6;
617+ }
618+ /* OperatorWord */
619+ .chroma .ow {
620+ color: #ff79c6;
621+ }
622+ /* Punctuation */
623+ .chroma .p {
624+ }
625+ /* Comment */
626+ .chroma .c {
627+ color: #6272a4;
628+ }
629+ /* CommentHashbang */
630+ .chroma .ch {
631+ color: #6272a4;
632+ }
633+ /* CommentMultiline */
634+ .chroma .cm {
635+ color: #6272a4;
636+ }
637+ /* CommentSingle */
638+ .chroma .c1 {
639+ color: #6272a4;
640+ }
641+ /* CommentSpecial */
642+ .chroma .cs {
643+ color: #6272a4;
644+ }
645+ /* CommentPreproc */
646+ .chroma .cp {
647+ color: #ff79c6;
648+ }
649+ /* CommentPreprocFile */
650+ .chroma .cpf {
651+ color: #ff79c6;
652+ }
653+ /* Generic */
654+ .chroma .g {
655+ }
656+ /* GenericDeleted */
657+ .chroma .gd {
658+ color: #ff5555;
659+ }
660+ /* GenericEmph */
661+ .chroma .ge {
662+ text-decoration: underline;
663+ }
664+ /* GenericError */
665+ .chroma .gr {
666+ }
667+ /* GenericHeading */
668+ .chroma .gh {
669+ font-weight: bold;
670+ }
671+ /* GenericInserted */
672+ .chroma .gi {
673+ color: #50fa7b;
674+ font-weight: bold;
675+ }
676+ /* GenericOutput */
677+ .chroma .go {
678+ color: #44475a;
679+ }
680+ /* GenericPrompt */
681+ .chroma .gp {
682+ }
683+ /* GenericStrong */
684+ .chroma .gs {
685+ }
686+ /* GenericSubheading */
687+ .chroma .gu {
688+ font-weight: bold;
689+ }
690+ /* GenericTraceback */
691+ .chroma .gt {
692+ }
693+ /* GenericUnderline */
694+ .chroma .gl {
695+ text-decoration: underline;
696+ }
697+ /* TextWhitespace */
698+ .chroma .w {
699+ }
700+}