An additional outputfilter that enhance file and image links informations in rich text
Project description
This product add a new outputfilter that generates additional informations for Tiny MCE’s internal link.
It’s a substitute of collective.tinymceplugins.advfilelinks, that doesn’t work with Plone >= 4.3 because it uses Products.TinyMCE >= 1.3.
Features
For every link that points to an internal content (file or image), in the rendered html will be added some new informations:
The mimetype icon before the link text
The mimetype and filesize after the link text
The url of a File points to the direct download
Installation
Install collective.outputfilters.enhancelinks by adding it to your buildout:
[buildout] ... eggs = collective.outputfilters.enhancelinks
and then run “bin/buildout”.
It doesn’t need to be installed.
Extending content-types
This product is modular, so if you want to add this feature (or more features) to some custom content-types you only need to provide a new adapter for the ILinkEnhancerProvider interface:
<adapter for="your.package.interfaces.IYourContent" provides="collective.outputfilters.enhancelinks.interfaces.ILinkEnhancerProvider" factory=".adapters.YourContentEnhanceLink" />
Then provide the Python adapter code:
from collective.outputfilters.enhancelinks.adapters import BaseEnhanceLink class YourContentEnhanceLink(BaseEnhanceLink): ...
There are 4 basic methods for a basic override:
def get_url_suffix(filename): """ Return additional suffix to append at the end of the url """ def get_icon_url(mime_infos): """ Return the correct mimetype icon url """ def get_extension(content_file, mime_infos): """ Return the filename extension""" def get_formatted_size(content_file): """ Return a formatted file size """
Additional mimetype icons
If you want more mimetype icons (for example for OpenOffice documents), you could add and install collective.mtrsetup in your buildout.
Contribute
Compatibility
This product has been tested on:
Plone 5.0
Plone 5.1
Plone 5.2
It works with Dexterity-based (plone.app.contenttypes) standard File and Image content-types. If you want support for Archetype-based content-types or Plone 4 compatibility, go with versions < 1.0.0.
License
The project is licensed under the GPLv2.
Credits
Developed with the support of:
All of them supports the PloneGov initiative.
1.1.5 (2023-01-09)
Python3 support. [cekk]
1.1.4 (2020-10-08)
Changed position of the attachment icon. Updated tests. [daniele]
1.1.3 (2020-05-14)
Fixed unicode issue. [daniele]
1.1.2 (2020-04-21)
Fixed extra infos in link description. [daniele]
1.1.1 (2020-01-30)
Fix links in readme. [cekk]
1.1.0 (2020-01-30)
Refactored mimetypes patch to avoid transaction writes on every call. [cekk]
Python 3 compatibility. [cekk]
Use humanfriendly for print file size informations. [cekk]
1.0.0 (2020-01-16)
REMOVED SUPPORT FOR AT CONTENT TYPES. AT support is only in version < 1.0.0. [arsenico13]
Patched a problem to avoid issues with csv files that doesn’t seem to be recognize by Products.MimetypesRegistry. [arsenico13]
Update tests for csv files. [arsenico13]
0.4.5 (2019-01-24)
Fixed obj retrieval when href attribute is none. [daniele-andreotti]
0.4.4 (2018-02-06)
Better unicode/decode error handling [cekk]
Don’t enhance links with “@@download” if already present in the href attribute to avoid duplication [cekk]
0.4.3 (2018-01-29)
Use set() to remove duplicated entries in link detection [cekk]
0.4.2 (2018-01-29)
Fix xpath filter to get all old-style internal-links [cekk]
0.4.1 (2017-12-18)
Fixed unicode. [daniele]
0.4.0 (2017-12-11)
Add support for Plone5 [cekk]
0.3.0 (2017-01-26)
Parse only links with internal-link class [cekk]
0.2.1 (2016-12-21)
Handle problems with malformed html that etree are unable to parse. Transformation is skipped and a warning log message is send. [cekk]
0.2.0 (2016-12-14)
Avoid etree.tostring to auto close empty divs with method=”html” parameter. This prevents some problems with browsers that don’t like self-closed div and renders a wrong html. [cekk]
0.1.2 (2015-12-09)
Fix additional infos position when a link has some children (for example a span) [cekk]
0.1.1 (2015-12-03)
Handled UnicodeDecodeError in Transform [cekk]
0.1.0 (2015-12-02)
Initial release. [cekk]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.outputfilters.enhancelinks-1.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 875cc5945f722149f7122c76378016c59bbf338bfe0de01acd25269dda283f6c |
|
MD5 | 25bb6808d4ba81234abcaf748971e3bc |
|
BLAKE2b-256 | 7d50580d5435fb856844de0d374de6854e1514dac15f3d6763289ba5d73382f0 |