Implement initial pdf preview

This commit is contained in:
Starbeamrainbowlabs 2019-06-01 20:25:44 +01:00
parent a5572bcbd4
commit 02bc1ea7a2
Signed by: sbrl
GPG Key ID: 1BE5172E637709C2
5 changed files with 17 additions and 7 deletions

View File

@ -152,10 +152,10 @@
{
"id": "feature-upload",
"name": "Uploader",
"version": "0.5.16",
"version": "0.5.17",
"author": "Starbeamrainbowlabs",
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File\/' prefix.",
"lastupdate": 1559400139,
"lastupdate": 1559416947,
"optional": false,
"extra_data": []
},

View File

@ -471,16 +471,15 @@ register_module([
$dimensions = $mime_type !== "image/svg+xml" ? getimagesize($env->storage_prefix . $filepath) : getsvgsize($env->storage_prefix . $filepath);
$fileTypeDisplay = substr($mime_type, 0, strpos($mime_type, "/"));
$previewUrl = "?action=preview&size=$settings->default_preview_size&page=" . rawurlencode($env->page);
$originalUrl = $env->storage_prefix == "./" ? $filepath : "?action=preview&size=original&page=" . rawurlencode($env->page);
if($mime_type == "application/pdf")
$fileTypeDisplay = "pdf";
$preview_html = "";
switch($fileTypeDisplay)
{
case "application":
case "image":
if($mime_type == "application/pdf")
$fileTypeDisplay = "file";
$originalUrl = $env->storage_prefix == "./" ? $filepath : "?action=preview&size=original&page=" . rawurlencode($env->page);
$preview_sizes = [ 256, 512, 768, 1024, 1440, 1920 ];
$preview_html .= "\t\t\t<figure class='preview'>
<a href='$originalUrl'><img src='$previewUrl' /></a>
@ -506,6 +505,11 @@ register_module([
$preview_html .= "\t\t\t<figure class='preview'>
<audio src='$previewUrl' controls preload='metadata'>Your browser doesn't support HTML5 audio, but you can still <a href='$previewUrl'>download it</a> if you'd like.</audio>
</figure>";
break;
case "pdf":
$preview_html .= "\t\t\t<object type='application/pdf' data='$originalUrl'></object>";
break;
}
$fileInfo = [];

View File

@ -146,7 +146,8 @@
"audio/mp4",
"audio/mpeg",
"audio/flac",
"audio/ogg"
"audio/ogg",
"application/pdf"
]},
"preview_file_type": { "type": "text", "description": "The default file type for previews.", "default": "image/png" },
"default_preview_size": { "type": "number", "description": "The default size of preview images in pixels.", "default": 640},

View File

@ -164,6 +164,10 @@ input[type=button], input[type=submit]{
audio, video, img{
max-width:100%;
}
object {
width: 100%;
height: 90vh;
}
figure:not(.preview){
display:inline-block;
}

View File

@ -38,6 +38,7 @@ input[type=button], input[type=submit] { cursor: pointer; }
.link-display { margin-left: 0.5rem; }
audio, video, img { max-width: 100%; }
object { width: 100%; height: 90vh; }
figure:not(.preview) { display: inline-block; }
figure:not(.preview) > :first-child { display: block; }
figcaption { text-align: center; }