Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request of .gif / .gifv support for animated snippets native on the page. #223

Closed
MayankTahil opened this issue Nov 2, 2016 · 4 comments · Fixed by #755
Closed

Comments

@MayankTahil
Copy link

For Feature Requests

Desired Feature: Support for embedded animations in .gif and/or .gifv in pages. Right now when gifs are embedded, only a single frame shows visually, and upon clicking the file embedded into the page, a new tab opens that then animates in the browser. I'd like to request gif animation support native on the same page in line with content.

For Bug Reports

PHP Version: N/A

MySQL Version: N/A

Expected Behavior: N/A

Actual Behavior: N/A

@dssoft32
Copy link

Any update on the feature request ?

@alariva
Copy link

alariva commented Jan 15, 2018

I falled back to a Giphy embed that works neat, however this is far from ideal, and editing pages become a bit "noisy" with the browser statusbar loading the embeds on the preview panel.

@Abijeet
Copy link
Member

Abijeet commented Mar 11, 2018

@ssddanbrown - I looked into this a little bit and it seems that Intervention/Image does not support gifs yet which is causing this issue. Read more about it here - Intervention/image#176

Is it OK if we check if an image file is a GIF and if so, return the path without any sort of scaling?

I'll have to change the code here -

public function getThumbnail(Image $image, $width = 220, $height = 220, $keepRatio = false)
{
$thumbDirName = '/' . ($keepRatio ? 'scaled-' : 'thumbs-') . $width . '-' . $height . '/';
$imagePath = $this->getPath($image);
$thumbFilePath = dirname($imagePath) . $thumbDirName . basename($imagePath);
if ($this->cache->has('images-' . $image->id . '-' . $thumbFilePath) && $this->cache->get('images-' . $thumbFilePath)) {
return $this->getPublicUrl($thumbFilePath);
}
$storage = $this->getStorage();
if ($storage->exists($thumbFilePath)) {
return $this->getPublicUrl($thumbFilePath);
}
try {
$thumb = $this->imageTool->make($storage->get($imagePath));
} catch (Exception $e) {
if ($e instanceof \ErrorException || $e instanceof NotSupportedException) {
throw new ImageUploadException(trans('errors.cannot_create_thumbs'));
}
throw $e;
}
if ($keepRatio) {
$thumb->resize($width, null, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});
} else {
$thumb->fit($width, $height);
}
$thumbData = (string)$thumb->encode();
$storage->put($thumbFilePath, $thumbData);
$storage->setVisibility($thumbFilePath, 'public');
$this->cache->put('images-' . $image->id . '-' . $thumbFilePath, $thumbFilePath, 60 * 72);
return $this->getPublicUrl($thumbFilePath);
}

I'm not sure about the thumbnail though, maybe we leave it as is for now? So basically thumbnails still don't animate.

@ssddanbrown
Copy link
Member

@Abijeet Yeah, That sounds like the best approach 👍

@ssddanbrown ssddanbrown added this to the BookStack Beta v0.20.1 milestone Mar 24, 2018
lassebenni added a commit to lassebenni/BookStack that referenced this issue Apr 13, 2018
* Started draw.io integration

* Updated pull-request info to be clearer

Also updated dev version

* Adds code to allow deletion of users via cmd line.

Fixes BookStackApp#579

Command:

php artisan bookstack:delete-users

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds button to allow users to toggle the book view via the books list page.

Closes BookStackApp#613

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds test cases and fixes an issue with the permission checking.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Enabled session in 404 responses

Fixes #634

* Adds font-size to ol to ensure that they are uniform.

Fixes BookStackApp#643

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Standardised admin role check

* Updated book view change to PATCH + other amends

Moved toggle to right of header bar and added unique text and icon for
each view type.

Removed old profile setting to keep things clean.

* Enabled system-storage of drawings made via draw.io

* Fixed broken table/ol/ul page includes

Fixes BookStackApp#640

* Fixed failing book view test

Also ensured setting system localcache is cleared correctly

* Checks the target and the source book before performing the sort.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Changed the sort view to only show books to which we have an update permission.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds test case for sorting permissions.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Added view override support

Relates to BookStackApp#652

* Refactored the code to first check for the permissions before sorting the book.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds overflow:auto to popup content to allow it to scroll in lower res.

Fixes BookStackApp#650

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Added ability to secure images behind auth

Still in testing.
Adds STORAGE_TYPE=local_secure option for setting images to be behind
auth. Stores images alongside attachments in /storage/uploads/images.

* Refactored book sort using collections

* Added drawing update ability

* Added drawing icon and made drawio disablable

* Extracted draw.io functionality to own file

