1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2025-04-20 09:43:16 +00:00

better PDF support

This commit is contained in:
osmarks 2025-03-07 23:27:12 +00:00
parent 491596261e
commit babedfa528
3 changed files with 47 additions and 24 deletions

View File

@ -21,14 +21,19 @@
</video>
</div>
{% case ".mp3" %}
{% case ".mp3", ".m4a", ".opus", ".flac" %}
<div class="binary-container binary-container_with-audio">
<audio controls>
<source src="/binary/{%s= h.CanonicalName() %}"/>
<p>{%s lc.Get("ui.media_noaudio") %} <a href="/binary/{%s= h.CanonicalName() %}">{%s lc.Get("ui.media_noaudio_link") %}</a></p>
</audio>
</div>
{% case ".pdf" %}
<div class="binary-container binary-container_with-pdf">
<iframe src="/binary/{%s= h.CanonicalName() %}" width="100%" height="600">{%s lc.Get("ui.media_pdf") %}</iframe>
</div>
{% default %}
<div class="binary-container binary-container_with-nothing">
<p><a href="/binary/{%s= h.CanonicalName() %}">{%s lc.Get("ui.media_download") %}</a></p>

View File

@ -112,7 +112,7 @@ func StreamMedia(qw422016 *qt422016.Writer, h *hyphae.MediaHypha, lc *l18n.Local
`)
//line mycoopts/view.qtpl:24
case ".mp3":
case ".mp3", ".m4a", ".opus", ".flac":
//line mycoopts/view.qtpl:24
qw422016.N().S(`
<div class="binary-container binary-container_with-audio">
@ -137,54 +137,71 @@ func StreamMedia(qw422016 *qt422016.Writer, h *hyphae.MediaHypha, lc *l18n.Local
qw422016.N().S(`</a></p>
</audio>
</div>
`)
//line mycoopts/view.qtpl:32
default:
case ".pdf":
//line mycoopts/view.qtpl:32
qw422016.N().S(`
<div class="binary-container binary-container_with-nothing">
<p><a href="/binary/`)
<div class="binary-container binary-container_with-pdf">
<iframe src="/binary/`)
//line mycoopts/view.qtpl:34
qw422016.N().S(h.CanonicalName())
//line mycoopts/view.qtpl:34
qw422016.N().S(`" width="100%" height="600">`)
//line mycoopts/view.qtpl:34
qw422016.E().S(lc.Get("ui.media_pdf"))
//line mycoopts/view.qtpl:34
qw422016.N().S(`</iframe>
</div>
`)
//line mycoopts/view.qtpl:37
default:
//line mycoopts/view.qtpl:37
qw422016.N().S(`
<div class="binary-container binary-container_with-nothing">
<p><a href="/binary/`)
//line mycoopts/view.qtpl:39
qw422016.N().S(h.CanonicalName())
//line mycoopts/view.qtpl:39
qw422016.N().S(`">`)
//line mycoopts/view.qtpl:34
//line mycoopts/view.qtpl:39
qw422016.E().S(lc.Get("ui.media_download"))
//line mycoopts/view.qtpl:34
//line mycoopts/view.qtpl:39
qw422016.N().S(`</a></p>
</div>
`)
//line mycoopts/view.qtpl:36
//line mycoopts/view.qtpl:41
}
//line mycoopts/view.qtpl:36
//line mycoopts/view.qtpl:41
qw422016.N().S(`
`)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
}
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
func WriteMedia(qq422016 qtio422016.Writer, h *hyphae.MediaHypha, lc *l18n.Localizer) {
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
qw422016 := qt422016.AcquireWriter(qq422016)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
StreamMedia(qw422016, h, lc)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
qt422016.ReleaseWriter(qw422016)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
}
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
func Media(h *hyphae.MediaHypha, lc *l18n.Localizer) string {
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
qb422016 := qt422016.AcquireByteBuffer()
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
WriteMedia(qb422016, h, lc)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
qs422016 := string(qb422016.B)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
qt422016.ReleaseByteBuffer(qb422016)
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
return qs422016
//line mycoopts/view.qtpl:37
//line mycoopts/view.qtpl:42
}

View File

@ -183,6 +183,7 @@ article pre.codeblock { padding:.5rem; white-space: pre-wrap; }
.binary-container_with-img img,
.binary-container_with-video video,
.binary-container_with-audio audio { max-width: 100%; width: auto; }
.binary-container_with-pdf iframe { height: calc(max(500px, 70vh)) }
.subhyphae__title { padding-bottom: .5rem; clear: both; }
.navi-title { padding-bottom: .5rem; margin: .25rem 0; }