diff --git a/catalog_gen.go b/catalog_gen.go index 4c1484b..984d5a3 100644 --- a/catalog_gen.go +++ b/catalog_gen.go @@ -39,29 +39,30 @@ func init() { } var messageKeyToIndex = map[string]int{ - "%d subscribers": 4, - "%s logo": 0, - "Dead simple WebSub hub": 1, - "How to publish and consume?": 2, - "What the spec?": 3, + "%d subscribers": 5, + "%s logo": 1, + "Dead simple WebSub hub": 2, + "How to publish and consume?": 3, + "What the spec?": 4, + "version": 0, } -var enIndex = []uint32{ // 6 elements - 0x00000000, 0x0000000b, 0x00000022, 0x0000003e, - 0x0000004d, 0x0000005f, -} // Size: 48 bytes +var enIndex = []uint32{ // 7 elements + 0x00000000, 0x00000008, 0x00000013, 0x0000002a, + 0x00000046, 0x00000055, 0x00000067, +} // Size: 52 bytes -const enData string = "" + // Size: 95 bytes - "\x02%[1]s logo\x02Dead simple WebSub hub\x02How to publish and consume?" + - "\x02What the spec?\x02%[1]d subscribers" +const enData string = "" + // Size: 103 bytes + "\x02version\x02%[1]s logo\x02Dead simple WebSub hub\x02How to publish an" + + "d consume?\x02What the spec?\x02%[1]d subscribers" -var ruIndex = []uint32{ // 6 elements - 0x00000000, 0x00000015, 0x00000038, 0x0000006d, - 0x00000083, 0x000000a0, -} // Size: 48 bytes +var ruIndex = []uint32{ // 7 elements + 0x00000000, 0x0000000d, 0x00000022, 0x00000045, + 0x0000007a, 0x00000090, 0x000000ad, +} // Size: 52 bytes -const ruData string = "" + // Size: 160 bytes - "\x02логотип %[1]s\x02Простейший хаб WebSub\x02Как публиковать и принимат" + - "ь?\x02В чём спека?\x02%[1]d подписчиков" +const ruData string = "" + // Size: 173 bytes + "\x02версия\x02логотип %[1]s\x02Простейший хаб WebSub\x02Как публиковать " + + "и принимать?\x02В чём спека?\x02%[1]d подписчиков" - // Total table size 351 bytes (0KiB); checksum: D963980B + // Total table size 380 bytes (0KiB); checksum: 7D8C2E8B diff --git a/locales/en/out.gotext.json b/locales/en/out.gotext.json index 939e6b7..631f9bc 100644 --- a/locales/en/out.gotext.json +++ b/locales/en/out.gotext.json @@ -1,6 +1,13 @@ { "language": "en", "messages": [ + { + "id": "version", + "message": "version", + "translation": "version", + "translatorComment": "Copied from source.", + "fuzzy": true + }, { "id": "{Name} logo", "message": "{Name} logo", diff --git a/locales/ru/messages.gotext.json b/locales/ru/messages.gotext.json index 9f5ad7c..317461a 100644 --- a/locales/ru/messages.gotext.json +++ b/locales/ru/messages.gotext.json @@ -1,6 +1,11 @@ { "language": "ru", "messages": [ + { + "id": "version", + "message": "version", + "translation": "версия" + }, { "id": "{Name} logo", "message": "{Name} logo", diff --git a/locales/ru/out.gotext.json b/locales/ru/out.gotext.json index 9f0c834..cf73ec4 100644 --- a/locales/ru/out.gotext.json +++ b/locales/ru/out.gotext.json @@ -1,6 +1,11 @@ { "language": "ru", "messages": [ + { + "id": "version", + "message": "version", + "translation": "версия" + }, { "id": "{Name} logo", "message": "{Name} logo", diff --git a/web/template/baseof.qtpl b/web/template/baseof.qtpl index c388f1e..5adfa4e 100644 --- a/web/template/baseof.qtpl +++ b/web/template/baseof.qtpl @@ -1,4 +1,6 @@ {% import ( + "runtime/debug" + "golang.org/x/text/language" "golang.org/x/text/message" ) %} @@ -81,6 +83,53 @@ func NewBaseOf(lang language.Tag, name string) *BaseOf { {%= p.body() %} + + {% code + var path, vcsRevision string + + if bi, ok := debug.ReadBuildInfo(); ok { + path = bi.Path + + for i := range bi.Settings { + if bi.Settings[i].Key != "vcs.revision" { + continue + } + + vcsRevision = bi.Settings[i].Value + } + } + %} + + {% endfunc %} diff --git a/web/template/baseof.qtpl.go b/web/template/baseof.qtpl.go index 47e276b..a32fab0 100644 --- a/web/template/baseof.qtpl.go +++ b/web/template/baseof.qtpl.go @@ -6,59 +6,61 @@ package template //line web/template/baseof.qtpl:1 import ( + "runtime/debug" + "golang.org/x/text/language" "golang.org/x/text/message" ) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 import ( qtio422016 "io" qt422016 "github.com/valyala/quicktemplate" ) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 var ( _ = qtio422016.Copy _ = qt422016.AcquireByteBuffer ) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 type Page interface { -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 body() string -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 streambody(qw422016 *qt422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 writebody(qq422016 qtio422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 head() string -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 streamhead(qw422016 *qt422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 writehead(qq422016 qtio422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 lang() string -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 streamlang(qw422016 *qt422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 writelang(qq422016 qtio422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 t(format message.Reference, args ...any) string -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 streamt(qw422016 *qt422016.Writer, format message.Reference, args ...any) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 writet(qq422016 qtio422016.Writer, format message.Reference, args ...any) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 title() string -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 streamtitle(qw422016 *qt422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 writetitle(qq422016 qtio422016.Writer) -//line web/template/baseof.qtpl:6 +//line web/template/baseof.qtpl:8 } -//line web/template/baseof.qtpl:15 +//line web/template/baseof.qtpl:17 type BaseOf struct { language language.Tag printer *message.Printer @@ -73,228 +75,273 @@ func NewBaseOf(lang language.Tag, name string) *BaseOf { } } -//line web/template/baseof.qtpl:31 +//line web/template/baseof.qtpl:33 func (p *BaseOf) streamlang(qw422016 *qt422016.Writer) { -//line web/template/baseof.qtpl:31 +//line web/template/baseof.qtpl:33 qw422016.N().S(` `) -//line web/template/baseof.qtpl:32 +//line web/template/baseof.qtpl:34 qw422016.E().S(p.language.String()) -//line web/template/baseof.qtpl:32 +//line web/template/baseof.qtpl:34 qw422016.N().S(` `) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 } -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 func (p *BaseOf) writelang(qq422016 qtio422016.Writer) { -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 p.streamlang(qw422016) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 } -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 func (p *BaseOf) lang() string { -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 p.writelang(qb422016) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 return qs422016 -//line web/template/baseof.qtpl:33 +//line web/template/baseof.qtpl:35 } -//line web/template/baseof.qtpl:35 +//line web/template/baseof.qtpl:37 func (p *BaseOf) streamtitle(qw422016 *qt422016.Writer) { -//line web/template/baseof.qtpl:35 +//line web/template/baseof.qtpl:37 qw422016.N().S(` `) -//line web/template/baseof.qtpl:36 +//line web/template/baseof.qtpl:38 qw422016.E().S(p.name) -//line web/template/baseof.qtpl:36 +//line web/template/baseof.qtpl:38 qw422016.N().S(` `) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 } -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 func (p *BaseOf) writetitle(qq422016 qtio422016.Writer) { -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 p.streamtitle(qw422016) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 } -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 func (p *BaseOf) title() string { -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 p.writetitle(qb422016) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 return qs422016 -//line web/template/baseof.qtpl:37 +//line web/template/baseof.qtpl:39 } -//line web/template/baseof.qtpl:39 +//line web/template/baseof.qtpl:41 func (p *BaseOf) streamhead(qw422016 *qt422016.Writer) { -//line web/template/baseof.qtpl:39 +//line web/template/baseof.qtpl:41 qw422016.N().S(` `) -//line web/template/baseof.qtpl:40 - qw422016.N().S(` `) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:42 + qw422016.N().S(` `) +//line web/template/baseof.qtpl:56 } -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 func (p *BaseOf) writehead(qq422016 qtio422016.Writer) { -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 p.streamhead(qw422016) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 } -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 func (p *BaseOf) head() string { -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 p.writehead(qb422016) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 return qs422016 -//line web/template/baseof.qtpl:54 +//line web/template/baseof.qtpl:56 } -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 func (p *BaseOf) streambody(qw422016 *qt422016.Writer) { -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 } -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 func (p *BaseOf) writebody(qq422016 qtio422016.Writer) { -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 p.streambody(qw422016) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 } -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 func (p *BaseOf) body() string { -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 p.writebody(qb422016) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 return qs422016 -//line web/template/baseof.qtpl:56 +//line web/template/baseof.qtpl:58 } -//line web/template/baseof.qtpl:58 +//line web/template/baseof.qtpl:60 func (p *BaseOf) streamt(qw422016 *qt422016.Writer, format message.Reference, args ...any) { -//line web/template/baseof.qtpl:58 +//line web/template/baseof.qtpl:60 qw422016.N().S(` `) -//line web/template/baseof.qtpl:59 +//line web/template/baseof.qtpl:61 qw422016.E().S(p.printer.Sprintf(format, args...)) -//line web/template/baseof.qtpl:59 +//line web/template/baseof.qtpl:61 qw422016.N().S(` `) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 } -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 func (p *BaseOf) writet(qq422016 qtio422016.Writer, format message.Reference, args ...any) { -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 p.streamt(qw422016, format, args...) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 } -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 func (p *BaseOf) t(format message.Reference, args ...any) string { -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 p.writet(qb422016, format, args...) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 return qs422016 -//line web/template/baseof.qtpl:60 +//line web/template/baseof.qtpl:62 } -//line web/template/baseof.qtpl:62 +//line web/template/baseof.qtpl:64 func StreamTemplate(qw422016 *qt422016.Writer, p Page) { -//line web/template/baseof.qtpl:62 +//line web/template/baseof.qtpl:64 qw422016.N().S(` `) -//line web/template/baseof.qtpl:72 +//line web/template/baseof.qtpl:74 p.streamtitle(qw422016) -//line web/template/baseof.qtpl:72 +//line web/template/baseof.qtpl:74 qw422016.N().S(` `) -//line web/template/baseof.qtpl:79 +//line web/template/baseof.qtpl:81 p.streamhead(qw422016) -//line web/template/baseof.qtpl:79 +//line web/template/baseof.qtpl:81 qw422016.N().S(` `) -//line web/template/baseof.qtpl:83 +//line web/template/baseof.qtpl:85 p.streambody(qw422016) -//line web/template/baseof.qtpl:83 - qw422016.N().S(` `) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:85 + qw422016.N().S(` `) +//line web/template/baseof.qtpl:88 + var path, vcsRevision string + + if bi, ok := debug.ReadBuildInfo(); ok { + path = bi.Path + + for i := range bi.Settings { + if bi.Settings[i].Key != "vcs.revision" { + continue + } + + vcsRevision = bi.Settings[i].Value + } + } + +//line web/template/baseof.qtpl:101 + qw422016.N().S(` `) +//line web/template/baseof.qtpl:135 } -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 func WriteTemplate(qq422016 qtio422016.Writer, p Page) { -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 StreamTemplate(qw422016, p) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 qt422016.ReleaseWriter(qw422016) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 } -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 func Template(p Page) string { -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 WriteTemplate(qb422016, p) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 qs422016 := string(qb422016.B) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 return qs422016 -//line web/template/baseof.qtpl:86 +//line web/template/baseof.qtpl:135 } diff --git a/web/template/home.qtpl b/web/template/home.qtpl index 6d004eb..db2b6c0 100644 --- a/web/template/home.qtpl +++ b/web/template/home.qtpl @@ -51,27 +51,5 @@ - - {% endfunc %} {% endcollapsespace %} diff --git a/web/template/home.qtpl.go b/web/template/home.qtpl.go index dbd2d12..07f37eb 100644 --- a/web/template/home.qtpl.go +++ b/web/template/home.qtpl.go @@ -45,32 +45,32 @@ func (p *Home) streambody(qw422016 *qt422016.Writer) { //line web/template/home.qtpl:49 p.streamt(qw422016, "What the spec?") //line web/template/home.qtpl:49 - qw422016.N().S(` `) -//line web/template/home.qtpl:76 + qw422016.N().S(` `) +//line web/template/home.qtpl:54 } -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 func (p *Home) writebody(qq422016 qtio422016.Writer) { -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 qw422016 := qt422016.AcquireWriter(qq422016) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 p.streambody(qw422016) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 qt422016.ReleaseWriter(qw422016) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 } -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 func (p *Home) body() string { -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 qb422016 := qt422016.AcquireByteBuffer() -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 p.writebody(qb422016) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 qs422016 := string(qb422016.B) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 qt422016.ReleaseByteBuffer(qb422016) -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 return qs422016 -//line web/template/home.qtpl:76 +//line web/template/home.qtpl:54 }