* Added drawio abilities to markdown editor

* Added Swedish translation

* Added Swedish locale to config

* Added drawing endpoint tests

Also refactored ImageTests away from BrowserKit
Also added image upload type validation.

* Fixed test failing from missing baseURL

Also updated image upload test to delete before upload to prevent failed
tests breaking subsequent tests.

* Actually fixed the BaseURL this time 🤦

* #630: Deleting user's profile pics on deleting of user account (BookStackApp#646)

* Issue-630: Fixed issue with deleting user profile pics when deleting a user.

* Issue #630: Deleting user's profile pics on deleting of user account

* Issue-630: Added test case for deleting user

* Updated user profile image delete to delete all uploads

Also moved test and made more comprehensive

* Adapted code insert area and language select for mobile

* Set /app PHP code to PSR-2 standard

Also adde draw.io to attribution list.

Closes BookStackApp#649

* Fixed validation issue on register post

Added test to cover and also cleaned up RegisterController comments.

Fixes #670

* Added command to add a new admin user

Closes BookStackApp#609

* Set markdown editor preview width to 100%

Fixes BookStackApp#658

* Add twitch socialite auth provider

* Update...

* add support for gitlab authentification

* add missing lock file

* Corrected the keys for okta auth

* Update services.php

* Update .env.example

* reduced icon size

* add missing icon, fix name conventions

* Update all.blade.php

* Made default books view configurable in .env

Under 'APP_VIEWS_BOOKS' key.
Closes BookStackApp#675

* Added simplified Chinese(zh-CN) language

* Added 'zh_CN' to app.locales

* Prevent image manager search from reloading page

Fixes BookStackApp#697

* Fixed code block wrapping on export

Now wraps instead of running off the page.

Fixed BookStackApp#676

* Updated grid view to use CSS grid and flexbox

Provides a cleaner height-matched design.
Closes BookStackApp#701

* Updated twitch SVG icon with vector SVG

* Fixed error when accessing non-authed attachment

Also updated attachment tests to use standard test-case.
Fixes BookStackApp#681

* Fixed text overflow in various views

Fixes BookStackApp#669

* Tweaked some comments

* Updated assets for release v0.20.0

* Made it possible to override icons via custom theme

* Started migration to SVG icons

* Finished migrated from icon-font to SVG

* Updated 'Spanish Argentina' translation.

* Added ability to configure email sender name

Added env variable MAIL_FROM_NAME to allow the email sender name to be
customised. Also added MAIL_FROM to .env.example

* Updated 'Spanish Argentina' translation.

* Add CACHE_PREFIX to the .env.example file

We had some problems with multiple BookStack instances using the same caching server. Perhaps it's a good idea to have this available in the `.env.example` file.

* fix markdown editor resizing with long strings

* typo in readme.md

* add missing polish translations for comments

* Update .env.example

* Attempted move to webpack again

* Reorganised dev-deps and updated moment

* Update Italian translation

* Fixes issue with the validation message not being translated.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Finished off intitial conversion to webpack

* Moved jQuery to use NPM and fixed some asset refs

* Added togglable script escaping to page content

Configurable via 'ALLOW_CONTENT_SCRIPTS' env variable.
Fixes BookStackApp#575

* Updated exports to use DejaVu font

Provides potentially better language font coverage.

* Markdown editor image paste sets cursor correctly

Now sets cursor to alt text rather than end of placeholder image.
Fixed BookStackApp#751

* Prevented markdown editor pushing out toolbar

* Fixed up notification styling a little

* Fixed large content previews and improved mobile styles

Listing content previews no longer pre-wrap and instead simply break
correctly.
Updated titles to ensure they break on mobile devices.
Reduced spacing and font sizes on mobile to better adjust content to
screen size.

Fixes BookStackApp#739

* Fixes a number of issues with the image uploader. Read below,

- Added a remove link to remove files that have an error.
- Error will appear below the progress bar.
- Hovering on dz-image or dz-details will display the error message. Otherwise error message was covering the remove link as well.
- Removed styling around the file size.
- Removed gradient effect in accordance with BookStack styling.
- Dropzone filenae will not overflow the container element. Also done for page attachments
- Added a 'uploaded' error message. this error was being thrown when the file size exceeded the server configured file size. (https://stackoverflow.com/a/42934387/903324)

Towards BookStackApp#741

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Update activities.php

* Update auth.php

* Update common.php

* Update components.php

* Update settings.php

* Fixes the icons not being aligned properly in attached items section for the page.

Also formatting.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Update entities.php

* Updated webpack SCSS extract to provide sourcemaps

* Cleaned some form styling

Removed uppercasing of labels to make a little friendlier.
Extracted out toggleswitch JS into own component.
Improved basic code input for html-head-input area.

* Use autodiscover for dev packages

Allows installation with `composer install --no-dev`
Fixed BookStackApp#742

* Updated outline button styles for svg icons

* Removing the selected image and clearing the dropdzone on dialog close.

Towards BookStackApp#741

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Not resizing gif images.

See - Intervention/image#176

Fixes BookStackApp#223

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Fixes an issue with handling of large image files.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* update japanese translation

* fix entities.php

* Fixed failing tests

Fixed syntax error in french translations.
Removed 'required' on image validation which was breaking tests

* Made search more efficient and tweaked weighting

Added per-entity weighting changes.
Now Books score higher than chapters which score higher than pages.

Reduced queries required on search by only searching once but at a
higher count to see if there's another page.

* Fixed incorrect search logic in last commit

Incorrect cross-entity pagination could lead to hidden entities.

* Properly escaped search results

Prevents vue-like syntax in results causing errors.
Related to BookStackApp#748

* Updated create routes to prevent slug clashes

Fixes BookStackApp#758

* Removed invalid bracket from view

* Ensured uploaded system images remain public

Also added tests to cover local_secure image storage.

Fixes BookStackApp#725

* Updated icons with height

Fixes issues within IE

* Updated assets for release v0.20.1

* Fixed export style paths

* Updated the version because i'm such a plonker

And forgot to do this last release.
I wonder if there's a simple commit hook that could prevent the same two
versions twice in a row?
lassebenni added a commit to lassebenni/BookStack that referenced this issue Apr 13, 2018
* Started draw.io integration

* Updated pull-request info to be clearer

Also updated dev version

* Adds code to allow deletion of users via cmd line.

Fixes BookStackApp#579

Command:

php artisan bookstack:delete-users

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds button to allow users to toggle the book view via the books list page.

Closes BookStackApp#613

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds test cases and fixes an issue with the permission checking.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Enabled session in 404 responses

Fixes #634

* Adds font-size to ol to ensure that they are uniform.

Fixes BookStackApp#643

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Standardised admin role check

* Updated book view change to PATCH + other amends

Moved toggle to right of header bar and added unique text and icon for
each view type.

Removed old profile setting to keep things clean.

* Enabled system-storage of drawings made via draw.io

* Fixed broken table/ol/ul page includes

Fixes BookStackApp#640

* Fixed failing book view test

Also ensured setting system localcache is cleared correctly

* Checks the target and the source book before performing the sort.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Changed the sort view to only show books to which we have an update permission.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds test case for sorting permissions.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Added view override support

Relates to BookStackApp#652

* Refactored the code to first check for the permissions before sorting the book.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Adds overflow:auto to popup content to allow it to scroll in lower res.

Fixes BookStackApp#650

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Added ability to secure images behind auth

Still in testing.
Adds STORAGE_TYPE=local_secure option for setting images to be behind
auth. Stores images alongside attachments in /storage/uploads/images.

* Refactored book sort using collections

* Added drawing update ability

* Added drawing icon and made drawio disablable

* Extracted draw.io functionality to own file

* Added drawio abilities to markdown editor

* Added Swedish translation

* Added Swedish locale to config

* Added drawing endpoint tests

Also refactored ImageTests away from BrowserKit
Also added image upload type validation.

* Fixed test failing from missing baseURL

Also updated image upload test to delete before upload to prevent failed
tests breaking subsequent tests.

* Actually fixed the BaseURL this time 🤦

* #630: Deleting user's profile pics on deleting of user account (BookStackApp#646)

* Issue-630: Fixed issue with deleting user profile pics when deleting a user.

* Issue #630: Deleting user's profile pics on deleting of user account

* Issue-630: Added test case for deleting user

* Updated user profile image delete to delete all uploads

Also moved test and made more comprehensive

* Adapted code insert area and language select for mobile

* Set /app PHP code to PSR-2 standard

Also adde draw.io to attribution list.

Closes BookStackApp#649

* Fixed validation issue on register post

Added test to cover and also cleaned up RegisterController comments.

Fixes #670

* Added command to add a new admin user

Closes BookStackApp#609

* Set markdown editor preview width to 100%

Fixes BookStackApp#658

* Add twitch socialite auth provider

* Update...

* add support for gitlab authentification

* add missing lock file

* Corrected the keys for okta auth

* Update services.php

* Update .env.example

* reduced icon size

* add missing icon, fix name conventions

* Update all.blade.php

* Made default books view configurable in .env

Under 'APP_VIEWS_BOOKS' key.
Closes BookStackApp#675

* Added simplified Chinese(zh-CN) language

* Added 'zh_CN' to app.locales

* Prevent image manager search from reloading page

Fixes BookStackApp#697

* Fixed code block wrapping on export

Now wraps instead of running off the page.

Fixed BookStackApp#676

* Updated grid view to use CSS grid and flexbox

Provides a cleaner height-matched design.
Closes BookStackApp#701

* Updated twitch SVG icon with vector SVG

* Fixed error when accessing non-authed attachment

Also updated attachment tests to use standard test-case.
Fixes BookStackApp#681

* Fixed text overflow in various views

Fixes BookStackApp#669

* Tweaked some comments

* Updated assets for release v0.20.0

* Made it possible to override icons via custom theme

* Started migration to SVG icons

* Finished migrated from icon-font to SVG

* Updated 'Spanish Argentina' translation.

* Added ability to configure email sender name

Added env variable MAIL_FROM_NAME to allow the email sender name to be
customised. Also added MAIL_FROM to .env.example

* Updated 'Spanish Argentina' translation.

* Add CACHE_PREFIX to the .env.example file

We had some problems with multiple BookStack instances using the same caching server. Perhaps it's a good idea to have this available in the `.env.example` file.

* fix markdown editor resizing with long strings

* typo in readme.md

* add missing polish translations for comments

* Update .env.example

* Attempted move to webpack again

* Reorganised dev-deps and updated moment

* Update Italian translation

* Fixes issue with the validation message not being translated.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Finished off intitial conversion to webpack

* Moved jQuery to use NPM and fixed some asset refs

* Added togglable script escaping to page content

Configurable via 'ALLOW_CONTENT_SCRIPTS' env variable.
Fixes BookStackApp#575

* Updated exports to use DejaVu font

Provides potentially better language font coverage.

* Markdown editor image paste sets cursor correctly

Now sets cursor to alt text rather than end of placeholder image.
Fixed BookStackApp#751

* Prevented markdown editor pushing out toolbar

* Fixed up notification styling a little

* Fixed large content previews and improved mobile styles

Listing content previews no longer pre-wrap and instead simply break
correctly.
Updated titles to ensure they break on mobile devices.
Reduced spacing and font sizes on mobile to better adjust content to
screen size.

Fixes BookStackApp#739

* Fixes a number of issues with the image uploader. Read below,

- Added a remove link to remove files that have an error.
- Error will appear below the progress bar.
- Hovering on dz-image or dz-details will display the error message. Otherwise error message was covering the remove link as well.
- Removed styling around the file size.
- Removed gradient effect in accordance with BookStack styling.
- Dropzone filenae will not overflow the container element. Also done for page attachments
- Added a 'uploaded' error message. this error was being thrown when the file size exceeded the server configured file size. (https://stackoverflow.com/a/42934387/903324)

Towards BookStackApp#741

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Update activities.php

* Update auth.php

* Update common.php

* Update components.php

* Update settings.php

* Fixes the icons not being aligned properly in attached items section for the page.

Also formatting.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Update entities.php

* Updated webpack SCSS extract to provide sourcemaps

* Cleaned some form styling

Removed uppercasing of labels to make a little friendlier.
Extracted out toggleswitch JS into own component.
Improved basic code input for html-head-input area.

* Use autodiscover for dev packages

Allows installation with `composer install --no-dev`
Fixed BookStackApp#742

* Updated outline button styles for svg icons

* Removing the selected image and clearing the dropdzone on dialog close.

Towards BookStackApp#741

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Not resizing gif images.

See - Intervention/image#176

Fixes BookStackApp#223

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* Fixes an issue with handling of large image files.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>

* update japanese translation

* fix entities.php

* Fixed failing tests

Fixed syntax error in french translations.
Removed 'required' on image validation which was breaking tests

* Made search more efficient and tweaked weighting

Added per-entity weighting changes.
Now Books score higher than chapters which score higher than pages.

Reduced queries required on search by only searching once but at a
higher count to see if there's another page.

* Fixed incorrect search logic in last commit

Incorrect cross-entity pagination could lead to hidden entities.

* Properly escaped search results

Prevents vue-like syntax in results causing errors.
Related to BookStackApp#748

* Updated create routes to prevent slug clashes

Fixes BookStackApp#758

* Removed invalid bracket from view

* Ensured uploaded system images remain public

Also added tests to cover local_secure image storage.

Fixes BookStackApp#725

* Updated icons with height

Fixes issues within IE

* Updated assets for release v0.20.1

* Fixed export style paths

* Updated the version because i'm such a plonker

And forgot to do this last release.
I wonder if there's a simple commit hook that could prevent the same two
versions twice in a row?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

5 participants